/**
   * This method iterates through the awardFandaRateList and creates two hashmaps; one with on
   * campus values and other with off campus values in it.
   *
   * @param awardFandaRateList
   * @param a1
   * @param b1
   */
  protected void createHashMapsForRuleEvaluation(
      List<AwardFandaRate> awardFandaRateList,
      HashMap<String, String> a1,
      HashMap<String, String> b1) {

    for (AwardFandaRate awardFandaRate : awardFandaRateList) {
      if (StringUtils.equalsIgnoreCase(awardFandaRate.getOnCampusFlag(), "N")) {
        a1.put(awardFandaRate.getFandaRateTypeCode(), awardFandaRate.getOnCampusFlag());
      } else if (StringUtils.equalsIgnoreCase(awardFandaRate.getOnCampusFlag(), "F")) {
        b1.put(awardFandaRate.getFandaRateTypeCode(), awardFandaRate.getOnCampusFlag());
      }
    }
  }
  /**
   * @param awardFandaRateList
   * @param a1
   * @param b1
   * @return
   */
  protected boolean evaluateRule(
      List<AwardFandaRate> awardFandaRateList,
      HashMap<String, String> a1,
      HashMap<String, String> b1) {
    boolean valid = true;
    for (AwardFandaRate awardFandaRate : awardFandaRateList) {
      if ((a1.containsKey(awardFandaRate.getFandaRateTypeCode())
              && !b1.containsKey(awardFandaRate.getFandaRateTypeCode()))
          || (b1.containsKey(awardFandaRate.getFandaRateTypeCode())
              && !a1.containsKey(awardFandaRate.getFandaRateTypeCode()))) {
        valid = false;
        addAuditError(
            createAuditError(getFinder().getKeyLabel(awardFandaRate.getFandaRateTypeCode())));
      }
    }

    return valid;
  }