@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasCreateTime()) {
      hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getCreateTime().hashCode();
    }
    if (hasUpdateTime()) {
      hash = (37 * hash) + UPDATE_TIME_FIELD_NUMBER;
      hash = (53 * hash) + getUpdateTime().hashCode();
    }
    hash = (37 * hash) + RESOURCE_FIELD_NUMBER;
    hash = (53 * hash) + getResource().hashCode();
    hash = (37 * hash) + METHOD_FIELD_NUMBER;
    hash = (53 * hash) + getMethod().hashCode();
    hash = (37 * hash) + KMS_KEY_NAME_FIELD_NUMBER;
    hash = (53 * hash) + getKmsKeyName().hashCode();
    hash = (37 * hash) + KMS_KEY_VERSION_NAME_FIELD_NUMBER;
    hash = (53 * hash) + getKmsKeyVersionName().hashCode();
    hash = (37 * hash) + PROGRESS_PERCENT_FIELD_NUMBER;
    hash = (53 * hash) + getProgressPercent();
    switch (requestCase_) {
      case 8:
        hash = (37 * hash) + BATCH_RECOGNIZE_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getBatchRecognizeRequest().hashCode();
        break;
      case 9:
        hash = (37 * hash) + CREATE_RECOGNIZER_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getCreateRecognizerRequest().hashCode();
        break;
      case 10:
        hash = (37 * hash) + UPDATE_RECOGNIZER_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getUpdateRecognizerRequest().hashCode();
        break;
      case 11:
        hash = (37 * hash) + DELETE_RECOGNIZER_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getDeleteRecognizerRequest().hashCode();
        break;
      case 12:
        hash = (37 * hash) + UNDELETE_RECOGNIZER_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getUndeleteRecognizerRequest().hashCode();
        break;
      case 13:
        hash = (37 * hash) + CREATE_CUSTOM_CLASS_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getCreateCustomClassRequest().hashCode();
        break;
      case 14:
        hash = (37 * hash) + UPDATE_CUSTOM_CLASS_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getUpdateCustomClassRequest().hashCode();
        break;
      case 15:
        hash = (37 * hash) + DELETE_CUSTOM_CLASS_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getDeleteCustomClassRequest().hashCode();
        break;
      case 16:
        hash = (37 * hash) + UNDELETE_CUSTOM_CLASS_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getUndeleteCustomClassRequest().hashCode();
        break;
      case 17:
        hash = (37 * hash) + CREATE_PHRASE_SET_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getCreatePhraseSetRequest().hashCode();
        break;
      case 18:
        hash = (37 * hash) + UPDATE_PHRASE_SET_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getUpdatePhraseSetRequest().hashCode();
        break;
      case 19:
        hash = (37 * hash) + DELETE_PHRASE_SET_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getDeletePhraseSetRequest().hashCode();
        break;
      case 20:
        hash = (37 * hash) + UNDELETE_PHRASE_SET_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getUndeletePhraseSetRequest().hashCode();
        break;
      case 21:
        hash = (37 * hash) + UPDATE_CONFIG_REQUEST_FIELD_NUMBER;
        hash = (53 * hash) + getUpdateConfigRequest().hashCode();
        break;
      case 0:
      default:
    }
    switch (metadataCase_) {
      case 23:
        hash = (37 * hash) + BATCH_RECOGNIZE_METADATA_FIELD_NUMBER;
        hash = (53 * hash) + getBatchRecognizeMetadata().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<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