private Transaction AddEvent(Transaction root, Even node) { if (root.Depth == 0) { root.NewEven(node); return root; } root.Evens.Peek().Depth += 1; var T = root.Evens.Peek().Transactions.Pop(); var newT = AddEvent(T, node); root.Evens.Peek().Transactions.Push(newT); return root; }