final ExternalId swapIdentifer = security.getUnderlyingSwapId();
final SwapSecurity underlyingSwapSecurity = (SwapSecurity) _securitySource.getSingle(ExternalIdBundle.of(swapIdentifer)); //TODO see note in InterestRateFutureOptionSecurityConverter
if (underlyingSwapSecurity == null) {
throw new OpenGammaRuntimeException("Underlying swap security " + swapIdentifer + " was not found in database");
}
final InstrumentDefinition<?> underlyingSwap = underlyingSwapSecurity.accept(_swapConverter);
if (!(underlyingSwap instanceof SwapFixedIborDefinition)) {
throw new OpenGammaRuntimeException("Underlying swap was not fixed / ibor float");
}
final ZonedDateTime lastTradingDate = security.getExpiry().getExpiry();
final double notional = security.getNotional();