Problem 2 ( 30pts) : Create a class PhoneNumberChecker that checks the validity of a given phone number using Regular Expressions. Three countries are supported: Morocco, Spain and England. Define the following methods: - validateNumber0 first asks the user to input the country to which the phone number belongs (remember only three countries are supported). In case on an invalid country, the message "This country is not supported by our Phone Number Checker!" shall be displayed and the user shall be asked if he/she would like to retry again, if yes, the whole process will be repeated, if not, the program will exit with a Goodbye message. Then asks the user to input the phone number and invokes the appropriate validation method (see below). If the validation method returns false, the message (e.g. "You have typed an invalid Spanish phone number") is displayed. Otherwise, it displays (e.g. "This is a valid Moroccan phone number : 00212-6-45456567). Note: In the following, a phone number in the appropriate format with no hyphens is also valid. Please consider this in the RegEX, as well. - validateMorrocan0 that checks if the String passed as an argument is a valid Moroccan phone number* or not using RegEx. This function is static and returns a Boolean. - The phone number should have the following format: +2125/6/7xx xxxxxx or 002125/6/7xxxxxxxx - validateSpanisho that checks if the String passed as an argument is a valid Spanish phone number" or not using RegEx. This function is static and returns a Boolean. * The phone number should have the following format: +349xxxxxxxx or 00349xxxxxxxx - validateEnglish0 that checks if the String passed as an argument is a valid British phone number* or not using RegEx. This function is static and retums a Boolean. * The phone number should have the following format: +4420-xxrsxxx or 0044210