public Builder mergeFrom(com.google.cloud.visionai.v1.ProcessorIOSpec other) {
      if (other == com.google.cloud.visionai.v1.ProcessorIOSpec.getDefaultInstance()) return this;
      if (graphInputChannelSpecsBuilder_ == null) {
        if (!other.graphInputChannelSpecs_.isEmpty()) {
          if (graphInputChannelSpecs_.isEmpty()) {
            graphInputChannelSpecs_ = other.graphInputChannelSpecs_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureGraphInputChannelSpecsIsMutable();
            graphInputChannelSpecs_.addAll(other.graphInputChannelSpecs_);
          }
          onChanged();
        }
      } else {
        if (!other.graphInputChannelSpecs_.isEmpty()) {
          if (graphInputChannelSpecsBuilder_.isEmpty()) {
            graphInputChannelSpecsBuilder_.dispose();
            graphInputChannelSpecsBuilder_ = null;
            graphInputChannelSpecs_ = other.graphInputChannelSpecs_;
            bitField0_ = (bitField0_ & ~0x00000001);
            graphInputChannelSpecsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getGraphInputChannelSpecsFieldBuilder()
                    : null;
          } else {
            graphInputChannelSpecsBuilder_.addAllMessages(other.graphInputChannelSpecs_);
          }
        }
      }
      if (graphOutputChannelSpecsBuilder_ == null) {
        if (!other.graphOutputChannelSpecs_.isEmpty()) {
          if (graphOutputChannelSpecs_.isEmpty()) {
            graphOutputChannelSpecs_ = other.graphOutputChannelSpecs_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureGraphOutputChannelSpecsIsMutable();
            graphOutputChannelSpecs_.addAll(other.graphOutputChannelSpecs_);
          }
          onChanged();
        }
      } else {
        if (!other.graphOutputChannelSpecs_.isEmpty()) {
          if (graphOutputChannelSpecsBuilder_.isEmpty()) {
            graphOutputChannelSpecsBuilder_.dispose();
            graphOutputChannelSpecsBuilder_ = null;
            graphOutputChannelSpecs_ = other.graphOutputChannelSpecs_;
            bitField0_ = (bitField0_ & ~0x00000002);
            graphOutputChannelSpecsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getGraphOutputChannelSpecsFieldBuilder()
                    : null;
          } else {
            graphOutputChannelSpecsBuilder_.addAllMessages(other.graphOutputChannelSpecs_);
          }
        }
      }
      if (instanceResourceInputBindingSpecsBuilder_ == null) {
        if (!other.instanceResourceInputBindingSpecs_.isEmpty()) {
          if (instanceResourceInputBindingSpecs_.isEmpty()) {
            instanceResourceInputBindingSpecs_ = other.instanceResourceInputBindingSpecs_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureInstanceResourceInputBindingSpecsIsMutable();
            instanceResourceInputBindingSpecs_.addAll(other.instanceResourceInputBindingSpecs_);
          }
          onChanged();
        }
      } else {
        if (!other.instanceResourceInputBindingSpecs_.isEmpty()) {
          if (instanceResourceInputBindingSpecsBuilder_.isEmpty()) {
            instanceResourceInputBindingSpecsBuilder_.dispose();
            instanceResourceInputBindingSpecsBuilder_ = null;
            instanceResourceInputBindingSpecs_ = other.instanceResourceInputBindingSpecs_;
            bitField0_ = (bitField0_ & ~0x00000004);
            instanceResourceInputBindingSpecsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getInstanceResourceInputBindingSpecsFieldBuilder()
                    : null;
          } else {
            instanceResourceInputBindingSpecsBuilder_.addAllMessages(
                other.instanceResourceInputBindingSpecs_);
          }
        }
      }
      if (instanceResourceOutputBindingSpecsBuilder_ == null) {
        if (!other.instanceResourceOutputBindingSpecs_.isEmpty()) {
          if (instanceResourceOutputBindingSpecs_.isEmpty()) {
            instanceResourceOutputBindingSpecs_ = other.instanceResourceOutputBindingSpecs_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureInstanceResourceOutputBindingSpecsIsMutable();
            instanceResourceOutputBindingSpecs_.addAll(other.instanceResourceOutputBindingSpecs_);
          }
          onChanged();
        }
      } else {
        if (!other.instanceResourceOutputBindingSpecs_.isEmpty()) {
          if (instanceResourceOutputBindingSpecsBuilder_.isEmpty()) {
            instanceResourceOutputBindingSpecsBuilder_.dispose();
            instanceResourceOutputBindingSpecsBuilder_ = null;
            instanceResourceOutputBindingSpecs_ = other.instanceResourceOutputBindingSpecs_;
            bitField0_ = (bitField0_ & ~0x00000008);
            instanceResourceOutputBindingSpecsBuilder_ =
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                    ? getInstanceResourceOutputBindingSpecsFieldBuilder()
                    : null;
          } else {
            instanceResourceOutputBindingSpecsBuilder_.addAllMessages(
                other.instanceResourceOutputBindingSpecs_);
          }
        }
      }
      this.mergeUnknownFields(other.getUnknownFields());
      onChanged();
      return this;
    }
<pre>
Message describing the input / output specifications of a processor.
</pre>

Protobuf type {@code google.cloud.visionai.v1.ProcessorIOSpec}
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/ProcessorIOSpec.java