Задача: через API определить, принадлежит ли текущий BPMN элемент top-level процессу
Иерархия диаграм определяется деревом диаграм, но в то же время ничто не мешает не BPMN диаграмме ссылаться на BPMN диаграмму, т.е. фактически быть ее парентом в дереве.
Понятно, что если элемент принадлежит Expanded подпроцессу, то значит, это не top-level. А если диаграмма не содержит expanded подпроцессов, а каждый подпроцесс описывается в отдельной диаграмме?
Насколько я знаю, отдельные диаграммы, описывающие expanded подпроцессы, не могут иметь пулов и лэйнов. Или я ошибаюсь? Но если это просто top-level диаграмма ?
Можно ли как-то еще по наличию/отсутствию BPMN элементов и их связей определить top-level это или нет ? Конечно, нужно учитывать, что пользователь мог ошибиться и, например, положить Start Event с None триггером на не top-level диаграмму. Есть ли такое условие, которое наверняка сработает ?
Может, я уже путаюсь. Помогите, пожалуйста, разобраться.