class ArtifactsConverter implements NodeConverter<org.eclipse.bpmn2.FlowElement> {

    @Override
    public Result<BpmnNode> convert(org.eclipse.bpmn2.FlowElement element) {
        return Match.of(FlowElement.class, BpmnNode.class)
                .when(org.eclipse.bpmn2.TextAnnotation.class, this::toTextAnnotation)
                .when(org.eclipse.bpmn2.DataObjectReference.class, this::toDataObject)
                .apply(element);
    }

    public  ArtifactsConverter(TypedFactoryManager typedFactoryManager, PropertyReaderFactory propertyReaderFactory);

}