public void Add(AccountTransaction transaction, bool updateParent = true) { var position = this.positionsByCurrencyId[transaction.CurrencyId]; if (position == null) { position = new AccountPosition(transaction); this.positionsByCurrencyId[position.CurrencyId] = position; Positions.Add(position); } else { position.Add(transaction); } Transactions.Add(transaction); if (updateParent && UpdateParent) Parent?.Add(transaction.DateTime, transaction.Value, transaction.CurrencyId, transaction.Text, updateParent); }