### Question:
IborIborSwapTemplate implements TradeTemplate, ImmutableBean, Serializable { public static IborIborSwapTemplate.Builder builder() { return new IborIborSwapTemplate.Builder(); } private  IborIborSwapTemplate(
      Period periodToStart,
      Tenor tenor,
      IborIborSwapConvention convention); static IborIborSwapTemplate of(Tenor tenor, IborIborSwapConvention convention); static IborIborSwapTemplate of(Period periodToStart, Tenor tenor, IborIborSwapConvention convention); SwapTrade createTrade(
      LocalDate tradeDate,
      BuySell buySell,
      double notional,
      double spread,
      ReferenceData refData); static IborIborSwapTemplate.Meta meta(); static IborIborSwapTemplate.Builder builder(); @Override IborIborSwapTemplate.Meta metaBean(); Period getPeriodToStart(); Tenor getTenor(); IborIborSwapConvention getConvention(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_notEnoughData() { assertThatIllegalArgumentException() .isThrownBy(() -> IborIborSwapTemplate.builder() .tenor(TENOR_2Y) .build()); }