public function getDirectory(string $name, int $ifNotExists = Directory::GET_DIRECTORY_NOT_EXISTS_THROW_EXCEPTION) : Directory
    {
        $path = $this->getPath(). DIRECTORY_SEPARATOR .$name;

        if($this->directoryExists($name)) {
            return new Directory($path);
        }

        if($ifNotExists === Directory::GET_DIRECTORY_NOT_EXISTS_CREATE) {
            return Directory::make($path);
        }

        throw new DirectoryDoesntExist($path);
    }