### Question:
CdsIndexTrade implements ProductTrade, ResolvableTrade<ResolvedCdsIndexTrade>, ImmutableBean, Serializable { public static CdsIndexTrade.Builder builder() { return new CdsIndexTrade.Builder(); } private  CdsIndexTrade(
      TradeInfo info,
      CdsIndex product,
      AdjustablePayment upfrontFee); @Override CdsIndexTrade withInfo(PortfolioItemInfo info); @Override PortfolioItemSummary summarize(); @Override ResolvedCdsIndexTrade resolve(ReferenceData refData); static CdsIndexTrade.Meta meta(); static CdsIndexTrade.Builder builder(); @Override CdsIndexTrade.Meta metaBean(); @Override TradeInfo getInfo(); @Override CdsIndex getProduct(); Optional<AdjustablePayment> getUpfrontFee(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { CdsIndexTrade test1 = sut(); coverImmutableBean(test1); CdsIndex product = CdsIndex.of(BUY, INDEX_ID, LEGAL_ENTITIES, USD, 1.e9, START_DATE, END_DATE, P6M, SAT_SUN, 0.067); CdsIndexTrade test2 = CdsIndexTrade.builder() .product(product) .info(TradeInfo.empty()) .build(); coverBeanEquals(test1, test2); }