@Override
protected Relationship doCreateIdentityType(Object identity, JPAIdentityStore store) {
String name = store.getModelProperty(String.class, identity, PROPERTY_IDENTITY_NAME);
Object relatesToInstance = store.getModelProperty(Object.class, identity, PROPERTY_IDENTITY_RELATES_TO);
String relatesToDiscriminator = store.getConfig().getModelProperty(PROPERTY_IDENTITY_DISCRIMINATOR).getValue(relatesToInstance)
.toString();
IdentityTypeHandler<? extends IdentityType> relatesToIdentityTypeManager = store.getConfig().getIdentityTypeManager(relatesToDiscriminator);
IdentityType relatesToType = relatesToIdentityTypeManager.createIdentityType(null, relatesToInstance, store);
Object relatedToInstance = store.getModelProperty(Object.class, identity, PROPERTY_IDENTITY_RELATED_TO);
String relatedToDiscriminator = store.getConfig().getModelProperty(PROPERTY_IDENTITY_DISCRIMINATOR).getValue(relatesToInstance)
.toString();
IdentityTypeHandler<? extends IdentityType> relatedToTypeManager = store.getConfig().getIdentityTypeManager(relatedToDiscriminator);
IdentityType relatedToType = relatedToTypeManager.createIdentityType(null, relatedToInstance, store);
SimpleRelationship relationship = new SimpleRelationship(name);
relationship.setFrom(relatedToType);
relationship.setTo(relatesToType);
return relationship;
}