@Override
    public void visitPrefixExpression(@NotNull PsiPrefixExpression prefixExpr) {
      super.visitPrefixExpression(prefixExpr);
      if (!ConvertDoubleUnaryToPrefixOperationFix.isDesiredPrefixExpression(prefixExpr, false)) {
        return;
      }
      final PsiExpression operand = prefixExpr.getOperand();
      if (operand == null) {
        return;
      }
      final List<LocalQuickFix> fixes = new SmartList<>();
      ContainerUtil.addIfNotNull(fixes, createReplaceParentOperatorFix(prefixExpr));
      if (isOnTheFly()) {
        ContainerUtil.addIfNotNull(fixes, ConvertDoubleUnaryToPrefixOperationFix.createFix(prefixExpr));
        ContainerUtil.addIfNotNull(fixes, createRemoveDoubleUnaryMinusFix(prefixExpr));
      }
      if (!fixes.isEmpty()) {
        registerError(prefixExpr.getOperationSign(),
                      (Object)fixes.toArray(LocalQuickFix.EMPTY_ARRAY));
      }
    }
@Override
    public void visitPrefixExpression(@NotNull PsiPrefixExpression prefixExpr)