void shuffle()
    {
        close();
        clearExclusion();
        final Random random = ThreadLocalRandom.current();
        for (int i = endpoints.length; --i > -1;)
        {
            final int j = random.nextInt(i + 1);
            final String tmp = endpoints[i];
            endpoints[i] = endpoints[j];
            endpoints[j] = tmp;
        }
    }
@Test
    void shouldEventuallyGetADifferentOrderAfterShuffle()
    {
        final String[] originalOrder = Arrays.copyOf(endpoints, endpoints.length);
        int differenceCount = 0;
        for (int i = 0; i < 100; i++)
        {
            publicationGroup.shuffle();
            differenceCount += !Arrays.equals(originalOrder, endpoints) ? 1 : 0;
        }

        assertNotEquals(0, differenceCount);
    }