@@ -0,0 +1,1230 @@
+package boa.graphs.cdg;%0A%0Aimport boa.graphs.cfg.CFGNode;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0Apublic class TreeNode implements Comparable%3CTreeNode%3E %7B%0A%0A    private TreeNode parent;%0A    private int id;%0A    private CFGNode node;%0A    private List%3CTreeNode%3E children = new ArrayList%3C%3E();%0A%0A    public TreeNode(CFGNode node) %7B%0A        this.id = node.getId();%0A        this.node = node;%0A    %7D%0A%0A    //Getters%0A    public TreeNode getParent() %7B%0A        return parent;%0A    %7D%0A%0A    public int getId() %7B%0A        return id;%0A    %7D%0A%0A    public CFGNode getNode() %7B%0A        return node;%0A    %7D%0A%0A    public List%3CTreeNode%3E getChildren() %7B%0A        return children;%0A    %7D%0A%0A    //Setters%0A    public void setParent(TreeNode parent) %7B%0A        this.parent = parent;%0A    %7D%0A%0A    public void setId(int id) %7B%0A        this.id = id;%0A    %7D%0A%0A    @Override%0A    public int compareTo(final TreeNode node) %7B%0A        return node.id - this.id;%0A    %7D%0A%0A    @Override%0A    public boolean equals(Object o) %7B%0A        if (this == o) return true;%0A        if (o == null %7C%7C getClass() != o.getClass()) return false;%0A%0A        TreeNode treeNode = (TreeNode) o;%0A%0A        return id == treeNode.id;%0A    %7D%0A%0A    @Override%0A    public int hashCode() %7B%0A        return id;%0A    %7D%0A%7D

add class for tree node