static Instant minTimestamp(Stream<Instant> timestamps) {
    return timestamps.min(Comparator.naturalOrder()).orElse(BoundedWindow.TIMESTAMP_MAX_VALUE);
  }
@Test
  public void shouldGiveMinTs() {
    assertThat(minTimestamp(ImmutableList.<org.joda.time.Instant>of().stream()))
        .isEqualTo(BoundedWindow.TIMESTAMP_MAX_VALUE);

    assertThat(minTimestamp(ImmutableList.of(org.joda.time.Instant.ofEpochMilli(1)).stream()))
        .isEqualTo(org.joda.time.Instant.ofEpochMilli(1));

    assertThat(
            minTimestamp(
                ImmutableList.of(
                    org.joda.time.Instant.ofEpochMilli(1), org.joda.time.Instant.ofEpochMilli(2))
                    .stream()))
        .isEqualTo(org.joda.time.Instant.ofEpochMilli(1));
  }