list.addAll(fDelegateChanges);
	public final Change createChange(final IProgressMonitor monitor) throws CoreException, OperationCanceledException {		Assert.isNotNull(monitor);		try {			monitor.beginTask("", 6); //$NON-NLS-1$			monitor.setTaskName(RefactoringCoreMessages.MoveInstanceMethodProcessor_creating); 			final TextChange[] changes= fChangeManager.getAllChanges();			if (changes.length == 1)				return changes[0];			final List list= new ArrayList(changes.length + fDelegateChanges.size());			list.addAll(Arrays.asList(changes));			list.addAll(fDelegateChanges);			return new DynamicValidationStateChange(RefactoringCoreMessages.MoveInstanceMethodRefactoring_name, (Change[]) list.toArray(new Change[list.size()])) {				public final ChangeDescriptor getDescriptor() {					final Map arguments= new HashMap();					String project= null;					final IJavaProject javaProject= fMethod.getJavaProject();					if (javaProject != null)						project= javaProject.getElementName();					int flags= JavaRefactoringDescriptor.JAR_REFACTORABLE | JavaRefactoringDescriptor.JAR_SOURCE_ATTACHMENT | RefactoringDescriptor.STRUCTURAL_CHANGE | RefactoringDescriptor.MULTI_CHANGE;					final IType declaring= fMethod.getDeclaringType();					try {						if (declaring.isAnonymous() || declaring.isLocal())							flags|= JavaRefactoringDescriptor.JAR_SOURCE_ATTACHMENT;					} catch (JavaModelException exception) {						JavaPlugin.log(exception);					}					final JavaRefactoringDescriptor descriptor= new JavaRefactoringDescriptor(ID_MOVE_METHOD, project, Messages.format(RefactoringCoreMessages.MoveInstanceMethodProcessor_descriptor_description, new String[] { JavaElementLabels.getElementLabel(fMethod, JavaElementLabels.ALL_FULLY_QUALIFIED), BindingLabelProvider.getBindingLabel(fTarget, JavaElementLabels.ALL_FULLY_QUALIFIED)}), getComment(), arguments, flags);					arguments.put(JavaRefactoringDescriptor.ATTRIBUTE_INPUT, descriptor.elementToHandle(fMethod));					arguments.put(JavaRefactoringDescriptor.ATTRIBUTE_NAME, fMethodName);					arguments.put(ATTRIBUTE_TARGET_NAME, fTargetName);					arguments.put(ATTRIBUTE_DEPRECATE, Boolean.valueOf(fDelegateDeprecation).toString());					arguments.put(ATTRIBUTE_REMOVE, Boolean.valueOf(fRemove).toString());					arguments.put(ATTRIBUTE_INLINE, Boolean.valueOf(fInline).toString());					arguments.put(ATTRIBUTE_USE_GETTER, Boolean.valueOf(fUseGetters).toString());					arguments.put(ATTRIBUTE_USE_SETTER, Boolean.valueOf(fUseSetters).toString());					arguments.put(ATTRIBUTE_TARGET_INDEX, new Integer(getTargetIndex()).toString());					return new RefactoringChangeDescriptor(descriptor);				}			}; 		} finally {			monitor.done();		}	}