/**********************************************************************************/

        public void updateEventOpt(List <oadrDistributeEventTypeOadrEvent> evts, OptTypeType optType, OptReasonEnumeratedType optReason, string resourceID)
        {
            Thread thread = new Thread(delegate()
            {
                try
                {
                    CreateOpt createOpt;

                    foreach (oadrDistributeEventTypeOadrEvent evt in evts)
                    {
                        lock (m_ven)
                        {
                            createOpt = m_ven.createOptEvent(RandomHex.instance().generateRandomHex(10), RandomHex.instance().generateRandomHex(10),
                                                             evt, optType, optReason, resourceID);
                        }

                        m_callbacks.processCreateOpt(createOpt);
                    }
                }
                catch (Exception ex)
                {
                    m_callbacks.processException(ex);
                }
            });

            thread.Start();
        }