code: @Override
  	public TopicPublisher createPublisher(Topic topic) throws JMSException
      {
      	externalAccessLock.readLock().lock();
      	try
  		{
  	        checkNotClosed();
  	        
  	        RemoteTopicPublisher publisher =  new RemoteTopicPublisher(this,
  	                                                                   DestinationTools.asRef(topic),
  	                                                                   idProvider.createID());
  	        registerProducer(publisher);
  	        return publisher;
  		}
      	finally
      	{
      		externalAccessLock.readLock().unlock();
      	}
      }
docs: /* (non-Javadoc)
  @see javax.jms.TopicSession#createPublisher(javax.jms.Topic)