abstract class IdeaBugTest { static class Mapping {} } class BugTestSub extends IdeaBugTest<BugTestSub.SubMapping> { public abstract static class SubMapping extends Mapping {} } class BugTestSub1 extends IdeaBugTest { public abstract static class SubMapping extends IdeaBugTest.Mapping {} //fqn here }