@SuppressWarnings({ "unchecked" })
private <X,Y> AttributeMetadata<X,Y> determineAttributeMetadata(
AttributeContext<X> attributeContext,
MemberResolver memberResolver) {
log.trace( "Starting attribute metadata determination [{}]", attributeContext.getPropertyMapping().getName() );
final Member member = memberResolver.resolveMember( attributeContext );
log.trace( " Determined member [{}]", member );
final Value value = attributeContext.getPropertyMapping().getValue();
final org.hibernate.type.Type type = value.getType();
log.trace( " determined type [name={}, class={}]", type.getName(), type.getClass().getName() );