code: @Override
      protected void writeStartOrEmpty(String localName, String nsURI)
          throws XMLStreamException
      {
          // Need a prefix...
          String prefix = mCurrElem.getPrefix(nsURI);
          if (prefix == null) {
              throw new XMLStreamException("Unbound namespace URI '"+nsURI+"'");
          }
          checkStartElement(localName, prefix);
          if (mValidator != null) {
              mValidator.validateElementStart(localName, nsURI, prefix);
          }
  
          if (mOutputElemPool != null) {
              SimpleOutputElement newCurr = mOutputElemPool;
              mOutputElemPool = newCurr.reuseAsChild(mCurrElem, prefix, localName, nsURI);
              --mPoolSize;
              mCurrElem = newCurr;
          } else {
              mCurrElem = mCurrElem.createChild(prefix, localName, nsURI);
          }
          doWriteStartTag(prefix, localName);
      }
docs: public void writeEndElement(QName name) throws XMLStreamException