This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Note: The original version of this post had a time-bomb in it. It would work as originally presented, but it could cause bizarre behavior if the pattern were used in a larger project. The original had an improper use of a java.util.List on line 11 of TreeNode.java (now it uses a java.util.Set). The issue is fully explained in my simple Hibernate list example.
Notice: This is provided with no warranty whatsoever. Use at your own risk.
This is the node class:
This is an example of how to use the persistent tree: