public void execute(ExecutionContext executionContext) {
Token token = executionContext.getToken();
boolean isAbleToReactivateParent = token.isAbleToReactivateParent();
if (!token.hasEnded()) token.end(false);
// if this token is not able to reactivate the parent,
// we don't need to check anything
if (isAbleToReactivateParent) {
// the token arrived in the join and can only reactivate the parent once