Instances of this class represent functions: the main difference with
java.util.Map is that functions do not in principle allow enumeration of their domain or range.
An indirect priority queue provides a way to
by index elements taken from a given reference list,
and to
them in some specified order.
Elements that are smaller in the specified order are
dequeued first.