doPacking(getAggregationClosure(tasks), tasks, getSortFunction(), getPreferenceAggregator(),
doPacking(tasks, getSortFunction(), getPreferenceAggregator(),
  public void processNewTasks(Enumeration newTasks) {    ArrayList tasks = new ArrayList();    while (newTasks.hasMoreElements()) {      Task task = (Task)newTasks.nextElement();      if (task.getPlanElement() != null) {        System.err.println("Packer: Unable to pack - " + task.getUID() +                            " - task already has a PlanElement - " +                            task.getPlanElement() + ".\n" +                           "Is the UniversalAllocator also handling Supply tasks in this node?");      } else {        System.out.println("Packer: Got a new task - " + task.getUID() +                            " from " + task.getSource());        ADD_TASKS++;        ADD_TONS += task.getPreferredValue(AspectType.QUANTITY);        tasks.add(task);      }    }    if (tasks.size() == 0) {      return;    }    System.out.println("Packer - number of added SUPPLY tasks: " + ADD_TASKS +                       ", aggregated quantity from added SUPPLY tasks: " +                        ADD_TONS + " tons.");    doPacking(getAggregationClosure(tasks), tasks,              getSortFunction(), getPreferenceAggregator(),              getAllocationResultDistributor());  }