Write a class TelephoneNumber having 2 fields: countryCode and localNumber which implements the Comparable interface. Create an abstract class TelephoneEntry and then inheriting from this class classes Person and Company. Class TelephoneEntry has an abstract method "description", which describes the entry. Perhaps it also has also other abstract or non-abstract methods, as needed. Class Person has to contain information about the name, last name and address (including TelephoneNumber). Class Company has to have the name and address (including TelephoneNumber). Compose a few objects of class Person and a few objects of class Company and place them in a container TreeMap, using as a key TelephoneNumber. Then, list a created directory using Iterator.