if (!task.getVerb().equals (Constants.Verb.PROJECTWITHDRAW)) { Exception exception = new Exception ("Adding non-PROJECTWITHDRAW task to inventory BG"); logger.error(".addWithdrawProjection - adding non-PROJECTWITHDRAW task " + task + " to inventory BG.", exception); }
  public void addWithdrawProjection(Task task) {    // Adding projections mean changed critical levels and    // target levels.  Set boolean to recompute critical    // levels and clear targetLevelsList for CSV logging    compute_critical_levels = true;    targetLevelsList.clear();    long start = taskUtils.getStartTime(task);    long end = taskUtils.getEndTime(task);    int bucket_start = convertTimeToBucket(start);    int bucket_end = convertTimeToBucket(end);    if (bucket_end >= projectedDemandArray.length) {      projectedDemandArray = expandArray(projectedDemandArray);    }    while (bucket_end >= dueOutList.size()) {      dueOutList.add(new ArrayList());    }//      System.out.println("Task start: "+TimeUtils.dateString(start)+" end  : "+TimeUtils.dateString(end));//      System.out.println("bucket start "+bucket_start+", bucket end "+bucket_end);    for (int i=bucket_start; i < bucket_end; i++) {      ArrayList list = (ArrayList)dueOutList.get(i);      list.add(task);      updateProjectedDemandList(task, i, start, end, true);    }  }