@Override protected final double blackVolImpl(final double maturity,final double strike){
  double nonZeroMaturity;
  final double m=maturity;
  if (m == 0.0) {
    nonZeroMaturity=0.00001;
  }
 else {
    nonZeroMaturity=m;
  }
  final double var=blackVarianceImpl(nonZeroMaturity,strike);
  return Math.sqrt(var / nonZeroMaturity);
}

@ Override protected final double blackVolImpl ( final double maturity , final double strike ) { double nonZeroMaturity ; final double m = maturity ; if ( m == 0.0 ) { nonZeroMaturity = 0.00001 ; } else { nonZeroMaturity = m ; } final double var = blackVarianceImpl ( nonZeroMaturity , strike ) ; return Math . sqrt ( var / nonZeroMaturity ) ; }
returns the volatility for the given strike and date calculating it from the variance .
