code: protected boolean processMessage(final SIBusMessage message) 
      {
        Reliability preInvokeMessageReliability = (Reliability)_reliabilityPreInvoke.get(message.getMessageHandle());
        boolean canDeleteMessage;
        if (preInvokeMessageReliability != null)
        {
          canDeleteMessage = (_unrecoverableReliability.compareTo(preInvokeMessageReliability) >= 0);
        }
        else  // if the pre invoke reliability is not in the map then go back to using the message which most of the time wil be fine
        {
          canDeleteMessage = (_unrecoverableReliability.compareTo(message.getReliability()) >= 0);
        }
  
        return !(_deleteUnrecoverableMessages && canDeleteMessage);
  
      }
docs: Indicates whether the given message needs to be processed (deleted or
  unlocked) i.e. that it has not already been deleted during
  <code>consumeMessages</code>.
  
  @param message
  the message
  @return whether the message should be processed