@java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasSpeechStartTimeout()) {
        hash = (37 * hash) + SPEECH_START_TIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getSpeechStartTimeout().hashCode();
      }
      if (hasSpeechEndTimeout()) {
        hash = (37 * hash) + SPEECH_END_TIMEOUT_FIELD_NUMBER;
        hash = (53 * hash) + getSpeechEndTimeout().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<pre>
Duration to timeout the stream after speech ends. If this is set and no
speech is detected in this duration after speech was detected, the server
will close the stream.
</pre>

<code>.google.protobuf.Duration speech_end_timeout = 2;</code>
java-speech/proto-google-cloud-speech-v2/src/main/java/com/google/cloud/speech/v2/StreamingRecognitionFeatures.java