if (fChangeManager == null){ fChangeManager= createChangeManager(new SubProgressMonitor(pm, 1)); try { RefactoringStatus status= validateModifiesFiles(); if (status.hasFatalError()) fChangeManager= new TextChangeManager(); } catch(CoreException e) { throw new JavaModelException(e); } }
	public IChange createChange(IProgressMonitor pm) throws JavaModelException {		if (! fUpdateReferences)			return super.createChange(pm);				pm.beginTask("", 2);		try{			CompositeChange composite= new CompositeChange("Reorganize elements", 2){				public boolean isUndoable(){ //XX this can be undoable in some cases. should enable it at some point.					return false; 				}			};						addAllChildren(composite, new CompositeChange("Reorganize elements", fChangeManager.getAllChanges()));						IChange fileMove= super.createChange(new SubProgressMonitor(pm, 1));			if (fileMove instanceof ICompositeChange){				addAllChildren(composite, (ICompositeChange)fileMove);					} else{				composite.add(fileMove);			}				return composite;		} finally{			pm.done();		}	}