@Override
  public boolean processRules(CommitteeScheduleDeadlineEvent deadlineCommitteeScheduleEvent) {

    boolean rulePassed = true;

    List<CommitteeScheduleBase> committeeSchedules =
        deadlineCommitteeScheduleEvent.getCommitteeSchedules();
    int count = 0;
    for (CommitteeScheduleBase committeeSchedule : committeeSchedules) {

      Date deadline = committeeSchedule.getProtocolSubDeadline();
      Date schedule = committeeSchedule.getScheduledDate();

      if ((schedule != null) && (deadline != null) && (schedule.before(deadline))) {
        reportError(
            String.format(ID, count),
            KeyConstants.ERROR_COMMITTEESCHEDULE_DEADLINE,
            deadline.toString(),
            schedule.toString());
        rulePassed = false;
      }
      count++;
    }

    return rulePassed;
  }