}
@Override
public ChoiceGenerator<ThreadInfo> createThreadTerminateCG (ThreadInfo terminateThread) {
// terminateThread is already TERMINATED at this point
ThreadList tl = vm.getThreadList();
// NOTE returning null does not directly define an end state - that's up to
// a subsequent call to vm.isEndState()
// <2do> FIXME this is redundant and error prone
if (tl.hasAnyAliveThread()) {
return new HJThreadChoice( "terminate", getRunnablesWithout(terminateThread), true);
} else {
return null;
}
}