public IntHashSet difference(final IntHashSet other)
    {
        IntHashSet difference = null;

        final int[] values = this.values;
        for (final int value : values)
        {
            if (MISSING_VALUE != value && !other.contains(value))
            {
                if (null == difference)
                {
                    difference = new IntHashSet();
                }

                difference.add(value);
            }
        }

        if (containsMissingValue && !other.containsMissingValue)
        {
            if (null == difference)
            {
                difference = new IntHashSet();
            }

            difference.add(MISSING_VALUE);
        }

        return difference;
    }
@Test
    void differenceReturnsNullIfBothSetsEqual()
    {
        addTwoElements(testSet);

        final IntHashSet other = new IntHashSet(100);
        addTwoElements(other);

        assertNull(testSet.difference(other));
    }