<p>When a process in jBPM forks into concurrent paths, each of these paths gets their own copy of the process variables, so that they run isolated from each other.</p>

<p>But what happens when the paths join again ?
Obviously there could be conflicting updates.
Does the context revert back to the state before the fork?
Can I choose to copy individual variables from the separate tracks?</p>

I think that you have to configure the Task Controllers of your tasks. In some cases it is enough to set the
```
access
```
attribute in a way that does not result in conflicts (e.g.
```
read
```
access to the first path and
```
read,write
```
access to the second path). If this is not the case then you can implement your own
```
TaskControllerHandler
```
and implement the method
```
void submitTaskVariables(TaskInstance taskInstance, ContextInstance contextInstance, Token token)
```
with your custom logic. Please see:
Task Controllers
.