Your task is to: (10 points) Write the ScholarshipSpecification interface that has a method named getName that returns a String and a method named isQualified that takes a Student and returns a boolean (10 points) Write the GradeStudent class which inherits from Student and has: undergradDegree field a constructor that initializes the firstName, lastName, id, major, gpa, credits and undergradDegree fields o getter and setter methods for undergradDegree field • (15 points) Write the REUScholarship class which implements the ScholarshipSpecification interface and has: o name, minGPA, minCredits fields a constructor that initializes the name, minGPA and minCredits fields. has getters and setters for its fields. A student qualifies for this scholarship if they are an undergraduate student and their GPA meets the minimum required GPA of this scholarship and have completed the minimum number of credits of this scholarship. (eg. If the REU program committee decides that the minimum requirement GPA for an applicant to be considered for this scholarship is 3.0 and must have completed at 30 or more credit of undergraduate work). O O o