// source and target nodes must be in the same region -> one is substate of the other
if(TCGNodeHelperClass.firstNodeIsSubStateOfOrEqualToSecondNode(
oPreviousTransitionInstance.getTargetNode(), oCurrentTransitionInstance.getSourceNode()) ||
TCGNodeHelperClass.firstNodeIsSubStateOfOrEqualToSecondNode(
oCurrentTransitionInstance.getSourceNode(), oPreviousTransitionInstance.getTargetNode())) {
TCGEvent oEvent = oCurrentTransitionInstance.getCalledEvent();
if(oEvent != null) {
return oEvent.isDefaultEvent();
}
else if(in_bAlsoIncludeNullEvents)
return true;
}
}
// last transition instance and still no event found -> check the outgoing transitions of the test case's last node
TransitionInstance oTransitionInstance = in_oTestCase.getTransitionInstances().get(
in_oTestCase.getTransitionInstances().size() - 1);
TCGNode oLastNode = oTransitionInstance.getTargetNode();
for(TCGTransition oOutgoingTransition : TCGNodeHelperClass.getOutgoingTransitions(oLastNode)) {
if(oOutgoingTransition.isCanBeProcessed()) {
for(TCGEvent oEvent : oOutgoingTransition.getEvents()) {
if (oEvent.isDefaultEvent() &&
TCGTransitionInstanceHelperClass.checkSatisfactionOfCondition(
oTransitionInstance, oOutgoingTransition.getPrecondition()))
return true;
}
}