CompletableFuture<Boolean> (Value value, EvaluationContext evaluationContext, NodeDescriptor parentDescriptor) { DebuggerManagerThreadImpl.assertIsManagerThread(); if (value instanceof ArrayReference) { return DebuggerUtilsAsync.length((ArrayReference)value).thenApply(r -> r > 0).exceptionally(throwable -> true); } else if (value instanceof ObjectReference) { return CompletableFuture.completedFuture(true); // if object has no fields, it contains a child-message about that //return ((ObjectReference)value).referenceType().allFields().size() > 0; } return CompletableFuture.completedFuture(false); }