/** Create variables for all objects in the OPD. */
 private void createLocalVariables() {
   if (opd.getKind().equals(OPMObjectProcessDiagramKind.COMPOUND)) {
     final OPMProcess zoomedInProcess = OPDAnalysis.findInZoomedProcess(opd);
     for (OPMObject object : OPDAnalysis.findContainedObjects(zoomedInProcess)) {
       createVariable(object);
     }
   }
 }
 private Set<OPMProcess> calculateFollowingProcesses(OPMInstanceExecutor instanceExecutor) {
   final Set<OPMProcess> followingProcesses = Sets.newHashSet();
   if (instanceExecutor.wasExecuted()) {
     for (Parameter parameter : instanceExecutor.getOutgoingParameters())
       followingProcesses.addAll(OPDAnalysis.findConnectedEventProcesses(parameter.getObject()));
     followingProcesses.addAll(OPDAnalysis.findInvocationProcesses(instanceExecutor.getProcess()));
   }
   followingProcesses.addAll(findNextProcessesToExecute(instanceExecutor.getProcess()));
   return followingProcesses;
 }
 @Override
 protected void initProcessInstance() {
   loadOPD();
   opdDag = OPDExecutionAnalysis.createOPDDAG(opd);
   final Collection<OPMObject> parameters = OPDAnalysis.findContainedObjects(opd);
   for (OPMObject object : parameters) {
     createVariable(object);
   }
 }