/**
   * Updates criterias in the retrieved AccessibilityObjects based on if we should be attentive to
   * the users selected disabilities and the users selected disabilities.
   *
   * @param accessibilityObject The AccessibilityObject to update criterias in.
   * @param selectedDisabilities The users selected disabilities.
   * @param attentive True if we should be attentive to the users selected disabilities.
   */
  private void updateCriteriasInAccesibilityObject(
      AccessibilityObject accessibilityObject, boolean[] selectedDisabilities, boolean attentive) {
    for (Block b : accessibilityObject.getBlocks()) {
      for (AccessibilityPackage p : b.getPackages()) {
        for (Criteria c : p.getCriterias()) {
          // Take Attentive/Available choice into consideration.
          // Request should match the criteria's "attentive/available belonging".
          // We should not show hidden criterias either.
          if (!(attentive == c.isNotice()) || c.isHidden()) {
            c.setShow(false);
            continue;
          }

          boolean disabilities = checkDisabilities(c, selectedDisabilities);
          c.setShow(disabilities);
        }
      }
    }
  }