QueryUpdateInfo (@NotNull PsiField field, Set<String> updateNames, Set<String> queryNames, Set<String> ignoredClasses) { if (!field.hasModifierProperty(PsiModifier.PRIVATE)) { PsiClass aClass = field.getContainingClass(); if (aClass == null || !aClass.hasModifierProperty(PsiModifier.PRIVATE) || field.hasModifierProperty(PsiModifier.PUBLIC)) { // Public field within private class can be written/read via reflection even without setAccessible hacks, // so we don't analyze such fields to reduce false-positives return null; } } final PsiClass containingClass = PsiUtil.getTopLevelClass(field); if (!checkVariable(field, containingClass, ignoredClasses)) { return null; } return getCollectionQueryUpdateInfo(field, containingClass, queryNames, updateNames); }