/// <summary>
        /// Sends a stream to up-stream components.
        /// </summary>
        /// <param name="context">The context in which the stream is being sent.  Cannot be null.</param>
        /// <param name="stream">Stream to send.</param>
        /// <param name="fileName">File name to use for the data on the client.</param>
        /// <param name="description">A short description of the data being sent.</param>
        /// <param name="closeStream">True to automatically have the stream closed when sending of the contents has completed.</param>
        public void SendStreamAsync(DataCollectionContext context, Stream stream, string fileName, string description, bool closeStream)
        {
            var streamInfo = new StreamTransferInformation(context, stream, fileName, closeStream);

            streamInfo.Description = description;

            SendStreamAsync(streamInfo);
        }
 /// <summary>
 /// Sends a stream to up-stream components.
 /// </summary>
 /// <param name="streamTransferInformation">Information about the stream being transferred.</param>
 public abstract void SendStreamAsync(StreamTransferInformation streamTransferInformation);