@Override public int read(byte[] bts,int st,int end) throws IOException {
  int n=super.read(bts,st,end);
  if (n != -1) {
    branch.write(bts,st,n);
  }
  return n;
}

@ Override public int read ( byte [ ] bts , int st , int end ) throws IOException { int n = super . read ( bts , st , end ) ; if ( n != - 1 ) { branch . write ( bts , st , n ) ; } return n ; }
reads bytes from the proxied input stream and writes the read bytes to the associated output stream .
