1public class GenericArg<X> {
2
3  void mp(X p) {
4    Object l;
5  }
6
7  X mr() {
8    Object r;
9    return null;
10  }
11
12  <Y extends Number> void foo(Y p) {
13    Object k;
14  }
15
16  <Z extends Integer> Z bar() {
17    Integer j;
18    return null;
19  }
20
21  class Tricky {
22    void argh(X p) {
23      Object a;
24    }
25  }
26}
27