StringBuilder (@Nullable PsiExpression expression, boolean top, CommentTracker tracker, StringBuilder out) { if (expression instanceof PsiPolyadicExpression polyadicExpression) { final PsiExpression[] operands = polyadicExpression.getOperands(); final IElementType tokenType = polyadicExpression.getOperationTokenType(); if (JavaTokenType.ANDAND.equals(tokenType)) { for (PsiExpression operand : operands) { buildIf(operand, false, tracker, out); } if (top && !StringUtil.endsWith(out, "return true;")) { out.append("return true;"); } return out; } else if (top && JavaTokenType.OROR.equals(tokenType)) { for (PsiExpression operand : operands) { buildIf(operand, false, tracker, out); if (!StringUtil.endsWith(out, "return true;")) { out.append("return true;"); } } return out; } } else if (expression instanceof PsiParenthesizedExpression parenthesizedExpression) { buildIf(parenthesizedExpression.getExpression(), top, tracker, out); return out; } if (expression != null) { out.append("if(").append(tracker.text(expression)).append(")"); } return out; }