retval.add(newTask);  return retval;
return newTask;
  protected Vector getLowFidelityTask (Task parentTask) {    Vector retval = new Vector ();    Task newTask = null;    GLMAsset lowFiAsset =       (GLMAsset) assetHelper.createInstance (getLDMService().getLDM(), "Level2Prototype", "Level2_" + getNextID());    NewLowFidelityAssetPG lowFiPG =       (NewLowFidelityAssetPG)ldmf.createPropertyGroup(LowFidelityAssetPG.class);    lowFiPG.setOriginalAsset (lowFiAsset);    attachPG(lowFiAsset, lowFiPG); // now subobject has pointer back to parent    Asset asset = parentTask.getDirectObject();    Set cccds = null;    try {      NewPhysicalPG newPhysicalPG = PropertyGroupFactory.newPhysicalPG ();      lowFiPG.setCCCDims(setDimensions (newPhysicalPG, expandAsset (asset)));      lowFiAsset.setPhysicalPG (newPhysicalPG);    } catch (Exception e) {       logger.error ("problem processing " + asset, e);    }    ((NewItemIdentificationPG) lowFiAsset.getItemIdentificationPG()).setNomenclature ("Level2Aggregate");    if (isDebugEnabled())      debug ("getLowFidelityTask - created low fi asset " + 	     lowFiAsset.getUID() + " : " +	     lowFiAsset.getItemIdentificationPG().getNomenclature() +  " - " + 	     lowFiAsset.getItemIdentificationPG().getItemIdentification());    newTask = makeTask (parentTask, lowFiAsset, getOriginalOwner(parentTask));    // mark the new task as an aggregate low fi task    prepHelper.addPrepToTask (newTask, 			      prepHelper.makePrepositionalPhrase(ldmf,								 GLMTransConst.LOW_FIDELITY,								 GLMTransConst.LOW_FIDELITY));    retval.add(newTask);    return retval;  }