Pattern: adapter, java flavour