}
protected void clearXPDLListenerObservables(boolean clearTransient) {
List retain = new ArrayList();
for (int i = 0; i < xpdlListenerObservables.size(); i++) {
XPDLListenerAndObservable xpdllo = (XPDLListenerAndObservable) xpdlListenerObservables.get(i);
if (clearTransient || !xpdllo.getPackage().isTransient()) {
xpdllo.unregisterFromXPDL();
} else {
retain.add(xpdllo);
}
}
xpdlListenerObservables.retainAll(retain);