4 Init [0] Init 6 Init [0] Init 1 2 Item( code=1, price=40, present=false ) 1 3 Item( code=2, price=40, present=false ) 4 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=120.0(4); objList=[Item( code=1, price=40, present=false ), Item( code=2, price=40, present=false ), Item( code=3, price=40, present=false )](1) 1 5 Item( code=3, price=40, present=false ) 1 6 Item( code=4, price=40, present=false ) 7 Init [0] Init 6 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=1, price=40, present=false ), Item( code=2, price=40, present=false ), Item( code=3, price=40, present=false ), Item( code=4, price=40, present=false )](1) 4 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=2, price=40, present=false ), Item( code=3, price=40, present=false ), Item( code=4, price=40, present=false )](1) 2 2 Item( code=1, price=40, present=true ) 7 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=2, price=40, present=false ), Item( code=3, price=40, present=false ), Item( code=4, price=40, present=false )](1) 6 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=2, price=40, present=false ), Item( code=3, price=40, present=false ), Item( code=4, price=40, present=false )](1) 4 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=3, price=40, present=false ), Item( code=4, price=40, present=false )](1) 2 3 Item( code=2, price=40, present=true ) 7 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=3, price=40, present=false ), Item( code=4, price=40, present=false )](1) 6 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=3, price=40, present=false ), Item( code=4, price=40, present=false )](1) 2 5 Item( code=3, price=40, present=true ) 7 CollectAndAccumulateRule [0, 1, 4] CollectAndAccumulateRule price=160.0(4); objList=[Item( code=4, price=40, present=false )](1)