protected final boolean notifyObservers() {
        try {
            // It is not waited until the write actions are finished because the notification will be triggered after the lock release.
            if (registryLock.isWriteLockedByCurrentThread()) {
                logger.debug("Notification of registry[" + this + "] change skipped because of running write operations!");
                notificationSkipped = true;
                return false;
            }

            if (super.notifyObservers(entryMap)) {
                try {
                    pluginPool.afterRegistryChange();
                } catch (CouldNotPerformException ex) {
                    MultiException.ExceptionStack exceptionStack = new MultiException.ExceptionStack();
                    exceptionStack.push(pluginPool, ex);
                    throw new MultiException("PluginPool could not execute afterRegistryChange", exceptionStack);
                }
            }
            notificationSkipped = false;
        } catch (CouldNotPerformException ex) {
            ExceptionPrinter.printHistory(new CouldNotPerformException("Could not notify all registry observer!", ex), logger, LogLevel.ERROR);
            return false;
        }
        return true;
    }
protected final boolean notifyObservers ( ) { try { if ( registryLock . isWriteLockedByCurrentThread ( ) ) { logger . debug ( "Notification of registry[" + this + "] change skipped because of running write operations!" ) ; notificationSkipped = true ; return false ; } if ( super . notifyObservers ( entryMap ) ) { try { pluginPool . afterRegistryChange ( ) ; } catch ( CouldNotPerformException ex ) { MultiException . ExceptionStack exceptionStack = new MultiException . ExceptionStack ( ) ; exceptionStack . push ( pluginPool , ex ) ; throw new MultiException ( "PluginPool could not execute afterRegistryChange" , exceptionStack ) ; } } notificationSkipped = false ; } catch ( CouldNotPerformException ex ) { ExceptionPrinter . printHistory ( new CouldNotPerformException ( "Could not notify all registry observer!" , ex ) , logger , LogLevel . ERROR ) ; return false ; } return true ; }
Method triggers a new registry changed notification on all observers.
The notification will be skipped in case the registry is busy. But a final notification is always guaranteed.

@return true if the notification was performed or false if the notification was skipped.