/// <summary>
 /// TBD
 /// </summary>
 /// <param name="dataQueue">TBD</param>
 /// <param name="downstreamStatus">TBD</param>
 /// <param name="stageWithCallback">TBD</param>
 /// <param name="writeTimeout">TBD</param>
 public OutputStreamAdapter(BlockingCollection <ByteString> dataQueue,
                            AtomicReference <IDownstreamStatus> downstreamStatus,
                            IStageWithCallback stageWithCallback, TimeSpan writeTimeout)
 {
     _dataQueue         = dataQueue;
     _downstreamStatus  = downstreamStatus;
     _stageWithCallback = stageWithCallback;
     _writeTimeout      = writeTimeout;
 }
 /// <summary>
 /// TBD
 /// </summary>
 /// <param name="sharedBuffer">TBD</param>
 /// <param name="sendToStage">TBD</param>
 /// <param name="readTimeout">TBD</param>
 public InputStreamAdapter(BlockingCollection <IStreamToAdapterMessage> sharedBuffer, IStageWithCallback sendToStage, TimeSpan readTimeout)
 {
     _sharedBuffer = sharedBuffer;
     _sendToStage  = sendToStage;
     _readTimeout  = readTimeout;
 }