public static Picture mirror4(Picture tile) {
		Picture canvas = new Picture((tile.getWidth() * 2), (tile.getHeight() * 2));
		for (Pixel pixel : tile.getPixels()) {
			if (pixel.getColor() == Color.WHITE) {
				continue;
			} // Ignore white
			Pixel topLeft = canvas.getPixel(pixel.getX(), pixel.getY());
			Pixel bottomLeft = canvas.getPixel(pixel.getX(),
			        mirrorNum(pixel.getY(), canvas.getHeight() / 2));
			Pixel topRight = canvas.getPixel(mirrorNum(pixel.getX(), canvas.getWidth() / 2),
			        pixel.getY());
			Pixel bottomRight = canvas.getPixel(mirrorNum(pixel.getX(), canvas.getWidth() / 2),
			        mirrorNum(pixel.getY(), canvas.getHeight() / 2));
			try {
				topLeft.setColor(pixel.getColor());
				bottomLeft.setColor(pixel.getColor());
				topRight.setColor(pixel.getColor());
				bottomRight.setColor(pixel.getColor());
			} catch (ArrayIndexOutOfBoundsException aioobe) {
				// Border does weird things......
			}
		}
		return canvas;
	}