/// <summary>
        /// Performs input validation and gets activity libraries that match with search 
        /// parameters while including assemblies with each activity library entry found.
        /// </summary>
        /// <param name="request">ActivityLibraryDC data contract.</param>
        /// <returns>List of ActivityLibraryDC.</returns>
        public static List<ActivityLibraryDC> GetActivityLibraries(ActivityLibraryDC request)
        {
            List<ActivityLibraryDC> reply = null;
            try
            {
                // Validates the input and throws ValidationException for any issues found.
                request.ValidateGetRequest();

                // Gets the activity libraries that match search criteria.
                reply = ActivityLibraryRepositoryService.GetActivityLibraries(request, true);
            }
            catch (ValidationException e)
            {
                e.HandleException();
            }
            catch (DataAccessException e)
            {
                e.HandleException();
            }
            return reply;
        }