code: public static int[] longestWord(LinkedList<AT_Row> rows, int colNumbers){
  		if(rows==null){
  			return null;
  		}
  
  		if(rows.size()==0){
  			return new int[0];
  		}
  
  		int[] ret = new int[colNumbers];
  
  		for(AT_Row row : rows){
  			if(row.getType()==TableRowType.CONTENT) {
  				LinkedList<AT_Cell> cells = row.getCells();
  
  				for(int i=0; i<cells.size(); i++) {
  					if(cells.get(i).getContent()!=null){
  						String[] ar = StringUtils.split(Object_To_StrBuilder.convert(cells.get(i).getContent()).toString());
  						for(int k=0; k<ar.length; k++){
  							int count = ar[k].length() + cells.get(i).getContext().getPaddingLeft() + cells.get(i).getContext().getPaddingRight();
  							if(count>ret[i]){
  								ret[i] = count;
  							}
  						}
  					}
  				}
  			}
  		}
  
  		return ret;
  	}
docs: Returns an array with the width of the longest word per column calculated from the given table.
  Default padding will be added per column.
  Padding for individual columns will be added if defined.
  @param rows the table rows for calculations
  @param colNumbers number of columns in the table
  @return array with width of longest word for each column, null if input table was null