jetbrick-commons/src/main/java/jetbrick/collections/CopyOnWriteMap.java
@Override
    public V remove(Object key) {
        synchronized (this) {
            Map<K, V> newMap = new HashMap<K, V>(internalMap);
            V val = newMap.remove(key);
            internalMap = newMap;
            return val;
        }
    }
@Override
    public V remove(Object key) {
        synchronized (this) {
            Map<K, V> newMap = new HashMap<K, V>(internalMap);
            V val = newMap.remove(key);
            internalMap = newMap;
            return val;
        }
    }
*
Removed the value and key from this map based on the
provided key.

@see java.util.Map#remove(java.lang.Object)