}
VirtualChannel channel = hudsonLauncher.getChannel();
// hudsonOut->p4in->reader
FastPipedOutputStream hudsonOut = new FastPipedOutputStream();
FastPipedInputStream p4in = new FastPipedInputStream(hudsonOut);
input = p4in;
// hudsonIn<-p4Out<-writer
FastPipedInputStream hudsonIn = new FastPipedInputStream();
FastPipedOutputStream p4out = new FastPipedOutputStream(hudsonIn);
output = p4out;
final OutputStream out = hudsonOut == null ? null : new RemoteOutputStream(hudsonOut);
final InputStream in = hudsonIn ==null ? null : new RemoteInputStream(hudsonIn);