if(Thread.interrupted()) { in.close(); out.close();  progress.aborted(); return; }
	private void copy(InputStream in, String outfile) throws IOException	{		File outFile = new File(outfile);		OperatingSystem.getOperatingSystem().mkdirs(outFile.getParent());		BufferedOutputStream out = new BufferedOutputStream(			new FileOutputStream(outFile));		int count;		for(;;)		{			count = in.read(buf,0,buf.length);			if(count == -1)				break;			out.write(buf,0,count);			progress.advance(count);			if(Thread.interrupted())			{				in.close();				out.close();				progress.aborted();				return;			}		}		in.close();		out.close();	}