code: public void endElement(String uri, String localName, String qName)
            throws SAXException
    {
      charactersFlush();
  
      // If no one noticed, startPrefixMapping is a drag.
      // Pop the context for the last child (the one pushed by startElement)
      m_contextIndexes.quickPop(1);
  
      // Do it again for this one (the one pushed by the last endElement).
      int topContextIndex = m_contextIndexes.peek();
      if (topContextIndex != m_prefixMappings.size()) {
        m_prefixMappings.setSize(topContextIndex);
      }
  
      m_previous = m_parents.pop();
  
      popShouldStripWhitespace();
    }
docs: Receive notification of the end of an element.
  
  <p>By default, do nothing.  Application writers may override this
  method in a subclass to take specific actions at the end of
  each element (such as finalising a tree node or writing
  output to a file).</p>
  
  @param uri The Namespace URI, or the empty string if the
  element has no Namespace URI or if Namespace
  processing is not being performed.
  @param localName The local name (without prefix), or the
  empty string if Namespace processing is not being
  performed.
  @param qName The qualified XML 1.0 name (with prefix), or the
  empty string if qualified names are not available.
  @throws SAXException Any SAX exception, possibly
  wrapping another exception.
  @see org.xml.sax.ContentHandler#endElement