///////////////////////////////////////////////////////////////////
            // __use__.snippet0.snippet.noop - [(__use__.snippet0.snippet.expr1 - __use__.snippet0.snippet.join)(__use__.snippet0.snippet.expr0 - &__use__.snippet0.snippet.join)(__use__.snippet0.snippet.expr - &__use__.snippet0.snippet.join)] - __use__.snippet0.call - __use__.snippet0.call.iftype
            ///////////////////////////////////////////////////////////////////

            public IEnumerator <ccr.ITask> RunHandler(RotateRequest message, dssp.DsspResponsePort <RotateResponse> responsePort)
            {
                _responsePort = responsePort;
                Increment();

                drive.RotateDegreesRequest request = new drive.RotateDegreesRequest();
                request.RotateDegreesStage = Microsoft.Robotics.Services.Drive.Proxy.DriveStage.InitialRequest;
                request.Power   = message.Power;
                request.Degrees = message.Degrees;

                Increment();
                Activate(
                    ccr.Arbiter.Choice(
                        GenericDifferentialDrivePort.RotateDegrees(request),
                        OnRotateDegreesSuccess,
                        delegate(soap.Fault fault)
                {
                    base.FaultHandler(fault, @"GenericDifferentialDrivePort.RotateDegrees(request)");
                    Decrement();
                }
                        )
                    );

                Decrement();

                yield return(WaitUntilComplete());
            }
        public dssp.DsspResponsePort <RotateResponse> Rotate(RotateRequest body)
        {
            Rotate message = new Rotate();

            message.Body = body;

            this.Post(message);

            return(message.ResponsePort);
        }