public override void RunCommand(object sender)
        {
            //get sending instance
            var engine = (Core.Automation.Engine.AutomationEngineInstance)sender;

            //add vOutput variable
            var requiredVariable = LookupVariable(engine);

            try
            {
                //if still not found and user has elected option, create variable at runtime
                if ((requiredVariable == null) && (engine.engineSettings.CreateMissingVariablesDuringExecution))
                {
                    engine.VariableList.Add(new Script.ScriptVariable()
                    {
                        VariableName = v_userVariableName
                    });
                    requiredVariable = LookupVariable(engine);
                }


                //clear DevNotePlayer process
                CloseAll();
                OutputManager.ClearResult();

                // FileEndPointManager.MyPlayerExe2
                string vProgramName = MyFileEndPoint.MyPlayerExe;// v_ProgramName.ConvertToUserVariable(sender);
                string vProgramArgs = v_FilePath;

                System.Diagnostics.Process p;


                p = System.Diagnostics.Process.Start(vProgramName, vProgramArgs);

                if (v_WaitForExit == "Yes")
                {
                    p.WaitForExit();
                }


                if (!File.Exists(FileEndPointManager.DefaultLatestResultFile))
                {
                    //File.Delete(FileEndPointManager.DefaultLatestResultFile);
                    OutputManager.Result = "Success";
                }
            }
            catch (Exception err)
            {
                OutputManager.Result = "Error" + Environment.NewLine + err.Message;
                //throw;
            }



            //STEP_.RESULT #10 Katalon result
            //System.Threading.Thread.Sleep(1000);
            //read result
            //OutputManager.ThrowError(OutputManager.ThrowErrorOnResult());

            var result = OutputManager.Result;

            if (result.StartsWith("Error") || result.StartsWith("Failed"))
            {
                OutputManager.ThrowError("ErrorOnPyAutoWinCommand");
            }


            if (requiredVariable != null)
            {
                requiredVariable.VariableValue = OutputManager.Result;
            }
            else
            {
                throw new Exception("Attempted to update variable index, but variable was not found. Enclose variables within brackets, ex. {vVariable}");
            }
        }