private void CleanupRequestUnitMessages()
    {
        IEnumerable <EvaluableMessage_UnitRequest> messages = base.AIEntity.AIPlayer.Blackboard.GetMessages <EvaluableMessage_UnitRequest>(BlackboardLayerID.Empire);

        if (messages != null)
        {
            foreach (EvaluableMessage_UnitRequest evaluableMessage_UnitRequest in messages)
            {
                if (evaluableMessage_UnitRequest.RequestUnitListMessageID != 0UL)
                {
                    BlackboardMessage message = base.AIEntity.AIPlayer.Blackboard.GetMessage(evaluableMessage_UnitRequest.RequestUnitListMessageID);
                    if (message == null || message.State == BlackboardMessage.StateValue.Message_Canceled)
                    {
                        evaluableMessage_UnitRequest.Cancel();
                    }
                }
            }
        }
    }
    public override IEnumerator Load()
    {
        yield return(base.Load());

        IEnumerable <BlackboardMessage> messages = base.AIEntity.AIPlayer.Blackboard.GetMessages <BlackboardMessage>(BlackboardLayerID.Empire);

        if (messages != null)
        {
            IUnitDesignDatabase agency = this.Empire.GetAgency <DepartmentOfDefense>();
            using (IEnumerator <BlackboardMessage> enumerator = messages.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    BlackboardMessage blackboardMessage = enumerator.Current;
                    if (blackboardMessage is EvaluableMessageWithUnitDesign)
                    {
                        (blackboardMessage as EvaluableMessageWithUnitDesign).Load(this.Empire, agency);
                    }
                }
                yield break;
            }
        }
        yield break;
    }