/**
  * @param spreadFunction The spread function, not null
  * @param name The name of the curve
  * @param curves The curves, not null, contains more than one curve
  */
 public SpreadDoublesCurve(
     final CurveSpreadFunction spreadFunction, final String name, final DoublesCurve... curves) {
   super(name);
   ArgumentChecker.notNull(curves, "curves");
   ArgumentChecker.isTrue(curves.length > 1, "curves");
   ArgumentChecker.notNull(spreadFunction, "spread operator");
   _curves = curves;
   _spreadFunction = spreadFunction;
   _f = spreadFunction.evaluate(curves);
 }