interface AA<a> {} interface BB<a> {} class CC implements AA<Integer>, BB<Character> {} class BoundedTypeVar { CC c; <T extends AA<Integer> & BB<Character>> m(T x) { m(new CC()); x = new CC(); } }