class Xxxx { public static final class XxxxXxxxxxxxXxxxxxxxxXxxxxxXxxxxxxx< X, X, X extends XxxxxxxxxXxxxxxxxxXxxxxxxx> { int x; } public static final class XxxxXxxxxxxxXxxxxxxxxXxxxxxXxxxxxxx< X, X, X extends XxxxxxxxxXxxxxxxxxXxxxxxxx> extends Xxxxx { int x; } class XxxxxxxxXxxxxxxxxXxxxXxxx< X extends XxxxxxxxxXxxxxxx, X extends XxxxxxxxxXxxxxx, X extends Xxxxxxxxxxxxx, X> extends XxxxXxxx { int x; } @Xxx class XxxxxxxxxxxXxxxxxXx< X extends XxxxxxXxxxxxxxxxxXxxxxxXxxxxx, X extends Xxxxxxx, XX extends Xxxxxxxxx> extends XxxxxxxxXx { int x; } static class XxxxxXxxxxXxxx< XXXXX extends XxxxxxxxXxxxxxx, XXX extends XxxxxxxxXxxxxxx> { int x; } @Xxx class XxxxxxxxxxxXxxxxxXx< X extends XxxxxxXxxxxxxxxxxXxxxxxXxxxxx, X extends Xxxxxxx, X extends Xxxxxxx, XX extends Xxxxxxxxx> extends XxxxxxxxXx { int x; } }