private void closeConnectedExperiments()
        {
            int l = experiments.Count;

            for (int i = 0; i < l; i++)
            {
                ModuleSEPScienceExperiment exp = experiments[i];

                if (exp == null)
                {
                    continue;
                }

                exp.setController(null);
                experiments[i] = null;
            }
        }
        private void getConnectedExperiments()
        {
            var modules = vessel.FindPartModulesImplementing <ModuleSEPScienceExperiment>().Where(m => m.IsDeployed).ToList();

            int l = modules.Count;

            for (int i = 0; i < l; i++)
            {
                if (experiments.Count >= maxExperiments)
                {
                    break;
                }

                ModuleSEPScienceExperiment exp = modules[i];

                if (exp == null)
                {
                    continue;
                }

                if (exp.Handler == null)
                {
                    continue;
                }

                if (!exp.IsDeployed)
                {
                    continue;
                }

                if (exp.Controller != null)
                {
                    continue;
                }

                exp.setController(this);
                experiments.Add(exp);
            }

            Events["ConductExperiments"].active = experiments.Count > 0;
        }