public OAuthDeviceAccessTokenResponse FinishOAuthDeviceAuth(OAuthDeviceAccessTokenRequest request, IRequestOptions options = null)
 {
     try
     {
         return WebClient.Send<OAuthDeviceAccessTokenResponse> (HttpMethods.POST, request.BuildUrl (ClientSettings.Version), request, options);
     }
     catch (BaseSpaceException bex)
     {
         if(bex.InnerException != null && bex.InnerException.GetType() == typeof(WebServiceException))
         {
             var wsex = (WebServiceException)bex.InnerException;
             return wsex.ResponseBody.FromJson<OAuthDeviceAccessTokenResponse>();
         }
     }
     return null;
 }
 public OAuthDeviceAccessTokenResponse FinishOAuthDeviceAuth(OAuthDeviceAccessTokenRequest request, IRequestOptions options = null)
 {
     return WebClient.Send(request, options);
 }