What if product does not exist ??? use setRequired, and maybe raise an exception if not an instance of ProductInterface