class YieldCurveBundle {

  public void setCurve(final String name, final YieldAndDiscountCurve curve) {
    ArgumentChecker.notNull(name, "name");
    ArgumentChecker.notNull(curve, "curve");
    if (_curves.containsKey(name)) {
      throw new IllegalArgumentException("Named yield curve already set: " + name);
    }
    _curves.put(name, curve);
  }

  public  YieldCurveBundle();
  public  YieldCurveBundle(final FXMatrix fxMatrix, final Map<String, Currency> curveCurrency, final Map<String, ? extends YieldAndDiscountCurve> curvesMap);
  public  YieldCurveBundle(final FXMatrix fxMatrix, final Map<String, Currency> curveCurrency);
  public  YieldCurveBundle(final Map<String, ? extends YieldAndDiscountCurve> curvesMap);
  public  YieldCurveBundle(final String[] names, final YieldAndDiscountCurve[] curves);
  public  YieldCurveBundle(final FXMatrix fxMatrix, final String[] names, final YieldAndDiscountCurve[] curves);
  public  YieldCurveBundle(final Map<String, ? extends YieldAndDiscountCurve> curvesMap, final FXMatrix fxMatrix, final Map<String, Currency> curveCurrency);
  public  YieldCurveBundle(final String[] names, final YieldAndDiscountCurve[] curves, final Currency[] currencies);
  public  YieldCurveBundle(final YieldCurveBundle bundle);

}