private long IncHashValue(string obj_type, string key, string prop_name, int increment, bool isAsync, IncHashValueCallback callback, Object state)
        {
            var parameterList = new Dictionary<string, string> { { "method", "facebook.data.incHashValue" } };
            Utilities.AddRequiredParameter(parameterList, "obj_type", obj_type);
            Utilities.AddRequiredParameter(parameterList, "key", key);
            Utilities.AddRequiredParameter(parameterList, "prop_name", prop_name);
            Utilities.AddRequiredParameter(parameterList, "increment", increment);

            if (isAsync)
            {
                SendRequestAsync<data_incHashValue_response, long>(parameterList, new FacebookCallCompleted<long>(callback), state);
                return 0;
            }

            var response = SendRequest<data_incHashValue_response>(parameterList);
            return response == null ? 0 : response.TypedValue;
        }
 /// <summary>
 /// Atomically increases a numeric property by a hash key. This is different than "setHashValue(getHashValue() + increment)", which has two API functions calls that are not atomically done (subject to race conditions with values overwritten by interleaved API calls). 
 /// </summary>
 /// <example>
 /// <code>
 /// 
 /// </code>
 /// </example>
 /// <param name="obj_type">Object's type. This is required, so that different object types may use the same hash keys for different objects. </param>
 /// <param name="key">Hash key (string object identifier) for locating the object. </param>
 /// <param name="prop_name">Name of the property to set. </param>
 /// <param name="increment">Optional - Default is 1. Increments to add to current value, which is 0 if object was not found or created. Use negative number for decrements. </param>
 /// <param name="callback">The AsyncCallback delegate</param>
 /// <param name="state">An object containing state information for this asynchronous request</param>        
 /// <returns>Property's value after incremented. </returns>
 public long IncHashValueAsync(string obj_type, string key, string prop_name, int increment, IncHashValueCallback callback, Object state)
 {
     return IncHashValue(obj_type, key, prop_name, increment, true, callback, state);
 }