private void rotateLeftGroup( GroupNode<K, V> group, Node<K, V> node ) {
        Node<K, V> right = node.mGroupRight;
        if( right == null ) { return; }

        node.mGroupRight = right.mGroupLeft;
        if( node.mGroupRight != null ) { node.mGroupRight.mGroupParent = node; }

        right.mGroupLeft = node;

        if( node == group.mRoot ) {
            group.mRoot = right;
            right.mGroupParent = null;
            node.mGroupParent = right;
        } else {
            right.mGroupParent = node.mGroupParent;
            node.mGroupParent = right;

            if( node == right.mGroupParent.mGroupLeft ) {
                right.mGroupParent.mGroupLeft = right;
            } else {
                right.mGroupParent.mGroupRight = right;
            }
        }
    }