final SortedSet<TimeInterval> gaps = result.getGaps(groupName);
int i = 1;
Task rootTask = null;
for (TimeInterval interval : gaps) {
final TimePeriod timePeriod = createTimePeriod(interval.getFrom(), interval.getTo());
if (rootTask == null) {
rootTask = new Task(groupDisplayName, timePeriod);
gapsTaskSeries.add(rootTask);
} else {
Task task = new Task(groupDisplayName + " gap" + i, timePeriod);
rootTask.addSubtask(task);
}
i++;
}
}
// plot overlaps
{
final SortedSet<TimeInterval> overlaps = result.getOverlaps(groupName);
int i = 1;
Task rootTask = null;
for (TimeInterval interval : overlaps) {
final TimePeriod timePeriod = createTimePeriod(interval.getFrom(), interval.getTo());
if (rootTask == null) {
rootTask = new Task(groupDisplayName, timePeriod);
overlapsTaskSeries.add(rootTask);
} else {