InterfaceIsTypeCheck

Implements Bloch, Effective Java, Item 17 - Use Interfaces only to define types.