@Override
    public void visitPrefixExpression(@NotNull PsiPrefixExpression expression) {
      super.visitPrefixExpression(expression);
      PsiExpression complemented = unwrapComplement(expression);
      if (complemented == null) return;
      if (extractDecrementedValue(complemented) != null) {
        registerError(expression, expression);
      } else {
        PsiExpression twiceComplemented = unwrapComplement(complemented);
        if (twiceComplemented != null && unwrapComplement(twiceComplemented) == null) {
          // In case of triple or more complements report innermost only to avoid overlapping reports
          registerError(expression, expression);
        }
      }
    }
@Override
    public void visitPrefixExpression(@NotNull PsiPrefixExpression expression)