fMethodsToOverride= methods;
	protected ASTRewrite getRewrite() throws CoreException {		ITypeBinding binding;		List bodyDecls;		if (fTypeNode instanceof AnonymousClassDeclaration) {			AnonymousClassDeclaration decl= (AnonymousClassDeclaration) fTypeNode;			binding= decl.resolveBinding();			bodyDecls= decl.bodyDeclarations();		} else {			TypeDeclaration decl= (TypeDeclaration) fTypeNode;			binding= decl.resolveBinding();			bodyDecls= decl.bodyDeclarations();		}		IMethodBinding[] methods= evalUnimplementedMethods(binding);				ASTRewrite rewrite= new ASTRewrite(fTypeNode);		AST ast= fTypeNode.getAST();		CodeGenerationSettings settings= JavaPreferencesSettings.getCodeGenerationSettings();		if (!settings.createComments || binding.isAnonymous()) {			settings= null;		}				for (int i= 0; i < methods.length; i++) {			MethodDeclaration newMethodDecl= createNewMethodDeclaration(ast, methods[i], rewrite, binding.getName(), settings);			rewrite.markAsInserted(newMethodDecl);			bodyDecls.add(newMethodDecl);		}		return rewrite;	}