private void ProcessProperty() { byte length = 0; ushort start = position; while (data.Source[position] != '"') { length++; position++; } while (data.Source[position] != ':') { position++; } position++; ProcessWhiteCharacters(); ushort offset = position; short assigned = GetValue(); short dataLength = (short)(position - offset); if (special) { dataLength = (short)-dataLength; special = false; } data.AddIndexed(start, length, instances[depth], offset, dataLength, assigned); }