package org.openrs2.util.collect public class UniqueQueue { private val queue = ArrayDeque() private val set = mutableSetOf() public fun add(v: T): Boolean { if (set.add(v)) { queue.addLast(v) return true } return false } public fun poll(): T? { val v = queue.removeFirstOrNull() if (v != null) { set.remove(v) return v } return null } }