|| typeId == OperatorTransitionModel.ANDJOIN_XORSPLIT_TYPE
|| typeId == OperatorTransitionModel.XORJOIN_ANDSPLIT_TYPE
|| typeId == OperatorTransitionModel.XOR_SPLITJOIN_TYPE
|| typeId == OperatorTransitionModel.SUBP_TYPE)) {
// Add sub-elements as tree items
InnerElementContainer operator = (InnerElementContainer) node;
ModelElementContainer simpleTransContainer = operator.getSimpleTransContainer();
// Recursively call ourselves to add inner nodes
Iterator<AbstractPetriNetElementModel> innerIterator = simpleTransContainer.getRootElements().iterator();
while (innerIterator.hasNext()) {
try {
AbstractPetriNetElementModel current = (AbstractPetriNetElementModel) innerIterator.next();
AbstractPetriNetElementModel owningElement = current.getRootOwningContainer().getOwningElement();
if ((owningElement != null)
&& (operator.equals(current.getRootOwningContainer().getOwningElement())))
add(new NodeNetInfo(current, true));
} catch (ClassCastException e) {
// Ignore all nodes that are not at least
// AbstractElementModel
}