void (@NotNull PsiClass aClass) { if (!aClass.isInterface() || aClass.isAnnotationType()) { return; } final PsiField[] fields = aClass.getFields(); if (fields.length != 0) { return; } final PsiMethod[] methods = aClass.getMethods(); if (methods.length != 0) { return; } final PsiReferenceList extendsList = aClass.getExtendsList(); if (extendsList != null) { final PsiJavaCodeReferenceElement[] referenceElements = extendsList.getReferenceElements(); if (referenceElements.length > 0) { if (referenceElements.length > 1) { return; } final PsiReferenceParameterList parameterList = referenceElements[0].getParameterList(); if (parameterList == null) { return; } final PsiTypeElement[] typeParameterElements = parameterList.getTypeParameterElements(); if (typeParameterElements.length != 0) { return; } } } registerClassError(aClass); }