public static IEntityHistoryService getHistoryService(CMSDBConfig dbConfig, MongoDataSource ds, List<PersistenceService.Registration> implementations){ CheckConditions.checkNotNull(ds); IEntityHistoryService service = historyServiceMap.get(ds); if(service == null){ IRepositoryService repositoryService = RepositoryServiceFactory.createRepositoryService(ds, "localCMSServer"); IPersistenceService persistenceService = getPersistenceService(ds, implementations); ISearchService searchService = getSearchService(ds); service = new HistoryServiceImpl(dbConfig, repositoryService, persistenceService, searchService); historyServiceMap.putIfAbsent(ds, service); service = historyServiceMap.get(ds); repositoryService.setHistoryService(service); } return service; }