public void Apply(GH_SwitcherComponent component, GH_Document document) { if (noUnit) { component.ClearUnit(recompute: true, recordEvent: false); } else { component.SwitchUnit(unit, recompute: true, recordEvent: false); } for (int i = 0; i < inputs.Count; i++) { GH_SwitcherParamState gH_SwitcherParamState = inputs[i]; int num = component.Params.IndexOfInputParam(gH_SwitcherParamState.ParameterId); if (num == -1) { continue; } IGH_Param val = component.Params.Input[num]; for (int j = 0; j < gH_SwitcherParamState.Targets.Count; j++) { IGH_Param val2 = document.FindParameter(gH_SwitcherParamState.Targets[j]); if (val2 != null) { val.AddSource(val2); } } } for (int k = 0; k < outputs.Count; k++) { GH_SwitcherParamState gH_SwitcherParamState2 = outputs[k]; int num2 = component.Params.IndexOfOutputParam(gH_SwitcherParamState2.ParameterId); if (num2 == -1) { continue; } IGH_Param val3 = component.Params.Output[num2]; for (int l = 0; l < gH_SwitcherParamState2.Targets.Count; l++) { IGH_Param val4 = document.FindParameter(gH_SwitcherParamState2.Targets[l]); if (val4 != null) { val4.AddSource(val3); } } } }