code: public Datatype.Builder mapPropertyEnum(UnaryOperator<TypeClass> mapper) {
      Objects.requireNonNull(mapper);
      return setPropertyEnum(mapper.apply(getPropertyEnum()));
    }
docs: Replaces the value to be returned by {@link Datatype#getPropertyEnum()} 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