Property hisProp = result.getProperty(name);
String s = name.toString(); ComponentName hisPropName = new ComponentName(result, s.substring(societyName.length())); Property hisProp = result.getProperty(hisPropName);
  public SocietyComponent copy(Organizer organizer, Object context) {    String societyName = organizer.generateSocietyName(getSocietyName());    ScalabilityXSociety result = new ScalabilityXSociety(societyName);    result.initProperties();    Property propLevelCount = result.getProperty(PROP_LEVELCOUNT);    propLevelCount.setValue(getProperty(PROP_LEVELCOUNT).getValue());    Property propAgentCount = result.getProperty(PROP_AGENTCOUNT);    propAgentCount.setValue(getProperty(PROP_AGENTCOUNT).getValue());    for (Iterator i = getPropertyNames(); i.hasNext(); ) {      CompositeName name = (CompositeName) i.next();      Property myProp = getProperty(name);      if (myProp == propLevelCount) continue;      if (myProp == propAgentCount) continue;      // TODO: this appears to return null for some properties      Property hisProp = result.getProperty(name);      try {	Object o = PropertyHelper.validateValue(myProp, myProp.getValue());	if (o != null)	  hisProp.setValue(o);      } catch (InvalidPropertyValueException e) {	System.out.println("ScalabilityXSociety: " + e);      }    }    return (SocietyComponent)result;  }