### Question:
BulletPaymentTrade implements ProductTrade, ResolvableTrade<ResolvedBulletPaymentTrade>, ImmutableBean, Serializable { public static BulletPaymentTrade.Builder builder() { return new BulletPaymentTrade.Builder(); } private  BulletPaymentTrade(
      TradeInfo info,
      BulletPayment product); static BulletPaymentTrade of(TradeInfo info, BulletPayment product); @Override BulletPaymentTrade withInfo(PortfolioItemInfo info); @Override PortfolioItemSummary summarize(); @Override ResolvedBulletPaymentTrade resolve(ReferenceData refData); static BulletPaymentTrade.Meta meta(); static BulletPaymentTrade.Builder builder(); @Override BulletPaymentTrade.Meta metaBean(); @Override TradeInfo getInfo(); @Override BulletPayment getProduct(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { BulletPaymentTrade test = BulletPaymentTrade.builder() .info(TRADE_INFO) .product(PRODUCT1) .build(); coverImmutableBean(test); BulletPaymentTrade test2 = BulletPaymentTrade.builder() .product(PRODUCT2) .build(); coverBeanEquals(test, test2); }
@Test public void test_serialization() { BulletPaymentTrade test = BulletPaymentTrade.builder() .info(TRADE_INFO) .product(PRODUCT1) .build(); assertSerialization(test); }