public function setPaths(array $paths) : object
    {
        foreach ($paths as $path) {
            if (!(is_dir($path) && is_readable($path))) {
                throw new Exception("Directory '$path' is not readable.");
            }
        }
        $this->paths = $paths;
        return $this;
    }