@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof PiMatchKey)) {
            return false;
        }
        PiMatchKey that = (PiMatchKey) o;
        return Objects.equal(fieldMatches, that.fieldMatches);
    }
@Test
    public void testEquals() {

        new EqualsTester()
                .addEqualityGroup(piMatchKey1, sameAsPiMatchKey1)
                .addEqualityGroup(PiMatchKey.EMPTY, PiMatchKey.EMPTY)
                .addEqualityGroup(piMatchKey2)
                .testEquals();
    }