public List<PastMeeting> getPastMeetingList(Contact contact) {
    /** @throws IllegalArgumentException if the contact does not exist */
    if (!contactSet.contains(contact)) {
      throw new IllegalArgumentException(
          "Contact \"" + contact.getName() + "\" does not exist! Please try again");
    } else {
      /**
       * @param list a list to store any matching PastMeetings; will be returned empty if no matches
       */
      List<PastMeeting> list = new ArrayList<PastMeeting>();

      for (PastMeeting pm : pastMeetings) {
        if (pm.getContacts().contains(contact)) {
          list.add(pm);
        }
      }
      /**
       * @see MeetingImpl#MeetingComparator - calls custom comparator in MeetingImpl to
       *     chronologically sort
       */
      Collections.sort(list, MeetingImpl.MeetingComparator);
      return list;
    }
  }