class SpreadDoublesCurve extends DoublesCurve {

  public String getLongName() {
    final StringBuilder buf = new StringBuilder(getName());
    buf.append("=");
    int i = 0;
    buf.append("(");
    for (final Curve<Double, Double> curve : _curves) {
      if (curve instanceof SpreadDoublesCurve) {
        buf.append(((SpreadDoublesCurve) curve).getLongName().substring(2));
      } else {
        buf.append(curve.getName());
      }
      if (i != _curves.length - 1) {
        buf.append(_spreadFunction.getOperationName());
      }
      i++;
    }
    buf.append(")");
    return buf.toString();
  }

  protected  SpreadDoublesCurve();
  public  SpreadDoublesCurve(final CurveSpreadFunction spreadFunction, final DoublesCurve... curves);
  public  SpreadDoublesCurve(final CurveSpreadFunction spreadFunction, final String name, final DoublesCurve... curves);

}