There's a simple typo on line 71
#if UNITY_3_5 || UNITY_3_4
activatedGameObject.SetActiveRecursively(!activate.Value);
#else
SetActiveRecursively(activatedGameObject, activate.Value);
#endif
It should read
SetActiveRecursively(activatedGameObject, !activate.Value);