public Item and(Item item) {
        Item result = and(getRoot(), item);
        setRoot(result);
        return result;
    }
@Test
    void testAddQueryItemWithRoot() {
        assertEquals("AND a b",
                new QueryTree(new WordItem("a")).and(new WordItem("b")).toString());

        NotItem not = new NotItem();
        not.addNegativeItem(new WordItem("b"));
        assertEquals("+a -b",
                new QueryTree(new WordItem("a")).and(not).toString());
    }