Find the class by its description
The getExpectedClass method must return a class that matches the following description: 1. It implements the Map interface. 2. It is used when working with threads. 3. It a non-blocking version of a skip list that has been adapted for hash tables.
The getExpectedMap method is used everywhere in your huge project. At some point, the testers discovered that the getExpectedMap method throws a NullPointerException. The expected behavior is described in the main method's comments.
Ambiguous behavior for NULL
Change the implementation of the getExpectedMap method. It must return an object of a class that has the opposite behavior when adding a null reference. See the example output in the main method. Don't change the rest of the code..
The Proxy pattern provides an object that controls access to another object. You need to create a CachingProxyRetriever class in the retrievers package. It will provide the same functionality as the OriginalRetriever class, but with one important addition.