docs: @Override
      public void close() {
          if (!closed.getAndSet(true)) {
              if (fc != null) {
                  try {
                      fc.close();
                      fc = null;
                  } catch (final IOException e) {
                      // Ignore
                  }
              }
              if (raf != null) {
                  try {
                      raf.close();
                      raf = null;
                  } catch (final IOException e) {
                      // Ignore
                  }
              }
              if (chunkIdxToByteBuffer != null) {
                  chunkIdxToByteBuffer.clear();
                  chunkIdxToByteBuffer = null;
              }
              if (mappedByteBuffersCached != null) {
                  for (int i = 0; i < mappedByteBuffersCached.length; i++) {
                      if (mappedByteBuffersCached[i] != null) {
                          FileUtils.closeDirectByteBuffer(mappedByteBuffersCached[i], /* log = */ null);
                          mappedByteBuffersCached[i] = null;
                      }
                  }
                  mappedByteBuffersCached = null;
              }
              nestedJarHandler = null;
          }
      }