public static String checkForBootstrapperUpdates(boolean verbose, String currentVersion, JSONObject versionsConfig) {
        
        if (Util.versionIsEquivalentOrNewer(currentVersion, versionsConfig.get("latestmupdate").toString())) {
            
            //Jump out if the launcher is up to date
            Logger.info("Updater.checkForBootstrapperUpdates", "MUpdate is up to date!");
            return null;
            
        } else {
            
            Logger.info("Updater.checkForBootstrapperUpdates", "Updates were found!");
            
            //Init message variable
            String message = "";
            
            //Init update queue stack
            Stack<String> updateQueue = new Stack();
            
            //Build a list of versions to install and the update messages
            for (Object updateObj : (JSONArray)versionsConfig.get("mupdateversions")) {
                JSONObject update = (JSONObject)updateObj;
                if (update.get("name").toString().equals(currentVersion)) {
                    //Break out of loop if the current version is reached
                    break;
                } else {
                    //Add to queue
                    updateQueue.push(update.get("name").toString());
                    
                    //Append to message
                    message += "Version " + update.get("name").toString() + ":\n";
                    for (Object messagesObj : (JSONArray)update.get("messages")) {
                        message += messagesObj.toString() + "\n";
                    }
                    message += "\n";
                }
            }
            
            //Show the update dialog
            GlobalDialogs.showUpdateNotification(message, "MUpdate");
            
            //Wait for the dialog result
            while (DialogResult == -1);
            int updateDialogResult = DialogResult;
            DialogResult = -1;
            
            if (updateDialogResult == 1) {
                
                //Update!
                if (doBootstrapperUpdate(updateQueue, versionsConfig)) {
                    return versionsConfig.get("latestmupdate").toString();
                } else {
                    return null;
                }
                
            } else {
                return null;
            }
        }
    }