use tryLock in some cases where we don't want to block and pass already locked to the findParticleByID() in scripting interface