I guess some of the methods can be reusing the the methods in `ASTUtil` class once the other pull request is merged.