@Override
public ZeroCouponInflationNode buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
final Tenor tenor = Tenor.of(Period.parse(message.getString(TENOR_FIELD)));
final ExternalId inflationConvention = deserializer.fieldValueToObject(ExternalId.class, message.getByName(INFLATION_CONVENTION_FIELD));
final ExternalId fixedConvention = deserializer.fieldValueToObject(ExternalId.class, message.getByName(FIXED_CONVENTION_FIELD));
final InflationNodeType inflationNodeType = InflationNodeType.valueOf(message.getString(INFLATION_NODE_TYPE_FIELD));
final String curveNodeIdMapperName = message.getString(CURVE_MAPPER_ID_FIELD);
if (message.hasField(NAME_FIELD)) {
final String name = message.getString(NAME_FIELD);
return new ZeroCouponInflationNode(tenor, inflationConvention, fixedConvention, inflationNodeType, curveNodeIdMapperName, name);
}