private static String getText(PsiPolyadicExpression expression, PsiElement fromTarget, PsiElement untilTarget,
                                @NotNull @NonNls String replacement, CommentTracker ct) {
    final StringBuilder result = new StringBuilder();
    boolean stop = false;
    for (PsiElement child = expression.getFirstChild(); child != null; child = child.getNextSibling()) {
      if (child == fromTarget) {
        stop = true;
        result.append(replacement);
      }
      else if (child == untilTarget) {
        stop = false;
      }
      else if (child instanceof PsiComment && !result.isEmpty() || !stop) {
        result.append(ct.text(child));
      }
      else if (child instanceof PsiJavaToken && untilTarget == null) {
        stop = false;
      }
    }
    return result.toString();
  }
private static String getText(PsiPolyadicExpression expression, PsiElement fromTarget, PsiElement untilTarget,
                                @NotNull @NonNls String replacement, CommentTracker ct)