if (po != null) if (po == src) return; else throw new IOException("pipe already connected");
if (ever_connected) throw new IOException("Already connected");
  public void connect(PipedOutputStream src) throws IOException  {    if (buffer == null)      throw new IOException("pipe closed");    if (po != null)      if (po == src)	return;      else        throw new IOException("pipe already connected");    po = src;    try    {      src.connect(this);    }    catch (IOException ex)    {      po = null;      throw ex;    }  }