void (@NotNull PsiReferenceExpression expression) { final PsiExpression qualifier = expression.getQualifierExpression(); if (qualifier != null && !(qualifier instanceof PsiThisExpression) && !(qualifier instanceof PsiSuperExpression)) { return; } final PsiElement element = expression.resolve(); if (!(element instanceof PsiField field)) { return; } if (field.hasModifierProperty(PsiModifier.PRIVATE) || field.hasModifierProperty(PsiModifier.FINAL)) { return; } if (!SynchronizationUtil.isInSynchronizedContext(expression)) { return; } final PsiClass containingClass = field.getContainingClass(); if (containingClass == null || containingClass.hasModifierProperty(PsiModifier.PRIVATE)) { return; } registerError(expression); }