### Question:
FraTemplate implements TradeTemplate, ImmutableBean, Serializable { public static FraTemplate of(Period periodToStart, IborIndex index) { return of(periodToStart, periodToStart.plus(index.getTenor().getPeriod()), FraConvention.of(index)); } private  FraTemplate(
      Period periodToStart,
      Period periodToEnd,
      FraConvention convention); static FraTemplate of(Period periodToStart, IborIndex index); static FraTemplate of(Period periodToStart, Period periodToEnd, FraConvention convention); FraTrade createTrade(
      LocalDate tradeDate,
      BuySell buySell,
      double notional,
      double fixedRate,
      ReferenceData refData); static FraTemplate.Meta meta(); static FraTemplate.Builder builder(); @Override FraTemplate.Meta metaBean(); Period getPeriodToStart(); Period getPeriodToEnd(); FraConvention getConvention(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { FraTemplate test = FraTemplate.of(Period.ofMonths(2), GBP_LIBOR_3M); coverImmutableBean(test); FraTemplate test2 = FraTemplate.of(Period.ofMonths(3), Period.ofMonths(6), FraConvention.of(USD_LIBOR_3M)); coverBeanEquals(test, test2); }
@Test public void test_serialization() { FraTemplate test = FraTemplate.of(Period.ofMonths(2), GBP_LIBOR_3M); assertSerialization(test); }