public class Simple {
  public static void main(String []argv) {
    Base<Integer> base = new Base<Integer>();
    List<Integer> intList = new ArrayList<Integer>();
    intList.add(5);
    intList.add(2);
    intList.add(3);
    intList.add(8);
    System.err.println(">"+base.m(intList));
    System.err.println(">"+base.m2(intList));
  }
}



class Base<N extends Number> {

   public int m(List<N> ns) {
     return ns.size();
   }

}

aspect X {

  public int Base<Z>.m2(List<Z> zs) {
     return zs.size();
  }
}