private String getLabel( XSParticle p ) {
return markedParticles.get(p);
}
public void particle( XSParticle p ) {
XSTerm t = p.getTerm();
if(marked(p)) {
BIProperty cust = BIProperty.getCustomization(p);
CPropertyInfo prop = cust.createElementOrReferenceProperty(
getLabel(p), false, p, RawTypeSetBuilder.build(p,insideOptionalParticle));
getCurrentBean().addProperty(prop);
} else {
// repeated model groups should have been marked already
assert !p.isRepeated();
boolean oldIOP = insideOptionalParticle;
insideOptionalParticle |= BigInteger.ZERO.equals(p.getMinOccurs());
// this is an unmarked particle
t.visit(this);
insideOptionalParticle = oldIOP;
}
}