code: @Override
      public synchronized void close() throws IOException {
          this.currentBuffer = null;
          this.streamFaulted = true;
          this.lastError = new IOException(SR.STREAM_CLOSED);
      }
docs: Closes this input stream and releases any system resources associated with the stream.
  
  @throws IOException
  If an I/O error occurs.