@Override
    public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
      super.visitAssignmentExpression(expression);
      if (expression.getRExpression() == null ||
          expression.getOperationTokenType() != JavaTokenType.EQ ||
          !PsiTypes.booleanType().equals(expression.getType())) {
        return;
      }
      final PsiExpression lhs = PsiUtil.skipParenthesizedExprDown(expression.getLExpression());
      if (!(lhs instanceof PsiReferenceExpression) && !(lhs instanceof PsiArrayAccessExpression)) {
        return;
      }
      final PsiElement parent = PsiUtil.skipParenthesizedExprUp(expression.getParent());
      if (!PsiUtil.isCondition(expression, parent)) {
        return;
      }
      registerError(expression);
    }
@Override
    public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression)