public static ProcessingGuarantee min(ProcessingGuarantee g1, ProcessingGuarantee g2) {
        return g1.ordinal() < g2.ordinal() ? g1 : g2;
    }
@Test
    public void test_minGuarantee() {
        assertEquals(NONE, Util.min(NONE, AT_LEAST_ONCE));
        assertEquals(AT_LEAST_ONCE, Util.min(AT_LEAST_ONCE, EXACTLY_ONCE));
        assertEquals(NONE, Util.min(NONE, EXACTLY_ONCE));
        assertEquals(NONE, Util.min(NONE, NONE));
    }