/// @brief Method to reload all nodes
    ///
    /// This method is used by inspectors to load and unload the relevant nodes when those are currently
    /// not loaded.
    public static void InspectorReloadAnInstance()
    {
        NIEventLogger         loggerInstance  = FindObjectOfType(typeof(NIEventLogger)) as NIEventLogger;
        bool                  awakenLogger    = false;
        NIQuery               queryInstance   = FindObjectOfType(typeof(NIQuery)) as NIQuery;
        bool                  awakenQuery     = false;
        OpenNISettingsManager managerInstance = FindObjectOfType(typeof(OpenNISettingsManager)) as OpenNISettingsManager;

        if (managerInstance == null)
        {
            Debug.LogError("Please Add an OpenNISettingsManager object to the scene");
            return;
        }
        if (managerInstance.Valid)
        {
            return; // it is already up, nothing to do...
        }
        if (loggerInstance != null && loggerInstance.Initialized == false)
        {
            loggerInstance.Awake();
            awakenLogger = true;
        }
        if (queryInstance != null && queryInstance.Initialized == false)
        {
            queryInstance.Awake();
            awakenQuery = true;
        }
        managerInstance.Awake();
        if (managerInstance.UserSkeletonValid == false)
        {
            Debug.LogError("No user generator available. Please make sure the user generator is active");
        }
        managerInstance.OnDestroy();
        if (awakenQuery)
        {
            queryInstance.OnDestroy();
        }
        if (awakenLogger)
        {
            queryInstance.OnDestroy();
        }
    }