public function getDataStructureIdentifierPreProcess(array $tca, $tableName, $fieldName, array $row)
    {
        if ($tableName === 'tt_content' && $fieldName === 'pi_flexform' && $row['CType'] === 'gridelements_pi1') {
            if (!empty($row['tx_gridelements_backend_layout'])) {
                $pageUid = $row['pid'];
                $layoutId = $row['tx_gridelements_backend_layout'];
                /** @var $layoutSetupInstance LayoutSetup */
                $layoutSetupInstance = GeneralUtility::makeInstance(LayoutSetup::class)->init($pageUid);
                $layoutSetup = $layoutSetupInstance->getLayoutSetup($layoutId);
                if ($layoutSetup['pi_flexform_ds_file']) {
                    // Our data structure is in a record. Re-use core internal syntax to resolve that.
                    $identifier = [
                        'type'       => 'record',
                        'tableName'  => 'tx_gridelements_backend_layout',
                        'uid'        => $layoutId,
                        'fieldName'  => 'pi_flexform_ds_file',
                        'flexformDS' => 'FILE:' . $layoutSetup['pi_flexform_ds_file'],
                    ];
                } elseif ($layoutSetup['pi_flexform_ds']) {
                    $identifier = [
                        'type'       => 'record',
                        'tableName'  => 'tx_gridelements_backend_layout',
                        'uid'        => $layoutId,
                        'fieldName'  => 'pi_flexform_ds',
                        'flexformDS' => $layoutSetup['pi_flexform_ds'],
                    ];
                } else {
                    // This could be an additional core patch that allows referencing a DS file directly.
                    // If so, the second hook below would be obsolete.
                    $identifier = [
                        'type' => 'gridelements-dummy',
                    ];
                }
            } else {
                $identifier = [
                    'type' => 'gridelements-dummy',
                ];
            }
        } else {
            // Not my business
            $identifier = [];
        }
        return $identifier;
    }