for (final FudgeField field : message) {
final Currency source = Currency.of(field.getName());
for (final FudgeField field2 : message.getFieldValue(FudgeMsg.class, field)) {
final Currency target = Currency.of(field2.getName());
if (field2.getValue() instanceof FudgeMsg) {
final CurrencyMatrixValue value = deserializer.fieldValueToObject(CurrencyMatrixValueRequirement.class, field2);
values.put(Pair.of(source, target), value);
values.put(Pair.of(target, source), value.getReciprocal());
} else {
values.remove(Pair.of(target, source));
}
}
for (final Map.Entry<Pair<Currency, Currency>, CurrencyMatrixValue> valueEntry : values.entrySet()) {