private void fillTimeEntryList(List<Toggl.TogglTimeEntryView> list)
        {
            var previousCount = this.entries.Children.Count;
            var newCount = list.Count;

            var cells = new List<Tuple<string, TimeEntryCell>>(newCount);

            using (Performance.Measure("rendering time entry list, previous count: {0}, new count: {1}", previousCount, newCount))
            {
                this.cellsByGUID.Clear();

                var children = this.entries.Children;

                // remove superfluous cells
                if (children.Count > list.Count)
                {
                    children.RemoveRange(list.Count, children.Count - list.Count);
                }

                // update existing cells
                var i = 0;
                for (; i < children.Count; i++)
                {
                    var entry = list[i];

                    var cell = (TimeEntryCell)this.entries.Children[i];
                    cell.Display(entry);

                    this.cellsByGUID.Add(entry.GUID, cell);
                    cells.Add(Tuple.Create(entry.GUID, cell));
                }

                // add additional cells
                for (; i < list.Count; i++)
                {
                    var entry = list[i];

                    var cell = new TimeEntryCell();
                    cell.Display(entry);

                    this.cellsByGUID.Add(entry.GUID, cell);
                    cells.Add(Tuple.Create(entry.GUID, cell));

                    children.Add(cell);
                }

                this.entries.FinishedFillingList();
                this.entries.SetTimeEntryCellList(cells);
                this.refreshHighLight();
            }
        }