// instantiates a new Execution controller for the current execution
ExecutionInstance instance = createExecutionInstance(id, role, profile, request, modality);
// put execution instance in session
contextManager.set(ExecutionInstance.class.getName(), instance);
instance.refreshParametersValues(request, true);
instance.setParameterValues(userProvidedParametersStr, true);
// refresh obj variable because createExecutionInstance load the BIObject in a different way
obj = instance.getBIObject();
// if a snapshot is required, executes it