return marketScannerDataEvents;
}
private MarketScannerDataEvent consumeMarketScannerDataEvent(final int requestId, final InputStream inputStream) {
final Contract contract = new Contract();
final ContractSpecification contractSpecification = new ContractSpecification();
contractSpecification.setContract(contract);
final int ranking = readInt(inputStream);
if (getVersion() >= 3) {
contract.setId(readInt(inputStream));
}
contract.setSymbol(readString(inputStream));
contract.setSecurityType(SecurityType.fromAbbreviation(readString(inputStream)));
contract.setExpiry(readString(inputStream));
contract.setStrike(readDouble(inputStream));
contract.setOptionRight(OptionRight.fromInitialOrName(readString(inputStream)));
contract.setExchange(readString(inputStream));
contract.setCurrencyCode(readString(inputStream));
contract.setLocalSymbol(readString(inputStream));
contractSpecification.setMarketName(readString(inputStream));
contractSpecification.setTradingClass(readString(inputStream));
final String distance = readString(inputStream);
final String benchmark = readString(inputStream);
final String projection = readString(inputStream);
String comboLegDescription = null;
if (getVersion() >= 2) {