* @param value Arbitrary value associated with key
     * @return previous value mapped to the provided key
     */
    @Override
    public V put( K key, V value ) {
        Node<K, V> ret = putKeyNode( null, key, value );
        if( ret == null ) { return null; }

        return ret.mValue;
    }