Original code © Copyright IBM Corp. 2006, 2007 All rights reserved.