private void clearMatchingStartingAt(int i, String normalName, @Nullable Collection<? super String> removed) {
        // This works by having separate read and write indexes, that iterate along the list.
        // Values that don't match are moved to the front, leaving garbage values in place.
        // At the end, all values at and values are garbage and are removed.
        int w = i;
        for (int r = i; r < size(); r++) {
            if (!name(r).equals(normalName)) {
                originalName(w, originalName(r));
                name(w, name(r));
                value(w, value(r));
                w++;
            } else if (removed != null) {
                removed.add(value(r));
            }
        }
        truncate(w);
    }
Removes entries that match the name, starting at the given index.
zuul-core/src/main/java/com/netflix/zuul/message/Headers.java