public void update(final Collection<InspectedType> updates) {

        final ArrayList<UUIDKey> originalItems = new ArrayList<>(map.keySet());

        for (final InspectedType updatable : updates) {

            final InspectorType inspector = map.get(updatable.getUuidKey());

            if (inspector != null) {
                // Everything up to date.
                originalItems.remove(updatable.getUuidKey());
            } else {
                final InspectorType newInspector = inspectorFactory.make(updatable);
                add(newInspector);
                map.put(updatable.getUuidKey(),
                        newInspector);
            }
        }

        // Remove left overs, they were not in updates
        for (final UUIDKey originalItem : originalItems) {
            remove(map.remove(originalItem));
        }
    }
@Test
    void reAdd() throws Exception {
        final ArrayList<Item> updates = new ArrayList<>();
        updates.add(new Item());

        list.update(updates);
        
        assertThat(list).hasSize(1);

        list.update(updates);

        assertThat(list).hasSize(1);
    }