docs: void handleGet(Object value, 
                     MatchSpaceKey msg, 
                     EvalCache cache,
                     Object contextValue,
                     SearchResults result) 
        throws MatchingException, BadMessageFormatMatchingException 
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        tc.entry(this,
                 cclass, 
                 "handleGet", 
                 new Object[] {value,msg,cache,contextValue,result});
      // Call the handleGet() method in the parent class but 
      // provide a context and we may need to call it multiple times
      if (value != null && value instanceof SetValEvaluationContext)
      {
        // The "value" we get back is a list of wrapped string values and
        // DOM nodes that we need to process individually
        
        SetValEvaluationContext xpContext = (SetValEvaluationContext)value;
        ArrayList nodeList = xpContext.getWrappedNodeList();
        
        // Iterate over the nodes that were passed into us
        Iterator iter = nodeList.iterator();
  
        while(iter.hasNext())
        {
          WrappedNodeResults wrappedNode = (WrappedNodeResults)iter.next();
          
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
            tc.debug(this,cclass, "handleGet", "Processing node: " + wrappedNode); 
          
          // Need to be careful here, we propagate the string value of
          // the attribute or element that we have retrieved, but the
          // context for subsequent operations is the parent node.
          ArrayList stringList = wrappedNode.getStringList(id.getName());
          if(stringList != null)
          {
            Iterator iterString = stringList.iterator();
            
            while(iterString.hasNext())
            {
              String strValue = (String)iterString.next();
  
              // Need to pass in an XPathEvaluationContext
              SetValEvaluationContext xpEval = new SetValEvaluationContext(wrappedNode);
        
              super.handleGet(strValue, msg, cache, xpEval, result);
            } // eof while             
          } // eof if integerList not null               
        } // eof iterating over the nodes
      } // eof value not null 
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        tc.exit(this,cclass, "handleGet");        
    }