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