/// <summary>
        /// Implementation of RBroker Interface 'simulateApp' method
        /// </summary>
        /// <param name="appSimulator">RTaskAppSimulator reference</param>
        /// <remarks></remarks>
        public void simulateApp(RTaskAppSimulator appSimulator)
        {
            /*
             * Auto-register RTaskAppSimulator as RTaskListener
             * if interface is implemented by appSimulator.
             */
            if (m_taskListener == null && (appSimulator is RTaskListener))
            {
                m_taskListener = (RTaskListener)appSimulator;
            }

            /*
             * Auto-register RTaskAppSimulator as RBrokerListener
             * if interface is implemented by appSimulator.
             */
            if (m_brokerListener == null && (appSimulator is RBrokerListener))
            {
                m_brokerListener = (RBrokerListener)appSimulator;
            }

            m_appSimulator = appSimulator;

            if (appSimulator != null)
            {
                appSimulator.simulateApp(this);
            }
        }
        /// <summary>
        /// Implementation of RBroker Interface 'simulateApp' method
        /// </summary>
        /// <param name="appSimulator">RTaskAppSimulator reference</param>
        /// <remarks></remarks>
        public void simulateApp(RTaskAppSimulator appSimulator)
        {
            /*
             * Auto-register RTaskAppSimulator as RTaskListener
             * if interface is implemented by appSimulator.
             */
            if(m_taskListener == null && (appSimulator is RTaskListener))
            {
                m_taskListener = (RTaskListener) appSimulator;
            }

            /*
             * Auto-register RTaskAppSimulator as RBrokerListener
             * if interface is implemented by appSimulator.
             */
            if(m_brokerListener == null && (appSimulator is RBrokerListener))
            {
                m_brokerListener = (RBrokerListener) appSimulator;
            }

            m_appSimulator = appSimulator;

            if(appSimulator != null)
            {
                appSimulator.simulateApp(this);
            }
        }
 /// <summary>
 /// Implementation of RBroker Interface 'addTaskListener' method
 /// </summary>
 /// <param name="taskListener">RTaskListener reference</param>
 /// <remarks></remarks>
 public void addTaskListener(RTaskListener taskListener)
 {
     m_taskListener = taskListener;
 }
 /// <summary>
 /// Implementation of RBroker Interface 'addTaskListener' method
 /// </summary>
 /// <param name="taskListener">RTaskListener reference</param>
 /// <remarks></remarks>
 public void addTaskListener(RTaskListener taskListener)
 {
     m_taskListener = taskListener;
 }