PointCloud2 is not display correct

I have a relatively large point cloud data with max_pts set to a maximum of 150000000. PointCloud2 loads the latest data and cleans up old data every time. How to accumulate and display data each time

This is the code for me to load point cloud according to the official example

[enter image description here]
(https://i.sstatic.net/26ia0gXM.png)

This is the source code of PointCloud2 that I reviewed. This code updates the latest received data every time, and old data is replaced

[enter image description here]
(https://i.sstatic.net/Q28e8YnZ.png)

[enter image description here]
(https://i.sstatic.net/CbkhVsKr.png)

If I want new data to accumulate and display data without replacing old data, I should need to change the source code of PointCloud2.

My data is pushed repeatedly, and the new data pushed each time does not include the data that has already been pushed. However, I am not sure how to push new data that includes the data that has already been pushed