/**
  * Handle the command.
  *
  * @param SettingRepositoryInterface $settings
  * @param AddonCollection            $addons
  * @param Repository                 $config
  */
 public function handle(SettingRepositoryInterface $settings, AddonCollection $addons, Repository $config)
 {
     /* @var Addon $addon */
     foreach ($addons->withConfig('settings') as $addon) {
         foreach ($config->get($addon->getNamespace('settings')) as $key => $setting) {
             if (isset($setting['env']) && env($setting['env']) !== null) {
                 continue;
             }
             if (!isset($setting['bind'])) {
                 continue;
             }
             if (!$settings->has($key = $addon->getNamespace($key))) {
                 continue;
             }
             $config->set($setting['bind'], $settings->value($key));
         }
     }
     foreach ($addons->withConfig('settings/settings') as $addon) {
         foreach ($config->get($addon->getNamespace('settings/settings')) as $key => $setting) {
             if (isset($setting['env']) && env($setting['env']) !== null) {
                 continue;
             }
             if (!isset($setting['bind'])) {
                 continue;
             }
             if (!$settings->has($key = $addon->getNamespace($key))) {
                 continue;
             }
             $config->set($setting['bind'], $settings->value($key));
         }
     }
     foreach ($config->get('streams::settings/settings', []) as $key => $setting) {
         if (isset($setting['env']) && env($setting['env']) !== null) {
             continue;
         }
         if (!isset($setting['bind'])) {
             continue;
         }
         if (!$settings->has($key = 'streams::' . $key)) {
             continue;
         }
         $config->set($setting['bind'], $settings->value($key));
     }
 }