Question: Two Collection objects are equal if either both implement the List interface and contain the same items in the same order or both implement the Set interface and contain the same items in any order. Otherwise, the Collection objects are not equal. Provide, in Abstract Collection, an implementation of equals that follows this general contract. Additionally, provide a hash Code method in Abstract Collection that follows the general contract of hash Code. (Do this by using an iterator and adding the hash Codes of all the entries. Watch out for null entries.)