Refactored BpProduct#generate