code: @Override
    public synchronized void close() throws IOException {
      if (channel != null) {
        long startTime = System.nanoTime();
        logger.atFine().log("close: file: %s, totalBytesRead: %d", gcsPath, totalBytesRead);
        channel.close();
        long duration = System.nanoTime() - startTime;
        ghfs.increment(GoogleHadoopFileSystemBase.Counter.READ_CLOSE);
        ghfs.increment(GoogleHadoopFileSystemBase.Counter.READ_CLOSE_TIME, duration);
        long streamDuration = System.nanoTime() - initTime;
        ghfs.increment(GoogleHadoopFileSystemBase.Counter.INPUT_STREAM);
        ghfs.increment(GoogleHadoopFileSystemBase.Counter.INPUT_STREAM_TIME, streamDuration);
      }
    }
docs: Closes the current stream.
  
  @throws IOException if an IO error occurs.