Refactoring: using forEach() from collection instead of stream.
Refactoring and add product reference expansion for it's product types. #19