Buggy code:
public class DataHandler { private static final DataHandler instance = new DataHandler ( ) ; private ScheduleI schedule ; private ObservableList < EventI > eventList ; private ObservableList < EventCell > eventCellList ; private ObservableList < CategoryI > categoryList ; private Map < CategoryI , ObservableList > catEventMap ; private EventI currentEvent ; private EventI lastAddedEvent ; private CategoryI currentCategory ; public DataHandler ( ) { } public static DataHandler getInstance ( ) { } public void setSchedule ( ScheduleI sch ) { } public ScheduleI getSchedule ( ) { } public void setEventList ( ) { } public void setCurrentEvent ( EventI event ) { } public EventI getCurrentEvent ( ) throws ItemNotFoundException { } public void setLastAddedEvent ( EventI event ) { } public EventI getLastAddedEvent ( ) { } public void setCurrentCategory ( CategoryI category ) { } public CategoryI getCurrentCategory ( ) throws ItemNotFoundException { } public void updateCurrentCategory ( String newName ) throws ItemNotFoundException { } public void deleteCurrentCategory ( ) throws ItemNotFoundException { } public ObservableList < EventI > getEventList ( ) { } public List < EventI > getEventList ( CategoryI ctg ) { } public List < EventI > getEventsDuring ( GregorianCalendar start , GregorianCalendar end ) { } public boolean addEvent ( String name , String text , LocalDate startDate , String startHour , String startMinute , LocalDate endDate , String endHour , String endMinute , boolean hasAlert , String alertText , LocalDate alertDate , String alertHour , String alertMinute , Repeat repeat , Priority priority , CategoryI category ) throws EmptyFieldException { } public boolean addEvent ( EventI event ) { } public void deleteEvent ( EventI event ) { } public boolean updateEvent ( String name , String text , LocalDate startDate , String startHour , String startMinute , LocalDate endDate , String endHour , String endMinute , boolean hasAlert , String alertText , LocalDate alertDate , String alertHour , String alertMinute , Repeat repeat , Priority priority , CategoryI category ) throws ItemNotFoundException { } public void removeEvent ( EventI event ) { } public void setCategories ( ) { } public ObservableList < CategoryI > getCategories ( ) { } public CategoryI getCategory ( String cat ) { } public CategoryI addCategory ( String name ) throws NameInUseException { } public void removeCategory ( String name ) { } public LocalDate calendarToDate ( GregorianCalendar cal ) { } public GregorianCalendar returnGregorianCalendar ( LocalDate ld , String hour , String minute ) { if ( ( ( ld == null ) || ( hour . isEmpty ( ) ) ) || ( minute . isEmpty ( ) ) ) { return null ; } GregorianCalendar toBeReturned = new GregorianCalendar ( ) ; toBeReturned . set ( ld . getYear ( ) , ( ( ld . getMonthValue ( ) ) - 1 ) , ld . getDayOfMonth ( ) ) ; <START_BUG> toBeReturned . set ( Calendar . HOUR , Integer . parseInt ( hour ) ) ; <END_BUG> toBeReturned . set ( Calendar . MINUTE , Integer . parseInt ( minute ) ) ; return toBeReturned ; } private boolean hasNecessaryInput ( String name ) { } public void printNumberOfEventsSchedule ( ) { } public void printNumberOfEventsData ( ) { } public void printNumberOfCategoriesSchedule ( ) { } public void printNumberOfCategoriesData ( ) { } }

Fix:
toBeReturned . set ( Calendar . HOUR_OF_DAY , Integer . parseInt ( hour ) ) ;