interface Inv class Outer { inner class Inner class Nested : Inv<Inner> object Obj : Inv<Inner> }