public void HandleEvent(IEvent @event) { var transaction = _transactionCreator.CreateTransactionByType(); AddStatistics(transaction); if (ServerResources.IsHandleAllowed(transaction)) { ServerResources.AllocateForTransaction(transaction); EventsCollector.AddEvent(new OutputEvent(transaction)); } else { TransactionsQueue.Enqueue(transaction); } EventsCollector.AddEvent(new InputEvent()); }