docs: private void revisitMessages(Definitions def) {
          List<RootElement> rootElements = def.getRootElements();
          List<ItemDefinition> toAddDefinitions = new ArrayList<ItemDefinition>();
          for (RootElement root : rootElements) {
              if (root instanceof Message) {
                  if (!existsMessageItemDefinition(rootElements,
                                                   root.getId())) {
                      ItemDefinition itemdef = Bpmn2Factory.eINSTANCE.createItemDefinition();
                      itemdef.setId(root.getId() + "Type");
                      toAddDefinitions.add(itemdef);
                      ((Message) root).setItemRef(itemdef);
                  }
              }
          }
          for (ItemDefinition id : toAddDefinitions) {
              def.getRootElements().add(id);
          }
      }