BondFuturesOptionMarginTransactionDefinition extends FuturesTransactionDefinition<BondFuturesOptionMarginSecurityDefinition> implements InstrumentDefinitionWithData<BondFuturesOptionMarginTransaction, Double> { @Override public BondFuturesOptionMarginTransaction toDerivative(final ZonedDateTime date) { throw new UnsupportedOperationException("The method toDerivative of InterestRateTransactionDefinition does not support the one argument method (without margin price data)."); } BondFuturesOptionMarginTransactionDefinition(final BondFuturesOptionMarginSecurityDefinition underlyingOption, final int quantity, final ZonedDateTime tradeDate,
      final double tradePrice); @Override BondFuturesOptionMarginTransaction toDerivative(final ZonedDateTime date); @Override BondFuturesOptionMarginTransaction toDerivative(final ZonedDateTime dateTime, final Double lastMarginPrice); @Override V accept(final InstrumentDefinitionVisitor<U, V> visitor, final U data); @Override V accept(final InstrumentDefinitionVisitor<?, V> visitor);  }
@Test(expectedExceptions = IllegalArgumentException.class) public void nullToDerivativeDate() { CALL_BOBLM4_TRA_DEFINITION.toDerivative(null, REFERENCE_PRICE); }