private File CheckOut(Folder folder, File file, Connection connection)
        {
            string localpath = connection.WorkingFoldersManager.GetWorkingFolder(folder.FullName).FullPath;
            if (!System.IO.Directory.Exists(localpath))
                System.IO.Directory.CreateDirectory(localpath);
            VDF.Vault.Settings.AcquireFilesSettings settings = new VDF.Vault.Settings.AcquireFilesSettings(connection);
            settings.OptionsRelationshipGathering.FileRelationshipSettings.VersionGatheringOption = VDF.Vault.Currency.VersionGatheringOption.Latest;
            settings.OptionsResolution.OverwriteOption = VDF.Vault.Settings.AcquireFilesSettings.AcquireFileResolutionOptions.OverwriteOptions.ForceOverwriteAll;
            settings.LocalPath = new VDF.Currency.FolderPathAbsolute(localpath);
            settings.AddFileToAcquire(new VDF.Vault.Currency.Entities.FileIteration(connection, file), VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Download | VDF.Vault.Settings.AcquireFilesSettings.AcquisitionOption.Checkout);
            VDF.Vault.Results.AcquireFilesResults results = connection.FileManager.AcquireFiles(settings);
            foreach(var r in results.FileResults)
            {
                return connection.WebServiceManager.DocumentService.GetFileById(r.File.EntityIterationId);
            }
            return null;
        }