in src/main/java/com/jetbrains/jdi/EventQueueImpl.java [103:132]
public EventSet remove(long timeout) throws InterruptedException {
if (timeout < 0) {
throw new IllegalArgumentException("Timeout cannot be negative");
}
EventSet eventSet;
while (true) {
EventSetImpl fullEventSet = removeUnfiltered(timeout);
if (fullEventSet == null) {
eventSet = null; // timeout
break;
}
/*
* Remove events from the event set for which
* there is no corresponding enabled request (
* this includes our internally requested events.)
* This never returns null
*/
eventSet = fullEventSet.userFilter();
if (!eventSet.isEmpty()) {
break;
}
}
if ((eventSet != null) && (eventSet.suspendPolicy() == JDWP.SuspendPolicy.ALL)) {
vm.notifySuspend();
}
return eventSet;
}