### Question:
FilterRange extends Range<T> { public static <T extends Comparable<? super T>> FilterRange<T> of(final T lowerEndpoint, final T upperEndpoint) { return new FilterRange<>(Bound.inclusive(lowerEndpoint), Bound.inclusive(upperEndpoint)); } private  FilterRange(final Bound<T> lowerBound, final Bound<T> upperBound); static FilterRange<T> of(final T lowerEndpoint, final T upperEndpoint); static FilterRange<T> atMost(final T upperEndpoint); static FilterRange<T> atLeast(final T lowerEndpoint);  }### Answer:
@Test public void buildsFilterRange() throws Exception { final Range<Integer> range = FilterRange.of(4, 10); final Bound<Integer> lowerBound = range.lowerBound(); final Bound<Integer> upperBound = range.upperBound(); assertThat(lowerBound.endpoint()).isEqualTo(4); assertThat(lowerBound.isInclusive()).isTrue(); assertThat(upperBound.endpoint()).isEqualTo(10); assertThat(upperBound.isInclusive()).isTrue(); }