@Override
    public boolean equals(final Object o) {
        if(this == o) {
            return true;
        }
        if(o == null || getClass() != o.getClass()) {
            return false;
        }
        final LifecycleConfiguration that = (LifecycleConfiguration) o;
        if(!Objects.equals(expiration, that.expiration)) {
            return false;
        }
        if(!Objects.equals(transition, that.transition)) {
            return false;
        }
        return true;
    }
@Test
    public void testEquals() {
        assertEquals(LifecycleConfiguration.empty(), new LifecycleConfiguration());
        assertEquals(new LifecycleConfiguration(1, 1), new LifecycleConfiguration(1, 1));
        assertEquals(new LifecycleConfiguration(1, 2), new LifecycleConfiguration(1, 2));
        assertNotEquals(new LifecycleConfiguration(1, 2), new LifecycleConfiguration(2, 1));
    }