class BarrierOptionPricer {

  public double inBarrier(final double spot, final double barrierLevel, final double strike, final double expiry, final double rate, final double carry,
      final double vol, final boolean isCall, final double rebate) {
    final double outPrice = outBarrierSpecial(spot, barrierLevel, strike, expiry, rate, carry, vol, isCall, rebate);
    final double bsPrice = blackPrice(spot, strike, expiry, rate, carry, vol, isCall);
    return bsPrice + Math.exp(-rate * expiry) * rebate - outPrice;
  }

  public  BarrierOptionPricer();
  public  BarrierOptionPricer(final int numXNodes, final int numTNodes, final double lambda, final double bunching);

}