docs: public Tag decorate(Tag tag)
      {
          if (XHTML_NAMESPACE.equals(tag.getNamespace()))
          {
              String n = tag.getLocalName();
              if ("a".equals(n))
              {
                  return new Tag(tag.getLocation(), HtmlLibrary.NAMESPACE, "commandLink", tag.getQName(), tag
                          .getAttributes());
              }
              if ("form".equals(n))
              {
                  return new Tag(tag.getLocation(), HtmlLibrary.NAMESPACE, "form", tag.getQName(), tag.getAttributes());
              }
              if ("input".equals(n))
              {
                  TagAttribute attr = tag.getAttributes().get("type");
                  if (attr != null)
                  {
                      String t = attr.getValue();
                      TagAttributes na = removeType(tag.getAttributes());
                      if ("text".equals(t))
                      {
                          return new Tag(tag.getLocation(), HtmlLibrary.NAMESPACE, "inputText", tag.getQName(), na);
                      }
                      if ("password".equals(t))
                      {
                          return new Tag(tag.getLocation(), HtmlLibrary.NAMESPACE, "inputSecret", tag.getQName(), na);
                      }
                      if ("hidden".equals(t))
                      {
                          return new Tag(tag.getLocation(), HtmlLibrary.NAMESPACE, "inputHidden", tag.getQName(), na);
                      }
                      if ("submit".equals(t))
                      {
                          return new Tag(tag.getLocation(), HtmlLibrary.NAMESPACE, "commandButton", tag.getQName(), na);
                      }
                  }
              }
          }
          return null;
      }