package java3d; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.List; public class Group extends Node { private List<Node> children = new ArrayList<Node>(); public Node getChild(int num) { return children.get(num); } public int numChildren() { return children.size(); } public void addChild(Node node) { children.add(node); } public void removeChild(Node node) { children.remove(node); } public Enumeration<Node> getAllChildren() { return Collections.enumeration(children); } public Node cloneTree() { Group newInstance = new Group(); newInstance.children = new ArrayList<Node>(); for (int n = 0; n < children.size(); n++) { newInstance.children.add(children.get(n).cloneTree()); } return newInstance; } }