if (spe.getTask () != null) { error ("huh? there already is a task " + spe.getTask().getUID () + " for " + spe); }
  public void turnCrank(Task task) {    if (isDebugEnabled()) debug(getName () + "---Turning Crank: S " + task.getUID());    PrepositionalPhrase prep = prepHelper.getPrepNamed(task, GLMTransConst.SequentialSchedule);        if (prep == null) {      error(getName () + ".turnCrank - ERROR - no prep named " + GLMTransConst.SequentialSchedule +	    " on task " + task);      return;    }    Schedule sched = (Schedule) prep.getIndirectObject();    Enumeration enum = sched.getAllScheduleElements();    while (enum.hasMoreElements()) {      SequentialScheduleElement spe = (SequentialScheduleElement)enum.nextElement();      if (isDebugEnabled()) 	debug(getName () + "------spe " + 	     spe + " is planned: "+	     spe.isPlanned() + " is ready " + 	     spe.isReady ());      if ((!spe.isPlanned()) && (spe.isReady())) {	Task subtask = spe.planMe(this);	attachSubtask (subtask, spe);	childToParentUID.put(subtask.getUID().toString(), task);      }    }