void (@NotNull PsiClass aClass) { if (!containsSynchronization(aClass)) { return; } final VariableAccessVisitor visitor = new VariableAccessVisitor(aClass, countGettersAndSetters); aClass.accept(visitor); final Set<PsiField> fields = visitor.getInappropriatelyAccessedFields(); for (final PsiField field : fields) { if (field.hasModifierProperty(PsiModifier.FINAL) || field.hasModifierProperty(PsiModifier.VOLATILE)) { continue; } final PsiClass containingClass = field.getContainingClass(); if (aClass.equals(containingClass)) { registerFieldError(field, field); } } }