Resolution: A task can be reworked however when a task is reworked, the task should be first completed since it is a copy of the completed task that is reworked. Reworking a task would require the specific task_id of the task that needs to be reworked.
Attached project explains the generic process to rework a task. You need to define a workflow to rework a task (in the attached project it is named as ReWorkTaskWorkflow). Then you will use this task, which is defined in the WF to rework any task using the BW process 'ReWorkTaskProcess'. The input to this BW process is the task id which you want it to be rework.