### Question:
XCcyIborIborSwapCurveNode implements CurveNode, ImmutableBean, Serializable { public static XCcyIborIborSwapCurveNode.Builder builder() { return new XCcyIborIborSwapCurveNode.Builder(); } private  XCcyIborIborSwapCurveNode(
      XCcyIborIborSwapTemplate template,
      FxRateId fxRateId,
      ObservableId spreadId,
      double additionalSpread,
      String label,
      CurveNodeDate date,
      CurveNodeDateOrder dateOrder); static XCcyIborIborSwapCurveNode of(XCcyIborIborSwapTemplate template, ObservableId spreadId); static XCcyIborIborSwapCurveNode of(
      XCcyIborIborSwapTemplate template,
      ObservableId spreadId,
      double additionalSpread); static XCcyIborIborSwapCurveNode of(
      XCcyIborIborSwapTemplate template,
      ObservableId spreadId,
      double additionalSpread,
      String label); @Override Set<? extends MarketDataId<?>> requirements(); @Override LocalDate date(LocalDate valuationDate, ReferenceData refData); @Override DatedParameterMetadata metadata(LocalDate valuationDate, ReferenceData refData); @Override SwapTrade trade(double quantity, MarketData marketData, ReferenceData refData); @Override ResolvedSwapTrade resolvedTrade(double quantity, MarketData marketData, ReferenceData refData); @Override ResolvedSwapTrade sampleResolvedTrade(
      LocalDate valuationDate,
      FxRateProvider fxProvider,
      ReferenceData refData); @Override double initialGuess(MarketData marketData, ValueType valueType); XCcyIborIborSwapCurveNode withDate(CurveNodeDate date); static XCcyIborIborSwapCurveNode.Meta meta(); static XCcyIborIborSwapCurveNode.Builder builder(); @Override XCcyIborIborSwapCurveNode.Meta metaBean(); XCcyIborIborSwapTemplate getTemplate(); FxRateId getFxRateId(); ObservableId getSpreadId(); double getAdditionalSpread(); @Override String getLabel(); CurveNodeDate getDate(); @Override CurveNodeDateOrder getDateOrder(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_builder_noTemplate() { assertThatIllegalArgumentException() .isThrownBy(() -> XCcyIborIborSwapCurveNode.builder().label(LABEL).spreadId(SPREAD_ID).build()); }