*/
  protected double deriveTotalQty(long bucketStart, long bucketEnd, Collection projTasks){    Iterator tasksIt = projTasks.iterator();    double totalQty = 0.0;    while(tasksIt.hasNext()){      Task projTask = (Task) tasksIt.next();      long taskStart = getTaskUtils().getStartTime(projTask);      long taskEnd  = getTaskUtils().getEndTime(projTask);      if (taskStart > bucketEnd || taskEnd < bucketStart) {        continue;      }      long start = Math.max(taskStart, bucketStart);      long end = Math.min(taskEnd, bucketEnd);      //duration in seconds      double duration = ((end - start) / 1000);      Rate rate = getTaskUtils().getRate(projTask);      double qty = (getBaseUnitPerSecond(rate) * duration);      totalQty+=qty;    }    return totalQty;  }