private void rotateRightGroup( GroupNode<K, V> group, Node<K, V> node ) {
        Node<K, V> left = node.mGroupLeft;
        if( left == null ) { return; }

        node.mGroupLeft = left.mGroupRight;
        left.mGroupRight = node;

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

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

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