private PipeWriter(InputStream in,OutputStream out,String tag,int nExecs){
  this.in=in;
  this.out=new PrintWriter(out);
  bufOut=new ByteArrayOutputStream();
  currSep=new byte[lineSeparatorLength];
  execString=":ExecGroup-" + Integer.toString(nExecs) + ':'+ tag+ ':';
}

private PipeWriter ( InputStream in , OutputStream out , String tag , int nExecs ) { this . in = in ; this . out = new PrintWriter ( out ) ; bufOut = new ByteArrayOutputStream ( ) ; currSep = new byte [ lineSeparatorLength ] ; execString = ":ExecGroup-" + Integer . toString ( nExecs ) + ':' + tag + ':' ; }
create a new pipewriter object . all methods of pipewriter , except plugtogetherpair , are only accesible to pipewriter itself . synchronization is unnecessary on functions that will only be used internally in pipewriter .
