public T removeFirst() {
		if (tree.isEmpty()) {
			return null;
		}
		size--;
		Integer key = tree.firstKey();
		LinkedList<T> list = tree.get(key);
		if (list.size() == 1) {
			tree.remove(key);
		}
		return list.removeFirst();
	}
Removes and returns the object with the lowest priority number in the queue.
If more than one object has the same priority, then the object that
was added to the queue first is considered to have the lower priority value.
Null is returned if the queue is empty.
@return the object with the lowest priority number or null if the list is empty.
Ghidra/Framework/Generic/src/main/java/ghidra/util/datastruct/PriorityQueue.java