ICompilationUnit cu= context.getCompilationUnit();
final ICompilationUnit cu= context.getCompilationUnit();
	private static boolean getExtractLocalProposal(IInvocationContext context, ASTNode covering, ArrayList proposals) throws CoreException {		ASTNode node= context.getCoveredNode();				if (!(node instanceof Expression)) {			return false;		}		final Expression expression= (Expression) node;				ITypeBinding binding= expression.resolveTypeBinding();		if (binding == null || Bindings.isVoidType(binding)) {			return false;		}		if (proposals == null) {			return true;		}		ICompilationUnit cu= context.getCompilationUnit();		final ExtractTempRefactoring refactoring= ExtractTempRefactoring.create(cu, expression.getStartPosition(), expression.getLength());		//refactoring.setLeaveDirty(true);		if (refactoring.checkActivationBasics(context.getASTRoot(), new NullProgressMonitor()).isOK()) {			String label= CorrectionMessages.QuickAssistProcessor_extract_to_local_description;			Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL);			CUCorrectionProposal proposal= new CUCorrectionProposal(label, cu, null, 5, image) {				private Change fChange= null;				protected void initializeTextChange() throws CoreException {					if (fChange == null) {						refactoring.setTempName(refactoring.guessTempName());						if (!refactoring.checkFinalConditions(new NullProgressMonitor()).hasFatalError()) {							fChange= refactoring.createChange(new NullProgressMonitor());						} else {							fChange= new DocumentChange(getDisplayString(), new Document("")); //$NON-NLS-1$						}					}				}				public Change getChange() {					return fChange;				}			};			proposals.add(proposal);		}		return false;	}