Design Pattern 23 Adapter