@Override
 public CurveInstrumentProvider buildObject(
     FudgeDeserializationContext context, FudgeMsg message) {
   String type = message.getString("type");
   if (type.equals(BloombergFutureCurveInstrumentProviderBuilder.TYPE)) {
     return _bloombergFutureBuilder.buildObject(context, message);
   } else if (type.equals(StaticCurveInstrumentProviderBuilder.TYPE)) {
     return _staticBuilder.buildObject(context, message);
   } else if (type.equals(SyntheticIdentifierCurveInstrumentProviderBuilder.TYPE)) {
     return _syntheticBuilder.buildObject(context, message);
   } else {
     throw new OpenGammaRuntimeException(
         "Unsupported subclass type ('"
             + type
             + "') - needs explicit support for mongo serialization");
   }
 }