class ISDACompliantCurve extends DoublesCurve {

  public ISDACompliantCurve withRate(final double rate, final int index) {
    final int n = _t.length;
    ArgumentChecker.isTrue(index >= 0 && index < n, "index out of range");
    final double[] t = _t.clone();
    final double[] rt = _rt.clone();

    rt[index] = rate * t[index];
    return new ISDACompliantCurve(new double[][] {t, rt });
  }

  protected  ISDACompliantCurve();
  public  ISDACompliantCurve(final double t, final double r);
  public  ISDACompliantCurve(final double[] t, final double[] r);
  protected  ISDACompliantCurve(final double[][] tAndRt);
  protected  ISDACompliantCurve(final ISDACompliantCurve from);
  protected  ISDACompliantCurve(final double[] timesFromBaseDate, final double[] r, final double newBaseFromOriginalBase);

}