/// <summary>
        /// Get Lump Split information for a Taxon
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <param name="taxonId"></param>
        /// <returns>List of LumpSplitEvent information</returns>
        public virtual List <WebLumpSplitEvent> GetLumpSplitEventsByOldReplacedTaxon(WebServiceContext context, int taxonId)
        {
            WebClientInformation clientInformation = GetClientInformation(context, WebServiceId.TaxonService);

            List <WebLumpSplitEvent> taxa = WebServiceProxy.TaxonService.GetLumpSplitEventsByOldReplacedTaxon(clientInformation, taxonId);

            return(taxa);
        }
        /// <summary>
        /// Get taxa matching a list of Ids.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <param name="taxonIds"></param>
        /// <returns>Taxa with Ids avaliable in the input list of Ids.</returns>
        public virtual List <WebTaxon> GetTaxaByIds(WebServiceContext context, List <int> taxonIds)
        {
            WebClientInformation clientInformation = GetClientInformation(context, WebServiceId.TaxonService);
            List <WebTaxon>      taxa = new List <WebTaxon>();

            if (taxonIds.IsNotEmpty())
            {
                taxa = WebServiceProxy.TaxonService.GetTaxaByIds(clientInformation, taxonIds);
            }

            return(taxa);
        }
        /// <summary>
        /// Get taxa by SearchCriteria.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <param name="searchCriteria">Search criteria.</param>
        /// <returns>List of taxons.</returns>
        public virtual List <WebTaxon> GetTaxaBySearchCriteria(WebServiceContext context, WebTaxonSearchCriteria searchCriteria)
        {
            WebClientInformation clientInformation = GetClientInformation(context, WebServiceId.TaxonService);
            List <WebTaxon>      taxa = new List <WebTaxon>();

            if (searchCriteria.IsNotNull())
            {
                taxa = WebServiceProxy.TaxonService.GetTaxaBySearchCriteria(clientInformation, searchCriteria);
            }

            return(taxa);
        }
        /// <summary>
        /// Get taxa avaliable in a list of GUIDS.
        /// </summary>
        /// <param name="context">Web service request context.</param>
        /// <param name="taxonGuids"></param>
        /// <returns>All taxa with GUIDs avaliable in the list of GUIDs.</returns>
        public virtual List <WebTaxon> GetTaxaByGUIDs(WebServiceContext context,
                                                      List <String> taxonGuids)
        {
            WebClientInformation clientInformation = GetClientInformation(context, WebServiceId.TaxonService);
            List <WebTaxon>      taxa     = null;
            List <Int32>         taxonIds = new List <Int32>();

            foreach (String taxonGuid in taxonGuids)
            {
                LSID lsid = new LSID(taxonGuid);

                int taxonId = Convert.ToInt32(lsid.ObjectID);
                taxonIds.Add(taxonId);
            }
            if (taxonIds.IsNotEmpty())
            {
                taxa = WebServiceProxy.TaxonService.GetTaxaByIds(clientInformation, taxonIds);
            }

            return(taxa);
        }