cs1302.gencs1302.p3LinkedUrgencyQueue<Type extends Comparable<Type>>«new»+LinkedUrgencyQueue()«override»+enqueue(item: Type): boolean«override»+dequeueMany(num: int): UrgencyQueue<Type>«override»+filter(cond: java.util.function.Predicate<Type>): UrgencyQueue<Type>«abstract»BaseLinkedUrgencyQueue<Type>~size: int~head: Node<Type>«new»+BaseUrgencyQueue()«override»+size(): int«override»+peek(): Type«override»+toString(): String«override»+dequeue(): Type«override»+dequeue(action: Consumer<Type>): void«override»+dequeueMany(num: int, action: Consumer<Type>): void«override»+clear(): void«override»+<SubType extends Type>enqueueAll(items: Iterable<SubType>): boolean«override»+toArray(generator: java.util.function.IntFunction<Type[]>): Type[]implementsextends«interface»UrgencyQueue<Type>+size(): int+enqueue(item: Type): boolean+peek(): Type+toString(): String+dequeue(): Type+dequeue(action: Consumer<Type>): void+dequeueMany(num: int): UrgencyQueue<Type>+dequeueMany(num: int, action: Consumer<Type>): void+clear(): void+filter(cond: java.util.function.Predicate<Type>): UrgencyQueue<Type>+<SubType extends Type>enqueueAll(items: Iterable<SubType>): boolean+toArray(generator: java.util.function.IntFunction<Type[]>): Type[]extendsCustomLinkedUrgencyQueue<Type>-comparator: java.util.Comparator<Type>«new»+CustomLinkedUrgencyQueue(comparator: java.util.Comparator<Type>)«override»+enqueue(item: Type): boolean«override»+dequeueMany(num: int): UrgencyQueue<Type>«override»+filter(cond: java.util.function.Predicate<Type>): UrgencyQueue<Type>Node<Type>-item: Type-next: Node<Type>«new»+Node(item: Type)«new»+Node(item: Type, next: Node<Type>)+getItem(): Type+setItem(item: Type): void+getNext(): Node<Type>+hasNext(): boolean+setNext(next: Node<Type>): void«static»+asString(node: Node<Type>): String«static»+asString(node: Node<Type>, toString: Function<Type, String>): Stringuses