public abstract class Abstract extends Base { // overrides Base#bar under the erasure model public void bar(java.util.List foo) { return; } // must force re-implementation in derived classes public abstract boolean foo(); }