public object this[int index]
{
get {
if (index != 0 && index > SourceCollection.Count)
Debugger.Break();
return index == 0 ? NullObject : SourceCollection[index - 1];
}
set
{
if (index == 0)
NullObject = value;
else
SourceCollection[index - 1] = value;
}
}