publishSubtasks (wantConfidence, task, subtasks);
publishSubtasks (wantMediumConfidenceOnExpansion, task, subtasks);
  protected List makeSetupWrapupExpansion (Task task, Asset asset, Date start, Date end, Date setupStart, Date wrapupEnd) {    if (isDebugEnabled())      debug (getName () + ".makeSetupWrapupExpansion : " + 			  " assigning " + task.getUID() + 			  "\nto " + asset.getUID () +			  " from " + start + 			  " to " + end);    if (setupStart.after (start))      error (getName () + ".makeSetupWrapupExpansion : ERROR, assigned setupStart - " + setupStart + " after start " + start + 			  " for task " + task);    if (start.after (end))      error (getName () + ".makeSetupWrapupExpansion : ERROR, assigned start - " + start + " after end " + end + 			  " for task " + task);    if (end.after (wrapupEnd))      error (getName () + ".makeSetupWrapupExpansion : ERROR, assigned end - " + end + " after wrapupEnd " + wrapupEnd + 			  " for task " + task);	      boolean wantConfidence = false;        // if true, the estimated alloc result has a medium confidence     try { wantConfidence = getMyParams().getBooleanParam ("wantMediumConfidenceOnExpansion"); }    catch (Exception e) {}    Vector subtasks = new Vector ();	    subtasks.add (createMainTask (task, asset, start, end, setupStart, wrapupEnd));    if (makeSetupAndWrapupTasks) {      if (setupStart.getTime() < start.getTime()) {	if (isDebugEnabled())	  debug (getName () + ".makeSetupWrapupExpansion : making setup task for " + task.getUID());	subtasks.add (createSetupTask (task, asset, start, end, setupStart, wrapupEnd));      }      if (wrapupEnd.getTime() > end.getTime()) {	if (isDebugEnabled())	  debug (getName () + ".makeSetupWrapupExpansion : making wrapup task for " + task.getUID());	subtasks.add (createWrapupTask (task, asset, start, end, setupStart, wrapupEnd));      }    }    publishSubtasks (wantConfidence, task, subtasks);	    return subtasks;  }