Nice to see some new Java code flowing in. Although, I don't see a reason to break up data in, out, and retrieval so profusely. It only complicates a straight forward snippet more than should be so. Looks good though, and it compiles just fine. However, your description of the snippet doesn't accurately depict what the snippet does, at least that's how I understood it.