### Question:
StatisticRange { public StatisticRange intersect(StatisticRange other) { double newLow = max(low, other.low); double newHigh = min(high, other.high); if (newLow <= newHigh) { return new StatisticRange(newLow, newHigh, overlappingDistinctValues(other)); } return empty(); } StatisticRange(double low, double high, double distinctValues); static StatisticRange empty(); static StatisticRange from(SymbolStatsEstimate estimate); double getLow(); double getHigh(); double getDistinctValuesCount(); double length(); boolean isEmpty(); double overlapPercentWith(StatisticRange other); StatisticRange intersect(StatisticRange other); StatisticRange addAndSumDistinctValues(StatisticRange other); StatisticRange addAndMaxDistinctValues(StatisticRange other); StatisticRange addAndCollapseDistinctValues(StatisticRange other); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testIntersect() { StatisticRange zeroToTen = range(0, 10, 10); StatisticRange fiveToFifteen = range(5, 15, 60); assertEquals(zeroToTen.intersect(fiveToFifteen), range(5, 10, 10)); }