Java Adapter Pattern