understanding the adapter pattern in oo design 883034