protected function getOptions()
    {
        $mandatory = $this->getParameters();
        $defaults = array_keys($this->getDefaults());
        $missing = array_diff($mandatory, $defaults);

        foreach ($missing as $parameter) {
            if (!array_key_exists($parameter, $this->options)) {
                throw new ErrorException(sprintf('Parameter "%s" is not defined', $parameter));
            }
        }

        return $this->options;
    }