Create an Adapter when an object exists (the Adaptee) that provides the functionality desired by the client, but doesn't implement the interface (Target) required by the client: