Why `? extends Range`? Just `Iterable<Range>` should be sufficient.