code: @Override
      public Object getRequest() throws ESBJobInterruptedException {
          try {
              currentExchange = messageExchanges.take();
          } catch (BufferStoppedException e) {
              Thread.currentThread().interrupt();
              throw new ESBJobInterruptedException("Job canceled.");
          } catch (InterruptedException e) {
              Thread.currentThread().interrupt();
              throw new ESBJobInterruptedException("Job canceled.");
          }
          return currentExchange.getRequest();
      }
docs: Retrieves a request from the buffer and forwards it to the {@link TalendESBJob job} requesting it.
  
  @return the request retrieved from the buffer