### Question:
PointerTargetTree { @Override public boolean equals(Object obj) { return (obj instanceof PointerTargetTree) && rootNode.equals(((PointerTargetTree) obj).getRootNode()); } PointerTargetTree(PointerTargetTreeNode rootNode);  PointerTargetTree(Synset synset, PointerTargetTreeNodeList list); PointerTargetTreeNode getRootNode(); @Override boolean equals(Object obj); @Override int hashCode(); PointerTargetTreeNode getFirstMatch(PointerTargetTreeNodeList.Operation opr); List<PointerTargetTreeNode> getAllMatches(PointerTargetTreeNodeList.Operation opr); PointerTargetTreeNode findFirst(PointerTargetTreeNode node); PointerTargetTreeNode findFirst(PointerTarget target); List<PointerTargetTreeNode> findAll(PointerTargetTreeNode node); List<PointerTargetTreeNode> findAll(PointerTarget target); void print(); List<PointerTargetNodeList> reverse(); List<PointerTargetNodeList> toList();  }### Answer:
@Test public void testEquals() throws JWNLException { Synset s1 = new Synset(null, POS.NOUN, 1); Synset s2 = new Synset(null, POS.NOUN, 2); PointerTargetTree p1 = new PointerTargetTree(new PointerTargetTreeNode(s1)); PointerTargetTree p2 = new PointerTargetTree(new PointerTargetTreeNode(s2)); PointerTargetTree p3 = new PointerTargetTree(new PointerTargetTreeNode(s1)); Assert.assertFalse(p1.equals(p2)); Assert.assertTrue(p1.equals(p3)); }