<PackageReference Include="Castle.Core" Version="3.2.0" />

ICollectionAdapter<T>

public interface ICollectionAdapter<T>

int Count { get; }

bool HasSnapshot { get; }

T this[int index] { get; set; }

int SnapshotCount { get; }

bool Add(T value)

T AddNew()

void Clear()

void DropSnapshot()

T GetCurrentItem(int index)

T GetSnapshotItem(int index)

bool Insert(int index, T value)

void LoadSnapshot()

void Remove(int index)

void SaveSnapshot()