} 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) {
return new SecondaryTypeImpl(this.session, (SecondaryTypeDefinition) typeDefinition);
} else if (typeDefinition == null) {
throw new CmisRuntimeException("No base type supplied!");
} else {
throw new CmisRuntimeException("Unknown base type! Received " + typeDefinition.getClass().getName());
}