my base class has method which the subclass wants to override , this method returns an object , the sub class wants to override a method on object retruned by super. protected class CustomLinkComponenet extends Fragment { String displayName; Class clazz; public CustomLinkComponenet(String id,String displayName, Class clazz) { super(id,"customlink",Index.this); this.displayName=displayName; this.clazz=clazz; BookmarkablePageLink bookmarkablePageLink= getBookmarkablePageLink(); add(bookmarkablePageLink); bookmarkablePageLink.add(getDisplayNameLabel()); } protected BookmarkablePageLink getBookmarkablePageLink(){ return ...