@Override
      public void run() {
        try {
          while (!Thread.currentThread().isInterrupted()) {
            final Call call = queue.first.take();
            queue.second.offer(call.invoke());
          }
        } catch (InterruptedException e) {
          // break
        }
      }
@Override
      public void run()