public int maxValue()
    {
        final int missingValue = this.missingValue;
        int max = 0 == size ? missingValue : Integer.MIN_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)
            {
                max = Math.max(max, value);
            }
        }

        return max;
    }
@Test
    void shouldHaveNoMaxValueForEmptyCollection()
    {
        assertEquals(MISSING_VALUE, map.maxValue());
    }