@Override
    public Iterator<Entry<K, V>> iterator() {
        return new HeaderIterator();
    }
@Test
    public void iterateEmptyHeadersShouldThrow() {
        final Iterator<Map.Entry<CharSequence, CharSequence>> iterator = newInstance().iterator();
        assertFalse(iterator.hasNext());
        assertThrows(NoSuchElementException.class, new Executable() {
            @Override
            public void execute() {
                iterator.next();
            }
        });
    }