hi,
as far as I remember once "claim" method of task service get called, (assume you have implemented a task listener for event "assignment"), the listener (notify method) will be called. inside listener method "notify" you can check who try to claim this task, if she claimed the task before, an exception should be thrown in order to abort the operation. so how to know if she claimed the task before? you need to keep a list of users who claimed the task before in a process variable (let's call it "participants"). if she doesn't claim this task before, her user id should be saved in "participants" process variable for later use. hope this helps.