@Override protected void buildMessage( final FudgeSerializer serializer, final MutableFudgeMsg message, final FXMatrix object) { final Map<Currency, Integer> currencies = object.getCurrencies(); for (final Map.Entry<Currency, Integer> entry : currencies.entrySet()) { message.add(CURRENCY_FIELD, entry.getKey().getCode()); message.add(ORDER_FIELD, entry.getValue()); } final double[][] rates = object.getRates(); for (final double[] array : rates) { message.add(ENTRIES_FIELD, array.length); final MutableFudgeMsg msg = serializer.newMessage(); serializer.addToMessageWithClassHeaders(msg, ROW_FIELD, null, array); message.add(FX_RATES_FIELD, msg); } }