return new JavaRefactoringDescriptor(ID_EXTRACT_TEMP, project, Messages.format(RefactoringCoreMessages.ExtractTempRefactoring_descriptor_description, new String[] { fTempName, ASTNodes.asString(fSelectedExpression.getAssociatedExpression()) }), getComment(), arguments, RefactoringDescriptor.NONE);
JavaRefactoringDescriptor descriptor= new JavaRefactoringDescriptor(ID_EXTRACT_TEMP, project, Messages.format(RefactoringCoreMessages.ExtractTempRefactoring_descriptor_description, new String[] { fTempName, ASTNodes.asString(fSelectedExpression.getAssociatedExpression()) }), getComment(), arguments, RefactoringDescriptor.NONE); return new RefactoringChangeDescriptor(descriptor);
	private TextChange doCreateChange(ITextFileBuffer buffer, IProgressMonitor pm) throws CoreException, JavaModelException {		TextChange change= new CompilationUnitChange(RefactoringCoreMessages.ExtractTempRefactoring_extract_temp, fCu) {					public final ChangeDescriptor getDescriptor() {				final Map arguments= new HashMap();				arguments.put(JavaRefactoringDescriptor.INPUT, fCu.getHandleIdentifier());				arguments.put(JavaRefactoringDescriptor.NAME, fTempName);				arguments.put(ATTRIBUTE_SELECTION, new Integer(fSelectionStart).toString() + " " + new Integer(fSelectionLength).toString()); //$NON-NLS-1$				arguments.put(ATTRIBUTE_REPLACE, Boolean.valueOf(fReplaceAllOccurrences).toString());				arguments.put(ATTRIBUTE_FINAL, Boolean.valueOf(fDeclareFinal).toString());				String project= null;				IJavaProject javaProject= fCu.getJavaProject();				if (javaProject != null)					project= javaProject.getElementName();				return new JavaRefactoringDescriptor(ID_EXTRACT_TEMP, project, Messages.format(RefactoringCoreMessages.ExtractTempRefactoring_descriptor_description, new String[] { fTempName, ASTNodes.asString(fSelectedExpression.getAssociatedExpression()) }), getComment(), arguments, RefactoringDescriptor.NONE);			}		};		try {			String lineDelimiter= buffer.getDocument().getLineDelimiter(buffer.getDocument().getLineOfOffset(fSelectionStart));			TextEdit tempDeclarationEdit= createTempDeclarationEdit(lineDelimiter);			TextChangeCompatibility.addTextEdit(change, RefactoringCoreMessages.ExtractTempRefactoring_declare_local_variable, tempDeclarationEdit); 		} catch (CoreException exception) {			JavaPlugin.log(exception);		} catch (BadLocationException exception) {			JavaPlugin.log(exception);		}		pm.worked(1);		if (fImportEdit != null)			TextChangeCompatibility.addTextEdit(change, RefactoringCoreMessages.ExtractTempRefactoring_update_imports, fImportEdit.copy());		pm.worked(1);		addReplaceExpressionWithTemp(change);		pm.worked(1);		return change;	}