public bool CanAddAsDemand(IDiplomaticExchange exchange)
        {
            if (exchange == null)
            {
                throw new ArgumentNullException("request");
            }

            return(!HasOverlap(exchange) && exchange.CanExecuteBetweenCivs(Receiver, Sender));
        }
        public bool CanAddAsBilateralExchange(IDiplomaticExchange exchange)
        {
            if (exchange == null)
            {
                throw new ArgumentNullException("exchange");
            }

            return(!HasOverlap(exchange) && exchange.CanExecuteBetweenCivs(Sender, Receiver));
        }