import java.util.ArrayList; public class Node { private final String name; private ArrayList<Node> children; public Node(String name) { this.name = name; this.children = new ArrayList<Node>(); } public void addChild(String name) { Node child = new Node(name); this.children.add(child); } public void addChild(Node child) { this.children.add(child); } public String getName() { return name; } public ArrayList<Node> getChildren() { return children; } }