public static int higher(Integer orderSource, int offset) {
        if (offset <= 0) {
            throw new IllegalArgumentException("offset must be greater than 0");
        }

        if (orderSource == null) {
            orderSource = Ordered.LOWEST_PRECEDENCE;
        }

        if (Ordered.HIGHEST_PRECEDENCE + offset > orderSource) {
            return Ordered.HIGHEST_PRECEDENCE;
        }

        return orderSource - offset;
    }
@Test
    public void test_higher() {
        assertThat(OrderUtil.higher(1, 1)).isEqualTo(0);
        assertThat(OrderUtil.higher(Ordered.HIGHEST_PRECEDENCE + 1, 2)).isEqualTo(Ordered.HIGHEST_PRECEDENCE);
        assertThat(OrderUtil.higher(Ordered.HIGHEST_PRECEDENCE, 1)).isEqualTo(Ordered.HIGHEST_PRECEDENCE);

        Assertions.assertThrows(IllegalArgumentException.class, () -> OrderUtil.higher(1, -1));
    }