code: public T [] toArray (@Nonnull final T [] type)
    {
      if (type.length > m_nMaxSize)
        throw new IllegalArgumentException ("Size of array passed in cannot be greater than " + m_nMaxSize);
  
      final int curIndex = _getCurrentIndex ();
      for (int k = 0; k < type.length; k++)
      {
        final int index = _getIndex (curIndex - k);
        type[k] = m_aCircularArray[index].get ();
      }
      return type;
    }
docs: Returns an array of the current elements in the queue. The order of elements
  is in reverse order of the order items were added.
  
  @param type
  destination
  @return An array containing the current elements in the queue. The first
  element of the array is the tail of the queue and the last element is
  the head of the queue