ModelElementTypeBuilder typeBuilder = modelBuilder.defineType(ThrowEvent.class, BPMN_ELEMENT_THROW_EVENT)
.namespaceUri(BPMN20_NS)
.extendsType(Event.class)
.abstractType();
SequenceBuilder sequenceBuilder = typeBuilder.sequence();
dataInputCollection = sequenceBuilder.elementCollection(DataInput.class)
.build();
dataInputAssociationCollection = sequenceBuilder.elementCollection(DataInputAssociation.class)
.build();
inputSetChild = sequenceBuilder.element(InputSet.class)
.build();
eventDefinitionCollection = sequenceBuilder.elementCollection(EventDefinition.class)
.build();
eventDefinitionRefCollection = sequenceBuilder.elementCollection(EventDefinitionRef.class)
.qNameElementReferenceCollection(EventDefinition.class)
.build();
typeBuilder.build();
}