copyRootWithSubDirs(device, locale, file, resourceCopier, new File( targetDir, file.getName() ) );
copyRootWithSubDirs(device, locale, file, resourceCopier, targetDir );
	private void copyRootWithSubDirs(Device device, Locale locale, File root, ResourceCopier resourceCopier, File targetDir) throws IOException {		File[] files = root.listFiles();		Map resourcesByName = new HashMap( files.length );		for (int i = 0; i < files.length; i++) {			File file = files[i];			if (file.isDirectory()) {				copyRootWithSubDirs(device, locale, file, resourceCopier, new File( targetDir, file.getName() ) );			} else {				resourcesByName.put( file.getName(),file );			}		}		files = filterResources(resourcesByName);		resourceCopier.copyResources(device, locale, files, targetDir );	}