Workers chain
Each worker works with a main business object's data at a time. After processing the data, the transformed data is passed on to the next worker. Once the last worker in the chain has completed processing the data, the workers are checked to see if all data has been processed, in reverse order starting from the last worker. If any worker has not completed processing the data, the worker is executed again and after that, the next worker in the chain is called. This process continues until the first worker reports that it has completed processing the data.