public void handleVariableTransition(String variableName, String transition) { Map<String, List<CmmnSentryPart>> sentries = collectAllSentries(); List<CmmnSentryPart> sentryParts = collectSentryParts(sentries); List<String> affectedSentries = collectAffectedSentriesWithVariableOnParts(variableName, transition, sentryParts); List<CmmnSentryPart> affectedSentryParts = getAffectedSentryParts(sentries, affectedSentries); forceUpdateOnCaseSentryParts(affectedSentryParts); List<String> allSentries = new ArrayList<String>(sentries.keySet()); List<String> satisfiedSentries = getSatisfiedSentriesInExecutionTree(allSentries, sentries); List<CmmnSentryPart> satisfiedSentryParts = getAffectedSentryParts(sentries, satisfiedSentries); resetSentryParts(satisfiedSentryParts); fireSentries(satisfiedSentries); }