protected static function _logRow(Job $Job, $noun, $rowNumber, array $row)
 {
     $nonEmptyColumns = array_filter($row);
     unset($nonEmptyColumns['_rest']);
     $summaryColumns = array_slice($nonEmptyColumns, 0, static::$logRowColumnCount, true);
     return $Job->log(sprintf('Analyzing %s row #%03u: %s', $noun, $rowNumber, http_build_query($summaryColumns) . (count($nonEmptyColumns) > count($summaryColumns) ? '&...' : '')), LogLevel::DEBUG);
 }