@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (getTopCandidatesCount() > 0) {
      hash = (37 * hash) + TOP_CANDIDATES_FIELD_NUMBER;
      hash = (53 * hash) + getTopCandidatesList().hashCode();
    }
    if (getChosenCandidatesCount() > 0) {
      hash = (37 * hash) + CHOSEN_CANDIDATES_FIELD_NUMBER;
      hash = (53 * hash) + getChosenCandidatesList().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Length = total number of decoding steps.
The chosen candidates may or may not be in top_candidates.
</pre>

<code>repeated .google.cloud.vertexai.v1.LogprobsResult.Candidate chosen_candidates = 2;</code>
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/LogprobsResult.java