code: public void execute() throws MojoExecutionException {
          ClassLoader classloader;
          
          try {
              classloader= createClassLoader();
          } catch (Exception e) {
              throw new MojoExecutionException("could not create classloader from dependencies", e);
          }
          
          AbstractConfiguration[] configurations;
          
          try {
              configurations= ConfigurationGenerator.execute(generatedSourceDirectory, applicationDefinition, classloader, getSLF4JLogger());
          } catch (Exception e) {
              throw new MojoExecutionException("could not generate the configurator", e);
          }
          
          getPluginContext().put(GENERATED_CONFIGURATIONS_KEY, configurations);
          project.addCompileSourceRoot(generatedSourceDirectory.getPath());
      }
docs: Processes all dependencies first and then creates a new JVM to
  generate the configurator implementation with.