I have changed ```positions``` in ```Queue.java``` from [HashSet](http://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html) to [LinkedHashSet](http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashSet.html) in order to get predictable iteration order. This should solve the problem with wrong queue position number being returned. This must be tested with multiple users before merging.