This allocator maintains the set of all overlapping particle pairs, with each overlapping particle pair managed by a FParticlePairMidPhase object. the MidPhase object is what actually calls the Narrow Phase and maintains the set of collision constraints for all the shape pairs on the particles.