code: final public XPathNode parse(MetadataMapper aMetaDataMapper) throws ParseException, AttributeNotSupportedException {
          _metaDataMapper = aMetaDataMapper;
          if (_metaDataMapper != null) {
              checkLocation = true;
          }
          XPath();
          {
              if (true)
                  return node;
          }
          throw new Error("Missing return statement in function");
      }
docs: /*
  Simple grammar
  
  <LocationPath> := "//"<Noun>(<Predicate>) <Predicate> := "["
  <PredicateExpr> "]" <RelationaExpr> := <FAName> <comp_operator>
  (<Literal> | <Number>) // add negative numbers support <comp_operator> :=
  '<' | '>' | '<=' | '>=' | '=' | '!=' <Name> := <Prefix> <':'> <NCName>
  <Prefix> := <NCName> <NCName> := (<Letter | '_' ) <NCNameChar>
  <NCNameChar> := (<Letter> | <Digit> | '.' | '_' | '-') <Letter> :=
  [a-zA-Z] <Digit> := [0-9] <Noun> := <Name>