class pkg1.O name: O / O / pkg1.O type parameters: T superclass: java.lang.Object constructors: O() class pkg1.O.I name: I / O.I / pkg1.O.I type parameters: S nested in: pkg1.O superclass: java.lang.Object constructors: I() methods: void m1(O.I) class pkg1.X name: X / X / pkg1.X type parameters: T superclass: java.lang.Object constructors: X() class pkg1.X.Y name: Y / X.Y / pkg1.X.Y nested in: pkg1.X superclass: java.lang.Object constructors: Y() class pkg1.X.Y.Z name: Z / X.Y.Z / pkg1.X.Y.Z type parameters: S nested in: pkg1.X.Y superclass: java.lang.Object constructors: Z() methods: void m1(X.Y.Z)