docs: public TypeUsage.Builder mergeFrom(TypeUsage value) {
      TypeUsage_Builder defaults = new TypeUsage.Builder();
      if (defaults._unsetProperties.contains(Property.START) || value.start() != defaults.start()) {
        start(value.start());
      }
      if (defaults._unsetProperties.contains(Property.END) || value.end() != defaults.end()) {
        end(value.end());
      }
      if (defaults._unsetProperties.contains(Property.TYPE)
          || !Objects.equals(value.type(), defaults.type())) {
        type(value.type());
      }
      value.scope().ifPresent(this::scope);
      return (TypeUsage.Builder) this;
    }