/// <summary>
 ///     Constructor.
 /// </summary>
 /// <param name="provider">Provider to use for stream.</param>
 /// <param name="targetStream">Identity of the stream to create.</param>
 public StreamMessageSender(IStreamProvider provider, StreamIdentity targetStream)
 {
     _sender       = new InternalStreamMessageSender(provider, targetStream);
     _messages     = new Queue <IStreamMessage>();
     _awaitedSends = new List <Task>();
 }
 /// <summary>
 ///     Constructor.
 /// </summary>
 /// <param name="provider">Provider to use for stream.</param>
 /// <param name="guid">Identifier to use for the stream. Random Guid will be generated if default.</param>
 public StreamMessageSender(IStreamProvider provider, Guid guid = default(Guid))
 {
     _sender       = new InternalStreamMessageSender(provider, guid);
     _messages     = new Queue <IStreamMessage>();
     _awaitedSends = new List <Task>();
 }