public static void FatalException(this ILogEnd log, Exception e)
        {
            log.Fatal(e);
            var ae = e as AggregateException;

            if (ae != null)
            {
                foreach (var _e in ae.InnerExceptions)
                {
                    log.FatalException(_e);
                }
            }
        }
                async public Task FinishParsing(ILogEnd log, MyDbContext data)
                {
                    /*
                     *      text use cases:
                     *      Commander-in-Chief - DOC, GEN5
                     *      Commanding Officer - Constance, CPT
                     *      Executive Officer - Deceded, LTC
                     *      BetaHook, PFC - On Leave
                     *      Guthrie, PFC - On Leave
                     *      Constance, CPT
                     *      Juvenis, COL
                     */

                    var person = await GetPersonFromName(data, name, rank);

                    if (onLeave)
                    {
                        person.Status = "on leave";
                    }

                    var personToUnit = data.PersonUnits.FirstOrDefault(p => p.Person.PersonId == person.PersonId && p.Unit.UnitId == unitId);

                    if (personToUnit == null)
                    {
                        personToUnit        = new PersonUnit();
                        personToUnit.Person = person;
                        personToUnit.Unit   = data.Units.Find(unitId);
                        personToUnit.Joined = DateTime.UtcNow;
                        personToUnit        = data.PersonUnits.Add(personToUnit);
                    }
                    personToUnit.PositionNameShort = positionNameShort;
                    personToUnit.Removed           = new DateTime(9999, 1, 1);           // (DateTime)SqlDateTime.MaxValue;

                    PersonToUnitId = personToUnit.PersonUnitId;
                    try
                    {
                        await data.SaveChangesAsync();
                    }
                    catch (Exception e)
                    {
                        log.Fatal(e);
                    }
                }