Java Immutability - http://www.theserverside.com/blogs/thread.tss?track=NL-461&ad=651572HOUSE&thread_id=50161&asrc=EM_NLN_4133229&uid=703565 "A similar pattern is that with objects that you need to open before usage and make sure that they are closed on usage completion." http://digerati-illuminatus.blogspot.com/2006/12/initialize-pattern-and-open-close.html Discussion of various approach that implement immutable class - http://discuss.joelonsoftware.com/default.asp?design.4.601499 How to create immutable class, and why it is better? - http://www.infoq.com/presentations/Immutable-Object Immutable Event - http://blog.jonathanoliver.com/2011/03/cqrs-event-sourcing-and-immutable-data/