/// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        internal override ReturnResultBase Execute()
        {
            ResultValue res = new ResultValue();

            IClientCommand cmd = CommandFactory.CreatecFetchDataControlValuesCommand(Task.getTaskTag(), control.getName());

            Task.getMGData().CmdsToServer.Add(cmd);

            //Fetch data control values from server.
            RemoteCommandsProcessor.GetInstance().Execute(CommandsProcessorBase.SendingInstruction.TASKS_AND_COMMANDS, CommandsProcessorBase.SessionStage.NORMAL, res);

            //Update DCValRef of every record after fetching the dataControl values.
            for (int i = 0; i < ((DataView)Task.DataView).getSize(); i++)
            {
                ((DataView)Task.DataView).getRecByIdx(i).AddDcValuesReference(control.getDitIdx(), control.getDcRef());
            }

            //Update DCValRef of original record.
            ((DataView)Task.DataView).getOriginalRec().AddDcValuesReference(control.getDitIdx(), control.getDcRef());

            return(new ReturnResult());
        }