For all the exercises, test all required behaviour in a main() method. ------------------------- 2. The command line arguments contain timestamps (hours and minutes) like this: java Clock 12 20 14 30 05 02 In the example above, we have 12:20, 14:30 and 05:02. Make a program that will print the time difference between the latest and the earliest time. For the example above, the output should be 7:18, because 05:02 is the earliest and 12:20 is the latest time. 3. Make a class named Clock that contains the hours and the minutes. Add an addTime method to it, which receives a Clock instance as an argument, and it increases the hours and minutes by the given amount. Note that hours should not go over 24 (they restart from zero), and minutes should not go over 60 (they add one to the hours). The class should have a toString() method as well. 4. Make an equals() function for the Clock class. Using the binary tree class discussed in class, make a binary tree that stores Clocks. Make the method sameTimeCount() that gets a Clock instance as an argument, and returns how many clocks in the tree show the same time as the argument clock. 5. Make a window that contains a label, which contains a time textually, and make four buttons that add one minute, ten minutes, one hour and ten hours to the time when pressed.