}
@Override
public SyntheticIdentifierCurveInstrumentProvider buildObject(final FudgeDeserializer deserializer, final FudgeMsg message) {
final Currency ccy = Currency.of(message.getString(CURRENCY_FIELD));
final StripInstrumentType stripType = StripInstrumentType.valueOf(message.getString(STRIP_TYPE_FIELD));
final ExternalScheme scheme = ExternalScheme.of(message.getString(SCHEME_FIELD));
if (message.hasField(DATA_FIELD) && message.hasField(TYPE_FIELD)) {
final String dataField = message.getString(DATA_FIELD);
final DataFieldType fieldType = DataFieldType.valueOf(message.getString(TYPE_FIELD));
return new SyntheticIdentifierCurveInstrumentProvider(ccy, stripType, scheme, dataField, fieldType);