public string TryParse(string source, ref int index, ref JsonPath path) { if (path == null) { return("Start token not found."); } index += 2; if (source[index] == '*') { path = path.Search(); index++; return(null); } var error = source.GetKey(ref index, out var key); if (error != null) { return(error); } path = path.Search(key); return(null); }