class InterpolatedStrikeSmileDeltaTermStructure implements SmileDeltaTermStructure, ParameterizedData, ImmutableBean, Serializable {

  @Override
  public ImmutableList<SmileDeltaParameters> getVolatilityTerm() {
    return volatilityTerm;
  }

  @ImmutableConstructor private  InterpolatedStrikeSmileDeltaTermStructure(
      List<SmileDeltaParameters> volatilityTerm,
      DayCount dayCount,
      CurveInterpolator timeInterpolator,
      CurveExtrapolator timeExtrapolatorLeft,
      CurveExtrapolator timeExtrapolatorRight,
      CurveInterpolator strikeInterpolator,
      CurveExtrapolator strikeExtrapolatorLeft,
      CurveExtrapolator strikeExtrapolatorRight);
  private  InterpolatedStrikeSmileDeltaTermStructure(
      List<SmileDeltaParameters> volatilityTerm,
      DayCount dayCount,
      CurveInterpolator timeInterpolator,
      CurveExtrapolator timeExtrapolatorLeft,
      CurveExtrapolator timeExtrapolatorRight,
      CurveInterpolator strikeInterpolator,
      CurveExtrapolator strikeExtrapolatorLeft,
      CurveExtrapolator strikeExtrapolatorRight,
      DoubleArray expiries);

}