docs: @Override
      public boolean registerForNotifications(
          ArtifactNotification newListenerPaths,
          ArtifactListener newListener) {
  
          if ( newListenerPaths.getContainer().getRoot() != rootContainer ) {
              throw new IllegalArgumentException();
          }
  
          synchronized ( listenersLock ) {
              boolean addedUncoveredPaths = false;
  
              for ( String newListenerPath : newListenerPaths.getPaths() ) {
                  // Handle non-recursive listener registration as recursive registration.
                  if ( newListenerPath.startsWith("!") ) {
                      newListenerPath = newListenerPath.substring(1);
                  }
  
                  ArtifactListenerSelector artifactSelectorCallback = new ArtifactListenerSelector(newListener);
                  if ( registerListener(newListenerPath, artifactSelectorCallback) ) {
                      addedUncoveredPaths = true;
                  }
              }
  
              if ( addedUncoveredPaths ) {
                  updateMonitor();
              }
          }
  
          return true;
      }