boolean (@NotNull PsiPolyadicExpression operand, @Nullable IElementType tokenBefore, @NotNull StringBuilder sb) { PsiExpression[] operands = operand.getOperands(); for (int i = 0; i < operands.length; i++) { PsiExpression innerOperand = operands[i]; IElementType tokenType = EliminateUtils.getOperandTokenType(operand, innerOperand, tokenBefore); if (i != 0 && !EliminateUtils.addPrefix(tokenType, false, sb)) return false; PsiPolyadicExpression polyadic = ObjectUtils.tryCast(innerOperand, PsiPolyadicExpression.class); if (polyadic != null) { if (!getMultiplicativeOperandText(polyadic, tokenType, sb)) return false; continue; } EliminateUtils.processPrefixed(innerOperand, false, (op, isOpNegated) -> sb.append(op.getText())); } return true; }