/// <summary>
 /// Gets a list of existing objects by id list.
 /// </summary>
 /// <param name="type">Object type.</param>
 /// <param name="idList">Id list of the objects to be fetched.</param>
 /// <param name="fields">The object fields to be retrieved.</param>
 /// <returns>List of matching APObject objects.</returns>
 public async static Task<IEnumerable<APObject>> MultiGetAsync(string type, IEnumerable<string> idList, IEnumerable<string> fields = null)
 {
     var request = new MultiGetObjectsRequest() { Type = type, };
     request.IdList.AddRange(idList);
     if (fields != null)
         request.Fields.AddRange(fields);
     var response = await request.ExecuteAsync();
     if (response.Status.IsSuccessful == false)
         throw response.Status.ToFault();
     return response.Objects;
 }
        /// <summary>
        /// Gets a list of existing objects by id list.
        /// </summary>
        /// <param name="type">Object type.</param>
        /// <param name="idList">Id list of the objects to be fetched.</param>
        /// <param name="fields">The object fields to be retrieved.</param>
        /// <returns>List of matching APObject objects.</returns>
        public async static Task <IEnumerable <APObject> > MultiGetAsync(string type, IEnumerable <string> idList, IEnumerable <string> fields = null)
        {
            var request = new MultiGetObjectsRequest()
            {
                Type = type,
            };

            request.IdList.AddRange(idList);
            if (fields != null)
            {
                request.Fields.AddRange(fields);
            }
            var response = await request.ExecuteAsync();

            if (response.Status.IsSuccessful == false)
            {
                throw response.Status.ToFault();
            }
            return(response.Objects);
        }