Added Java-generics-style class override for interface subclass support