Sample code to accompany my blog at www.javasso.com