public SequenceValidationTranscodingStream(Stream innerStream, IPreviousEventHashReader previousEventHashReader)
 {
     var previousHash = previousEventHashReader.ReadPreviousHash();
     var buffer = previousHash.GetBytes();
     this.hashByteCount = buffer.Length;
     innerStream.Write(buffer, 0, this.hashByteCount);
     this.innerStream = innerStream;
 }
 public SequenceValidationTranscodingStreamFactory(IPreviousEventHashReader previousEventHashReader, ITranscodingStreamFactory transcodingStreamFactory)
 {
     this.previousEventHashReader = previousEventHashReader;
     this.transcodingStreamFactory = transcodingStreamFactory;
 }
 public SequenceValidationTranscodingStreamFactory(IPreviousEventHashReader previousEventHashReader)
     : this(previousEventHashReader, new PassThroughTranscodingStreamFactory())
 {
 }