code: @SuppressWarnings("unchecked")
    public <T> Optional<T> execute(Class type, String... args) {
  
      Assert.notNull(type, "Class type must not be null");
  
      return JAVA_CLASS_EXECUTORS.stream().filter(javaClassExecutor -> javaClassExecutor.isExecutable(type))
        .findFirst().map(javaClassExecutor -> javaClassExecutor.execute(type, (Object[]) args)).orElseThrow(() ->
          new EmbeddedProcessExecutionException(String.format("Unable to execute Java class [%s];"
            + " Please verify that your class either implements Runnable, Callable, Executable or has a main method",
              getName(type))));
    }
docs: Executes the given Java {@link Class} passing the given array of {@link String arguments}.
  
  This execute method employs a {@link JavaClassExecutor} strategy to execute the given Java {@link Class}.
  The Java {@link Class} is expected to either implement {@link Runnable}, {@link Callable}, {@link Executable}
  or implement a {@literal main} {@link Method}.
  
  @param <T> {@link Class} type of the Java program return value.
  @param type Java {@link Class} to execute in embedded mode.
  @param args array of {@link String arguments} to pass to the Java {@link Class}.
  @return an {@link Optional} return value from the execution of the Java {@link Class}.
  @throws IllegalArgumentException if the Java {@link Class} is {@literal null}.
  @throws EmbeddedProcessExecutionException if the Java {@link Class} is not executable.
  @see org.cp.elements.process.java.EmbeddedJavaProcessExecutor.JavaClassExecutor
  @see java.lang.Class
  @see java.util.Optional