@Override
public CurveNodeWithIdentifier visitFXForwardNode(final FXForwardNode node) {
final Map<Tenor, CurveInstrumentProvider> ids = _nodeIdMapper.getFXForwardNodeIds();
final Tenor tenor = node.getMaturityTenor();
if (ids.get(tenor) instanceof StaticCurvePointsInstrumentProvider) {
final StaticCurvePointsInstrumentProvider provider = (StaticCurvePointsInstrumentProvider) ids.get(tenor);
final ExternalId identifier = provider.getInstrument(_curveDate, tenor);
final String dataField = provider.getMarketDataField();
final DataFieldType fieldType = provider.getDataFieldType();
final ExternalId underlyingId = provider.getUnderlyingInstrument();
final String underlyingField = provider.getUnderlyingMarketDataField();
return new PointsCurveNodeWithIdentifier(node, identifier, dataField, fieldType, underlyingId, underlyingField);
}
final ExternalId identifier = _nodeIdMapper.getFXForwardNodeId(_curveDate, tenor);
final String dataField = _nodeIdMapper.getFXForwardNodeDataField(tenor);
final DataFieldType fieldType = _nodeIdMapper.getFXForwardNodeDataFieldType(tenor);