public void setTaskEvaluator(TaskEvaluator aTaskEvaluator) {
    taskEvaluator = aTaskEvaluator;
  }
Implements a Fork/Join construct. 

Fork/Join tasks are expected to have a "branches" 
property which contains a list of task list.

Each branch executes in isolation, in parallel 
to the other branches in the fork and has its 
own context namespace.

<pre>
  - type: fork
    branches: 
      - - name: randomNumber
          label: Generate a random number
          type: randomInt
          startInclusive: 0
          endInclusive: 5000
        
        - type: sleep
          millis: ${randomNumber}
        
      - - name: randomNumber
          label: Generate a random number
          type: randomInt
          startInclusive: 0
          endInclusive: 5000
        
        - type: sleep
          millis: ${randomNumber}
</pre>

@author Arik Cohen
@since May 11, 2017
@see ForkTaskCompletionHandler
src/main/java/com/creactiviti/piper/core/task/ForkTaskDispatcher.java