protected ReferenceDataProvider initReferenceDataProvider(ComponentRepository repo) {
BloombergConnector bloombergConnector = getBloombergConnector();
BloombergReferenceDataProvider underlying = new BloombergReferenceDataProvider(bloombergConnector);
repo.registerLifecycle(underlying);
MongoConnector mongoConnector = getMongoConnector();
CacheManager cacheManager = getCacheManager();
if (mongoConnector != null) {
MongoDBInvalidFieldCachingReferenceDataProvider fieldCached = new MongoDBInvalidFieldCachingReferenceDataProvider(underlying, mongoConnector);
return new MongoDBValueCachingReferenceDataProvider(fieldCached, mongoConnector);