if ( isSorted() ) {
return TypeFactory.sortedMap( getRole(), getReferencedPropertyName(), isEmbedded(), getComparator() );
}
else if ( hasOrder() ) {
return TypeFactory.orderedMap( getRole(), getReferencedPropertyName(), isEmbedded() );
}
else {
return TypeFactory.map( getRole(), getReferencedPropertyName(), isEmbedded() );
}