.get();
IStaleListener lastStaleListener = (IStaleListener) currentStaleListener
.get();
Integer lastIgnore = (Integer) currentIgnoreCount.get();
Set observableSet = new IdentitySet();
// Push the new listeners to the top of the stack
currentGetterCalledSet.set(observableSet);
currentChangeListener.set(changeListener);
currentStaleListener.set(staleListener);
currentIgnoreCount.set(null);
try {
runnable.run();
} finally {
// Pop the new listener off the top of the stack (by restoring the
// previous listener)
currentGetterCalledSet.set(lastObservableSet);
currentChangeListener.set(lastChangeListener);
currentStaleListener.set(lastStaleListener);
checkUnmatchedIgnore(runnable);
currentIgnoreCount.set(lastIgnore);
}
return (IObservable[]) observableSet
.toArray(new IObservable[observableSet.size()]);
}