public void addNewPastMeeting(Set<Contact> contacts, Calendar date, String text) throws IllegalArgumentException, NullPointerException {
		if (contacts == null) {
			throw new NullPointerException("The supplied set of contacts cannot be null.");
		}
		if (date == null) {
			throw new NullPointerException("The supplied date cannot be null.");
		}
		if (text == null) {
			throw new NullPointerException("The meeting notes cannot be null.");
		}
		if (!allSuppliedContactsExist(contacts)) {
			throw new IllegalArgumentException("One or more of the contacts you supplied is unknown/non-existent.");
		}
		PastMeeting newPastMeeting = new PastMeetingImpl(contacts, date, text);
		meetingListSortedById.add(newPastMeeting);
		meetingListSortedByDate.add(newPastMeeting);
		Collections.sort(meetingListSortedByDate, new MeetingDateCompare());
		updateContactIdToMeetingsMap(contacts, newPastMeeting);
	}