code: @SuppressWarnings({"rawtypes", "unchecked"})
      public <T> T createModel(T referenceModel, boolean withPolicies) throws CreateModelException {
          Erector erector = erectors.get(referenceModel.getClass());
  
          if (erector == null) {
              throw new CreateModelException("Unregistered class: " + referenceModel.getClass());
          }
  
          return createModel(erector, referenceModel, withPolicies);
      }
docs: Create a Model for a registered Blueprint. Values set in the
  model will not be overridden by defaults in the Blueprint.
  
  @param <T> model Class
  @param referenceModel Object
  @param withPolicies   boolean if Policies should be applied to the create
  @return Model
  @throws CreateModelException model failed to create