@Override
    public void run() {
        if (this.plugin.getEventDispatcher().dispatchPreSync(false)) {
            return;
        }

        // Reload all groups
        this.plugin.getStorage().loadAllGroups().join();
        if (!this.plugin.getGroupManager().isLoaded(GroupManager.DEFAULT_GROUP_NAME)) {
            this.plugin.getStorage().createAndLoadGroup(GroupManager.DEFAULT_GROUP_NAME, CreationCause.INTERNAL).join();
        }

        // Reload all tracks
        this.plugin.getStorage().loadAllTracks().join();

        // Reload all online users.
        this.plugin.getUserManager().loadAllUsers().join();

        this.plugin.performPlatformDataSync();

        // Just to be sure...
        this.plugin.getGroupManager().invalidateAllGroupCaches();
        this.plugin.getUserManager().invalidateAllUserCaches();

        this.plugin.getEventDispatcher().dispatchPostSync();
    }
Runs the update task

<p>Called <b>async</b>.</p>
common/src/main/java/me/lucko/luckperms/common/tasks/SyncTask.java