[Listeners] Task preassignment event

In the scenario I’m trying to implement task assignment depends on the task property defined in the model. Is it possible to define a Listener which will be called just before task assignment, it will read Task property and then based on that it will set an assignee collection? I have been trying to implement it in Task Listeners for event types: assignment and create - none of them have been reached because my collection variable was not set. I have also tried Execution Listener with event type start and it also didn’t work.

The only working solution for me is adding service tasks before each user task, setting the required properties on service tasks and then passing collection variable to the user task. However I would like to keep my diagram as simple as possible - no additional Service Tasks.

Any other ideas how could I set each task assignee without additional service tasks?

Is your goal to automatically assign a user task to a user from a variable in the process instance?

Actually the process instance variables and a task variable contains a data which I need to pass as an argument to the method which resolves participants - returns a collections of user ids which I want to assign to collection in the model which is used to assign users to the tasks.

Maybe I will try to rephrase it just for the clearness:
I have an multi instance UserTask. I have set Multi Instance Collection property to ${resolveParticipantService.resolveParticipants(execution)}. This is a method which retrieves task participants. This method to resolve participants correctly needs a variable which is set in the BPMN model in Input/Output tab. Unfortunately while debugging I am not able to get value of this variable - probably because the task has not been created yet. What should I do to achieve my goal which is resolving participants for multi instance UserTask using it’s variables/properties?