public void validateTabNameUniqueness(ArrayList<Tab> tabs) {
        for (Tab tab : tabs) {
            if(name.equals(tab.getName())){
                this.addError(NAME, String.format("Tab name '%s' is not unique.", name));
                tab.addError(NAME, String.format("Tab name '%s' is not unique.", name));
                return;
            }
        }
        tabs.add(this);
    }
@Test
    public void shouldNotErrorOutWhenNamesAreOfDifferentCase() {
        Tab tab = new Tab("foO", "bar");
        ArrayList<Tab> visitedTabs = new ArrayList<>();
        Tab existingTab = new Tab("foo", "bar");
        visitedTabs.add(existingTab);

        tab.validateTabNameUniqueness(visitedTabs);

        assertThat(visitedTabs.size(), is(2));
    }