code: public String getQualifiedValueToBuilderMethod() {
      switch (getValueToBuilderTarget()) {
  
        case VALUE_INSTANCE:
          return getValueToBuilderMethod();
        case VALUE_TYPE:
          return String.format("%s.%s", getQualifiedValueTypeName(), getValueToBuilderMethod());
        case BUILDER_INSTANCE:
          return String
              .format("%s().%s", getQualifiedBuilderConstructorMethod(), getValueToBuilderMethod());
        case BUILDER_TYPE:
          return String.format("%s.%s", getQualifiedBuilderTypeName(), getValueToBuilderMethod());
        case BUILDER_CONSTRUCTOR:
          return getQualifiedBuilderConstructorMethod();
        default:
          throw new UnsupportedOperationException(
              String.format("Could not handle %s", getValueToBuilderTarget()));
      }
    }
docs: Uses {@link #getValueToBuilderTarget()} to determine appropriate format for
  creating a new builder from a value object.
  
  The template needs to still query {@link #isCopyMethodOnValueInstance()} to determine
  whether to use {@code [expression].[n.getQualifiedValueToBuilderMethod]()} vs
  {@code [n.getQualifiedValueToBuilderMethod]([expression])}
  
  @return method to use for converting a value to a builder.