private IList<object_type_info> GetObjectTypes(bool isAsync, GetObjectTypesCallback callback, Object state)
        {
            var parameterList = new Dictionary<string, string> { { "method", "facebook.data.getObjectTypes" } };

            if (isAsync)
            {
                SendRequestAsync<data_getObjectTypes_response, IList<object_type_info>>(parameterList, new FacebookCallCompleted<IList<object_type_info>>(callback), state, "object_type_info");
                return null;
            }

            var response = SendRequest<data_getObjectTypes_response>(parameterList);
            return response == null ? null : response.object_type_info;
        }
 /// <summary>
 /// Get a list of all previously defined object types. 
 /// </summary>
 /// <example>
 /// <code>
 /// 
 /// </code>
 /// </example>
 /// <param name="callback">The AsyncCallback delegate</param>
 /// <param name="state">An object containing state information for this asynchronous request</param>        
 /// <returns>list of object type definitions, each of which has; name: name of object type; object_class: (reserved)</returns>
 public IList<object_type_info> GetObjectTypesAsync(GetObjectTypesCallback callback, Object state)
 {
     return GetObjectTypes(true, callback, state);
 }