public static async Task<JsonObject> ChangesAsync (this SalesforceClient self, string type, ChangeTypes kind)
        {
            var request = new ChangesRequest {
                Resource = new SObject { Id = kind.ToString().ToLowerInvariant(), ResourceName = type},
            };

            return await self.ChangesAsync (request);
        }
        public static JsonObject Changes (this SalesforceClient self, string type, ChangeTypes kind)
        {
            var request = new ChangesRequest {
                Resource = new SObject { Id = kind.ToString().ToLowerInvariant(), ResourceName = type}
            };

            var result = self.ChangesAsync (request);
            if (!result.Wait (TimeSpan.FromSeconds (SalesforceClient.DefaultNetworkTimeout)))
                return null; // TODO : Error handling/reporting
            return result.Result;
        }