    public function setModelAttributes(&$model,&$attributeList,&$params) {
        $data = array ();
        foreach($attributeList as &$attr) {
            if(!isset($attr['name'],$attr['value']))
                continue;

            if(null !== $field = $model->getField($attr['name'])) {
                // first do variable/expression evaluation, // then process with X2Fields::parseValue()
                $type = $field->type;
                $value = $attr['value'];
                if(is_string($value)){
                    if(strpos($value, '=') === 0){
                        $evald = X2FlowFormatter::parseFormula($value, $params);
                        if(!$evald[0])
                            return false;
                        $value = $evald[1];
                    } elseif($params !== null){

                        if(is_string($value) && isset($params['model'])){
                            $value = X2FlowFormatter::replaceVariables(
                                $value, $params['model'], $type);
                        }
                    }
                }

                $data[$attr['name']] = $value;
            }
        }
        if (!isset ($model->scenario)) 
            $model->setScenario ('X2Flow');
        $model->setX2Fields ($data);

        if ($model instanceof Actions && isset($data['complete'])) {
            switch($data['complete']) {
                case 'Yes':
                    $model->complete();
                    break;
                case 'No':
                    $model->uncomplete();
                    break;
            }
        }

        return true;
    }
The product receives input or data, but it does
        not validate or incorrectly validates that the input has the
        properties that are required to process the data safely and
        correctly.