code: public AbstractMessage browse( LocalQueueBrowserCursor cursor , MessageSelector selector ) throws JMSException
      {
      	// Reset cursor to last known position
      	cursor.reset();
      	
      	// Search in volatile store first
          if (volatileStore != null)
          {
              AbstractMessage msg = browseStore(volatileStore, cursor, selector);
              if (msg != null)
              {
              	cursor.move();
                  return msg;
              }
          }
          
          // Then in persistent store
          if (persistentStore != null)
          {
          	AbstractMessage msg = browseStore(persistentStore, cursor, selector);
          	if (msg != null)
              {
              	cursor.move();
                  return msg;
              }
          }
          
          // Nothing found, set EOQ flag on cursor 
          cursor.setEndOfQueueReached();
          
          return null;
      }
docs: Browse a message in this queue
  @param cursor browser cursor
  @param selector a message selector or null
  @return a matching message or null
  @throws JMSException on internal error