src/main/java/com/spotify/fmt/ForkingExecutor.java
<T> T execute(SerializableCallable<T> f) throws IOException {
    try (final Execution<T> execution = new Execution<>(executionClassPath(), f)) {
      executions.add(execution);
      execution.start();
      return execution.waitFor();
    }
  }
/**
   * Execute a function in a sub-process.
   *
   * @param f The function to execute.
   * @return The return value of the function. Any exception thrown by the function the will be
   *     propagated and re-thrown.
   * @throws IOException if
   */
Execute a function in a sub-process.
@param f The function to execute.
@return The return value of the function. Any exception thrown by the function the will be
propagated and re-thrown.
Execute a function in a sub - process . @param f The function to execute . @return The return value of the function . Any exception thrown by the function the will be propagated and re - thrown .
<T> T execute(SerializableCallable<T> f) throws IOException {
    try (final Execution<T> execution = new Execution<>(executionClassPath(), f)) {
      executions.add(execution);
      execution.start();
      return execution.waitFor();
    }
  }
< T > T execute ( SerializableCallable < T > f ) throws IOException { try ( final Execution < T > execution = new Execution < > ( executionClassPath ( ) , f ) ) { executions . add ( execution ) ; execution . start ( ) ; return execution . waitFor ( ) ; } }
Execute a function in a sub-process.
Execute a function in a sub - process .