private function bootBaseOrRemote($supervisor, $default = [], $handlers = [], $plugins = [])
{
$this->setSolvers($supervisor, $handlers);
$this->setSolvers($supervisor, $default);
foreach ($plugins as $pluginClass) {
if (!class_exists($pluginClass)) {
throw new ResourceUndefinedException("SupervisorPlugin [{$pluginClass}] does not exist.");
}
$plugin = new $pluginClass();
if (!$plugin instanceof SupervisorPluginInterface) {
throw new InvalidArgumentException("SupervisorPlugin [{$pluginClass}] does not implement SupervisorPluginInterface.");
}
$plugin->registerPlugin($supervisor);
}
}