Could we have pushUnique & queueUnique methods for the CircularQueue Class please.
They would first check to see if the item was already in the queue and remove it before pushing or queueing the item.
This is the sort of behaviour one would expect from a recent files list. If you revisit a file you expect it to appear as the last file visited, but any previous reference to it would be removed from the list.
This could equally well be achieved by a 'unique' parameter to the push & queue methods or a new UniqueCircularQueue class if those methods were felt to be more in keeping with the look & feel of the language.
PS: Sorry if this appears twice - 1st attempt disappeared.