String taskId = (String) request.getSession().getAttribute(SESSION_ATTR_TASK_ID);
String procId = (String) request.getSession().getAttribute(SESSION_ATTR_PROC_ID);
IProcessEntity linkedObject = getLinkedObject(procId);
if (taskHandlerMapping.containsKey(path)) {
ITaskDataHandler<ITaskDataEntity, IProcessEntity> handler = taskHandlerMapping.get(path);
ITaskDataEntity taskData = handler.bindTaskData(request, linkedObject);
TaskDataUtil.setLastUpdate(taskData, ContextUtil.getLoggedUsername());
if (RequestMethod.PUT.name().equals(request.getMethod())) {
handler.saveTaskData(taskData);
} else if (RequestMethod.POST.name().equals(request.getMethod())) {
handler.saveTaskDataAndPushProcess(taskData, linkedObject, taskId);