protected function calculateWidths($data) {
    
        // get the markup definition from the HTML object
        $markupDefinition = $this->clio->getMarkupDefinition();
        
        // go through and calculate any column widths that were not calculated
        for ($column = 0; $column < $this->columnCount; ++$column) {

            // get the column definition for this column
            $columnDefinition = $this->columnDefinitions[$column];

            // get the column of data
            $columnData = array_column($data, $column);
            
            // calculate it based on the widest text for that column
            $columnDefinition->calculateWidth($columnData, $markupDefinition);

        }
              
    }