*/
@SuppressWarnings("checkstyle:IllegalCatch")
private void removeAndCloseDataChangeListenerTemplate(final ListenerAdapter listener) {
- final long stamp = dataChangeListenersLock.writeLock();
try {
requireNonNull(listener).close();
if (dataChangeListeners.inverse().remove(listener) == null) {
throw new IllegalStateException(String.format(
"Data-change listener %s cannot be closed.",
listener), exception);
- } finally {
- dataChangeListenersLock.unlockWrite(stamp);
}
}