replan=true;
    protected void handleExpansionChanges(Enumeration expansions) {        AllocationResult ar;	//System.out.println(">>>>>>>^^^^^^<<<<<<<<<<new handleExpansionChanges");        while (expansions.hasMoreElements()) {            Expansion exp = (Expansion) expansions.nextElement();            ar = exp.getReportedResult();            if (ar != null && !ar.isSuccess()) {                NewWorkflow wf = (NewWorkflow) exp.getWorkflow();		boolean replan = false;		AllocationResult failedAR = null;                for (Enumeration tasks = wf.getTasks(); tasks.hasMoreElements(); ) {                    Task subtask = (Task) tasks.nextElement();                    PlanElement pe = subtask.getPlanElement();                    if (pe != null) { // Null if being rescinded by customer                        ar = pe.getEstimatedResult();                        if (!ar.isSuccess()) {			    failedAR=ar;			    continue;			}                    }                    wf.removeTask(subtask);                    delegate_.publishRemove(subtask);		    replan=true;                }		if(replan){		    //System.out.println(">>>>>>>^^^^^^<<<<<<<<<<Replanning with failed withdrawal AR");		    printDebug(">>>>>>>^^^^^^<<<<<<<<<<Replanning with failed withdrawal AR");		    AllocationResult newAr = wf.aggregateAllocationResults();		    if (newAr != null) {  // if the aggregation is defined:			// set the result on the expansion			((PEforCollections) exp).setReceivedResult(newAr);		    }		    //delegate_.publishChange(failedAR);		}            }        }    }