void (@NotNull PsiTypeParameterList list) { if (PsiUtil.isLanguageLevel7OrHigher(list)) return; PsiTypeParameter[] parameters = list.getTypeParameters(); for (int i = 0; i < parameters.length; i++) { PsiTypeParameter typeParameter = parameters[i]; for (PsiJavaCodeReferenceElement referenceElement : typeParameter.getExtendsList().getReferenceElements()) { PsiElement resolve = referenceElement.resolve(); if (resolve instanceof PsiTypeParameter && ArrayUtilRt.find(parameters, resolve) > i) { myHolder.registerProblem(referenceElement, JavaAnalysisBundle.message("inspection.compiler.javac.quirks.illegal.forward.reference")); } } } }