((NewTask)newtask).setContext(parentTask.getContext());
  protected Task makeTask (Task parentTask, Asset directObject, String originalOwner) {    if (isDebugEnabled())       debug (".makeTask - making subtask of " + parentTask.getUID () + 	     " d.o. " + directObject);        Task newtask = expandHelper.makeSubTask (ldmf,					     parentTask,					     directObject,					     getAgentIdentifier());    glmPrepHelper.removePrepNamed(newtask, Constants.Preposition.OFTYPE);    // Next four lines create a Property Group for unit and attach it to all assets attached to task    ForUnitPG unitPG = (ForUnitPG)ldmf.createPropertyGroup(ForUnitPG.class);    if (!glmPrepHelper.hasPrepNamed (newtask,Constants.Preposition.FOR)) {      String owner = (originalOwner != null) ? originalOwner : directObject.getUID().getOwner();      if (isInfoEnabled()) {	info (".getSubtasks - NOTE : got task " + parentTask.getUID() + 	      " which has no FOR unit prep, using owner - " + owner + ".");      }	      ((NewForUnitPG)unitPG).setUnit(owner);    } else {      ((NewForUnitPG)unitPG).setUnit((String)glmPrepHelper.getIndirectObject(newtask,Constants.Preposition.FOR));      glmPrepHelper.removePrepNamed(newtask, Constants.Preposition.FOR);    }	    attachPG(directObject, unitPG);    // glmtrans doesn't deal with quantity -- only get success or failure    if (prefHelper.hasPrefWithAspectType(newtask, AspectType.QUANTITY))      prefHelper.removePrefWithAspectType(newtask, AspectType.QUANTITY);    attachRoute (parentTask, newtask);    return newtask;  }