TCGTransition in_oTransition)
{
List<TCGNode> colRetNodes = new ArrayList<TCGNode>();
TCGNode oOriginallyReferencedNode = in_oTransition.getSourceNode();
if(oOriginallyReferencedNode instanceof TCGIntermediateNode) {
TCGIntermediateNode oIntNode = (TCGIntermediateNode)oOriginallyReferencedNode;
colRetNodes.add(oOriginallyReferencedNode);
// connection point: add connection point references
if(!oIntNode.getReferencedConnectionPointReferences().isEmpty()) {
colRetNodes.addAll(oIntNode.getReferencedConnectionPointReferences());
}
// connection point reference: add connection points
else if(!oIntNode.getReferencedConnectionPoints().isEmpty()) {
colRetNodes.addAll(oIntNode.getReferencedConnectionPoints());
}
}
else
colRetNodes = TCGNodeHelperClass.getPossibleSubNodes(
oOriginallyReferencedNode, in_oTransition.getEvents());