public synchronized AllocationResult aggregateAllocationResults(List changedSubtaskUIDs) { TaskScoreTable tst = updateTST(); if (tst == null) return null;  AllocationResult newresult = currentARA.calculate(this, tst, cachedar); cachedar = newresult; changedSubtasks.addAll(changedSubtaskUIDs); return newresult;
public AllocationResult aggregateAllocationResults() { return aggregateAllocationResults(Collections.EMPTY_LIST);
  public synchronized AllocationResult aggregateAllocationResults(List changedSubtaskUIDs) {    TaskScoreTable tst = updateTST();    if (tst == null) return null;    // call calculate on the PenaltyValueAggregator    AllocationResult newresult = currentARA.calculate(this, tst, cachedar);    cachedar = newresult;    changedSubtasks.addAll(changedSubtaskUIDs);    return newresult;  }