// CEM: Patch...
 protected boolean isDynamicPerformersAssigned() {
   /*-CONFIG-*/ String m = "ForwardWFT.isDynamicPerformersAssigned - ";
   try {
     /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
       DfLogger.debug(
           this,
           m
               + "Invoked fixed isDynamicPerformersAssigned - overrides incorrect impl in ForwardWorkflowTask",
           null,
           null);
     IWorkflowTask task = getWorkflowTask();
     // CEM: fix - replace this incorrect code..
     String page = this.getComponentPage();
     if ("assignperformers".equals(this.getComponentPage())) {
       return isDynamicPerformersAssignedHelper(task.getNextForwardActivities());
     } else {
       // return isDynamicPerformersAssignedHelper(task.getNextForwardPortNames());
       return isDynamicPerformersAssignedHelper(task.getNextForwardActivities());
     }
   } catch (DfException e) {
     throw new WrapperRuntimeException(e);
   }
 }
 public void AutoSelectSinglePath() {
   // TODO - can we do this for FinishWFT?
   /*-CONFIG-*/ String m = "AutoSelectSinglePath - ";
   /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
     DfLogger.debug(
         this, m + "check for premature Finish Click and single path selection", null, null);
   // see if the forward paths grid was ever instantiated
   Datagrid forwardgrid = (Datagrid) getControl(ForwardWorkflowTask.NEXT_TASKS_GRID_CONTROL_NAME);
   // if not, check how many paths there would be
   if (null == forwardgrid) {
     /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
       DfLogger.debug(
           this,
           m
               + "forwardgrid is null, so Finish clicked before selecting a path, see if we can autoselect",
           null,
           null);
     try {
       /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
         DfLogger.debug(this, m + "get wf task", null, null);
       IWorkflowTask task = this.getWorkflowTask();
       /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
         DfLogger.debug(
             this, m + "get forward activities for task " + task.getActivityName(), null, null);
       IDfList forwardAct = task.getNextForwardActivities();
       /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
         DfLogger.debug(this, m + "Get count of next activities", null, null);
       int count = forwardAct.getCount();
       if (1 == count) {
         /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
           DfLogger.debug(this, m + "only one next activity, so autoselect that one", null, null);
         // fake it baby
         IDfTypedObject act = (IDfTypedObject) forwardAct.get(0);
         String actId = act.getString("r_object_id");
         /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
           DfLogger.debug(this, m + "id of next activity: " + actId, null, null);
         String cboxname = "__NEXT_TASKS_CHECKBOX_CONTROL_NAME" + actId;
         /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
           DfLogger.debug(
               this, m + "creating fake checkbox for that activity: " + cboxname, null, null);
         Checkbox cbox = (Checkbox) getControl(cboxname, Checkbox.class);
         /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
           DfLogger.debug(this, m + "selecting the cbox", null, null);
         cbox.setValue(true);
         // dangerous levels of hackitude here...
         // because the superclass has the "list of next activities" property private and immutable
         // from this class, I have to resort to this trickery
         //   page == forward forces the superclass to check for selected forward paths. if it's
         // not forward, it just assumes the list is ready (which its not, and I
         //   can't make it ready since it's frikking PRIVATE. thanks, DCTM
         /*-DEBUG-*/ if (DfLogger.isDebugEnabled(this))
           DfLogger.debug(
               this,
               m
                   + "set component page to forward so that the super.onCommitChanges call works correcly",
               null,
               null);
         this.setComponentPage("forward");
       }
     } catch (DfException dfe) {
       throw new RuntimeException("Df Error in single path autoselect", dfe);
     }
   }
 }