protected override async Task <IEnumerable <ITaxonClassification> > ResolveScientificName(string scientificName)
        {
            return(await Task.Run(() =>
            {
                var result = new HashSet <ITaxonClassification>();

                using (var aphiaService = new AphiaNameService())
                {
                    var aphiaRecords = aphiaService.getAphiaRecords(scientificName, false, true, false, 0);
                    if (aphiaRecords != null && aphiaRecords.Length > 0)
                    {
                        var records = aphiaRecords
                                      .Where(s => string.Compare(s.scientificname, scientificName, true) == 0)
                                      .Select(this.MapAphiaRecordToTaxonClassification);

                        foreach (var record in records)
                        {
                            result.Add(record);
                        }
                    }
                }

                return result;
            }));
        }
        public void AphiaService_GetAphiaRecordsWithValidParameters_ShouldWork()
        {
            var service = new AphiaNameService();
            var records = service.getAphiaRecords("Anodontiglanis", true, true, false, 0);

            Console.WriteLine(records?.Length);
            if (records != null)
            {
                foreach (AphiaRecord record in records)
                {
                    Console.WriteLine(record?.rank);
                    Console.WriteLine(record?.scientificname);
                    Console.WriteLine(record?.valid_name);
                }
            }
        }