private async Task <IDictionary <string, IRelationshipObject> > DeserializeRelationships(JsonReader reader, string currentPath) { if (reader.TokenType != JsonToken.StartObject) { throw new DeserializationException("Invalid relationship object", "Expected an object but encountered " + reader.TokenType, currentPath); } var relationships = new Dictionary <string, IRelationshipObject>(); while (reader.Read()) { if (reader.TokenType == JsonToken.EndObject) { break; } var relationshipName = (string)reader.Value; reader.Read(); var relationship = await RelationshipObjectFormatter.Deserialize(reader, currentPath + "/" + relationshipName); relationships.Add(relationshipName, relationship); } return(relationships); }