Node { public Node<T> add(Node<T> node) { this.children.add(node); return node; } Node(T element); Set<T> collectLeafs(Predicate<T> filter); @Nullable Node<T> find(T element); @Nullable List<Node<T>> trace(T element); Node<T> add(Node<T> node); void add(Collection<Node<T>> nodes); boolean isEmpty(); Set<Node<T>> getChildren(); T getElement(); @Override String toString();  }
@Test void add() { assertEquals(1, NODE.getChildren().size()); }