code: @Override
    public synchronized void close() throws IOException {
      if (!closed) {
        closed = true;
        try {
          // close or abort the stream
          closeStream("close() operation", contentRangeFinish, false);
          // this is actually a no-op
          super.close();
        } finally {
          LOG.trace("final of close for {}", uri);
        }
      }
    }
docs: Close the stream.
  This triggers publishing of the stream statistics back to the filesystem
  statistics.
  This operation is synchronized, so that only one thread can attempt to
  close the connection; all later/blocked calls are no-ops.
  @throws IOException on any problem