protected Node parseWithTargetCompiler(Source source) {
Context context = new Context();
Options.instance(context).put(OptionName.ENCODING, "UTF-8");
CommentCatcher catcher = CommentCatcher.create(context);
JavaCompiler compiler = catcher.getCompiler();
JCCompilationUnit cu = compiler.parse(new ContentBasedJavaFileObject(source.getName(), source.getRawInput()));
JcTreeConverter converter = new JcTreeConverter();
converter.visit(cu);
return converter.getResultWithJavadoc(catcher.getComments(cu));
}