@Override
    public String toString() {
        return toStringHelper(this)
                .add("matchAny", matchAny)
                .add("negation", negation)
                .add("value", value)
                .toString();
    }
@Test
    public void testToString() {
        Match<String> m1 = Match.any();
        Match<String> m2 = Match.any();
        Match<String> m3 = Match.ifValue("foo");
        Match<String> m4 = Match.ifValue("foo");
        Match<String> m5 = Match.ifNotValue("foo");

        String note = "Results of toString() should be consistent -- ";

        assertTrue(note, m1.toString().equals(m2.toString()));
        assertTrue(note, m3.toString().equals(m4.toString()));
        assertFalse(note, m4.toString().equals(m5.toString()));
    }