public function mkdir(): self
    {
        if (!$this->storage->isDir()) {
            if (!$this->storage->mkdir()) {
                throw new AccessDeniedException(sprintf('unable to create directory at: "%s"', $this->storage->path()->raw), 500);
            }
        }
        return $this;
    }