List internalRelsList = new ArrayList(Arrays.asList(relationships));
// remove relationships
if (relationshipsToRemove.size() > 0) {
for (Iterator iter = relationshipsToRemove.iterator(); iter.hasNext();) {
LayoutRelationship relation = (LayoutRelationship) iter.next();
if (relation.getLayoutInformation() != null) {
internalRelsList.remove(relation.getLayoutInformation());
}
}
}
// Also remove from _internalRelationships
ArrayList updatedRelationships = new ArrayList(internalRelationships.length - relationshipsToRemove.size() + relationshipsToAdd.size());
for (int i = 0; i < internalRelationships.length; i++) {
InternalRelationship relation = internalRelationships[i];
if (relationshipsToRemove.contains(relation.getLayoutRelationship())) {
relationshipsToRemove.remove(relation.getLayoutRelationship());
} else {
updatedRelationships.add(relation);
}
}
relationshipsToRemove.clear();