protected static CNode rotateRight (CNode n) {
		assert n != null : "n != null";
		assert !n.isLeaf && !n.left.isLeaf && n.left.color == RED :
		"rotateRight a BLACK left node will break the tree balance";
	
		DOWN(n);
		CNode tempCNode = n.left;
		boolean tempColor = n.color;
		DOWN(tempCNode);
		n.left = tempCNode.right;
		n.color = tempCNode.color;
		UP(n);
		tempCNode.right = n;
		tempCNode.color = tempColor;
		UP(tempCNode);
		return tempCNode;
	}