@Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        PiPacketMetadata piPacket = (PiPacketMetadata) o;
        return Objects.equal(id, piPacket.id()) &&
                Objects.equal(value, piPacket.value());
    }
@Test
    public void testEquals() {

        new EqualsTester()
                .addEqualityGroup(piPacketMetadata1, sameAsPiPacketMetadata1)
                .addEqualityGroup(piPacketMetadata2)
                .testEquals();
    }