setProviderCount();
  private void changeLevels(Object prev) {    int newLevels = getLevelCount();    if (newLevels < 1) throw new RuntimeException("Must have > 0 levels");    while (newLevels < getChildCount()) {      removeChild(getChildCount() - 1);    }    if (newLevels > getChildCount()) {      int[] agentCount = (int[]) getProperty(PROP_AGENTCOUNT).getValue();      agentCount[0] = 1;      while (newLevels > getChildCount()) {	int level = getChildCount();	ScalabilityXAgent superior = null;	if (level > 0) {	  superior = ((ScalabilityXLevel) getChild(0)).getSuperior();	}	ScalabilityXLevel child = new ScalabilityXLevel(level, superior);	addChild(child);	child.addPropertiesListener(this);	child.initProperties();	setPropertyVisible(child.getProperty(ScalabilityXLevel.PROP_LEVEL), false);	for (int i = 0; i < mirroredProperties.length; i++) {	  MirroredPropertyInfo mp = mirroredProperties[i];	  setMirroredProperty(child, mp, level, agentCount);	}      }    }  }