Given the following initial descrition of a Java class, Car: public class Car implements Comparable< Car> { private String registration; private String make; private String model; private int year; private int mileage; } (a) Write the code for the class constructor. [3] (b) Provide the code for the compareTo() method, such that it can be used to prioritise Car objects in ascending order of mileage, and if they have the same mileage, then to prioritise the newest Car (higher value for year). [10] (c) Write the code for a test class which creates a PriorityQueue for Cars, adds three different Car objects to the PriorityQueue, and then removes the Car objects one at a time from the PriorityQueue.