public static Square load(byte x, byte y) throws SpriteException,
	CompressionException
	{
		int xi = MathUtils.uByteToInt(x), yi = MathUtils.uByteToInt(y);

		if (sprite == null)
		{
			throw new SpriteException();
		}
		if (squares == null)
		{
			squares = new Square[sprite.getWidth()][sprite.getHeight()];
		}
		if (xi > sprite.getWidth() - 1 || yi > sprite.getHeight() - 1)
		{
			throw new SpriteException("There is no image for coordinates (0x"
			+ MathUtils.toHex(x) + ", 0x" + MathUtils.toHex(y) + ")");
		}
		if (squares[xi][yi] == null)
		{
			squares[xi][yi] = new Square(x, y);
		}

		return squares[xi][yi];
	}