class SortedRangeSet implements ValueSet {

    @Override
    public SortedRangeSet union(ValueSet other)
    {
        SortedRangeSet otherRangeSet = checkCompatibility(other);
        return new Builder(type)
                .addAll(this.lowIndexedRanges.values())
                .addAll(otherRangeSet.lowIndexedRanges.values())
                .build();
    }

    private  SortedRangeSet(Type type, NavigableMap<Marker, Range> lowIndexedRanges);

}