@Deprecated
  public static <K, V>
      PTransform<PCollection<? extends KV<K, V>>, PCollection<KV<K, TimestampedValue<V>>>>
          inValues() {
    return new InValues<>();
  }
@Test
  @Category(ValidatesRunner.class)
  public void inValuesSucceeds() {
    PCollection<KV<String, Integer>> timestamped =
        pipeline
            .apply(Create.of(KV.of("foo", 0), KV.of("foo", 1), KV.of("bar", 2), KV.of("baz", 3)))
            .apply(WithTimestamps.of(input -> new Instant(input.getValue().longValue())));

    PCollection<KV<String, TimestampedValue<Integer>>> reified =
        timestamped.apply(ReifyTimestamps.inValues());

    PAssert.that(reified)
        .containsInAnyOrder(
            KV.of("foo", TimestampedValue.of(0, new Instant(0))),
            KV.of("foo", TimestampedValue.of(1, new Instant(1))),
            KV.of("bar", TimestampedValue.of(2, new Instant(2))),
            KV.of("baz", TimestampedValue.of(3, new Instant(3))));

    pipeline.run();
  }