public function addOption(TaskOption $Option) { $name = $Option->getName(); if ($this->optionExists($name)) { TaskErrors::duplicatedOption($name); } $this->options[$name] = $Option; if ($Option->hasShortcut()) { $shortcut = $Option->getShortcut(); if ($this->shortcutExists($shortcut)) { TaskErrors::duplicatedShortcut($shortcut); } $this->shortcuts[$shortcut] = $Option; } }