class HestonVolatilityFunction extends VolatilityFunctionProvider<HestonModelData> {

  @Override
  public Function1D<HestonModelData, double[]> getVolatilityAdjointFunction(final EuropeanVanillaOption option, final double forward) {

    final Function1D<HestonModelData, double[][]> func = getVolatilityAdjointFunction(forward, new double[] {option.getStrike() }, option.getTimeToExpiry());
    return new Function1D<HestonModelData, double[]>() {

      @Override
      public double[] evaluate(final HestonModelData x) {
        final double[][] temp = func.evaluate(x);
        Validate.isTrue(temp.length == 1);
        return temp[0];
      }

    };
  }

  public  HestonVolatilityFunction();

}