question: public synchronized void close ( ) throws IOException { if ( in == null ) return ; in . close ( ) ; in = null ; buf = null ; }
target:  Closes this input stream and releases any system resources associated with the stream. Once the stream has been closed, further read(), unread(), available(), reset(), or skip() invocations will throw an IOException. Closing a previously closed stream has no effect.