private void doRelease ( ) { try { in . close ( ) ; } catch ( Exception ex ) { if ( log . isDebugEnabled ( ) ) log . debug ( "FYI" , ex ) ; } if ( in instanceof Releasable ) { // This allows any underlying stream that has the close operation // disabled to be truly released Releasable r = ( Releasable ) in ; r . release ( ) ; } abortIfNeeded ( ) ; }
Used to truly release the underlying resources .