### Question:
FxSwapCurveNode implements CurveNode, ImmutableBean, Serializable { public static FxSwapCurveNode of(FxSwapTemplate template, ObservableId farForwardPointsId) { return builder() .template(template) .farForwardPointsId(farForwardPointsId) .build(); } private  FxSwapCurveNode(
      FxSwapTemplate template,
      FxRateId fxRateId,
      ObservableId farForwardPointsId,
      String label,
      CurveNodeDate date,
      CurveNodeDateOrder dateOrder); static FxSwapCurveNode of(FxSwapTemplate template, ObservableId farForwardPointsId); static FxSwapCurveNode of(FxSwapTemplate template, ObservableId farForwardPointsId, String label); @Override Set<? extends MarketDataId<?>> requirements(); @Override LocalDate date(LocalDate valuationDate, ReferenceData refData); @Override DatedParameterMetadata metadata(LocalDate valuationDate, ReferenceData refData); @Override FxSwapTrade trade(double quantity, MarketData marketData, ReferenceData refData); @Override ResolvedFxSwapTrade resolvedTrade(double quantity, MarketData marketData, ReferenceData refData); @Override ResolvedFxSwapTrade sampleResolvedTrade(
      LocalDate valuationDate,
      FxRateProvider fxProvider,
      ReferenceData refData); @Override double initialGuess(MarketData marketData, ValueType valueType); FxSwapCurveNode withDate(CurveNodeDate date); static FxSwapCurveNode.Meta meta(); static FxSwapCurveNode.Builder builder(); @Override FxSwapCurveNode.Meta metaBean(); FxSwapTemplate getTemplate(); FxRateId getFxRateId(); ObservableId getFarForwardPointsId(); @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_serialization() { FxSwapCurveNode test = FxSwapCurveNode.of(TEMPLATE, QUOTE_ID_PTS); assertSerialization(test); }