public V put(K key, V value) {
        // modify
        // replace key
        if (this.keyValueMap.containsKey(key)) {
            this.valueKeyMap.remove(this.keyValueMap.get(key));

            return put0(key, value);
        }
        // replace value
        if (this.valueKeyMap.containsKey(value)) {
            this.keyValueMap.remove(this.valueKeyMap.get(value));

            return put0(key, value);
        }

        return put0(key, value);
    }
copy & modify org.redisson.misc.BiHashMap
https://github.com/redisson/redisson/blob/master/redisson/src/main/java/org/redisson/misc/BiHashMap.java
@param <K>
@param <V>
agent-module/profiler-test/src/main/java/com/navercorp/pinpoint/profiler/test/util/BiHashMap.java