void _ParticleMovementHandler_Execute( void* pCommsHandler, void *data ){
	ParticleCommHandler*	self = (ParticleCommHandler*)pCommsHandler;
	Swarm					*swarm = (Swarm*)data;

	if( !swarm || !Stg_CheckType( swarm, Swarm ) )
		return;

	self->swarm = swarm;
	self->_commFunction( self );	
}
void _ParticleShadowSync_Execute( void* pCommsHandler, void *data ){
	ParticleCommHandler*	self = (ParticleCommHandler*)pCommsHandler;
	Swarm					*swarm = (Swarm*)data;
	
	self->swarm = swarm;
	assert( self->swarm );

	if( swarm->shadowTablesBuilt == False ){
		_Swarm_BuildShadowParticles( self->swarm );
	}

	self->_commFunction( self );	
}