             storeElement(
                 element:element,
                 directory:directory,
+                directoryPath:directoryPath,
                 database:database,
                 dispatchGroup:dispatchGroup)
         }

    private func storeElement(
        element:MVitaItemIn,
        directory:DVitaItemDirectory,
        database:Database,
        dispatchGroup:DispatchGroup)
    {
        guard
            
            let data:Data = element.data,
            let directoryName:String = directory.name,
            let localName:String = storeLocal(
                data:data,
                directoryName:directoryName),
            let name:String = element.name,
            let dateModified:Date = element.dateModified,
            let size:UInt64 = element.size

            self?.storeElements(
                elements:elements,
                directory:directory,
                directoryPath:directoryPath,
                database:database,
                completion:completion)
        }
    }
    
    private func createDirectoryPath(
        name:String) -> URL?
    {
        var directoryPath:URL = FileManager.default.appDirectory
        directoryPath.appendPathComponent(
            MVitaLink.kRootDirectory)
        directoryPath.excludeFromBackup()
        directoryPath.appendPathComponent(
            name)
        directoryPath.excludeFromBackup()
        
        do
        {
            try FileManager.default.createDirectory(
                at:directoryPath,
                withIntermediateDirectories:true,
                attributes:nil)
        }
        catch
        {
            return nil
        }
        
        return directoryPath
    }
    
    private func storeElements(
        elements:[MVitaItemIn],
        directory:DVitaItemDirectory,
        directoryPath:URL,
        database:Database,
        completion:@escaping(() -> ()))
    {
