public function setup($settings = array())
{
if ($this->setup_ready) {
Incorrect_Syntax_Exception::raise('Panel "' . $this->title . '" already setup');
}
$this->check_setup_settings($settings);
$this->settings = array_merge($this->settings, $settings);
foreach ($this->settings as $key => $value) {
if (is_null($value)) {
unset($this->settings[$key]);
}
}
$this->setup_ready = true;
return $this;
}