@Override
    public void visitSynchronizedStatement(
      @NotNull PsiSynchronizedStatement statement) {
      super.visitSynchronizedStatement(statement);
      final PsiExpression lockExpression = PsiUtil.skipParenthesizedExprDown(statement.getLockExpression());
      if (!(lockExpression instanceof PsiReferenceExpression)) {
        return;
      }
      final PsiElement element = ((PsiReferenceExpression)lockExpression).resolve();
      if (!(element instanceof PsiField field)) {
        return;
      }
      if (field.hasModifierProperty(PsiModifier.FINAL)) {
        return;
      }
      registerError(lockExpression, field);
    }
@Override
    public void visitSynchronizedStatement(
      @NotNull PsiSynchronizedStatement statement)