@Override
  public @NotNull List<GenerationNode> expand(int numberInIteration,
                                              int totalIterations, String surroundedText,
                                              CustomTemplateCallback callback,
                                              boolean insertSurroundedTextAtTheEnd, GenerationNode parent) {
    final TemplateToken templateToken = new TemplateToken("");
    final boolean containsSurroundedTextMarker = ZenCodingUtil.containsSurroundedTextMarker(myText);

    final String text = ZenCodingUtil.replaceMarkers(myText.replace("${nl}", "\n"), numberInIteration, totalIterations, surroundedText);
    final TemplateImpl template = new TemplateImpl("", text, "");
    templateToken.setTemplate(template, callback);

    final GenerationNode node = new GenerationNode(templateToken, numberInIteration, totalIterations,
                                                   containsSurroundedTextMarker ? null : surroundedText,
                                                   insertSurroundedTextAtTheEnd, parent);
    return Collections.singletonList(node);
  }
@Override
  public @NotNull List<GenerationNode> expand(int numberInIteration,
                                              int totalIterations, String surroundedText,
                                              CustomTemplateCallback callback,
                                              boolean insertSurroundedTextAtTheEnd, GenerationNode parent)