public static void fromFudgeMsg(
     FudgeDeserializer deserializer, FudgeMsg msg, EquitySecurity object) {
   FinancialSecurityFudgeBuilder.fromFudgeMsg(deserializer, msg, object);
   object.setShortName(msg.getString(SHORT_NAME_FIELD_NAME));
   object.setExchange(msg.getString(EXCHANGE_FIELD_NAME));
   object.setExchangeCode(msg.getString(EXCHANGE_CODE_FIELD_NAME));
   object.setCompanyName(msg.getString(COMPANY_NAME_FIELD_NAME));
   object.setCurrency(msg.getValue(Currency.class, CURRENCY_FIELD_NAME));
   object.setGicsCode(msg.getValue(GICSCode.class, GICS_CODE_FIELD_NAME));
   object.setPreferred(BooleanUtils.isTrue(msg.getBoolean(PREFERRED_FIELD_NAME)));
 }
 public static void toFudgeMsg(
     FudgeSerializer serializer, EquitySecurity object, final MutableFudgeMsg msg) {
   FinancialSecurityFudgeBuilder.toFudgeMsg(serializer, object, msg);
   addToMessage(msg, SHORT_NAME_FIELD_NAME, object.getShortName());
   addToMessage(msg, EXCHANGE_FIELD_NAME, object.getExchange());
   addToMessage(msg, EXCHANGE_CODE_FIELD_NAME, object.getExchangeCode());
   addToMessage(msg, COMPANY_NAME_FIELD_NAME, object.getCompanyName());
   addToMessage(msg, CURRENCY_FIELD_NAME, object.getCurrency());
   addToMessage(msg, GICS_CODE_FIELD_NAME, object.getGicsCode());
   addToMessage(msg, PREFERRED_FIELD_NAME, object.isPreferred());
 }
 public static void fromFudgeMsg(
     FudgeDeserializer deserializer, FudgeMsg msg, FXOptionSecurity object) {
   FinancialSecurityFudgeBuilder.fromFudgeMsg(deserializer, msg, object);
   object.setPutCurrency(msg.getValue(Currency.class, PUT_CURRENCY_FIELD_NAME));
   object.setCallCurrency(msg.getValue(Currency.class, CALL_CURRENCY_FIELD_NAME));
   object.setPutAmount(msg.getDouble(PUT_AMOUNT_FIELD_NAME));
   object.setCallAmount(msg.getDouble(CALL_AMOUNT_FIELD_NAME));
   object.setExpiry(
       ExpiryFudgeBuilder.fromFudgeMsg(deserializer, msg.getMessage(EXPIRY_FIELD_NAME)));
   object.setSettlementDate(
       ZonedDateTimeFudgeBuilder.fromFudgeMsg(
           deserializer, msg.getMessage(SETTLEMENT_DATE_FIELD_NAME)));
   object.setLongShort(LongShort.ofLong(msg.getBoolean(IS_LONG_FIELD_NAME)));
 }
 public static void toFudgeMsg(
     FudgeSerializer serializer, FXOptionSecurity object, final MutableFudgeMsg msg) {
   FinancialSecurityFudgeBuilder.toFudgeMsg(serializer, object, msg);
   addToMessage(msg, PUT_CURRENCY_FIELD_NAME, object.getPutCurrency());
   addToMessage(msg, CALL_CURRENCY_FIELD_NAME, object.getCallCurrency());
   addToMessage(msg, PUT_AMOUNT_FIELD_NAME, object.getPutAmount());
   addToMessage(msg, CALL_AMOUNT_FIELD_NAME, object.getCallAmount());
   addToMessage(
       msg, EXPIRY_FIELD_NAME, ExpiryFudgeBuilder.toFudgeMsg(serializer, object.getExpiry()));
   addToMessage(
       msg,
       SETTLEMENT_DATE_FIELD_NAME,
       ZonedDateTimeFudgeBuilder.toFudgeMsg(serializer, object.getSettlementDate()));
   addToMessage(msg, IS_LONG_FIELD_NAME, object.isLong());
 }