copied fix for tail finding from LockFreeLinkedBlockingQueue
optimisations for boundless setup, plus method renames