destination = dest; try { dest.connect(this); } catch (IOException ex) { destination = null; throw ex; } }
if (closed) throw new IOException("Stream is closed and cannot be reopened");  this.snk = snk; ever_connected = true; snk.src = this;  snk.connect(this); }
  public void connect (PipedInputStream dest) throws IOException  {    if (closed)      throw new IOException("pipe closed");    if (destination != null)      if (destination == dest)	return;      else        throw new IOException("pipe already connected");    destination = dest;    try    {      dest.connect(this);    }    catch (IOException ex)    {      destination = null;      throw ex;    }  }