private static Rect getLogicalScreenSize(GIFFrame[] frames) {
		// Determine the logical screen dimension given all the frames with different
		// left and top coordinates.
		int logicalScreenWidth = 0;
		int logicalScreenHeight = 0;
		
		for(GIFFrame frame : frames) {
			int frameRightPosition = frame.getFrameWidth() + frame.getLeftPosition();
			int frameBottomPosition = frame.getFrameHeight() + frame.getTopPosition();
			if(frameRightPosition > logicalScreenWidth)
				logicalScreenWidth = frameRightPosition;
			if(frameBottomPosition > logicalScreenHeight)
				logicalScreenHeight = frameBottomPosition;
		}
		
		return new Rect(0, 0, logicalScreenWidth, logicalScreenHeight);
	}
A child is made up of a parent(or prefix) code plus a suffix color
and siblings are strings with a common parent(or prefix) and different
suffix colors
subs/gif-revert/src/main/java/com/engineer/gif/revert/lib/AnimatedGIFWriter.java