class ForexOptionVanillaBlackSmileMethod {

  public CurrencyAmount delta(
      ForexOptionVanilla optionForex,
      BlackForexSmileProviderInterface smileMulticurves,
      boolean directQuote) {
    ArgumentChecker.notNull(optionForex, "Forex option");
    ArgumentChecker.notNull(smileMulticurves, "Smile");
    ArgumentChecker.isTrue(smileMulticurves.checkCurrencies(optionForex.getCurrency1(), optionForex.getCurrency2()),
        "Option currencies not compatible with smile data");
    double deltaRelative = deltaRelative(optionForex, smileMulticurves, directQuote);
    return CurrencyAmount.of(optionForex.getUnderlyingForex().getCurrency2(),
        deltaRelative * Math.abs(optionForex.getUnderlyingForex().getPaymentCurrency1().getAmount()));
  }

  private  ForexOptionVanillaBlackSmileMethod();

}