@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.speech.v2.OperationMetadata)) {
      return super.equals(obj);
    }
    com.google.cloud.speech.v2.OperationMetadata other =
        (com.google.cloud.speech.v2.OperationMetadata) obj;

    if (hasCreateTime() != other.hasCreateTime()) return false;
    if (hasCreateTime()) {
      if (!getCreateTime().equals(other.getCreateTime())) return false;
    }
    if (hasUpdateTime() != other.hasUpdateTime()) return false;
    if (hasUpdateTime()) {
      if (!getUpdateTime().equals(other.getUpdateTime())) return false;
    }
    if (!getResource().equals(other.getResource())) return false;
    if (!getMethod().equals(other.getMethod())) return false;
    if (!getKmsKeyName().equals(other.getKmsKeyName())) return false;
    if (!getKmsKeyVersionName().equals(other.getKmsKeyVersionName())) return false;
    if (getProgressPercent() != other.getProgressPercent()) return false;
    if (!getRequestCase().equals(other.getRequestCase())) return false;
    switch (requestCase_) {
      case 8:
        if (!getBatchRecognizeRequest().equals(other.getBatchRecognizeRequest())) return false;
        break;
      case 9:
        if (!getCreateRecognizerRequest().equals(other.getCreateRecognizerRequest())) return false;
        break;
      case 10:
        if (!getUpdateRecognizerRequest().equals(other.getUpdateRecognizerRequest())) return false;
        break;
      case 11:
        if (!getDeleteRecognizerRequest().equals(other.getDeleteRecognizerRequest())) return false;
        break;
      case 12:
        if (!getUndeleteRecognizerRequest().equals(other.getUndeleteRecognizerRequest()))
          return false;
        break;
      case 13:
        if (!getCreateCustomClassRequest().equals(other.getCreateCustomClassRequest()))
          return false;
        break;
      case 14:
        if (!getUpdateCustomClassRequest().equals(other.getUpdateCustomClassRequest()))
          return false;
        break;
      case 15:
        if (!getDeleteCustomClassRequest().equals(other.getDeleteCustomClassRequest()))
          return false;
        break;
      case 16:
        if (!getUndeleteCustomClassRequest().equals(other.getUndeleteCustomClassRequest()))
          return false;
        break;
      case 17:
        if (!getCreatePhraseSetRequest().equals(other.getCreatePhraseSetRequest())) return false;
        break;
      case 18:
        if (!getUpdatePhraseSetRequest().equals(other.getUpdatePhraseSetRequest())) return false;
        break;
      case 19:
        if (!getDeletePhraseSetRequest().equals(other.getDeletePhraseSetRequest())) return false;
        break;
      case 20:
        if (!getUndeletePhraseSetRequest().equals(other.getUndeletePhraseSetRequest()))
          return false;
        break;
      case 21:
        if (!getUpdateConfigRequest().equals(other.getUpdateConfigRequest())) return false;
        break;
      case 0:
      default:
    }
    if (!getMetadataCase().equals(other.getMetadataCase())) return false;
    switch (metadataCase_) {
      case 23:
        if (!getBatchRecognizeMetadata().equals(other.getBatchRecognizeMetadata())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
Metadata specific to the BatchRecognize method.
</pre>

<code>.google.cloud.speech.v2.BatchRecognizeMetadata batch_recognize_metadata = 23;</code>
java-speech/proto-google-cloud-speech-v2/src/main/java/com/google/cloud/speech/v2/OperationMetadata.java