protected static JsonElement?GetTokenIndex(JsonElement t, bool errorWhenNoMatch, int index) { if (t.ValueKind == JsonValueKind.Array) { if (t.GetArrayLength() <= index) { if (errorWhenNoMatch) { throw new JsonException($"Index {index} outside the bounds of JArray."); } return(null); } return(t[index]); } else { if (errorWhenNoMatch) { throw new JsonException($"Index {index} not valid on {t.GetType().Name}."); } return(null); } }