ClientBrowserDelegate stub = new ClientBrowserDelegate(browserID, serverPeer.getLocator());
ClientBrowserDelegate stub = new ClientBrowserDelegate(browserID);
	public BrowserDelegate createBrowserDelegate(Destination jmsDestination, String messageSelector)	   throws JMSException	{	   if (closed)	   {	      throw new IllegalStateException("Session is closed");	   }	   	   if (jmsDestination == null)	   {	      throw new InvalidDestinationException("null destination");	   }	   	   // look-up destination	   DestinationManagerImpl dm = serverPeer.getDestinationManager();	   	   Distributor destination = dm.getCoreDestination(jmsDestination);	   	   if (destination == null)	   {	      throw new InvalidDestinationException("No such destination: " + jmsDestination);	   }	   	   if (!(destination instanceof Queue))	   {	      throw new IllegalStateException("Cannot browse a topic");	   }	   	   String browserID = new GUID().toString();	   	   ServerBrowserEndpoint ep =	      new ServerBrowserEndpoint(this, browserID, (Channel)destination, messageSelector);	   	   putBrowserDelegate(browserID, ep);	   	   Dispatcher.singleton.registerTarget(browserID, new BrowserAdvised(ep));	   	   ClientBrowserDelegate stub = new ClientBrowserDelegate(browserID, serverPeer.getLocator());      log.debug("created and registered " + ep);	   return stub;	}