public void UndoMove()
{
TurnInfo turnInfo = _previousTurnInfo.Pop();
_allAvailableMoves = turnInfo.AllMoves;
MostFailedStartUps = turnInfo.MostFailedStartUps;
LongestInternetLink = turnInfo.MostInternetLinks;
Hash = turnInfo.Hash;
if (CurrentPhase == GamePhase.Play)
{
CurrentUniversity.ResumeStudents(turnInfo.Move);
}
// NB. this has to be in the really end
turnInfo.Move.Undo(this);
CurrentUniversity.LengthOfLongestLink = turnInfo.CurrentUnversityLongestLink;
}