docs: private List<List<Cell>> getAllCellsByLine(CellType type) {
  	
  		String locatorLines="", locatorColumn="";
  		
  		switch(type){
  			case HEAD: 	locatorLines = ".//thead/tr";
  						locatorColumn = ".//th";
  						break;
  			case BODY: 	locatorLines = ".//tbody/tr";
  						locatorColumn = ".//td";
  						break;
  			case FOOT: 	locatorLines = ".//tfoot/tr";
  						locatorColumn = ".//td";
  						break;
  		}
  		
  		List<WebElement> lines = this.getElement().findElements(By.xpath(locatorLines)); // Recover all lines from the table
  		
  		List<List<Cell>> cellLines = new ArrayList<List<Cell>>(); // List of lines of the table
  		
  		Integer lineIndex = 1;
  		
  		for (WebElement line : lines) { // iterate the lines taken from table
  			
  			List<Cell> cellColumns = new ArrayList<Cell>();
  			List<WebElement> columns = line.findElements(By.xpath(locatorColumn)); // Recover all columns from the lines
  			Integer columnIndex = 1;
  			
  			for (WebElement column : columns) { // iterate the columns taken from the line
  				Cell cell = new SeleniumCell(column);
  				cell.setCoordinates(lineIndex, columnIndex);
  				cellColumns.add(cell);
  				columnIndex++;
  			} // end of columns iteration
  			
  			cellLines.add(cellColumns);
  			lineIndex++;
  		}// end of lines iteration
  		
  		return cellLines;
  	}