if(element.equals(op)) {
inLoop = true;
}
if(inLoop) {
final ModeEnum mode = ((AnnotationPanel) element.getAnnotationLabel(nextElement)).getMode();
if(mode == ModeEnum.ALL_PRECEDING || mode == ModeEnum.ALL_SUCCEEDING) {
throw new ModificationException("The mode '" + mode + "' is not allowed in cycles!", element);
}
}
}
return;
}
visitedNodes.add(op);
for(final OperatorIDTuple<Operator> sucOpIDt : op.getSucceedingOperators()) {
final AbstractRuleOperator sucOp = (AbstractRuleOperator) sucOpIDt.getOperator();
final ModeEnum mode = ((AnnotationPanel) ((AbstractRuleOperator) op).getAnnotationLabel(sucOp)).getMode();
if(mode == ModeEnum.ALL_SUCCEEDING) {
foundAllSucceeding = true;
}
else if(foundAllSucceeding && mode == ModeEnum.ALL_PRECEDING) {