public static <T> PTransform<PCollection<T>, PCollection<TimestampedValue<T>>> timestamps() {
    return new Timestamp<>();
  }
@Test
  @Category(NeedsRunner.class)
  public void timestampsSucceeds() {
    PCollection<String> timestamped =
        pipeline.apply(
            Create.timestamped(
                TimestampedValue.of("foo", new Instant(0L)),
                TimestampedValue.of("bar", new Instant(1L))));

    PCollection<TimestampedValue<String>> reified = timestamped.apply(Reify.timestamps());

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

    pipeline.run();
  }