@Nullable @CanIgnoreReturnValue
    public <T> T put(Key<T> key, T value) {
        Objects.requireNonNull(key, "key");
        Objects.requireNonNull(value, "value");

        @SuppressWarnings("unchecked") // Sorry.
        T res = ((Map<Key<T>, T>) (Map) typedMap).put(key, value);
        return res;
    }
Returns the previous value associated with key, or {@code null} if there was no mapping for key.  Unlike
{@link #put(String, Object)}, this will never return a null value if the key is present in the map.
zuul-core/src/main/java/com/netflix/zuul/context/SessionContext.java