private STNode<Key, Value> balance(STNode<Key, Value> x)
	{
		switch (getShape(x))
		{
		case LLEFT:
			return rotateRight(x);
		case LRIGHT:
			x.left = rotateLeft(x.left);
			return rotateRight(x);
		case RRIGHT:
			return rotateLeft(x);
		case RLEFT:
			x.right = rotateRight(x.right);
			return rotateLeft(x);
		default:
			// System.out.println(x.key + " Balanced");
			return x;
		}
	}