private void Construct(string ns, bool validate_name) { if (!ROS.initialized) { throw new Exception("You must call ROS.Init() before instantiating the first nodehandle"); } collection = new NodeHandleBackingCollection(); UnresolvedNamespace = ns; Namespace = validate_name ? ResolveName(ns) : ResolveName(ns, true, true); OK = true; lock (gate) { if (referenceCount == 0 && !ROS.IsStarted()) { initializedRos = true; ROS.Start(); } ++referenceCount; } }