void seeTag(HtmlDocument.Tag paramTag) {
   paramTag = paramTag.getElement();
   if (paramTag.getType() == 1) {
     if (HTML4.TABLE_ELEMENT.equals(paramTag)) {
       if (tables > 0) {
         ensureCellState();
       }
       tables += 1;
       state = 0;
     }
   }
   while ((tables <= 0) || (HTML4.FORM_ELEMENT.equals(paramTag))) {
     do {
       return;
       ensureTableState();
       if ((HTML4.TD_ELEMENT.equals(paramTag)) || (HTML4.TH_ELEMENT.equals(paramTag))) {
         state = 1;
         return;
       }
     } while (!HTML4.CAPTION_ELEMENT.equals(paramTag));
     state = 2;
     return;
   }
   ensureCellState();
 }
 public void visitTag(HtmlDocument.Tag paramTag) {
   tableFixer.seeTag(paramTag);
   HTML.Element localElement = paramTag.getElement();
   if (localElement.isEmpty()) {
     tree.addSingularTag(paramTag);
     return;
   }
   if (paramTag.isSelfTerminating()) {
     tree.addStartTag(
         HtmlDocument.createTag(
             localElement,
             paramTag.getAttributes(),
             paramTag.getOriginalHtmlBeforeAttributes(),
             paramTag.getOriginalHtmlAfterAttributes()));
     paramTag = HtmlDocument.createEndTag(localElement);
     tableFixer.seeEndTag(paramTag);
     tree.addEndTag(paramTag);
     return;
   }
   tree.addStartTag(paramTag);
   push(localElement);
 }