code: @Override
    public synchronized void close() throws IOException {
      // TODO(zac) Determine the behavior when closing the context during operations.
      if (!mClosed) {
        mClosed = true;
        if (mCachingEnabled) {
          Factory.FILESYSTEM_CACHE.remove(new FileSystemKey(mFsContext.getClientContext()));
        }
        mFsContext.close();
      }
    }
docs: Shuts down the FileSystem. Closes all thread pools and resources used to perform operations. If
  any operations are called after closing the context the behavior is undefined.
  
  @throws IOException