The checkCompletionContent method had two issues:
1. Order-dependent assertions: After async computation finishes,
proposals from different processors are merged via
CompletableFuture.thenAccept(addAll), and the final ordering
depends on thread scheduling. The test assumed a fixed order.
2. Stale virtual table data: The completion proposal Table uses
SWT.VIRTUAL. When setProposals() calls clearAll(), items are
marked as unmaterialized but Widget.data is NOT cleared. The
SWT.SetData handler sets both text and data, but getData() does
not trigger SetData -- only getText()/getImage() do. The wait
condition only checked item 0's text (via isComputingInfoEntry),
leaving item 1 with stale data from the previous render.
Fixes:
- Check both items' text in the wait condition to force virtual
table materialization via SWT.SetData for both items
- Make proposal assertions order-independent
Fixes https://github.com/eclipse-platform/eclipse.platform.ui/issues/3880