completedThrough = Math.min(completedThrough,getEnd());
if (completedThrough == getCompletedThrough())
return;
Iterator i = getAssignments().iterator();
Assignment assignment;
long computedActualStart = Long.MAX_VALUE;
long assignmentActualStart;
while (i.hasNext()) {
assignment = (Assignment)i.next();
assignment.setCompletedThrough(completedThrough);
assignmentActualStart = assignment.getActualStart();
if (assignmentActualStart != 0 && assignmentActualStart < computedActualStart)
computedActualStart = assignmentActualStart;
}
if (computedActualStart == Long.MAX_VALUE)
computedActualStart = 0;