void (LocatableEvent event) { if (Registry.is("debugger.preload.event.info") && DebuggerUtilsAsync.isAsyncEnabled()) { List<CompletableFuture> commands = new ArrayList<>(); ThreadReference thread = event.thread(); if (thread instanceof ThreadReferenceImpl t) { commands.addAll(List.of(t.frameCountAsync(), t.nameAsync(), t.statusAsync(), t.frameAsync(0))); } Location location = event.location(); 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); } } } }