protected override void OnParameterLoad(ConfigNode node)
        {
            base.OnParameterLoad(node);
            targetBody     = ConfigNodeUtil.ParseValue <CelestialBody>(node, "targetBody", (CelestialBody)null);
            biome          = ConfigNodeUtil.ParseValue <string>(node, "biome", "");
            situation      = ConfigNodeUtil.ParseValue <ExperimentSituations?>(node, "situation", (ExperimentSituations?)null);
            location       = ConfigNodeUtil.ParseValue <BodyLocation?>(node, "location", (BodyLocation?)null);
            experiment     = ConfigNodeUtil.ParseValue <string>(node, "experiment", "");
            recoveryMethod = ConfigNodeUtil.ParseValue <RecoveryMethod>(node, "recoveryMethod");

            foreach (ConfigNode child in node.GetNodes("VESSEL_DATA"))
            {
                Guid vid = ConfigNodeUtil.ParseValue <Guid>(child, "vessel");
                if (vid != null && FlightGlobals.Vessels.Where(v => v.id == vid).Any())
                {
                    vesselData[vid] = new VesselData();
                    foreach (string subject in ConfigNodeUtil.ParseValue <List <string> >(child, "subject", new List <string>()))
                    {
                        vesselData[vid].subjects[subject] = true;
                    }
                    vesselData[vid].recovery = ConfigNodeUtil.ParseValue <bool>(child, "recovery");
                }
            }

            ParameterDelegate <Vessel> .OnDelegateContainerLoad(node);

            CreateDelegates();
        }
        public CollectScienceCustom(CelestialBody targetBody, string biome, ExperimentSituations?situation, BodyLocation?location,
                                    string experiment, RecoveryMethod recoveryMethod, string title)
            : base(title)
        {
            this.targetBody     = targetBody;
            this.biome          = biome;
            this.situation      = situation;
            this.location       = location;
            this.experiment     = experiment;
            this.recoveryMethod = recoveryMethod;

            CreateDelegates();
        }