code: private void flipColors(IntervalRBTreeNode<T> n) {
      // n must have opposite color of its two children
      assert (n != null) && (n.leftChild != null) && (n.rightChild != null);
      assert (!isRed(n) && isRed(n.leftChild) && isRed(n.rightChild))
          || (isRed(n) && !isRed(n.leftChild) && !isRed(n.rightChild));
      n.color ^= 1;
      n.leftChild.color ^= 1;
      n.rightChild.color ^= 1;
    }
docs: Flip colors.
  
  @param n the n