Why the diagram is not displayed (using flowable java library)?

Hello, I am using flowable java library to generate the XML file for bpmn visualization. I built org.flowable.bpmn.model.BpmnModel and after that I used org.flowable.bpmn.converter.BpmnXMLConverter#convertToXML method. But the xml file in not render at all and therefore I decided to ask you for help. Why is not it working ? My xml file is this:

<?xml version="2.0" encoding="UTF-8"?>
<definitions
	xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:flowable="http://flowable.org/bpmn"
	xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
	xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
	xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.flowable.org/test">
	<process id="atlas.organizationcontroller.organizationcontroller_sample_workflow-1.0" name="atlas.organizationcontroller.organizationcontroller_sample_workflow" isExecutable="true">
		<documentation>organizationcontroller Sample workflow</documentation>
		<extensionElements>
			<flowable:executionListener event="start" expression="${flowableEngineExecutionListener.onStarted(execution, '{&quot;input&quot;:null,&quot;output&quot;:null,&quot;variables&quot;:null,&quot;retries&quot;:null,&quot;listener&quot;:null,&quot;id&quot;:&quot;organizationcontroller_sample_workflow&quot;,&quot;wdlVersion&quot;:&quot;1.0&quot;,&quot;namespace&quot;:&quot;atlas.organizationcontroller&quot;,&quot;key&quot;:&quot;atlas.organizationcontroller.organizationcontroller_sample_workflow-1.0&quot;,&quot;author&quot;:&quot;anagarwal@company.com&quot;,&quot;version&quot;:&quot;1.0&quot;,&quot;description&quot;:&quot;organizationcontroller Sample workflow&quot;,&quot;payloadType&quot;:&quot;com.company.atlas.organizationcontroller.examples.orchestrationworker.sampleworker.SampleWorkflowPayload&quot;,&quot;outputType&quot;:null,&quot;stepNames&quot;:[&quot;provision&quot;],&quot;includes&quot;:null,&quot;steps&quot;:[{&quot;name&quot;:&quot;provision&quot;,&quot;timeout&quot;:&quot;300000&quot;,&quot;description&quot;:null,&quot;repeat&quot;:null,&quot;wait&quot;:null,&quot;type&quot;:&quot;DELEGATE&quot;,&quot;expression&quot;:null,&quot;workflow&quot;:null,&quot;progress&quot;:{&quot;weight&quot;:100.0},&quot;input&quot;:[{&quot;to&quot;:&quot;delegate&quot;,&quot;from&quot;:&quot;com.company.atlas.organizationcontroller.examples.orchestrationworker.sampleworker.SampleWorkflowDelegate&quot;}],&quot;throwError&quot;:null,&quot;listener&quot;:null,&quot;publish&quot;:null,&quot;next&quot;:[{&quot;when&quot;:null,&quot;publish&quot;:null,&quot;error&quot;:null,&quot;doSteps&quot;:[&quot;end&quot;]}],&quot;join&quot;:null,&quot;retries&quot;:null,&quot;handler&quot;:null,&quot;stepProgressEnabled&quot;:null}],&quot;cycles&quot;:[],&quot;handler&quot;:null,&quot;progressEnabled&quot;:true,&quot;recoveryEnabled&quot;:true}')}"></flowable:executionListener>
		</extensionElements>
		<startEvent id="organizationcontroller_sample_workflow-start-event"></startEvent>
		<serviceTask id="organizationcontroller_sample_workflow-timeout-service-task-id" name="organizationcontroller_sample_workflow-timeout-service-task-name" flowable:expression="${flowableStartDelegate.execute(execution, 'organizationcontroller_sample_workflow')}"></serviceTask>
		<sequenceFlow sourceRef="organizationcontroller_sample_workflow-start-event" targetRef="organizationcontroller_sample_workflow-timeout-service-task-id"></sequenceFlow>
		<boundaryEvent id="organizationcontroller_sample_workflow-boundary-event" attachedToRef="organizationcontroller_sample_workflow-timeout-service-task-id" cancelActivity="true">
			<extensionElements>
				<flowable:executionListener event="end" expression="${flowableTimeoutExceededDelegate.execute(execution)}"></flowable:executionListener>
			</extensionElements>
			<timerEventDefinition>
				<timeDuration>${ec_execution_timeout}</timeDuration>
			</timerEventDefinition>
		</boundaryEvent>
		<exclusiveGateway id="provision-id-graceful-shutdown-exclusive" name="provision-name-graceful-shutdown-exclusive" default="provision-id-graceful-shutdown-exclusive-default-sequence-flow">
			<documentation>graceful shutdown</documentation>
		</exclusiveGateway>
		<sequenceFlow sourceRef="provision-id-graceful-shutdown-exclusive" targetRef="organizationcontroller_sample_workflow-end-event">
			<conditionExpression xsi:type="tFormalExpression">
				<![CDATA[${flowableGracefulShutdownCheckerExecutor.execute(execution, 'provision')}]]>
			</conditionExpression>
		</sequenceFlow>
		<callActivity id="provision" name="provision" calledElement="${flowableStepWorkflowDelegate.resolveWorkflow(execution, 'provision')}">
			<extensionElements>
				<flowable:in source="ec_sub_workflow_input_parameters_provision" target="ec_sub_workflow_input_parameters"></flowable:in>
				<flowable:out source="ec_sub_workflow_output_parameters" target="ec_sub_workflow_output_parameters_provision"></flowable:out>
				<flowable:executionListener event="start" expression="${flowableStepWorkflowDelegate.onStarted(execution, 'provision')}"></flowable:executionListener>
				<flowable:executionListener event="end" expression="${flowableStepWorkflowDelegate.onFinished(execution, 'provision')}"></flowable:executionListener>
			</extensionElements>
		</callActivity>
		<boundaryEvent id="boundary-event-catch-id-provision-b8c66536-bc11-4fab-ba4b-21043d6c5c39" attachedToRef="provision">
			<extensionElements>
				<flowable:executionListener event="end" expression="${flowableEngineExecutionListener.onFailed(execution, 'organizationcontroller_sample_workflow')}"></flowable:executionListener>
			</extensionElements>
			<errorEventDefinition errorRef="error"></errorEventDefinition>
		</boundaryEvent>
		<sequenceFlow sourceRef="boundary-event-catch-id-provision-b8c66536-bc11-4fab-ba4b-21043d6c5c39" targetRef="organizationcontroller_sample_workflow-end-event"></sequenceFlow>
		<sequenceFlow sourceRef="provision" targetRef="organizationcontroller_sample_workflow-end-event"></sequenceFlow>
		<sequenceFlow id="provision-id-graceful-shutdown-exclusive-default-sequence-flow" name="provision-name-graceful-shutdown-exclusive-default-sequence-flow" sourceRef="provision-id-graceful-shutdown-exclusive" targetRef="provision"></sequenceFlow>
		<sequenceFlow sourceRef="organizationcontroller_sample_workflow-timeout-service-task-id" targetRef="provision-id-graceful-shutdown-exclusive"></sequenceFlow>
		<endEvent id="organizationcontroller_sample_workflow-end-event">
			<extensionElements>
				<flowable:executionListener event="end" expression="${flowableEngineExecutionListener.onFinished(execution, 'organizationcontroller_sample_workflow')}"></flowable:executionListener>
			</extensionElements>
		</endEvent>
	</process>
	<bpmndi:BPMNDiagram id="BPMNDiagram_atlas.organizationcontroller.organizationcontroller_sample_workflow-1.0">
		<bpmndi:BPMNPlane bpmnElement="atlas.organizationcontroller.organizationcontroller_sample_workflow-1.0" id="BPMNPlane_atlas.organizationcontroller.organizationcontroller_sample_workflow-1.0"></bpmndi:BPMNPlane>
	</bpmndi:BPMNDiagram>
</definitions>

Do you mean generated image from the bpmn xml model is empty?

The cause can be:

missing graphical info about the process.

And is there a way how to use the java library to generate xml with a valid such tag?

Is there any update on this question? I’m also interested