public void testNormalUsage() throws Exception {
long startOfFirstSlice = System.currentTimeMillis() / 30000L * 30000L;
List<StopWatch> stopWatches = new ArrayList<StopWatch>();
//group 1
stopWatches.add(new StopWatch(startOfFirstSlice, 100L, "tag", "message"));
stopWatches.add(new StopWatch(startOfFirstSlice + 5000L, 200L, "tag", "message"));
stopWatches.add(new StopWatch(startOfFirstSlice + 10000L, 300L, "tag", "message"));
//group 2
stopWatches.add(new StopWatch(startOfFirstSlice + 40000L, 100L, "tag2", "message"));
stopWatches.add(new StopWatch(startOfFirstSlice + 45000L, 200L, "tag2", "message"));
//group 3
stopWatches.add(new StopWatch(startOfFirstSlice + 75000L, 500L, "tag3", "message"));
List<GroupedTimingStatistics> groupedTimingStatistics = new ArrayList<GroupedTimingStatistics>();
for (GroupingStatisticsIterator iter = new GroupingStatisticsIterator(stopWatches.iterator());
iter.hasNext();) {