lib/components/dataInterface/connectors/generic/DataSource.php
public function generateKey(GenericModel $foreignObject, $keyName, $keyValue)
    {
        if (is_null($this->keyGenerator)) {
            $self = $this;
            $this->keyGenerator = function ($foreignModel, $keyName, $keyValue) use ($self) {
                return [$self->module->systemId, $foreignModel->tableName, $keyName, $keyValue];
            };
        }
        $keyGen = $this->keyGenerator;
        $return = $keyGen($foreignObject, $keyName, $keyValue);

        if (isset($return)) {
            if (!is_array($return)) {
                $return = [$return];
            }
            $return = implode('.', $return);

            return $return;
        }

        return;
    }
public function generateKey(GenericModel $foreignObject, $keyName, $keyValue)
    {
        if (is_null($this->keyGenerator)) {
            $self = $this;
            $this->keyGenerator = function ($foreignModel, $keyName, $keyValue) use ($self) {
                return [$self->module->systemId, $foreignModel->tableName, $keyName, $keyValue];
            };
        }
        $keyGen = $this->keyGenerator;
        $return = $keyGen($foreignObject, $keyName, $keyValue);

        if (isset($return)) {
            if (!is_array($return)) {
                $return = [$return];
            }
            $return = implode('.', $return);

            return $return;
        }

        return;
    }
[[@doctodo method_description:generateKey]].

@param cascade\components\dataInterface\connectors\generic\Model $foreignObject [[@doctodo param_description:foreignObject]]
@param [[@doctodo param_type:keyName]]                           $keyName       [[@doctodo param_description:keyName]]
@param [[@doctodo param_type:keyValue]]                          $keyValue      [[@doctodo param_description:keyValue]]

@return [[@doctodo return_type:generateKey]] [[@doctodo return_description:generateKey]]