private void deleteCase5(RBTreeNode<K,V> node) {
        if (node == node.parent.left &&
                nodeColor(node.sibling()) == Color.BLACK &&
                nodeColor(node.sibling().left) == Color.RED &&
                nodeColor(node.sibling().right) == Color.BLACK) {
            node.sibling().color = Color.RED;
            node.sibling().left.color = Color.BLACK;
            rotateRight(node.sibling());
        } else if (node == node.parent.right &&
                nodeColor(node.sibling()) == Color.BLACK &&
                nodeColor(node.sibling().right) == Color.RED &&
                nodeColor(node.sibling().left) == Color.BLACK) {
            node.sibling().color = Color.RED;
            node.sibling().right.color = Color.BLACK;
            rotateLeft(node.sibling());
        }
        deleteCase6(node);
    }