public virtual void Execute(IBaseDelegateExecution execution)
        {
            IList <string> list;
            var            test = execution.GetVariable("listVar");

            //TODO 待优化
            if (test is UntypedValueImpl)
            {
                list = (IList <string>)(((UntypedValueImpl)test).Value);
            }
            else
            {
                list = (IList <string>)execution.GetVariable("listVar");
            }
            execution.RemoveVariable("listVar");
            // implicitly update the previous list, should update the variable value
            list.Add(NEW_ELEMENT);
        }