### Question:
ExtendedMarketData implements MarketData, ImmutableBean, Serializable { public static <T> ExtendedMarketData<T> of(MarketDataId<T> id, T value, MarketData underlying) { return new ExtendedMarketData<T>(id, value, underlying); } private  ExtendedMarketData(
      MarketDataId<T> id,
      T value,
      MarketData underlying); static ExtendedMarketData<T> of(MarketDataId<T> id, T value, MarketData underlying); @Override LocalDate getValuationDate(); @Override boolean containsValue(MarketDataId<?> id); @Override @SuppressWarnings("unchecked") R getValue(MarketDataId<R> id); @Override @SuppressWarnings("unchecked") Optional<R> findValue(MarketDataId<R> id); @Override Set<MarketDataId<?>> getIds(); @Override @SuppressWarnings("unchecked") Set<MarketDataId<R>> findIds(MarketDataName<R> name); @Override Set<ObservableId> getTimeSeriesIds(); @Override LocalDateDoubleTimeSeries getTimeSeries(ObservableId id); static MetaBean meta(); @Override @SuppressWarnings("unchecked") TypedMetaBean<ExtendedMarketData<T>> metaBean(); MarketDataId<T> getId(); T getValue(); MarketData getUnderlying(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { ExtendedMarketData<String> test = ExtendedMarketData.of(ID1, VAL1, BASE_DATA); coverImmutableBean(test); ExtendedMarketData<String> test2 = ExtendedMarketData.of(ID2, VAL2, ImmutableMarketData.of(VAL_DATE, ImmutableMap.of())); coverBeanEquals(test, test2); }
@Test public void serialization() { ExtendedMarketData<String> test = ExtendedMarketData.of(ID1, VAL3, BASE_DATA); assertSerialization(test); }