@Override
  public Object[] toArray() {
    fullyLock();
    try {
      int size = count.get();
      Object[] a = new Object[size];
      int k = 0;
      for (Node<E> p = head.next; p != null; p = p.next) {
        a[k++] = p.item;
      }
      return a;
    } finally {
      fullyUnlock();
    }
  }
Returns an array containing all of the elements in this queue, in proper sequence.

<p>
The returned array will be "safe" in that no references to it are maintained by this queue. (In
other words, this method must allocate a new array). The caller is thus free to modify the
returned array.

<p>
This method acts as bridge between array-based and collection-based APIs.

@return an array containing all of the elements in this queue
geode-core/src/main/java/org/apache/geode/internal/cache/ForceableLinkedBlockingQueue.java