public List<E> poll(int pollTimeoutMs) {
    List<E> returnList = new ArrayList<>();
    poll(returnList, pollTimeoutMs);
    return returnList;
  }
Poll for new items in the queue. If {@link #wakeup()} is called from another thread, or the timeout otherwise
expires, this may return an empty list.
@param pollTimeoutMs the poll timeout in milliseconds.
@return a list of items taken out of the queue.
ambry-utils/src/main/java/com/github/ambry/utils/BatchBlockingQueue.java