### Question:
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); @JsonCreator static SortedRangeSet copyOf(
            @JsonProperty("type") Type type,
            @JsonProperty("ranges") List<Range> ranges); @Override @JsonProperty Type getType(); @JsonProperty("ranges") List<Range> getOrderedRanges(); int getRangeCount(); @Override boolean isNone(); @Override boolean isAll(); @Override boolean isSingleValue(); @Override Object getSingleValue(); @Override boolean isDiscreteSet(); @Override List<Object> getDiscreteSet(); @Override boolean containsValue(Object value); Range getSpan(); @Override Ranges getRanges(); @Override ValuesProcessor getValuesProcessor(); @Override SortedRangeSet intersect(ValueSet other); @Override boolean overlaps(ValueSet other); @Override SortedRangeSet union(ValueSet other); @Override SortedRangeSet union(Collection<ValueSet> valueSets); @Override SortedRangeSet complement(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); @Override String toString(ConnectorSession session);  }### Answer:
@Test public void testUnion() { assertUnion(SortedRangeSet.none(BIGINT), SortedRangeSet.none(BIGINT), SortedRangeSet.none(BIGINT)); assertUnion(SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT)); assertUnion(SortedRangeSet.none(BIGINT), SortedRangeSet.all(BIGINT), SortedRangeSet.all(BIGINT)); assertUnion( SortedRangeSet.of(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L)), SortedRangeSet.of(Range.equal(BIGINT, 2L), Range.equal(BIGINT, 3L)), SortedRangeSet.of(Range.equal(BIGINT, 1L), Range.equal(BIGINT, 2L), Range.equal(BIGINT, 3L))); assertUnion(SortedRangeSet.all(BIGINT), SortedRangeSet.of(Range.equal(BIGINT, 0L)), SortedRangeSet.all(BIGINT)); assertUnion( SortedRangeSet.of(Range.range(BIGINT, 0L, true, 4L, false)), SortedRangeSet.of(Range.greaterThan(BIGINT, 3L)), SortedRangeSet.of(Range.greaterThanOrEqual(BIGINT, 0L))); assertUnion( SortedRangeSet.of(Range.greaterThanOrEqual(BIGINT, 0L)), SortedRangeSet.of(Range.lessThanOrEqual(BIGINT, 0L)), SortedRangeSet.of(Range.all(BIGINT))); assertUnion( SortedRangeSet.of(Range.greaterThan(BIGINT, 0L)), SortedRangeSet.of(Range.lessThan(BIGINT, 0L)), SortedRangeSet.of(BIGINT, 0L).complement()); }