public function setPath($path) {
        if (!is_string($path)) throw new IllegalTypeException('Illegal type of parameter $path: '.gettype($path));
        if (!strlen($path))    throw new InvalidArgumentException('Invalid argument $path: '.$path);

        $this->path = $path;
        return $this;
    }