protected XSGroupImpl(XSObject pParent, XsTNamedGroup pBaseGroup) throws SAXException {
super(pParent, pBaseGroup);
name = getQName(pBaseGroup.getName());
XSModelGroupImpl myModelGroup;
XsTNamedGroup group = (XsTNamedGroup) getXsObject();
if (group.getSequence() != null) {
myModelGroup = modelGroupImpl = new XSModelGroupImpl(XSModelGroup.SEQUENCE, pBaseGroup.getLocator());
nestedParticles = group.getSequence().getParticles();
particles = null;
} else if (group.getChoice() != null) {
myModelGroup = modelGroupImpl = new XSModelGroupImpl(XSModelGroup.CHOICE, pBaseGroup.getLocator());
nestedParticles = group.getChoice().getParticles();
particles = null;
} else if (group.getAll() != null) {
myModelGroup = modelGroupImpl = new XSModelGroupImpl(XSModelGroup.ALL, pBaseGroup.getLocator());
nestedParticles = group.getAll().getElements();
particles = null;
} else {
throw new IllegalStateException("Invalid group: Neither of 'sequence', 'choice'. or 'all' elements is set.");
}
this.modelGroup = myModelGroup;