final ValueProperties properties = ValueProperties.builder().with(CURVE, curveName).get();
final CurveSpecification specification =
(CurveSpecification) inputs.getValue(new ValueRequirement(CURVE_SPECIFICATION, ComputationTargetSpecification.NULL, properties));
final CurveDefinition definition =
(CurveDefinition) inputs.getValue(new ValueRequirement(CURVE_DEFINITION, ComputationTargetSpecification.NULL, properties));
final SnapshotDataBundle snapshot =
(SnapshotDataBundle) inputs.getValue(new ValueRequirement(CURVE_MARKET_DATA, ComputationTargetSpecification.NULL, properties));
final int nNodes = specification.getNodes().size();
final InstrumentDerivative[] derivativesForCurve = new InstrumentDerivative[nNodes];
final double[] parameterGuessForCurves = new double[nNodes];
int k = 0;
for (final CurveNodeWithIdentifier node : specification.getNodes()) { // Node points - start
final Double marketData = snapshot.getDataPoint(node.getIdentifier());
if (marketData == null) {
throw new OpenGammaRuntimeException("Could not get market data for " + node.getIdentifier());
}
final InstrumentDefinition<?> definitionForNode = node.getCurveNode().accept(getCurveNodeConverter(conventionSource, holidaySource, regionSource,
snapshot, node.getIdentifier(), timeSeries, now));