TimestampPartitioningMap { public T getValueForTimestamp(long timestamp) { return rangeMapView().get(timestamp); }  @Value.Lazy RangeMap<Long, T> rangeMapView(); static TimestampPartitioningMap<T> of(RangeMap<Long, T> initialState); T getValueForTimestamp(long timestamp); TimestampPartitioningMap<T> copyInstallingNewValue(
            long lowerBoundForNewVersion,
            T newValue); @Value.Check void check();  }
@Test public void getsVersionForTimestamp() { assertThat(DEFAULT_INITIAL_MAPPING.getValueForTimestamp(68)).isEqualTo(1); }