@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"); } }