code: @Override
    public void close() throws IOException {
      super.close();
      if (fs != null) {
        try {
          fs.close();
          fs = null;
        } catch(IOException ie) {
          //this might already be closed, ignore
        }
      }
      if (cacheFs != null) {
        try {
          cacheFs.close();
          cacheFs = null;
        } catch(IOException ie) {
          //this might already be closed, ignore
        }
      }
    }
docs: Close filesystem