private void ProcessArrayItem() { ushort start = position; GetValue(); short dataLength = (short)(position - start); if (special) { dataLength = (short)-dataLength; special = false; } data.AddItem(instances[depth], start, dataLength, (short)(instances[depth] + 1)); }