code: public Selector getSelector(String selector) 
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        tc.entry(cclass,
                 "getSelector",
                 "selector: " + selector);	  
    	// Start by parsing the selector expression (in-line for the moment)
    	selOperands = new ArrayList();
      // We'll Construct a selector tree
      Selector selectorTree = null;
      
      try
      {
        parseSelector(selector);
  
        Selector[] selectorArray = new Selector[selOperands.size()];
        selOperands.toArray(selectorArray);
   	
        // Iterate over the nodes that were passed into us
        for(int i = selectorArray.length - 1 ; i>=0; i--)
        {
          Selector parsedSelector = (Selector)selectorArray[i];
          if(selectorTree == null)
            selectorTree = parsedSelector;
          else
            selectorTree = matching.createExtensionOperator(Selector.AND, parsedSelector, selectorTree);
        }
      }
      catch(InvalidXPathSyntaxException iex)
      {
        // No FFDC Code Needed.
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
          tc.debug(this,cclass, "getSelector", iex);   
  
        // Attempt to parse the entire selector expression. If that fails, then
        // we really can despair of handling this expression.
        selectorTree = parseWholeSelector(selector);
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          tc.exit(this,cclass, "getSelector", selectorTree);  
      
      return selectorTree;
    }
docs: /* (non-Javadoc)
  @see com.ibm.ws.sib.matchspace.tools.MatchParser#getSelector(java.lang.String)