code: public final ElementSelector<T> descendant(QName qname, ElementConstraint...constraints) {
          ElementEqualsConstraint nameConstraint = new ElementEqualsConstraint(qname);
          return new DescendantSelector<T>(getContext(), getCurrentSelector(), 
                  ElementSelector.gatherConstraints(nameConstraint, constraints));
      }
docs: Selector that matches any descendant element with a given name that satisfies the
  specified constraints.  If no constraints are provided, accepts all descendant elements
  with the given name.
  @param qname element QName
  @param constraints element constraints
  @return element selector