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);
return new CurveNodeWithIdentifier(node, identifier, dataField, fieldType);
}