public List<Student> findStudentsByName(String name, String gender) {
		List<Student> studentList = new ArrayList<Student>();
		List<Student> listToSearch = new ArrayList<Student>();
		if(gender == null ) {
			listToSearch =  new ArrayList<Student>(STUDENTS_TABLE.values());
		}
		else listToSearch = this.findByGender(gender);
	
		for (Student s : listToSearch) {
			Student tempStudent = null;
			if( s.getLegalFirstName().toLowerCase().startsWith(name.toLowerCase())) {
				tempStudent = s;
			}
			else if( s.getLegalLastName().toLowerCase().startsWith(name.toLowerCase())) {
				tempStudent = s;
			}
			else if( s.getLegalMiddleName().toLowerCase().startsWith(name.toLowerCase())) {
				tempStudent = s;
			}
			else if( s.getUsualLastName().toLowerCase().startsWith(name.toLowerCase())) {
				tempStudent = s;
			}
			else if( s.getUsualFirstName().toLowerCase().startsWith(name.toLowerCase())) {
				tempStudent = s;
			}
		
			if( !studentList.contains(tempStudent) && tempStudent != null ) {
				//Only add if not already in list or if not empty
				studentList.add(tempStudent);
			}
		}
		return studentList;
	}