protected function getFormFieldGeneratedRule(ModelFormFieldDataInterface $field, $forCreate, array &$rules)
    {
        $this->generatedRulesMap[ $field->key() ] = [];

        if ( ! $this->isFormFieldRelevant($field, $forCreate)) {
            return;
        }

        // The rules returned by a strategy (specific), and those provided by the
        // field type (attribute/relation), must first be combined --
        // and in preparation for that be cast as uniform arrays of ValidationRuleData instances.

        $fieldRules = $this->getAndMergeFormFieldRulesForStrategyAndBasedOnModelInformation($field, $forCreate);

        // If the field is translated, mark the rules for it in preparation for further decoration
        if ($field->translated()) {
            array_map(function (ValidationRuleDataInterface $rule) {
                $rule->setIsTranslated();
            }, $fieldRules);
        }

        // The keys in the strategy or model information might have placeholders
        // in its rules, to allow referring to other 'relative' validation keys
        // for the field such as in required_with... rules.
        // These placeholders need to be replaced.
        $fieldRules = $this->replaceFieldKeyPlaceholderInValidationRules($field, $fieldRules);


        // At this point we have a normalized array of data objects,
        // which has dot-notation keys (for array-nested rules) that is offset
        // for the field (so it leaves out the field key itself).
        // Rules for the field key itself will thus have empty/null keys.

        // The rules will also have been collapsed to one per key.

        foreach ($fieldRules as $rule) {

            if (empty($rule->key())) {
                $rule->setKey($field->key());
                $rules[ $field->key() ] = $rule;
                $this->generatedRulesMap[ $field->key() ][] = $field->key();
                continue;
            }

            $rule->prefixKey($field->key());

            $rules[ $rule->key() ] = $rule;
            $this->generatedRulesMap[ $field->key() ][] = $rule->key();
        }
    }