debug ("" + task.getUID() + " - ready " + ready + (start.before(ready) ? (" AFTER start " + start) : "") + " early " + early   + (end.before(early) ? (" AFTER end " + end) : "") + " best " + prefHelper.getBestDate (task) + " late " + late     + (end.after(late) ? (" BEFORE end " + end) : ""));
if (start.before(ready) || end.before  (early) || end.after   (late)) warn ("" + task.getUID() + " - ready " + ready + (start.before(ready) ? (" AFTER start " + start) : "") + " early " + early   + (end.before(early) ? (" AFTER end " + end) : "") + " best " + prefHelper.getBestDate (task) + " late " + late     + (end.after(late) ? (" BEFORE end " + end) : "")); else debug ("" + task.getUID() + " - ready " + ready + (start.before(ready) ? (" AFTER start " + start) : "") + " early " + early   + (end.before(early) ? (" AFTER end " + end) : "") + " best " + prefHelper.getBestDate (task) + " late " + late     + (end.after(late) ? (" BEFORE end " + end) : ""));
  public void handleMultiAssignment (Vector tasks, Asset asset, 				     Date start, Date end, Date setupStart, Date wrapupEnd, boolean assetWasUsedBefore) {    if (isDebugEnabled()) {      debug (getName() + ".handleMultiAssignment : ");      debug ("\nAssigned tasks : ");      for (int i = 0; i < tasks.size (); i++) {	Task task = (Task) tasks.get(i);	Date ready = prefHelper.getReadyAt   (task);	Date early = prefHelper.getEarlyDate (task);	Date late  = prefHelper.getLateDate  (task);	debug ("" + task.getUID() +			    " - ready " + ready + (start.before(ready) ? (" AFTER start " + start) : "") +			    " early " + early   + (end.before(early) ? (" AFTER end " + end) : "") +			    " best " + prefHelper.getBestDate (task) + 			    " late " + late     + (end.after(late) ? (" BEFORE end " + end) : ""));      }      debug ("\nresource = " + asset +			  "\nsetup    = " + setupStart +			  "\nstart    = " + start +			  "\nend      = " + end +			  "\nwrapup   = " + wrapupEnd);    }      makePlanElement (tasks, asset, start, end, setupStart, wrapupEnd, assetWasUsedBefore);  }