boolean (Object o) { T t = cast(o); QueueEntry<T> entry = findEntry(t); if (entry == null) return false; QueueEntry<T> prev = entry.prev; QueueEntry<T> next = entry.next; prev.next = next; next.prev = prev; set.remove(entry); return true; }