code: @Override
      public boolean registerForNotifications(Notification targets, NotificationListener callbackObject) throws IllegalArgumentException {
          verifyTargets(targets);
  
          /*
           * Convert the target artifact version so we can register with the delegate. We just use the delegate root (as we can't convert the Container supplied on the target to an
           * ArtifactContainer), we know this is correct because we ran it through verifyTargets first.
           */
          ArtifactNotification artifactNotification = new DefaultArtifactNotification(this.delegateRoot, targets.getPaths());
  
          // Create a listener that will listen to the artifact notifier then notify the callback for this registration when things change
          DelegateListener listener = new DelegateListener(this.root, callbackObject);
          boolean isRegistered = this.delegateNotifier.registerForNotifications(artifactNotification, listener);
          if (isRegistered) {
              // We could register with the delegate so keep track of the listener (in case we need to unregister it later)
              this.listenerDelegates.put(callbackObject, listener);
          }
          return isRegistered;
      }
docs: {@inheritDoc}