if (typeDefinition instanceof DocumentTypeDefinition) {
return new DocumentTypeImpl(this.session, (DocumentTypeDefinition) typeDefinition);
} else if (typeDefinition instanceof FolderTypeDefinition) {
return new FolderTypeImpl(this.session, (FolderTypeDefinition) typeDefinition);
} else if (typeDefinition instanceof RelationshipTypeDefinition) {
return new RelationshipTypeImpl(this.session, (RelationshipTypeDefinition) typeDefinition);
} else if (typeDefinition instanceof PolicyTypeDefinition) {
return new PolicyTypeImpl(this.session, (PolicyTypeDefinition) typeDefinition);
} else if (typeDefinition instanceof ItemTypeDefinition) {
return new ItemTypeImpl(this.session, (ItemTypeDefinition) typeDefinition);
} else if (typeDefinition instanceof SecondaryTypeDefinition) {