@java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10:
              {
                java.lang.String s = input.readStringRequireUtf8();
                dataCase_ = 1;
                data_ = s;
                break;
              } // case 10
            case 18:
              {
                input.readMessage(getInlineDataFieldBuilder().getBuilder(), extensionRegistry);
                dataCase_ = 2;
                break;
              } // case 18
            case 26:
              {
                input.readMessage(getFileDataFieldBuilder().getBuilder(), extensionRegistry);
                dataCase_ = 3;
                break;
              } // case 26
            case 34:
              {
                input.readMessage(getVideoMetadataFieldBuilder().getBuilder(), extensionRegistry);
                metadataCase_ = 4;
                break;
              } // case 34
            case 42:
              {
                input.readMessage(getFunctionCallFieldBuilder().getBuilder(), extensionRegistry);
                dataCase_ = 5;
                break;
              } // case 42
            case 50:
              {
                input.readMessage(
                    getFunctionResponseFieldBuilder().getBuilder(), extensionRegistry);
                dataCase_ = 6;
                break;
              } // case 50
            case 66:
              {
                input.readMessage(getExecutableCodeFieldBuilder().getBuilder(), extensionRegistry);
                dataCase_ = 8;
                break;
              } // case 66
            case 74:
              {
                input.readMessage(
                    getCodeExecutionResultFieldBuilder().getBuilder(), extensionRegistry);
                dataCase_ = 9;
                break;
              } // case 74
            default:
              {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
          } // switch (tag)
        } // while (!done)
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.unwrapIOException();
      } finally {
        onChanged();
      } // finally
      return this;
    }
<pre>
A datatype containing media that is part of a multi-part `Content` message.

A `Part` consists of data which has an associated datatype. A `Part` can only
contain one of the accepted types in `Part.data`.

A `Part` must have a fixed IANA MIME type identifying the type and subtype
of the media if `inline_data` or `file_data` field is filled with raw bytes.
</pre>

Protobuf type {@code google.cloud.vertexai.v1.Part}
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/Part.java