parser.setKind(ASTParser.K_COMPILATION_UNIT);
parser.setSource(source.toCharArray()); // set source
parser.setResolveBindings(true); // we need bindings later on
CompilationUnit cu = (CompilationUnit) parser.createAST(null);
// List types = cu.structuralPropertiesForType();
ASTRewrite rewriter = ASTRewrite.create(cu.getAST());
for(Object o:cu.types()){
AbstractTypeDeclaration dec = (AbstractTypeDeclaration) o;
List bodyDeclarations = dec.bodyDeclarations();
for(Object body:bodyDeclarations){
MethodDeclaration methodDec = (MethodDeclaration) body;
ListRewrite listRewrite = rewriter.getListRewrite(methodDec.getJavadoc(), Javadoc.TAGS_PROPERTY);
List originalList = listRewrite.getOriginalList();
ASTNode node = createNode(cu.getAST());
listRewrite.insertLast(node, null);
System.out.println(originalList);
System.out.println(listRewrite.getRewrittenList());
}
}
TextEdit rewriteAst = rewriter.rewriteAST(doc, null);
rewriteAst.apply(doc);
System.out.println(doc.get());
}