question: public Object [ ] toArray ( ) { final ReentrantLock lock = this . lock ; lock . lock ( ) ; try { return Arrays . copyOf ( queue , size ) ; } finally { lock . unlock ( ) ; } }
target:  Returns an array containing all of the elements in this queue. The returned array elements are in no particular order. <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.