class InterestRateFutureOptionMarginSecurityDefinition extends FuturesSecurityDefinition<InterestRateFutureOptionMarginSecurity> {

  @Override
  public InterestRateFutureOptionMarginSecurity toDerivative(final ZonedDateTime date) {
    ArgumentChecker.notNull(date, "date");
    final double expirationTime = TimeCalculator.getTimeBetween(date, _expirationDate);
    final InterestRateFutureSecurity underlyingFuture = _underlyingFuture.toDerivative(date);
    final InterestRateFutureOptionMarginSecurity option = new InterestRateFutureOptionMarginSecurity(underlyingFuture, expirationTime, _strike, _isCall);
    return option;
  }

  public  InterestRateFutureOptionMarginSecurityDefinition(final InterestRateFutureSecurityDefinition underlyingFuture, final ZonedDateTime expirationDate, final double strike, final boolean isCall);

}