code: public static synchronized Map<String, List<String>> loadConfig(Map<String, Object> config) {
          final boolean bTrace = TraceComponent.isAnyTracingEnabled();
          boolean usingDelayed = false;
          if (null == config) {
              if (delayedConfig.isEmpty()) {
                  return null;
              }
              // process the delayed configuration values
              if (bTrace && tc.isDebugEnabled()) {
                  Tr.debug(tc, "loadConfig using delayed config information");
              }
              config = delayedConfig;
              delayedConfig = new HashMap<String, Object>();
  
              usingDelayed = true;
          }
          Map<String, List<String>> rc = load(config, false, true);
          if (usingDelayed && !delayedStarts.isEmpty()) {
              // see if we can start any of the chains now
              start(rc, false, false);
          }
          return rc;
      }
docs: Using the provided configuration, create or update channels,
  chains, and groups within the channel framework.
  
  This will return a map containing lists of created objects. The
  keys include "factory", "chain", "group", and "channel". The
  lists will contains the name of the objects such as channel names,
  chain names, etc. Each list is guarenteed to be non-null; however,
  might easily be empty.
  
  @param config
  @return Map<String,List<String>>