PsiReferenceParameterList (PsiClass superClass, PsiClass derivedClass) { PsiReferenceParameterList referenceParameterList = null; if (derivedClass instanceof PsiAnonymousClass) { referenceParameterList = ((PsiAnonymousClass)derivedClass).getBaseClassReference().getParameterList(); } else { final PsiReferenceList implementsList = derivedClass.getImplementsList(); if (implementsList != null) { referenceParameterList = extractReferenceParameterList(superClass, implementsList); } if (referenceParameterList == null) { final PsiReferenceList extendsList = derivedClass.getExtendsList(); if (extendsList != null) { referenceParameterList = extractReferenceParameterList(superClass, extendsList); } } } return referenceParameterList; }