private STNode<Key, Value> floor(STNode<Key, Value> x, Key key)
	{
		while(x != null)
		{
			int cmp = key.compareTo(x.key);
			if (cmp < 0) // floor is in left subtree
				x = x.left;
			else if (cmp > 0)
				return x;
			else
				return x;
		}
		return x;
		
	}