class DataStore implements DataCacheProvider, RolesProvider {

    public HostServices getHostServices(String host) {
        
        HostServices result = new HostServices().setHost(host);
        
        try {
            hostRLock.lock();
            
            /* we need to make a copy of our list as oppose to just returning
             * a reference since once we release the host read lock that list
             * can be modified by the updater thread */
            
            List<String> services = hostCache.get(host);
            if (services != null) {
                result.setNames(new ArrayList<>(services));
            }
        } finally {
            hostRLock.unlock();
        }
        
        return result;
    }

    public  DataStore(ChangeLogStore clogStore, CloudStore cloudStore);

}