code: public void queueObjects(List<T> objects) {
          if (objects == null || objects.size() == 0)
              return;
  
          boolean readyToProcess = false;
          synchronized (mutex) {
              Log.v(Log.TAG_BATCHER, "%s: queueObjects called with %d objects (current inbox size = %d)",
                      this, objects.size(), inbox.size());
              inbox.addAll(objects);
              mutex.notifyAll();
  
              if (isFlushing) {
                  // Skip scheduling as flushing is processing all the queue objects:
                  return;
              }
  
              scheduleBatchProcess(false);
  
              if (inbox.size() >= capacity && isPendingFutureReadyOrInProcessing())
                  readyToProcess = true;
          }
  
          if (readyToProcess) {
              // Give work executor chance to work on a scheduled task and to obtain the
              // mutex lock when another thread keeps adding objects to the queue fast:
              synchronized (processMutex) {
                  try {
                      processMutex.wait(5);
                  } catch (InterruptedException e) {
                  }
              }
          }
      }
docs: Adds multiple objects to the queue.