public int minValue()
    {
        final int missingValue = this.missingValue;
        int min = 0 == size ? missingValue : Integer.MAX_VALUE;
        final int[] entries = this.entries;
        @DoNotSub final int length = entries.length;

        for (@DoNotSub int valueIndex = 1; valueIndex < length; valueIndex += 2)
        {
            final int value = entries[valueIndex];
            if (missingValue != value)
            {
                min = Math.min(min, value);
            }
        }

        return min;
    }
@Test
    void shouldHaveNoMinValueForEmptyCollection()
    {
        assertEquals(MISSING_VALUE, map.minValue());
    }