code: public BuildableType.Builder mapBuilderType(UnaryOperator<Type> mapper) {
      Objects.requireNonNull(mapper);
      return builderType(mapper.apply(builderType()));
    }
docs: Replaces the value to be returned by {@link BuildableType#builderType()} by applying {@code
  mapper} to it and using the result.
  
  @return this {@code Builder} object
  @throws NullPointerException if {@code mapper} is null or returns null
  @throws IllegalStateException if the field has not been set