public IEnumerator <ITask> SubscribeHandler(sicklrf.Subscribe subscribe)
 {
     yield return(Arbiter.Choice(
                      SubscribeHelper(_subMgrPort, subscribe.Body, subscribe.ResponsePort),
                      delegate(SuccessResult success)
     {
         _subMgrPort.Post(new submgr.Submit(
                              subscribe.Body.Subscriber, dssp.DsspActions.ReplaceRequest, _state, null));
     },
                      delegate(Exception ex) { LogError(ex); }
                      ));
 }
        // ====================================================================================
        // as generated:
        //[ServiceHandler]
        //public void SubscribeHandler(sicklrf.Subscribe subscribe)
        //{
        //    throw new NotImplementedException();
        //}

        /// <summary>
        /// Handles Subscribe requests
        /// </summary>
        /// <param name="subscribe">request message</param>
        IEnumerator <ITask> SubscribeHandler(sicklrf.Subscribe subscribe)
        {
            Tracer.Trace("TrackRoamerUsrfService::SubscribeHandler()");

            yield return(Arbiter.Choice(
                             SubscribeHelper(_submgrPort, subscribe.Body, subscribe.ResponsePort),
                             delegate(SuccessResult success)
            {
                if (_state != null &&
                    _state.DistanceMeasurements != null)
                {
                    _submgrPort.Post(new submgr.Submit(
                                         subscribe.Body.Subscriber, DsspActions.ReplaceRequest, _state, null));
                }
            },
                             null
                             ));
        }