@Override public void close() throws IOException {
  try {
    super.close();
  }
  finally {
    if (closeBranch) {
      branch.close();
    }
  }
}

@ Override public void close ( ) throws IOException { try { super . close ( ) ; } finally { if ( closeBranch ) { branch . close ( ) ; } } }
closes the proxied input stream and , if so configured , the associated output stream . an exception thrown from one stream will not prevent closing of the other stream .
