code: function handlePermissionStrategy (config) {
    const permissionStrategies = {
      config: require('../permission/config-permission-handler'), // eslint-disable-line
      none: require('../permission/open-permission-handler') // eslint-disable-line
    }
  
    if (!config.permission) {
      throw new Error('No permission type specified')
    }
  
    if (commandLineArguments.disablePermissions) {
      config.permission.type = 'none'
      config.permission.options = {}
    }
  
    if (config.permission.name || config.permission.path) {
      const PermHandler = resolvePluginClass(config.permission, 'permission')
      if (!PermHandler) {
        throw new Error(`unable to resolve plugin ${config.permission.name || config.permission.path}`)
      }
      config.permissionHandler = new PermHandler(config.permission.options, config.logger)
      return
    }
  
    if (!permissionStrategies[config.permission.type]) {
      throw new Error(`Unknown permission type ${config.permission.type}`)
    }
  
    if (config.permission.options && config.permission.options.path) {
      config.permission.options.path = fileUtils.lookupConfRequirePath(config.permission.options.path)
    }
  
    config.permissionHandler = new (permissionStrategies[config.permission.type])(config)
  }
docs: Instantiates the permission handler registered for *config.permission.type*
  
  CLI arguments will be considered.
  
  @param   {Object} config deepstream configuration object
  
  @private
  @returns {void}