class CompositeMarketDataSnapshot implements MarketDataSnapshot {

  @Override
  public Instant getSnapshotTimeIndication() {
    for (final MarketDataSnapshot snapshot : _snapshots) {
      final Instant snapshotTimeIndication = snapshot.getSnapshotTimeIndication();
      if (snapshotTimeIndication != null) {
        return snapshotTimeIndication;
      }
    }
    throw new IllegalStateException("None of the underlying snapshots returned a snapshot time indication");
  }

    CompositeMarketDataSnapshot(final List<MarketDataSnapshot> snapshots, final SnapshottingViewExecutionDataProvider.ValueSpecificationProvider valueMap);

}