/**
  * Computes the present value of a bond future option. The option security price is computed
  * according to the data available in the bundle. If the underlying future price is available it
  * is used, if not it is computed from the curves.
  *
  * @param transaction The option transaction.
  * @param curves The curves bundle.
  * @return The present value.
  */
 public CurrencyAmount presentValue(
     final BondFutureOptionPremiumTransaction transaction, final YieldCurveBundle curves) {
   ArgumentChecker.notNull(transaction, "transaction");
   ArgumentChecker.notNull(curves, "curves");
   final double priceSecurity =
       METHOD_SECURITY.optionPrice(transaction.getUnderlyingOption(), curves);
   final CurrencyAmount pvTransaction = presentValueFromPrice(transaction, curves, priceSecurity);
   return pvTransaction;
 }