private void process(IGSMRequest request)
 {
     IGRequestProcessing.Add(request, this);
     IGAnswer answer = request.CreateAnswer();
     int nRes = IGSMAnswer.IGSMANSWER_ERROR_NONE;
     if (answer != null)
     {
         answer.Init(request.GetGuid(), request.GetTitle());
         if (answer.Execute())
             request.SetResult(answer.GetXml());
         else
             nRes = (int)IGSMAnswer.IGSMANSWER_ERROR_CODE.IGSMANSWER_ERROR_ANSWEREXECUTION;
     }
     if (IGSMAnswer.IsSMError(nRes))
     {
         IGSMAnswerError answerFailure = new IGSMAnswerError(request, (IGSMAnswer.IGSMANSWER_ERROR_CODE)nRes);
         request.SetId(nRes);
         request.SetResult(answerFailure.GetXml());
     }
 }