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