class BondCapitalIndexedTransactionDiscountingMethod {

  public MultipleCurrencyAmount presentValue(final BondCapitalIndexedTransaction<?> bond, final InflationIssuerProviderInterface provider) {
    double notional = bond.getNotionalStandard();
    final MultipleCurrencyAmount pvBond = METHOD_SECURITY.presentValue(bond.getBondTransaction(), provider);
    final MultipleCurrencyAmount pvSettlement = bond.getBondTransaction().getSettlement().
        accept(PVIC, provider.getInflationProvider()).multipliedBy(-bond.getQuantity() * (bond.getTransactionPrice() 
            + bond.getBondStandard().getAccruedInterest() / notional));
    return pvBond.multipliedBy(bond.getQuantity()).plus(pvSettlement);
  }

}