if (parseStack.size() > 0 && parseStack.peek() == HTML.Tag.IMPLIED) { element = new DefaultStyledDocument.ElementSpec(null, DefaultStyledDocument.ElementSpec.EndTagType); parseBuffer.addElement(element); parseStack.pop(); }
    protected void blockOpen(HTML.Tag t, MutableAttributeSet attr)    {      printBuffer();      DefaultStyledDocument.ElementSpec element;      // If the previous tag is content and the parent is p-implied, then      // we must also close the p-implied.      if (parseStack.size() > 0 && parseStack.peek() == HTML.Tag.IMPLIED)        {          element = new DefaultStyledDocument.ElementSpec(null,                                    DefaultStyledDocument.ElementSpec.EndTagType);          parseBuffer.addElement(element);          parseStack.pop();        }      parseStack.push(t);      AbstractDocument.AttributeContext ctx = getAttributeContext();      AttributeSet copy = attr.copyAttributes();      copy = ctx.addAttribute(copy, StyleConstants.NameAttribute, t);      element = new DefaultStyledDocument.ElementSpec(copy,			DefaultStyledDocument.ElementSpec.StartTagType);      parseBuffer.addElement(element);      printBuffer();    }