private MethodDeclaration createSetterMethod(AST ast, ASTRewrite rewriter) throws JavaModelException {
private MethodDeclaration createSetterMethod(AST ast, ASTRewrite rewriter, GroupDescription description) throws JavaModelException {
	private MethodDeclaration createSetterMethod(AST ast, ASTRewrite rewriter) throws JavaModelException {		FieldDeclaration field= (FieldDeclaration)ASTNodes.getParent(fFieldDeclaration, FieldDeclaration.class);		Type type= field.getType();		MethodDeclaration result= ast.newMethodDeclaration();		rewriter.markAsInserted(result);		result.setName(ast.newSimpleName(fSetterName));		result.setModifiers(createModifiers());		if (fSetterMustReturnValue) {			result.setReturnType((Type)rewriter.createCopy(type));		}		SingleVariableDeclaration param= ast.newSingleVariableDeclaration();		result.parameters().add(param);		param.setName(ast.newSimpleName(fArgName));		param.setType((Type)rewriter.createCopy(type));				Block block= ast.newBlock();		result.setBody(block);		Assignment ass= ast.newAssignment();		ass.setLeftHandSide(createFieldAccess(ast));		ass.setRightHandSide(ast.newSimpleName(fArgName));		if (fSetterMustReturnValue) {			ReturnStatement rs= ast.newReturnStatement();			rs.setExpression(ass);			block.statements().add(rs);		} else {			block.statements().add(ast.newExpressionStatement(ass));		}		return result;	}