* @see com.projity.pm.scheduling.Schedule#moveInterval(java.lang.Object, long, long, com.projity.pm.scheduling.ScheduleInterval)
*/
public void moveInterval(Object eventSource, long start, long end, ScheduleInterval oldInterval, boolean isChild) {
WorkCalendar cal = getEffectiveWorkCalendar();
start = cal.adjustInsideCalendar(start,false);
boolean shifting = cal.compare(start,oldInterval.getStart(),false) != 0;
long assignmentStart = getEarliestAssignmentStart();
long amountFromStart = cal.compare(oldInterval.getStart(),assignmentStart,false); // possible that they are not the same but there is no working time between them
if (shifting && amountFromStart == 0L) { // see if first bar shifted -The first bar is drawn from the first assignment and not from the task start.
// To figure out the new task start, see how much the shift of this bar is, then apply that difference to the task start
long shift = cal.compare(start,assignmentStart,false);