code: public static void transfer(InputStream from, OutputStream to) throws IOException
  	{
  		from = new BufferedInputStream(requireNotNull(from), BUFFER);
  		to = new BufferedOutputStream(requireNotNull(to), BUFFER);
  
  		final byte[] buf = new byte[BUFFER];
  		int read;
  
  		while ((read = from.read(buf)) != -1)
  		{
  			to.write(buf, 0, read);
  		}
  
  		to.flush();
  	}
docs: TODO maybe channels?