void (@NotNull SuspendContextImpl suspendContext) { ReferenceType refType = myStaticDescriptor.getType(); DebuggerUtilsAsync.allFields(refType) .thenAccept( fields -> { boolean showSynthetics = NodeRendererSettings.getInstance().getClassRenderer().SHOW_SYNTHETICS; List<Field> fieldsToShow = ContainerUtil.filter(fields, f -> f.isStatic() && (showSynthetics || !DebuggerUtils.isSynthetic(f))); List<List<Field>> chunks = DebuggerUtilsImpl.partition(fieldsToShow, XCompositeNode.MAX_CHILDREN_TO_SHOW); //noinspection unchecked CompletableFuture<XValueChildrenList>[] futures = chunks.stream() .map(l -> createNodes(l, refType)) .toArray(CompletableFuture[]::new); CompletableFuture.allOf(futures) .thenAccept(__ -> { StreamEx.of(futures).map(CompletableFuture::join).forEach(c -> node.addChildren(c, false)); node.addChildren(XValueChildrenList.EMPTY, true); }); } ); }