private static void OverrideMissionEscapeMenu(bool returnDefault = false)
 {
     if (returnDefault)
     {
         OverrideView(typeof(MissionOptionsUIHandler), typeof(MissionGauntletOptionsUIHandler));
     }
     else
     {
         var types = AppDomain.CurrentDomain.GetAssemblies()
                     .Where(a => !a.IsDynamic)
                     .SelectMany(a => a.GetTypes())
                     .Where(t => ReflectionUtils.ImplementsOrImplementsEquivalent(t, typeof(IOptionsWithMCMOptionsMissionView)));
         var latestImplementation = VersionUtils.GetLastImplementation(ApplicationVersionUtils.GameVersion(), types);
         if (latestImplementation != null)
         {
             OverrideView(typeof(MissionOptionsUIHandler), latestImplementation?.Type !);
         }
     }
 }
 public VersionAttribute(string gameVersion, int implementationVersion)
 {
     GameVersion           = ApplicationVersionUtils.TryParse(gameVersion, out var v) ? v : default;
     ImplementationVersion = implementationVersion;
 }