TypeDeclaration decl= (TypeDeclaration) fTypeNode;
AbstractTypeDeclaration decl= (AbstractTypeDeclaration) fTypeNode;
	protected ASTRewrite getRewrite() throws CoreException {		ITypeBinding binding;		AST ast= fTypeNode.getAST();				ASTRewrite rewrite= ASTRewrite.create(ast);		ListRewrite listRewrite;		if (fTypeNode instanceof AnonymousClassDeclaration) {			AnonymousClassDeclaration decl= (AnonymousClassDeclaration) fTypeNode;			binding= decl.resolveBinding();			listRewrite= rewrite.getListRewrite(decl, AnonymousClassDeclaration.BODY_DECLARATIONS_PROPERTY);		} else {			TypeDeclaration decl= (TypeDeclaration) fTypeNode;			binding= decl.resolveBinding();			listRewrite= rewrite.getListRewrite(decl, TypeDeclaration.BODY_DECLARATIONS_PROPERTY);		}		IMethodBinding[] methods= evalUnimplementedMethods(binding);		fMethodsToOverride= methods;						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);			listRewrite.insertLast(newMethodDecl, null);		}		return rewrite;	}