final Double useCallAboveValue = message.getDouble(CALL_FIELD_NAME);
if (message.hasField(EXCHANGE_ID_FIELD_NAME)) {
final String exchangeId = message.getString(EXCHANGE_ID_FIELD_NAME);
if (message.hasField(TICKER_SCHEME_NAME)) {
final String tickerScheme = message.getString(TICKER_SCHEME_NAME);
return new BloombergEquityFutureOptionVolatilitySurfaceInstrumentProvider(futureOptionPrefix, postfix, dataFieldName, useCallAboveValue, exchangeId, tickerScheme);
}
return new BloombergEquityFutureOptionVolatilitySurfaceInstrumentProvider(futureOptionPrefix, postfix, dataFieldName, useCallAboveValue, exchangeId);
}
if (message.hasField(TICKER_SCHEME_NAME)) { //this will never be hit, but better to be safe
final String tickerScheme = message.getString(TICKER_SCHEME_NAME);
return new BloombergEquityFutureOptionVolatilitySurfaceInstrumentProvider(futureOptionPrefix, postfix, dataFieldName, useCallAboveValue, DEFAULT_EXCHANGE_ID, tickerScheme);
}
return new BloombergEquityFutureOptionVolatilitySurfaceInstrumentProvider(futureOptionPrefix, postfix, dataFieldName, useCallAboveValue, DEFAULT_EXCHANGE_ID);
}