@Override
	public boolean apply(Course course) {
		final int startTime = (startHours.getSelectedIndex() % 12) * 60 + startMinutes.getSelectedIndex() * 10 + startAmPm.getSelectedIndex() * 12 * 60;
		final int endTime = (endHours.getSelectedIndex() % 12) * 60 + endtMinutes.getSelectedIndex() * 10 + endAmPm.getSelectedIndex() * 12 * 60;
		

		
		
		if(startTime != 0 || endTime != 0) {
			if(course.Time.length() > 10) {
				String[] data = course.Time.split("-");
				final int dataStartTime = getTime(data[0]);
				final int dataEndTime = getTime(data[1]);
				if(course.CRN == 75122) {
					System.out.println("Start: " + startTime);
					System.out.println("End: " + endTime);
					System.out.println("dataStartTime: " + dataStartTime);
					System.out.println("dataEndTime: " + dataEndTime);
				}
				
				if(startTime != 0 && startTime > dataStartTime) {
					return false;
				}
				if(endTime != 0 && endTime < dataEndTime) {
					return false;
				}
				return true;
			}
			return false;
		}
		return true;
	}