private void to_directory(Vector sources, File destination_directory) throws IOException, InterruptedException { Assertion.check(destination_directory.exists()); for (Enumeration source_scan = sources.elements(); source_scan.hasMoreElements(); ) { File source = (File) source_scan.nextElement(); if (source.isFile()) { File destination = File.create(destination_directory.getPath(), source.getName()); file_to_file(source, destination); } else if (_recursive) { String source_base = source.getParent(); if (source_base == null) source_base = "."; String destination_base = destination_directory.getCanonicalPath(); directory_to_directory(source_base, destination_base, source.getName()); } } }