/// <summary>
        /// Gets a number of objects that are already loaded or attempts to load them from the data source.
        /// If an object's data can't be found, an exception is thrown, and the object is marked <see cref="StateType.Invalid"/> in the
        /// <see cref="ClientTransaction"/>.
        /// </summary>
        /// <typeparam name="T">The type of objects expected to be returned. Specify <see cref="DomainObject"/> if no specific type is expected.</typeparam>
        /// <param name="clientTransaction">The <see cref="ClientTransaction"/>.</param>
        /// <param name="objectIDs">The IDs of the objects to be retrieved.</param>
        /// <returns>A list of objects of type <typeparamref name="T"/> corresponding to (and in the same order as) the IDs specified in
        /// <paramref name="objectIDs"/>. This list might include deleted objects.</returns>
        /// <exception cref="ArgumentNullException">The <paramref name="objectIDs"/> parameter is <see langword="null"/>.</exception>
        /// <exception cref="InvalidCastException">One of the retrieved objects doesn't fit the expected type <typeparamref name="T"/>.</exception>
        /// <exception cref="ObjectInvalidException">One of the retrieved objects is invalid in this transaction.</exception>
        /// <exception cref="ObjectsNotFoundException">
        /// One or more objects could not be found in the data source. Note that the <see cref="ClientTransaction"/> marks
        /// not found objects as <see cref="StateType.Invalid"/>, so calling this API again witht he same <see cref="ObjectID"/> results in a
        /// <see cref="ObjectInvalidException"/> being thrown.
        /// </exception>
        public static T[] GetObjects <T> (ClientTransaction clientTransaction, IEnumerable <ObjectID> objectIDs)
            where T : DomainObject
        {
            ArgumentUtility.CheckNotNull("clientTransaction", clientTransaction);
            ArgumentUtility.CheckNotNull("objectIDs", objectIDs);

            return(clientTransaction.GetObjects <T> (objectIDs));
        }
 public DomainObject[] GetObjects(IEnumerable <ObjectID> objectIDs)
 {
     ArgumentUtility.CheckNotNull("objectIDs", objectIDs);
     return(_parentTransaction.GetObjects <DomainObject> (objectIDs));
 }