@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:
              {
                input.readMessage(getCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
            case 18:
              {
                input.readMessage(getUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
            case 26:
              {
                resource_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
            case 34:
              {
                method_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000008;
                break;
              } // case 34
            case 50:
              {
                kmsKeyName_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000010;
                break;
              } // case 50
            case 58:
              {
                kmsKeyVersionName_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000020;
                break;
              } // case 58
            case 66:
              {
                input.readMessage(
                    getBatchRecognizeRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 8;
                break;
              } // case 66
            case 74:
              {
                input.readMessage(
                    getCreateRecognizerRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 9;
                break;
              } // case 74
            case 82:
              {
                input.readMessage(
                    getUpdateRecognizerRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 10;
                break;
              } // case 82
            case 90:
              {
                input.readMessage(
                    getDeleteRecognizerRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 11;
                break;
              } // case 90
            case 98:
              {
                input.readMessage(
                    getUndeleteRecognizerRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 12;
                break;
              } // case 98
            case 106:
              {
                input.readMessage(
                    getCreateCustomClassRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 13;
                break;
              } // case 106
            case 114:
              {
                input.readMessage(
                    getUpdateCustomClassRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 14;
                break;
              } // case 114
            case 122:
              {
                input.readMessage(
                    getDeleteCustomClassRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 15;
                break;
              } // case 122
            case 130:
              {
                input.readMessage(
                    getUndeleteCustomClassRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 16;
                break;
              } // case 130
            case 138:
              {
                input.readMessage(
                    getCreatePhraseSetRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 17;
                break;
              } // case 138
            case 146:
              {
                input.readMessage(
                    getUpdatePhraseSetRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 18;
                break;
              } // case 146
            case 154:
              {
                input.readMessage(
                    getDeletePhraseSetRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 19;
                break;
              } // case 154
            case 162:
              {
                input.readMessage(
                    getUndeletePhraseSetRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 20;
                break;
              } // case 162
            case 170:
              {
                input.readMessage(
                    getUpdateConfigRequestFieldBuilder().getBuilder(), extensionRegistry);
                requestCase_ = 21;
                break;
              } // case 170
            case 176:
              {
                progressPercent_ = input.readInt32();
                bitField0_ |= 0x00100000;
                break;
              } // case 176
            case 186:
              {
                input.readMessage(
                    getBatchRecognizeMetadataFieldBuilder().getBuilder(), extensionRegistry);
                metadataCase_ = 23;
                break;
              } // case 186
            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>
Represents the metadata of a long-running operation.
</pre>

Protobuf type {@code google.cloud.speech.v2.OperationMetadata}
java-speech/proto-google-cloud-speech-v2/src/main/java/com/google/cloud/speech/v2/OperationMetadata.java