code: public boolean filterMatches(AbstractItem item)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "filterMatches", item);
  
      boolean result = true;
  
      if (_selectorTree != null || _discriminatorTree != null)
      { 
        SIMPMessage msg = (SIMPMessage) item;
        // Defect 382250, set the unlockCount from MsgStore into the message
        // in the case where the message is being redelivered.
        // 668676, get the message if available
        JsMessage jsMsg = msg.getMessageIfAvailable();
        if ( msg == null)
        {
      	  result = false;
        }
        else
        {
            int redelCount = msg.guessRedeliveredCount();
             
            if (redelCount > 0)
            {
                if(TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                    SibTr.debug(tc, "Set deliverycount into message: " + redelCount);          
                jsMsg.setDeliveryCount(redelCount);
            }
            // Evaluate message against selector tree
            result =
                _messageProcessor.getMessageProcessorMatching().evaluateMessage(
                _selectorTree,
                _discriminatorTree,
                jsMsg);
        }
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "filterMatches", new Boolean(result));
      return result;
  
    }
docs: /* (non-Javadoc)
  @see com.ibm.ws.sib.msgstore.Filter#filterMatches(com.ibm.ws.sib.msgstore.Item)
  
  This class