private function parseRow(
        \stdClass $dataRow,
        NodePath $nodePath,
        array $parentCols = [],
        $outerObjectHash = null
    ) {
        $csvRow = new CsvRow($this->getHeaders($nodePath, $parentCols));
        // Generate parent ID for arrays
        $arrayParentId = $this->getPrimaryKeyValue($dataRow, $nodePath, $outerObjectHash);
        $columns = $this->structure->getColumnTypes($nodePath);
        foreach (array_replace($columns, $parentCols) as $column => $dataType) {
            $this->parseField($dataRow, $csvRow, $arrayParentId, $column, $dataType, $nodePath);
        }

        return $csvRow;
    }