code: public static <C extends Callable<T>, T> T call(Class<C> cls, ApplicationContext ctx, String... args) {
          return CommandLine.call(cls, new MicronautFactory(ctx), args);
      }
docs: Obtains an instance of the specified {@code Callable} command class from the specified context,
  injecting any beans from the specified context as required,
  then parses the specified command line arguments, populating fields and methods annotated
  with picocli {@link Option @Option} and {@link Parameters @Parameters}
  annotations, and finally calls the command and returns the result.
  <p>
  The caller is responsible for {@linkplain ApplicationContext#close() closing} the context.
  </p>
  @param cls the Callable command class
  @param ctx the ApplicationContext that injects dependencies into the command
  @param args the command line arguments
  @param <C> The callable type
  @param <T> The callable return type
  
  @return {@code null} if an error occurred while parsing the command line options,
  or if help was requested and printed. Otherwise returns the result of calling the Callable
  @throws InitializationException if the specified command object does not have
  a {@link Command}, {@link Option} or {@link Parameters} annotation
  @throws ExecutionException if the Callable throws an exception