protected function recursiveCreateDir($path)
    {
        if ($this->isDirectory($path)) {
            return;
        }

        $directories = explode($this->pathSeparator, $path);
        if (count($directories) > 1) {
            $parentDirectories = array_splice($directories, 0, count($directories) - 1);
            $this->recursiveCreateDir(implode($this->pathSeparator, $parentDirectories));
        }

        $location = $this->applyPathPrefix($path);

        $this->share->mkdir($location);
    }