docs: public void startElement(final String uri,
                               final String localName,
                               final String qname,
                               final Attributes attrs) throws SAXException {
          this.attrs = attrs;
  
          if ( direction == 1 ) {
              // going down again, so clear 
              this.peer = null;
          } else {
              direction = 1;
          }
  
          final Handler handler = getHandler( uri,
                                              localName );
  
          if ( handler == null ) {
              startElementBuilder( localName,
                                   attrs );
              return;
          }
  
          validate( uri,
                    localName,
                    handler );
  
          Object node = handler.start( uri,
                                       localName,
                                       attrs,
                                       this );
          
          this.parents.add( node );
      }