public function setOptions(AbstractOptions $options)
    {
        $optionsClass = Conversion::getOptionsFullQualifiedClassName($this);
        $inputOptionsClass = get_class($options);
        if ($inputOptionsClass !== $optionsClass) {
            throw new Exception\DomainException(sprintf(
                '"%s" expects that options set are an array or a valid "%s" instance; received "%s"',
                __METHOD__,
                $optionsClass,
                $inputOptionsClass
            ));
        }
        $this->options = $options;
        return $this;
    }