private IList<container> GetObjects(List<long> obj_ids, List<string> prop_names, bool isAsync, GetObjectsCallback callback, Object state)
        {
            var parameterList = new Dictionary<string, string> { { "method", "facebook.data.getObjects" } };
            Utilities.AddList(parameterList, "obj_ids", obj_ids);
            Utilities.AddList(parameterList, "prop_names", prop_names);

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

            var response = SendRequest<data_getObjects_response>(parameterList);
            return response == null ? null : response.data_getObjects_response_elt;
        }
 /// <summary>
 /// Get properties of multiple objects. 
 /// </summary>
 /// <example>
 /// <code>
 /// 
 /// </code>
 /// </example>
 /// <param name="obj_ids">A list of 64-bit numeric identifiers (fbids) of objects to query. For example: [fbid1, fbid2] </param>
 /// <param name="prop_names">Optional - A list of property names (strings) to selectively query a subset of object properties. If not specified, all properties will be returned. </param>
 /// <param name="callback">The AsyncCallback delegate</param>
 /// <param name="state">An object containing state information for this asynchronous request</param>        
 /// <returns>list of name-value pairs. </returns>
 public IList<container> GetObjectsAsync(List<long> obj_ids, List<string> prop_names, GetObjectsCallback callback, Object state)
 {
     return GetObjects(obj_ids, prop_names, true, callback, state);
 }