@Override public List<Range> ranges() { List<Range> ranges = new ArrayList<Range>(); for (Matcher operand : operands) ranges.addAll(operand.ranges()); return Range.union(ranges); }