@Override
  public Void onAttribute(DAttributePattern p) {
    assert depth > 0;

    if (depth == 1 && ((myQname == null && !hasStarPattern(p.getName()))
                       || (myQname != null && (p.getName().contains(myQname) || hasStarMatch(p.getName(), myQname))))) {
      myLastAttr = p;
      if (!myAttributes.containsKey(p)) {
        myAttributes.put(p, Pair.create(new LinkedHashMap<>(), optional > 0));
      }
      return super.onAttribute(p);
    }
    return null;
  }
@Override
  public Void onAttribute(DAttributePattern p)