@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + FIELD_FIELD_NUMBER;
    hash = (53 * hash) + getField().hashCode();
    hash = (37 * hash) + FETCH_MATCHED_ANNOTATIONS_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getFetchMatchedAnnotations());
    switch (valueCase_) {
      case 2:
        hash = (37 * hash) + TEXT_ARRAY_FIELD_NUMBER;
        hash = (53 * hash) + getTextArray().hashCode();
        break;
      case 3:
        hash = (37 * hash) + INT_RANGE_ARRAY_FIELD_NUMBER;
        hash = (53 * hash) + getIntRangeArray().hashCode();
        break;
      case 4:
        hash = (37 * hash) + FLOAT_RANGE_ARRAY_FIELD_NUMBER;
        hash = (53 * hash) + getFloatRangeArray().hashCode();
        break;
      case 5:
        hash = (37 * hash) + DATE_TIME_RANGE_ARRAY_FIELD_NUMBER;
        hash = (53 * hash) + getDateTimeRangeArray().hashCode();
        break;
      case 6:
        hash = (37 * hash) + GEO_LOCATION_ARRAY_FIELD_NUMBER;
        hash = (53 * hash) + getGeoLocationArray().hashCode();
        break;
      case 7:
        hash = (37 * hash) + BOOL_VALUE_FIELD_NUMBER;
        hash = (53 * hash) + getBoolValue().hashCode();
        break;
      case 0:
      default:
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
If true, return query matched annotations for this criteria.
This option is only applicable for inclusion criteria, i.e., not exclusion
criteria, with partition level annotations.  It supports the following data
types:
 - INTEGER
 - FLOAT
 - STRING (DataSchema.SearchStrategy.EXACT_SEARCH only)
 - BOOLEAN
</pre>

<code>bool fetch_matched_annotations = 8;</code>

@return The fetchMatchedAnnotations.
java-visionai/proto-google-cloud-visionai-v1/src/main/java/com/google/cloud/visionai/v1/Criteria.java