### Question:
ZkTreeModel extends DefaultTreeModel<E> { public TreeNode<E> find(@Nonnull E data) { return find(getRoot(), data); } ZkTreeModel(@Nonnull TreeNode<E> root); TreeNode<E> find(@Nonnull E data); @Override TreeNode<E> getChild(int... path); E getChildData(int... path); E getSelectedData(@Nonnegative int depth); TreeNode<E> removeSelected(); TreeNode<E> removeChild(int... path); ZkTreeNode<E> addExpandableNode(E data, int... parentNodePath); void dropNodeBefore(TreeNode<E> node, TreeNode<E> target); void dropNodeIn(TreeNode<E> node, TreeNode<E> target); void setSelectedNode(TreeNode<E> node);  }### Answer:
@Test public void testFindWithRootDataSpecified() throws Exception { String toSearch = sut.getRoot().getData(); assertSame(sut.find(toSearch), sut.getRoot()); }
@Test public void testFind() throws Exception { String toSearch = sut.getRoot().getChildAt(1).getChildAt(2).getData(); assertSame(sut.find(toSearch), sut.getRoot().getChildAt(1).getChildAt(2)); }
@Test public void testFindWithoutSuchElement() throws Exception { assertNull(sut.find("123")); }