. Analyzable InterfaceModify the CourseGrades class you created in Programming Challenge 5 so it implementsthe following interface:public interface Analyzable{double getAverage();GradedActivity getHighest();GradedActivity getLowest();}The getAverage method should return the average of the numeric scores stored in thegrades array. The getHighest method should return a reference to the element of the gradesarray that has the highest numeric score. The getLowest method should return a referenceto the element of the grades array that has the lowest numeric score. Demonstrate the newmethods in a complete program.