void (@NotNull Project project, @NotNull PsiElement startElement, @NotNull ModPsiUpdater updater) { final PsiPolyadicExpression expression = (PsiPolyadicExpression)startElement; final PsiExpression[] operands = expression.getOperands(); if (operands.length < 2) { return; } final PsiExpression exprToCast; if (operands.length > 2 || expression.getOperationTokenType() == JavaTokenType.LTLT) { exprToCast = operands[0]; } else { exprToCast = Arrays.stream(operands) .map(operand -> PsiUtil.deparenthesizeExpression(operand)) .filter(operand -> operand instanceof PsiLiteralExpression || operand instanceof PsiPrefixExpression && ((PsiPrefixExpression)operand).getOperand() instanceof PsiLiteral) .findFirst() .orElse(operands[0]); } addCast(exprToCast); }