protected RelationshipObject createAndAssertRelationship(bool reset, bool createPropertiesIfNull, string typeId, string folderId, bool sourceIsNull, bool targetIsNull, bool onlySourceAndTargetObjects) { cmisTypeDefinitionType sourceTypeDefinition = getAndAssertTypeDefinition(getAndAssertRelationshipSourceTypeId()); FileableObject sourceObject = null; if (!sourceIsNull) { if (enumBaseObjectTypeIds.cmisdocument.Equals(sourceTypeDefinition.baseId)) { sourceObject = createAndAssertObject(new FileableObject(enumTypesOfFileableObjects.documents, sourceTypeDefinition.id, folderId)); } else { sourceObject = createAndAssertObject(new FileableObject(enumTypesOfFileableObjects.folders, sourceTypeDefinition.id, folderId)); } Assert.IsNotNull(sourceObject.ObjectId, "Id of Created Source Object is undefined"); } cmisTypeDefinitionType targetTypeDefinition = getAndAssertTypeDefinition(getAndAssertRelationshipTargetTypeId()); FileableObject targetObject = null; if (!targetIsNull) { if (enumBaseObjectTypeIds.cmisdocument.Equals(targetTypeDefinition.baseId)) { targetObject = createAndAssertObject(new FileableObject(enumTypesOfFileableObjects.documents, targetTypeDefinition.id, folderId)); } else { targetObject = createAndAssertObject(new FileableObject(enumTypesOfFileableObjects.folders, targetTypeDefinition.id, folderId)); } Assert.IsNotNull(targetObject.ObjectId, "Id of Created Target Object is undefined"); } RelationshipObject result = new RelationshipObject(folderId, relationshipTypeId, sourceObject, targetObject); if (!onlySourceAndTargetObjects) { result = (RelationshipObject)result.createObject(createPropertiesIfNull, reset, folderId, relationshipTypeId); Assert.IsNotNull(result.ObjectId, "Id of Created Relationship is undefined"); logger.log("Relationship was successfully created"); } logger.log(""); return result; }