code: function(oRow, iWidth) {
  			/*
  			 * initiating all required variables to increase speed and memory
  			 * efficiency
  			 */
  			var r = [];
  			var currentRow = -1;
  			var currentWidth = 0;
  			var totalWeight = 0;
  			var indexLinebreak = 0;
  			var w1 = 0, w2 = 0;
  			var j = 0, k = 0;
  
  			// Find out the "rows" within a row
  			for (j = 0; j < oRow.cont.length; j++) {
  				currentWidth = 0;
  				totalWeight = 0;
  				for (k = indexLinebreak; k <= j; k++) {
  					totalWeight = totalWeight + oRow.cont[k].weight;
  				}
  				for (k = indexLinebreak; k <= j; k++) {
  					w1 = iWidth / totalWeight * oRow.cont[k].weight;
  					w1 = Math.floor(w1);
  
  					w2 = oRow.cont[k].minWidth;
  
  					currentWidth += Math.max(w1, w2);
  				}
  
  				if (currentRow == -1 || currentWidth > iWidth) {
  					r.push({
  						cont : []
  					});
  					if (currentRow !== -1) {
  						/*
  						 * if this is NOT the first run -> all coming iterations
  						 * needn't to start from '0' since the calculation of a new
  						 * row has begun
  						 */
  						indexLinebreak = j;
  					}
  					currentRow++;
  				}
  				r[currentRow].cont.push(oRow.cont[j]);
  			}
  			return r;
  		}
docs: Returns the target wrapping.
  @param {object} oRow The corresponding row of possible controls
  @param {int} iWidth The width of the row in pixels
  @returns {array} The target wrapping