Source: http://users.cs.cf.ac.uk/A.I.Abdelmoty/Teaching%20material/318/The%20Adaptor%20Pattern-06.pdf