/**
 * class comment
 */
public class Foo {
/**
   * method comment
   * @param f
   */
public <A, B> void abc(java.lang.Object f) {}

public void abr() {
abc(null);
}

public java.lang.Object getA() {
 return a;
}
public void setA(java.lang.Object a) {
this.a = a;
}
public java.lang.Object getB() {
 return b;
}
public void setB(java.lang.Object b) {
this.b = b;
}
/**
   * field comment
   */
private java.lang.Object a;
private java.lang.Object b;
}
