Is that the correct generification? Class<? extends AbstractCas> getRequiredCasInterface();
Implementing classes can then specify the concrete return type. For example: Class<JCas> JCasAnnotator_ImplBase.getRequiredCasInterface() Class<CAS> CasAnnotator_ImplBase.getRequiredCasInterface() Jörn