ParticleSG particle = myParticles[i];
if (particle.isElement()) {
PropertySG elementSG = particle.getPropertySG();
elementSG.generate(pSource);
} else if (particle.isGroup()) {
GroupSG groupSG = particle.getGroupSG();
groupSG.generateProperties(pSource);
} else if (particle.isWildcard()) {
PropertySG wildcardSG = particle.getPropertySG();
wildcardSG.generate(pSource);
} else {
throw new IllegalStateException("Unknown particle type: Neither of element, group, or wildcard");