public MigrationReportInstance migrateProcessInstance(String containerId, Number processInstanceId, String targetContainerId, String targetProcessId, String payload, String marshallingType) {
Map<String, String> nodeMapping = Collections.emptyMap();
if (payload != null) {
logger.debug("About to unmarshal node mapping from payload: '{}' using container {} marshaller", payload, containerId);
nodeMapping = marshallerHelper.unmarshal(containerId, payload, marshallingType, Map.class);
}
logger.debug("About to migrate process instance with id {} from container '{}' to container '{}' and process id '{}' with node mapping {}",
processInstanceId, containerId, targetContainerId, targetProcessId, nodeMapping);
MigrationReport report = processInstanceMigrationService.migrate(containerId, processInstanceId.longValue(), targetContainerId, targetProcessId, nodeMapping);
logger.debug("Migration of process instance {} finished with report {}", processInstanceId, report);
return convertMigrationReport(report);
}