code: public static <E> LinkedBlockingDeque<E> newLinkedBlockingDeque(Iterable<? extends E> elements) {
      if (elements instanceof Collection) {
        return new LinkedBlockingDeque<E>(Collections2.cast(elements));
      }
      LinkedBlockingDeque<E> deque = new LinkedBlockingDeque<E>();
      Iterables.addAll(deque, elements);
      return deque;
    }
docs: Creates a {@code LinkedBlockingDeque} with a capacity of {@link Integer#MAX_VALUE},
  containing the elements of the specified iterable,
  in the order they are returned by the iterable's iterator.
  
  @since 12.0