### Question:
DenseLocalDateDoubleTimeSeries implements ImmutableBean, LocalDateDoubleTimeSeries, Serializable { @Override public Stream<LocalDateDoublePoint> stream() { return validIndices() .mapToObj(i -> LocalDateDoublePoint.of(calculateDateFromPosition(i), points[i])); } private  DenseLocalDateDoubleTimeSeries(
      LocalDate startDate,
      double[] points,
      DenseTimeSeriesCalculation dateCalculation,
      boolean trusted,
      int size); @ImmutableConstructor private  DenseLocalDateDoubleTimeSeries(
      LocalDate startDate,
      double[] points,
      DenseTimeSeriesCalculation dateCalculation); @Override boolean isEmpty(); @Override int size(); @Override boolean containsDate(LocalDate date); @Override OptionalDouble get(LocalDate date); @Override LocalDate getLatestDate(); @Override double getLatestValue(); @Override LocalDateDoubleTimeSeries subSeries(LocalDate startInclusive, LocalDate endExclusive); @Override LocalDateDoubleTimeSeries headSeries(int numPoints); @Override LocalDateDoubleTimeSeries tailSeries(int numPoints); @Override Stream<LocalDateDoublePoint> stream(); @Override DoubleStream values(); @Override Stream<LocalDate> dates(); @Override LocalDateDoubleTimeSeries filter(ObjDoublePredicate<LocalDate> predicate); @Override LocalDateDoubleTimeSeries mapDates(Function<? super LocalDate, ? extends LocalDate> mapper); @Override LocalDateDoubleTimeSeries mapValues(DoubleUnaryOperator mapper); @Override void forEach(ObjDoubleConsumer<LocalDate> action); @Override LocalDateDoubleTimeSeriesBuilder toBuilder(); static DenseLocalDateDoubleTimeSeries.Meta meta(); @Override DenseLocalDateDoubleTimeSeries.Meta metaBean(); LocalDate getStartDate(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void roundTrip() { Map<LocalDate, Double> in = ImmutableMap.<LocalDate, Double>builder() .put(dt(2015, 1, 1), 10d) .put(dt(2015, 1, 2), 11d) .put(dt(2015, 1, 5), 12d) .put(dt(2015, 1, 6), 13d) .put(dt(2015, 1, 7), 14d) .put(dt(2015, 1, 8), 15d) .put(dt(2015, 1, 9), 16d) .build(); LocalDateDoubleTimeSeries ts = LocalDateDoubleTimeSeries.builder().putAll(in).build(); Map<LocalDate, Double> out = ts.stream() .collect(Guavate.toImmutableMap(LocalDateDoublePoint::getDate, LocalDateDoublePoint::getValue)); assertThat(out).isEqualTo(in); }