private void attach() throws IOException {
      synchronized (ourLRUCache) {
        ourLRUCache.remove(TimedZipHandler.this);
      }

      myLock.lock();

      try {
        if (myInvalidationRequest != null) {
          myInvalidationRequest.cancel(false);
          myInvalidationRequest = null;
        }
        if (myFile == null) {
          var file = getFile();
          myFileStamp = Files.getLastModifiedTime(file.toPath()).toMillis();
          myFile = new ZipFile(file);
        }
      }
      catch (Throwable t) {
        myLock.unlock();
        throw t;
      }
    }
private void attach()