1 class pkg1.O<T>
   2   name: O / O / pkg1.O
   3   type parameters:
   4     T
   5   superclass:
   6     java.lang.Object
   7   constructors:
   8     O()
   9 
  10 class pkg1.O<T>.I<S>
  11   name: I / O.I / pkg1.O.I
  12   type parameters:
  13     S
  14   nested in:
  15     pkg1.O<T>
  16   superclass:
  17     java.lang.Object
  18   constructors:
  19     I()
  20   methods:
  21     void m1(O<String>.I<Number>)
  22 
  23 class pkg1.X<T>
  24   name: X / X / pkg1.X
  25   type parameters:
  26     T
  27   superclass:
  28     java.lang.Object
  29   constructors:
  30     X()
  31 
  32 class pkg1.X<T>.Y
  33   name: Y / X.Y / pkg1.X.Y
  34   nested in:
  35     pkg1.X<T>
  36   superclass:
  37     java.lang.Object
  38   constructors:
  39     Y()
  40 
  41 class pkg1.X<T>.Y.Z<S>
  42   name: Z / X.Y.Z / pkg1.X.Y.Z
  43   type parameters:
  44     S
  45   nested in:
  46     pkg1.X<T>.Y
  47   superclass:
  48     java.lang.Object
  49   constructors:
  50     Z()
  51   methods:
  52     void m1(X<String>.Y.Z<Number>)
  53