Refactor: Use read/write locks instead of single instance synchronizations that will give lock contention on read, which is unecessary and inefficient.
Ooops: Adding the LifoSet class, this is just an omission.
REFACTOR: Add finals, remove unecessary casts.
Refactor: Remove unused imports, be more java 7-like