interface Root { Worker foo(); } interface Worker { } interface SubRootA extends Root { @Override Worker foo(); } interface SubRootB extends Root { @Override Worker foo(); } interface Joined extends Root, SubRootA, SubRootB { @Override Worker foo(); } interface Erroneously extends Joined {}