protected virtual JournalRunResult Run(IDbContext db, TScheduledJournal scheduledJournal)
        {
            JournalRunResult result = new JournalRunResult();

            var split = ResolveTopSplit(db, scheduledJournal);

            var builder = SelectJournalBuilder(db, scheduledJournal);

            foreach (var item in split)
            {
                var journal = builder.BuildJournal(db, scheduledJournal, item.Role, item.Percentage);
                _journalPoster.Post(db, journal);
                result.Journals.Add(journal);
            }


            IncrementTrigger(db, scheduledJournal);

            return(result);
        }