public Multimap<String,String> assembleAllWatchKeys(String appId,String clusterName,Set<String> namespaces,String dataCenter){
  Multimap<String,String> watchedKeysMap=assembleWatchKeys(appId,clusterName,namespaces,dataCenter);
  if (!(namespaces.size() == 1 && namespaces.contains(ConfigConsts.NAMESPACE_APPLICATION))) {
    Set<String> namespacesBelongToAppId=namespacesBelongToAppId(appId,namespaces);
    Set<String> publicNamespaces=Sets.difference(namespaces,namespacesBelongToAppId);
    if (!publicNamespaces.isEmpty()) {
      watchedKeysMap.putAll(findPublicConfigWatchKeys(appId,clusterName,publicNamespaces,dataCenter));
    }
  }
  return watchedKeysMap;
}

public Multimap < String , String > assembleAllWatchKeys ( String appId , String clusterName , Set < String > namespaces , String dataCenter ) { Multimap < String , String > watchedKeysMap = assembleWatchKeys ( appId , clusterName , namespaces , dataCenter ) ; if ( ! ( namespaces . size ( ) == 1 && namespaces . contains ( ConfigConsts . NAMESPACE_APPLICATION ) ) ) { Set < String > namespacesBelongToAppId = namespacesBelongToAppId ( appId , namespaces ) ; Set < String > publicNamespaces = Sets . difference ( namespaces , namespacesBelongToAppId ) ; if ( ! publicNamespaces . isEmpty ( ) ) { watchedKeysMap . putAll ( findPublicConfigWatchKeys ( appId , clusterName , publicNamespaces , dataCenter ) ) ; } } return watchedKeysMap ; }
assemble watch keys for the given appid , cluster , namespaces , datacenter combination
