public object this[int index]
{
get
{
index = _indexes[index];
return (index >= 0) ? _first[index] : _second[-1 - index];
}
set
{
index = _indexes[index];
if (index >= 0)
{
_first[index] = value;
}
else
{
_second[-1 - index] = value;
}
}
}
}