public override void SetValue(int i, string value)
{
if (IsShortened())
{
if (i == 0)
{
Elongate();
}
else
{
i--;
}
}
if (IsShortenable())
{
// Check if the next object depends on this
ObjectData next = NextData as ObjectData;
if (next != null && next.GetObjectType() == GetObjectType())
{
next.Elongate();
}
}
base.SetValue(i, value);
}