private static void HandleCurrentPositionPostIndexerValue(OPathParseResult parseResult, char opathChar) { if (IsWhitespaceChar(opathChar)) { // Ignore } else if (IsIndexerEndChar(opathChar)) { parseResult.CurrentPosition = OPathParsePosition.InVariableOPath; if (parseResult.IsInIntIndexer()) { parseResult.AddOPathIntIndexerPart(); } else { parseResult.AddOPathStringKeyPart(); } } else { throw new OPathException("Invalid character in indexer starting at position " + (parseResult.IndexerStartIndex + 1)); } }