mutating AST

hello, i am newbie in llvm clang world, some doubts ..
how to modify AST?
is it possible by inheriting RecursiveASTVisitor<MyASTVisitor> and
implementing methods like VisitStmt ,VisitFunctionDecl
or it is there just to traverse AST?

Clang’s AST is considered an immutable data structure.

– Sean Silva

Have you tried this?
https://www.google.co.in/url?sa=t&source=web&rct=j&ei=pGnGVPK6IsG3mAW4_4KACw&url=http://llvm.org/devmtg/2013-04/krzikalla-slides.pdf&ved=0CB8QFjAB&usg=AFQjCNGc5MgyMroE4P9PIGJnBUnO2JtBjg&sig2=m8oQtfrIUaWqEWT1QVst0g