Just added some comments so it should be easier to grasp how @Messages work.
Added description field to Product, it's mapping in ProductRowMapper and it's getter/setter functions in the IProduct interface.
Product description is now showed when you select a product in the table.
Added some comments and removed some unnecessary initializations of variables.