public interface Test { boolean remove(E e); /** * @see TestImpl#remove(Number) */ E remove(Integer idx); } public class TestImpl implements Test { @Override public boolean remove(E e) { return false; } @Override public E remove(Integer idx) { return null; } }