public void TradeShipTicket(Investigator previousOwner)
    {
        Investigator i1 = App.Model.tradeModel.investigator1;
        Investigator i2 = App.Model.tradeModel.investigator2;

        if (previousOwner.investigatorName == i1.investigatorName)
        {
            // investigator2 gains ticket
            i2.TradeShipTicket(true);
            // If now investigator2 has too many tickets, they give 1 back
            if (i2.shipTickets + i2.trainTickets > 2)
            {
                if (i2.shipTickets > 2) // Now have 3 Ship tickets, give 1 back
                {
                    i2.TradeShipTicket(false);
                    i1.TradeShipTicket(true);
                }
                else // Give back a Train Ticket
                {
                    i2.TradeTrainTicket(false);
                    i1.TradeTrainTicket(true);
                }
            }
        }
        else
        {
            // investigator1 gains ticket
            i1.TradeShipTicket(true);
            // If now investigator1 has too many tickets, they give 1 back
            if (i1.shipTickets + i1.trainTickets > 2)
            {
                if (i1.shipTickets > 2) // Now have 3 Ship tickets, give 1 back
                {
                    i1.TradeShipTicket(false);
                    i2.TradeShipTicket(true);
                }
                else // Give back a Train Ticket
                {
                    i1.TradeTrainTicket(false);
                    i2.TradeTrainTicket(true);
                }
            }
        }
        previousOwner.TradeShipTicket(false);

        App.View.tradeView.TradeMade();
    }