code: public boolean installIfNecessaryFrom(@Nonnull URL archive, @CheckForNull TaskListener listener, @Nonnull String message) throws IOException, InterruptedException {
          return installIfNecessaryFrom(archive, listener, message, MAX_REDIRECTS);
      }
docs: Given a tgz/zip file, extracts it to the given target directory, if necessary.
  
  <p>
  This method is a convenience method designed for installing a binary package to a location
  that supports upgrade and downgrade. Specifically,
  
  <ul>
  <li>If the target directory doesn't exist {@linkplain #mkdirs() it will be created}.
  <li>The timestamp of the archive is left in the installation directory upon extraction.
  <li>If the timestamp left in the directory does not match the timestamp of the current archive file,
  the directory contents will be discarded and the archive file will be re-extracted.
  <li>If the connection is refused but the target directory already exists, it is left alone.
  </ul>
  
  @param archive
  The resource that represents the tgz/zip file. This URL must support the {@code Last-Modified} header.
  (For example, you could use {@link ClassLoader#getResource}.)
  @param listener
  If non-null, a message will be printed to this listener once this method decides to
  extract an archive, or if there is any issue.
  @param message a message to be printed in case extraction will proceed.
  @return
  true if the archive was extracted. false if the extraction was skipped because the target directory
  was considered up to date.
  @since 1.299