public List<String> findByName(String name) {
		
		List<String> nameList = new ArrayList<String>();
		
		for(Entry<Long, Student> e : STUDENTS_TABLE.entrySet()) {
			
			Student s = (Student)e.getValue();
			String tempName = "";
			if( s.getLegalFirstName().toLowerCase().startsWith(name.toLowerCase())) {
				tempName = s.getLegalFirstName();
			}
			else if( s.getLegalLastName().toLowerCase().startsWith(name.toLowerCase())) {
				tempName = s.getLegalLastName();
			}
			else if( s.getLegalMiddleName().toLowerCase().startsWith(name.toLowerCase())) {
				tempName = s.getLegalMiddleName();
			}
			else if( s.getUsualLastName().toLowerCase().startsWith(name.toLowerCase())) {
				tempName = s.getUsualLastName();
			}
			else if( s.getUsualFirstName().toLowerCase().startsWith(name.toLowerCase())) {
				tempName = s.getUsualFirstName();
			}
		
			if( !nameList.contains(tempName) && !tempName.equals("") ) {
				//Only add if not already in list or if not empty
				nameList.add(tempName);
			}
		}
		
		return nameList;
	}