public virtual AbstractTerm this[int index]
{
get
{
if (IsAssigned())
{
return _containee[index];
}
if (index == 0)
{
return (AbstractTerm)_next;
}
else
{
AbstractTerm vPtr = (AbstractTerm)_next;
for (int j = 0; j < index; j++)
{
vPtr = (AbstractTerm)vPtr.Next;
}
return vPtr;
}
}
}