public static boolean updateOrInform(boolean checkForUpdate) {
		try {
			if (Util.runningManagedJBang()) {
				String latestVersion = retrieveLatestVersionAsync().get();
				if (!checkForUpdate || isNewer(latestVersion)) {
					return true;
				} else if (checkForUpdate) {
					inform(latestVersion, false);
				}
			} else {
				if (checkForUpdate) {
					checkNowAndInform();
				} else if (!informed) {
					showManualInstallMessage();
				}
			}
		} catch (ExecutionException e) {
			throw new ExitException(BaseCommand.EXIT_GENERIC_ERROR, "Couldn't retrieve latest jbang version");
		} catch (InterruptedException e) {
			// Ignore
		}
		return false;
	}
Very specialized function used to check if jbang can be updated. It returns
`true` when we're running a managed jbang and either there is a newer version
or `checkForUpdate` was disabled. In all other cases it will return `false`
and informing the user that either jbang is already up-to-date or telling
them how to update jbang themselves (if `checkForUpdate` was disabled).

@param checkForUpdate do we check for a new version or not?
@return do we update jbang or not?
src/main/java/dev/jbang/util/VersionChecker.java