public function withDirectoryPosition($key, $value)
    {
        $clone = clone $this;

        if ($key === count($clone->info['path'])) {
            $clone->info['file'] = $value;

            return $clone;
        }

        $clone->info['path'][$key] = $value;

        return $clone;
    }