code: protected Thread createPump(InputStream is, OutputStream os, boolean closeWhenExhausted, boolean flushImmediately) {
      return newThread(new StreamPumper(is, os, closeWhenExhausted, flushImmediately));
    }
docs: Creates a stream pumper to copy the given input stream to the given
  output stream.
  
  @param is the input stream to copy from
  @param os the output stream to copy into
  @param closeWhenExhausted close the output stream when the input stream is exhausted
  @param flushImmediately flush the output stream whenever data was written to it
  @return the stream pumper thread