You're assumption that `TimeIntervalCollection` handles everything is correct.  You can just start by adding a `false` `Iso8601.INFINITE`.

Something like this:
```
var defaultFalse = Iso8601.INFINITE.clone();
defaultFalse.data = false;
show.intervals.addInterval(defaultFalse);
```

Then when you add other intervals to show, it will automatically split up the intervals so that intervals added later take precedent over the initial one.