The Diamond Problem - Inheritance Hierarchies Design | OneNoughtOne