private HttpResponseMessage ProcessCommand()
        {
            var requestHandler = RequestHandlerFactory.GetHandler(this.Command);

            if (requestHandler != null)
            {
                requestHandler.Initialize(this.Device, this.RequestContent);
                var responseMessage = new HttpResponseMessage(HttpStatusCode.OK);
                var responseObj     = requestHandler.Handle();
                var responseXml     = responseObj.GetAsXML();

                var encoder = new ASWBXML();
                encoder.LoadXml(responseXml);
                var wbxmlContent = encoder.GetBytes();

                responseMessage.Content = new ByteArrayContent(wbxmlContent);
                responseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.ms-sync.wbxml");

                return(responseMessage);
            }
            else
            {
                //TODO: Return appropriate ResponseMessage
                //throw new InvalidCommandException(string.Format("Command {0} is not supported", this.Command.ToString()));
                return(new HttpResponseMessage(HttpStatusCode.BadRequest));
            }

            //TODO: Resturn Appropriate Response
            return(new HttpResponseMessage(HttpStatusCode.OK));
        }