protected AbstractProtocolFactory(string name, IClientFactory clientFactory, ProtocolOptions options)
 {
     m_client  = clientFactory.Client();
     m_options = options;
     m_pool    = new LazyPool <IProtocol>(
         new SynchronizedPool <IProtocol>(m_sync,
                                          new StackPool <IProtocol>(name, options.MaxPoolSize),
                                          options.PoolAccessTimeout),
         CreateFactory, ReleaseFactory);
 }