public IPageOfItems <ScheduleItem> GetScheduleItemsByUser(int pageIndex, int pageSize, EventAddress eventAddress, Guid userID)
        {
            // if this is cached, you'll see schedule items on your list that used to be on the list but aren't anymore
            var result =
                repository.GetScheduleItemsByUser(eventAddress, userID).GetPage(pageIndex, pageSize).FillTags(tagService);

            /*
             * IPageOfItems<ScheduleItem> result =
             *  cache.GetItems<IPageOfItems<ScheduleItem>, ScheduleItem>(
             *      string.Format("GetScheduleItemsByUser-UserID:{0}", userID),
             *      new CachePartition(pageIndex, pageSize),
             *      () => repository.GetScheduleItemsByUser(eventAddress, userID).GetPage(pageIndex, pageSize).FillTags(tagService),
             *      si => si.GetDependencies()
             *      );
             */

            SetScheduleItemUsers(result);

            return(result);
        }