public static void pipe(InputStream istream, OutputStream ostream) throws IOException {
		if(ostream != null && istream != null) {
			/*
			 * This is the fastest method I know for reading from an
			 * indeterminate stream. So fast in fact, that it pars fairly well
			 * with FileChannel stuff in test cases.
			 * 
			 * Small and simple enough the JIT can grab hold and optimize it,
			 * but with a large enough buffer to not make reading slow.
			 */
			final BufferedInputStream input = new BufferedInputStream(istream);
			final BufferedOutputStream output = new BufferedOutputStream(ostream);
			// final FileOutputStream buffer = new FileOutputStream(file);
			final byte[] reader = new byte[IO_BUFFER_SIZE];
			int r = 0;
			while((r = input.read(reader, 0, IO_BUFFER_SIZE)) != -1) {
				output.write(reader, 0, r);
			}
			output.flush();
		}
	}