transactionProject = task.getProject();
transactionProject.beginUndoUpdate();
transactionId = transactionProject.fireMultipleTransaction(0,true);
//backup before any assignment operation
transactionProject.getUndoController().getEditSupport().postEdit(new ScheduleBackupEdit(tasks,this));
}
// if task currently has no assignments, then we should not change duration if adding several at once
boolean taskHasNoAssignments = !task.hasRealAssignments() || !task.hasLaborAssignment();
int oldSchedulingType = task.getSchedulingType();
boolean oldEffortDriven = task.isEffortDriven();