public DefaultFileOperations(FileResolver fileResolver, TaskResolver taskResolver, TemporaryFileProvider temporaryFileProvider, Instantiator instantiator, FileLookup fileLookup, DirectoryFileTreeFactory directoryFileTreeFactory, StreamHasher streamHasher, FileHasher fileHasher) {
this.fileResolver = fileResolver;
this.taskResolver = taskResolver;
this.temporaryFileProvider = temporaryFileProvider;
this.instantiator = instantiator;
this.directoryFileTreeFactory = directoryFileTreeFactory;
this.resourceHandler = new DefaultResourceHandler(this, temporaryFileProvider);
this.streamHasher = streamHasher;
this.fileHasher = fileHasher;
this.fileCopier = new FileCopier(this.instantiator, this.fileResolver, fileLookup, directoryFileTreeFactory);
this.fileSystem = fileLookup.getFileSystem();
this.deleter = new Deleter(fileResolver, fileSystem);
}