protected boolean setTemplate(final TemplateToken token, TemplateImpl template) {
   if (template == null) {
     template = myGenerator.createTemplateByKey(token.getKey());
   }
   if (template == null) {
     return false;
   }
   return ZenCodingTemplate.doSetTemplate(token, template, myCallback);
 }
 @NotNull
 @Override
 public String filterText(@NotNull String text, @NotNull TemplateToken token) {
   XmlDocument document = token.getFile().getDocument();
   if (document != null) {
     XmlTag tag = document.getRootTag();
     if (tag != null) {
       String classAttr = tag.getAttributeValue(HtmlUtil.CLASS_ATTRIBUTE_NAME);
       String idAttr = tag.getAttributeValue(HtmlUtil.ID_ATTRIBUTE_NAME);
       if (!isNullOrEmpty(classAttr) || !isNullOrEmpty(idAttr)) {
         String commentString = buildCommentString(classAttr, idAttr);
         return text + "\n<!-- /" + commentString + " -->";
       }
     }
   }
   return text;
 }