class Node{ Vec3D position; ArrayList neighbors; Node(){ position=new Vec3D(); neighbors= new ArrayList(); } Node(Vec3D position){ this.position=new Vec3D(position); this.neighbors= new ArrayList(); } Node chooseNeighbor(){ int n = neighbors.size(); return (Node)neighbors.get(constrain((int)random(n),0,n-1)); } void add(Node neighbor){ neighbors.add(neighbor); } }