public void deleteVariableInstanceByTask(TaskEntity task) {
   Map<String, VariableInstanceEntity> variableInstances = task.getVariableInstances();
   if (variableInstances != null) {
     for (VariableInstanceEntity variableInstance : variableInstances.values()) {
       variableInstance.delete();
     }
   }
 }
 public Map<String, Object> getProcessVariables() {
   Map<String, Object> variables = new HashMap<String, Object>();
   if (queryVariables != null) {
     for (VariableInstanceEntity variableInstance : queryVariables) {
       if (variableInstance.getId() != null && variableInstance.getTaskId() == null) {
         variables.put(variableInstance.getName(), variableInstance.getValue());
       }
     }
   }
   return variables;
 }
 @Override
 protected void initializeVariableInstanceBackPointer(VariableInstanceEntity variableInstance) {
   variableInstance.setTaskId(id);
   variableInstance.setExecutionId(executionId);
   variableInstance.setProcessInstanceId(processInstanceId);
 }