code: public void setBrowserSession(BrowserSessionProxy browserSession)
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "setBrowserSession", browserSession);
        
        if (this.browserSession != null)
        {
           // We are flagging this here as we should never call setBrowserSession() twice. 
           // A proxy queue is associated with a session for the lifetime of the session and calling
           // it twice is badness.
           SIErrorException e = new SIErrorException(
              nls.getFormattedMessage("RESET_OF_BROWSER_SESSION_SICO1035", null, null)
           );
           
           FFDCFilter.processException(e, CLASS_NAME + ".setBrowserSession",
                                       CommsConstants.BROWSERPQ_SETBROWSERSESS_01, this);
           
           throw e;
        }
        
        if (browserSession == null)
        {
           // You can't pass in a null you complete badger
           SIErrorException e = new SIErrorException(
              nls.getFormattedMessage("NULL_BROWSER_SESSION_SICO1036", null, null)
           );
           
           FFDCFilter.processException(e, CLASS_NAME + ".setBrowserSession",
                                       CommsConstants.BROWSERPQ_SETBROWSERSESS_02, this);
           
           throw e;         
        }
        
        this.browserSession = browserSession;
        convHelper.setSessionId(browserSession.getProxyID());
        
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "setBrowserSession");
     }
docs: Sets the browser session this proxy queue is being used in
  conjunction with.
  @see com.ibm.ws.sib.comms.client.proxyqueue.BrowserProxyQueue#setBrowserSession(BrowserSessionProxy)