public static Headers copyOf(Headers original) {
        return new Headers(Objects.requireNonNull(original, "original"));
    }
An abstraction over a collection of http headers. Allows multiple headers with same name, and header names are
compared case insensitively.

There are methods for getting and setting headers by String AND by HeaderName. When possible, use the HeaderName
variants and cache the HeaderName instances somewhere, to avoid case-insensitive String comparisons.
zuul-core/src/main/java/com/netflix/zuul/message/Headers.java