public function getParams(TableSchema $table, $functionName, $indent = 0)
    {
        $params = [];
        $params[] = &$table;
        $params[] = $indent;
        $ucFunctionName = ucfirst($functionName);
        $get = 'get' . $ucFunctionName;
        $drop = 'getDrop' . $ucFunctionName;

        $order = $this->changeOrderOfApplyingFile($functionName);

        if ('getTableData' === $get) {
            if ($limit = $this->checkLimit($table->name)) {
                array_pop($params);
                $params[] = $limit;
                $params[] = $indent;
            } else {
                return [];
            }
        }

        $safeUp = call_user_func_array([$this->schema, $get], $params);
        if (3 === count($params)) {
            unset($params[1]); // unser $this->limit
        }
        $safeDown = call_user_func_array([$this->schema, $drop], $params);
        $tableName = $this->schema->removePrefix($table->name, $this->db->tablePrefix);

        return [
            'safeUp' => $safeUp ? "\n" . $safeUp . "\n" : '',
            'safeDown' => $safeDown ? "\n" . $safeDown . "\n" : '',
            'className' => static::getClassName($order . '_' . $functionName . '_' . $tableName, $this->filePrefix),
        ];
        
    }