AdminObjectInstance[] old = getAdminObjectInstance();
this.instances = instances;
for (int i = 0; i < instances.length; i++) { // catch additions
AdminObjectInstance instance = instances[i];
if (!instance.hasParent()) {
GerAdminobjectInstanceType xmlObject = getAdminObject().addNewAdminobjectInstance();
instance.initialize(xmlObject, this);
}
}
for (int i = 0; i < old.length; i++) { // catch removals
AdminObjectInstance instance = old[i];
boolean found = false;
for (int j = 0; j < instances.length; j++) {
if (instances[j] == instance) {
found = true;
break;
}
}
if (!found) {
// remove the XmlBean
for (int j = 0; j < getAdminObject().getAdminobjectInstanceArray().length; j++) {
GerAdminobjectInstanceType test = getAdminObject().getAdminobjectInstanceArray(j);
if (test == instance.getAdminobjectInstance()) {
getAdminObject().removeAdminobjectInstance(j);
break;
}
}