static void preloadEventInfo(ThreadReference thread, @Nullable Location location) {
    if (Registry.is("debugger.preload.event.info") && DebuggerUtilsAsync.isAsyncEnabled()) {
      List<CompletableFuture> commands = new ArrayList<>();
      if (thread instanceof ThreadReferenceImpl t) {
        commands.addAll(List.of(t.frameCountAsync(), t.nameAsync(), t.statusAsync(), t.frameAsync(0)));
      }
      if (location instanceof LocationImpl) {
        commands.add(DebuggerUtilsEx.getMethodAsync((LocationImpl)location));
      }
      try {
        CompletableFuture.allOf(commands.toArray(CompletableFuture[]::new)).get(1, TimeUnit.SECONDS);
      }
      catch (InterruptedException | TimeoutException ignored) {
      }
      catch (Exception e) {
        Throwable throwable = DebuggerUtilsAsync.unwrap(e);
        if (!(throwable instanceof IncompatibleThreadStateException)) {
          DebuggerUtilsAsync.logError(e);
        }
      }
    }
  }
static void preloadEventInfo(ThreadReference thread, @Nullable Location location)