boolean () { final List<PsiField> fields = new ArrayList<>(); final List<PsiClass> innerClasses = new ArrayList<>(); final List<PsiMethod> methods = new ArrayList<>(); for (MemberInfo info : memberInfo) { if (info.isChecked()) { final PsiMember member = info.getMember(); if (member instanceof PsiField) { fields.add((PsiField)member); } else if (member instanceof PsiMethod) { methods.add((PsiMethod)member); } else if (member instanceof PsiClass) { innerClasses.add((PsiClass)member); } } } return !new BackpointerUsageVisitor(fields, innerClasses, methods, sourceClass).backpointerRequired(); }