code: public BuildableType.Builder mergeFrom(BuildableType.Builder template) {
      // Upcast to access private fields; otherwise, oddly, we get an access violation.
      BuildableType_Builder base = template;
      BuildableType_Builder defaults = new BuildableType.Builder();
      if (!base._unsetProperties.contains(Property.TYPE)
          && (defaults._unsetProperties.contains(Property.TYPE)
              || !Objects.equals(template.type(), defaults.type()))) {
        type(template.type());
      }
      if (!base._unsetProperties.contains(Property.BUILDER_TYPE)
          && (defaults._unsetProperties.contains(Property.BUILDER_TYPE)
              || !Objects.equals(template.builderType(), defaults.builderType()))) {
        builderType(template.builderType());
      }
      if (!base._unsetProperties.contains(Property.MERGE_BUILDER)
          && (defaults._unsetProperties.contains(Property.MERGE_BUILDER)
              || !Objects.equals(template.mergeBuilder(), defaults.mergeBuilder()))) {
        mergeBuilder(template.mergeBuilder());
      }
      if (!base._unsetProperties.contains(Property.PARTIAL_TO_BUILDER)
          && (defaults._unsetProperties.contains(Property.PARTIAL_TO_BUILDER)
              || !Objects.equals(template.partialToBuilder(), defaults.partialToBuilder()))) {
        partialToBuilder(template.partialToBuilder());
      }
      if (!base._unsetProperties.contains(Property.BUILDER_FACTORY)
          && (defaults._unsetProperties.contains(Property.BUILDER_FACTORY)
              || !Objects.equals(template.builderFactory(), defaults.builderFactory()))) {
        builderFactory(template.builderFactory());
      }
      if (!base._unsetProperties.contains(Property.SUPPRESS_UNCHECKED)
          && (defaults._unsetProperties.contains(Property.SUPPRESS_UNCHECKED)
              || !Objects.equals(template.suppressUnchecked(), defaults.suppressUnchecked()))) {
        suppressUnchecked(template.suppressUnchecked());
      }
      return (BuildableType.Builder) this;
    }
docs: Copies values from {@code template}, skipping unset properties.
  
  @return this {@code Builder} object