code: private void flipColors(RedBlackTreeNode<Key, Value> h) {
  	// h must have opposite color of its two children
  	// assert (h != null) && (h.left != null) && (h.right != null);
  	// assert (!isRed(h) && h.getLeft().isRed() && h.getRight().isRed())
  	// || (isRed(h) && !h.getLeft().isRed() && !h.getRight().isRed());
  	h.setColor(!h.getColor());
  	h.getLeft().setColor(!h.getLeft().getColor());
  	h.getRight().setColor(!h.getRight().getColor());
      }
docs: flip the colors of a node and its two children