Binder#bindHibernateTypeDescriptor was calling: hibernateTypeDescriptor.setTypeParameters( typeDef.getParameters() );
hibernateTypeDescriptor.getTypeParameters().putAll is called later, but typeDef.getParameters() is unmodifiable.