code: function handlePlugins (config) {
    if (config.plugins == null) {
      return
    }
    // mapping between the root properties which contains the plugin instance
    // and the plugin configuration objects
    const connectorMap = {
      cache: 'cache',
      storage: 'storage'
    }
    // mapping between the plugin configuration properties and the npm module
    // name resolution
    const typeMap = {
      cache: 'cache',
      storage: 'storage'
    }
    const plugins = Object.assign({}, config.plugins)
  
    for (const key in plugins) {
      const plugin = plugins[key]
      if (plugin) {
        const PluginConstructor = resolvePluginClass(plugin, typeMap[connectorMap[key]])
        config[key] = new PluginConstructor(plugin.options)
        if (config.pluginTypes.indexOf(key) === -1) {
          config.pluginTypes.push(key)
        }
      }
    }
  }
docs: Handle the plugins property in the config object the connectors.
  Allowed types: {cache|storage}
  Plugins can be passed either as a __path__ property or as a __name__ property with
  a naming convetion: *{cache: {name: 'redis'}}* will be resolved to the
  npm module *deepstream.io-cache-redis*
  Options to the constructor of the plugin can be passed as *options* object.
  
  CLI arguments will be considered.
  
  @param {Object} config deepstream configuration object
  
  @private
  @returns {void}