given specifications . You can use one type , or a mix of the listed types of data structures for message storage . Specifically , it should be one data structure per word type ( verb , subject , etc .), but you can choose to use a HashMap for canned messages and maybe ArrayLists for the other data structuresor use Arrays for all of them . Methods and Instance variables a . Method shoutOutCannedMessage () loops through the data structure that stores the canned messages first to display all canned messages and allows the user to select one canned message . b . The method shoutOutCannedMessage () will return the selected message string . c . Your shoutOutRandomMessage () method should use a random number generator that selects one word from each data structure to form a random message . The random number generated should not exceed the bounds of your data . In other words , if you only have 5 words in a data structure , the random number generated should not be an index that has no word stored . d . The method shoutOutRandomMessage () should return a randomly generated message string in accordance with specifications , in the form : Subject - Verb - Adjective - Object - Adverb ( for example , ― You read hard books quickly ‖). e . Use the MyClone introduction () method to introduce your clone to the virtual world by displaying a greeting , your full name , and anything else you would want to say . f . MyClone class should include instance variables ( at least firstName and lastName ) that are made private and have associated getters ( accessors )