If not Thinking Particles, there is no need to check for both the ext particle interface and ipfSystem - in PhoenixFD we had to create a dummy PFSystem in order to workaround this limitation. The actual ipfSystem is checked before actually being used about 20 lines further.
Also, the built-in 3ds max Alembic export forces us to provide a dummy node as a result of GetParticleGroup() in order for the export to proceed correctly. This is why the returned node does not have to necessarily implement the IParticleGroup interface and should better be checked against NULL.
If not Thinking Particles, there is no need to check for both the ext particle interface and ipfSystem - in PhoenixFD we had to create a dummy PFSystem in order to workaround this limitation. The actual ipfSystem is checked before actually being used about 20 lines further.
Also, the built-in 3ds max Alembic export forces us to provide a dummy node as a result of GetParticleGroup() in order for the export to proceed correctly. This is why the returned node does not have to necessarily implement the IParticleGroup interface and should better be checked against NULL.