final ZonedDateTime expiry = underlyingSecurity.getExpiry().getExpiry();
final boolean isCall = (commodityOption.getOptionType().equals(OptionType.CALL));
final ExerciseDecisionType exerciseType = commodityOption.getExerciseType().accept(ExerciseTypeAnalyticsVisitorAdapter.getInstance());
if (underlyingSecurity instanceof AgricultureFutureSecurity) {
final AgricultureFutureDefinition underlyingDefinition = (AgricultureFutureDefinition) underlyingSecurity.accept(_futureSecurityConverter);
return new AgricultureFutureOptionDefinition(expiry,
underlyingDefinition,
commodityOption.getStrike() * 100.0, // TODO: Remove when security stops scaling price
exerciseType,
isCall);