code: public boolean addTagPreserve(final Tag tag) {
  
          boolean result = false;
          String tagName = tag.getTagName();
          if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(tagName)) {
              result = m_visibleTags.add(tagName.toLowerCase());
          }
          return result;
  
      }
docs: Add a tag that will be visible for {@link NodeVisitor} instances.
  <p>
  
  Not only "this" tag will be visible but all parsed Tags that have the same name (case
  insensitive).
  <p>
  
  The given tag will be kept as-is. The following behaviour happens if this method is used:
  <ol>
  <li>
  Once <code>{@link #addTagPreserve(Tag)}</code> has been called all Tags that are not added
  to this method will be removed. <strong>We are in include mode then</strong>.
  </li>
  <li>
  The Tags provided to <code>{@link #addTagRemoval(Tag)}</code> will only have the
  power to hide exactly the same tags that are given to <code>{@link #addTagPreserve(Tag)}</code>:
  <strong>Deny is stronger than allow.</strong>
  </li>
  </ol>
  <p>
  
  
  @param tag the tag that will be visible for all {@link NodeVisitor} instances.
  
  @return true if the tag was added to the internal set of tags to keep, false if not (was
  contained before, has no name,...).