code: public static Application getApplication(final URL _versionUrl,
                                               final URL _rootUrl,
                                               final List<String> _classpathElements)
          throws InstallationException
      {
          Application appl = null;
          try {
              final DigesterLoader loader = DigesterLoader.newLoader(new FromAnnotationsRuleModule()
              {
                  @Override
                  protected void configureRules()
                  {
                      bindRulesFrom(Application.class);
                  }
              });
              final Digester digester = loader.newDigester();
              appl = (Application) digester.parse(_versionUrl);
              appl.rootUrl = _rootUrl;
              appl.classpathElements = _classpathElements;
              for (final InstallFile installFile : appl.tmpElements) {
                  appl.install.addFile(installFile.setURL(new URL(_rootUrl, installFile.getName())));
              }
              appl.tmpElements = null;
              Collections.sort(appl.dependencies, (_dependency0,
               _dependency1) -> _dependency0.getOrder().compareTo(_dependency1.getOrder()));
              for (final ApplicationVersion applVers : appl.getVersions()) {
                  applVers.setApplication(appl);
                  appl.setMaxVersion(applVers.getNumber());
              }
  
          } catch (final IOException e) {
              if (e.getCause() instanceof InstallationException) {
                  throw (InstallationException) e.getCause();
              } else {
                  throw new InstallationException("Could not open / read version file '" + _versionUrl + "'");
              }
            //CHECKSTYLE:OFF
          } catch (final Exception e) {
            //CHECKSTYLE:ON
              throw new InstallationException("Error while parsing file '" + _versionUrl + "'", e);
          }
          return appl;
      }
docs: <code>null</code> is returned, of the version file could not be opened
  and read.
  
  @param _versionUrl URL of the version file which defines the application
  @param _rootUrl root URL where the source files are located (for local
  files); URL of the class file (if source is in a Jar file)
  @param _classpathElements elements of the class path
  @return application instance with all version information
  @throws InstallationException if version XML file could not be parsed