public List <TaxonRank> GetDefaultChildRanks(string parentElemType, string kingdomCode)
        {
            var list = new List <TaxonRank>();

            StoredProcReaderForEach("spBiotaDefGetChildren", (reader) => {
                list.Add(TaxonMapper.MapTaxonRank(reader));
            }, _P("vchrRank", parentElemType), _P("vchrKingdom", kingdomCode));
            return(list);
        }
 /// <summary>
 /// The rank list is cached because it rarely, if ever, changes.
 /// </summary>
 /// <returns></returns>
 public List <TaxonRank> GetTaxonRanks()
 {
     lock (_rankLock) {
         if (_rankList == null)
         {
             _rankList = new List <TaxonRank>();
             StoredProcReaderForEach("spBiotaDefRankGetAll", (reader) => {
                 _rankList.Add(TaxonMapper.MapTaxonRank(reader));
             });
         }
     }
     return(_rankList);
 }