TimerServiceImpl class currently contains the method that compares 2 ScheduleExpression values. Need to consider the following optimization:
- move this part from TimerServiceImpl to CalendarBasedTimeout, which is the class that handles calendar timer logics and already contains similar functionalities.
- make it a public static method
- the current comparison basically compares all ScheduleExpression attributes. We should order them to first compare attributes that are mostly likely to differ, with timezone, end, start at last.
- use Objects.equals instead of the custom same() method.