code: public static Sprite rotate90(Sprite original, Rotation angle) {
  		int newWidth = angle == Rotation._180 ? original.getWidth() : original.getHeight();
  		int newHeight = angle == Rotation._180 ? original.getHeight() : original.getWidth();
  		int[] newPix = new int[original.getPixels().length];
  
  		for (int x = 0; x < original.getWidth(); x++) {
  			for (int y = 0; y < original.getHeight(); y++) {
  				int newY = angle == Rotation._90 ? x : angle == Rotation._180 ? original.getHeight() - y - 1 : original.getWidth() - x - 1;
  				int newX = angle == Rotation._90 ? original.getHeight() - y - 1 : angle == Rotation._180 ? original.getWidth() - x - 1 : y;
  
  				newPix[newX + newY * newWidth] = original.getPixels()[x + y * original.getWidth()];
  			}
  		}
  		return new Sprite(newWidth, newHeight, newPix);
  	}
docs: Rotates an image by multiples of 90 degrees
  This is a much faster version of
  {@link io.github.aritzhack.aritzh.awt.util.SpriteUtil#rotate(io.github.aritzhack.aritzh.awt.render.Sprite, double) SpriteUtil.rotate(Sprite, double)}
  
  @param original The sprite to rotate
  @param angle    The rotation angle
  @return The rotated sprite