class C<T extends Runnable&<error descr="Interface expected here">Exception</error>,U> {

}

class Stuff<X extends Stuff & Runnable> {
    <T, V extends T & <error descr="Type parameter cannot be followed by other bounds">Runnable</error>> T method(V v) {
        return null;
    }

    <T extends X & <error descr="Type parameter cannot be followed by other bounds">Runnable</error> & <error descr="Type parameter cannot be followed by other bounds">Comparable</error>> void f(T t) {

    }

    <T extends Stuff & Runnable & Comparable> void f2(T t) {

    }
    <T extends Runnable & Comparable> void f3(T t) {

    }
}

////////////////
class TypeParameters {
    class X {}
    static <T extends X> void f(Class<T> t){}

    static {
        f(X.class);
    }
}
class Typr {
  <T extends TypeParameters.X> void f() {}
}
