internal static DataStoreRequest Create(List<object> events, string journalName, 
			TransactionUID transactionUID, RequestUID requestUID, WorkerUID workerUID)
        {
            var request = new CommitTransactionPreRequest(events, journalName, transactionUID);
            var header = new Header(RequestType.COMMIT_TRANSACTION, 0, requestUID, HeaderProperties.None,
                workerUID);

            return new DataStoreRequest(header, request);
        }
        internal static DataStoreRequest Create(string journalName, 
			TransactionUID transactionUID, RequestUID requestUID, WorkerUID workerUID)
        {
            var request = new RollbackTransactionRequest(journalName, transactionUID);
            var header = new Header(RequestType.ROLLBACK_TRANSACTION, request.SizeOf, requestUID, HeaderProperties.None,
                workerUID);

            return new DataStoreRequest(header, request);
        }
        internal static DataStoreRequest Create(string journalName, Offset offset, Offset journalSize,
			RequestUID requestUID, WorkerUID workerUID)
        {
            var request = new ReadJournalRequest(journalName, offset, journalSize);
            var header = new Header(RequestType.READ_JOURNAL, request.SizeOf, requestUID, HeaderProperties.None,
                workerUID);

            return new DataStoreRequest(header, request);
        }