private void AddDocumentProperty(MongoContext context, string collectionName, ResourceType collectionType, string propertyName, BsonElement element, bool isCollection = false)
{
var resourceType = AddDocumentType(context, GetQualifiedTypeName(collectionName, propertyName),
element.Value.AsBsonDocument, ResourceTypeKind.ComplexType);
if (isCollection && ResolveResourceProperty(collectionType, propertyName) == null)
this.instanceMetadataCache.AddCollectionProperty(collectionType, propertyName, resourceType);
else
this.instanceMetadataCache.AddComplexProperty(collectionType, propertyName, resourceType);
}