code: @Override
      public Object[] toArray() {
          if (size == 0) {
              return new Object[0];
          }
          Object[] destination = toArray(DEFAULT_DESTINATION);
          return destination;
      }
docs: 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 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