anchor.diff:      Jar = proplists:get_value(jar, Config),
       Threads = proplists:get_value(thread_count, Config, ?DEFAULT_THREAD_COUNT),
       Port = start_jar(Nodename, Jar, Module, Threads),
  -    log_first_lines_from_port(Module, Port),
  +    Pid = log_first_lines_from_port(Module, Port),
  +    lager:info("[gen_java][~p] OS Pid: ~p", [Module, Pid]),
       %% Wait at most ten seconds for the node to come up
       case wait_until(
                       fun() ->
  
positive.code:     end.
  
  log_first_lines_from_port(Module, Port) ->
      log_port_lines(Module, Port,3).
  
  log_port_lines(_, _, 0) -> ok;
  log_port_lines(M, Port, N) ->
      receive
          {Port, {data, {_Type, Data}}} ->
              lager:info("[gen_java][~p] startup: ~p", [M, Data])
      after
          20000 ->
              lager:info("[gen_java] didn't output anything on startup")
      end,
      log_port_lines(M, Port, N-1).
  
negative.code: -define(DEFAULT_THREAD_COUNT, 10).
  
  -record(gen_java_state, {
            pid      = undefined :: string() | undefined,
            module   = undefined :: module() | undefined,
            config   = undefined :: [proplists:property()] | undefined,
            nodename = undefined :: atom() | undefined,
  