private void destruct() { lock ( gate ) { --referenceCount; } callbackQueue = null; if (referenceCount == 0 && initializedRos) { ROS.shutdown(); } }