void newpipe(String name, String flags) throws IOException {
private void newpipe(String name, String flags) throws IOException {
void newpipe(String name, String flags) throws IOException {    String argv[] = { "sh", "-c", name.toString() };    pipe = Runtime.getRuntime().exec(argv);    if (upto("wabcWABC", flags)) {	// open pipe for writing	if (upto("rbRB", flags)) {	    throw new IOException();		// cannot open bidirectionally	}	outstream = new DataOutputStream(	    new BufferedOutputStream(pipe.getOutputStream()));    } else {	// open pipe for reading	instream = new DataInputStream(	    new BufferedInputStream(pipe.getInputStream()));	pipe.getOutputStream().close();		// close the pipe's input    }    openfiles.put(this, this);			// remember open file}