private void deleteCase4(Node doubleBlackNode, AtomicReference<Node> rootReference) {
        Node siblingNode = findSiblingNode(doubleBlackNode).get();
        if(doubleBlackNode.parent.color == Color.RED && siblingNode.color == Color.BLACK && siblingNode.left.color == Color.BLACK
        && siblingNode.right.color == Color.BLACK) {
            siblingNode.color = Color.RED;
            doubleBlackNode.parent.color = Color.BLACK;
            return;
        } else {
            deleteCase5(doubleBlackNode, rootReference);
        }
    }
If sibling color is black, parent color is red and sibling's children color is black then swap color b/w sibling
and parent. This increases one black node on double black node path but does not affect black node count on
sibling path. We are done if we hit this situation.
src/com/interview/tree/RedBlackTree.java