code: public static boolean downloadAndInstallUpdate(UpdateInfo updateToInstall, UpdateProgressDialog gui,
                                                     boolean launchUpdateAfterInstall, @SuppressWarnings("SameParameterValue") boolean deleteOldVersion, String... params) throws IllegalStateException, IOException {
          return downloadAndInstallUpdate(updateToInstall, gui, launchUpdateAfterInstall, deleteOldVersion, false, params);
      }
docs: Downloads the specified update as a jar-file and launches it. The jar
  file will be saved at the same location as the currently executed file
  but will not replace it (unless it has the same filename but this will
  never happen)
  
  @param updateToInstall          The {@link UpdateInfo}-object that contains the information
  about the update to download
  @param gui                      The reference to an {@link UpdateProgressDialog} that displays
  the current update status.
  @param launchUpdateAfterInstall If {@code true}, the downloaded file will be launched after
  the download succeeds.
  @param deleteOldVersion         If {@code true}, the old app version will be automatically
  deleted once the new version is downloaded. <b>Please note</b>
  that the file can't delete itself on some operating systems.
  Therefore, the deletion is done by the updated file. To
  actually delete the file, you need to call
  {@link #completeUpdate(String[])} in your applications main
  method.
  @param params                   Additional commandline parameters to be submitted to the new application version.
  @return {@code true} if the download finished successfully, {@code false}
  if the download was cancelled using
  {@link #cancelDownloadAndLaunch()}
  @throws IllegalStateException if maven fails to download or copy the new artifact.
  @throws IOException           If the updated artifact cannot be launched.
  @see #completeUpdate(String[])