protected function renderTable($data, $cellPadding, $columnsWidths) {
		$tableRows = [];
		
		foreach ($data as $row) {
			$row      = array_values($row);
			$tableCol = '|';
			
			$columnsNumber = count($columnsWidths);
			
			for ($colNm = 0; $colNm < $columnsNumber; ++ $colNm) {
				$colWidth = $columnsWidths[$colNm];
				$col      = isset($row[$colNm]) ? $row[$colNm] : '';
				$len      = $this->strlen($col);
				
				if ($colWidth > $len) {
					$col .= str_repeat(' ', $colWidth - $len);
				}
				
				$paddings  = str_repeat(' ', $cellPadding);
				$tableCol .= $paddings . $col . $paddings . '|';
			}
			
			$tableRows[] = $tableCol;
		}
		
		$delimLine = '+';
		
		foreach ($columnsWidths as $width) {
			$delimLine .= str_repeat('-', $width + $cellPadding * 2) . '+';
		}
		
		$body = implode(PHP_EOL . $delimLine . PHP_EOL, $tableRows);
		
		return $delimLine . PHP_EOL . $body . PHP_EOL . $delimLine;
	}