anchor.diff:  %% If nerlo.jar in ../java/dist, then
   %% <pre>
   %% (shell@host)1> {ok,Pid} = nerlo_jsrv:start().
  -%% (shell@host)2> nerlo_jsrv:stop().
  +%% (shell@host)2> nerlo_jsrv:send(job).
  +%% (shell@host)3> nerlo_jsrv:stop().
   %% </pre>
   %% @author Ingo Schramm
   
  
positive.code:     {W, L} = f:lrot(S#jsrv.workers),
      gen_server:cast(W,{job,From,Spec}),
      {noreply, S#jsrv{workers=L}};
  handle_call(Msg,From,S) ->
      log:warn(self(), "Cannot understand call from ~p: ~p", [From,Msg]),
      {reply, {error, unknown_msg}, S}.
  
  % @hidden
  handle_cast({job,From,Spec}, S) ->
      Result = do_job(Spec),
      gen_server:reply(From, Result),
      {noreply, S};
  handle_cast({'STOP'}, S) ->
      case S#jsrv.worker of
          yes -> nop;
          no  -> shutdown(S)
      end,
      log:info(self(),"stopping with state: ~w", [S]),
      {stop, normal, S};    
  
negative.code: -behaviour(gen_server).
  
  % public interface
  -export([job/1,send/1]).
  -export([start/0, start/1, start_link/0, start_link/1, stop/0]).
  
  % gen_server exports
  