private static IList <Box> CreateBoxes(int numberOfBoxes, int colors, int[][] candiesCanEarn, int[] maximumBalls)
    {
        IList <Box> boxes = new List <Box>();

        for (int i = 0; i < numberOfBoxes; i++)
        {
            var current = new Box(i);
            for (int color = 0; color < colors; color++)
            {
                current.AddCandiesPerColor(color, candiesCanEarn[color][i]);
            }

            current.MaximumBalls = maximumBalls[i];

            boxes.Add(current);
        }

        return(boxes);
    }