code: @Override
  	public final Session createSession(boolean transacted, int acknowledgeMode) throws JMSException
      {
          if (!transacted && acknowledgeMode == Session.SESSION_TRANSACTED)
              throw new FFMQException("Acknowledge mode SESSION_TRANSACTED cannot be used for an non-transacted session","INVALID_ACK_MODE");
          
          externalAccessLock.readLock().lock();
      	try
  		{
  	        checkNotClosed();
  	        RemoteSession session = new RemoteSession(idProvider.createID(),
  	        		                                  this,
  	                                                  transportHub.createEndpoint(),
  	                                                  transacted,
  	                                                  acknowledgeMode);
  	        registerSession(session);
  	        session.remoteInit();
  	        return session;
  		}
      	finally
      	{
      		externalAccessLock.readLock().unlock();
      	}
      }
docs: /* (non-Javadoc)
  @see javax.jms.Connection#createSession(boolean, int)