Bypass plugin loading for Rhino.Testing

I have managed to modify the Rhino.Testing library and set it up to run integration tests for my custom .gha plugin. In the original code for Rhino.Testing, in the GH1Loader class, the LoadGHA method is used to load any specified .gha files into Grasshopper. This method calls a private (?) method called LoadGHA on the ComponentServer.

The issue I am facing can be described like this:
For the plugin’s development, I have added a static path to my .gha file in GrasshopperDeveloperSettings. This makes it so that when Rhino.Testing loads Grasshopper, the .gha file will automatically get loaded. But the integration tests must not rely on a static path for the .gha file, therefore I want to be able to supply the path to the latest .gha file to the LoadGHA method.

If I attempt to load the plugin again, Grasshopper will notice that the same plugin was already loaded and will show messages. Is there any workaround for this situation?

My current modified version of the LoadGHA method looks like this:

public static void LoadGHA(IEnumerable<string> ghaFiles) {

    System.Reflection.MethodInfo loader =
        GH1.Instances.ComponentServer
                     .GetType()
                     .GetMethod("LoadGHA", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);

    foreach (string gha in ghaFiles) {
        // Verify that the gha file is not already loaded.
        var matchingLibrary = GH1.Instances.ComponentServer.Libraries.FirstOrDefault(l => string.Equals(Path.GetFileName(l.Location), Path.GetFileName(gha)));
        if (matchingLibrary != null) {
            Logging.logMessage($"Skip loading Grasshopper plugin from file:{gha}. Same-name file is already loaded possibly in GrasshopperDeveloperSettings at version {matchingLibrary.Version}.");
            continue;
        }

        Logging.logMessage($"Loading Grasshopper plugin from file:{gha}");
        loader.Invoke(
                GH1.Instances.ComponentServer,
                new object[] { new GH1.Kernel.GH_ExternalFile(gha), false }
            );
    }
}

Bump