PIM-3281 : no private methods in product builder, re-order methods
PIM-3281 : add spec cases for invalid argument exception when add a
product value