private void Process(object serviceObject) { IServiceObject iso = serviceObject as IServiceObject; if (ServiceBeginning != null) { ServiceBeginning(this, serviceObject); } if (iso != null) { iso.OnServiceBeginning(this); } m_available = false; m_startedService = m_model.Executive.Now; DateTime when = m_model.Executive.Now + m_periodicity.GetNext(); m_model.Executive.RequestEvent(new ExecEventReceiver(CompleteProcessing), when, 0.0, serviceObject); }