docs: @Override
      public void addNotificationHandler(String serviceName, NotificationHandler handler) throws ServiceException {
  
          if(! isStarted){
              ServiceDirectoryError error = new ServiceDirectoryError(ErrorCode.SERVICE_DIRECTORY_MANAGER_FACTORY_CLOSED);
              throw new ServiceException(error);
          }
  
          if(handler == null || serviceName == null || serviceName.isEmpty()){
              throw new IllegalArgumentException();
          }
  
          ModelService service = getLookupService().getModelService(serviceName);
          if(service == null){
              ServiceDirectoryError error = new ServiceDirectoryError(ErrorCode.SERVICE_NOT_EXIST);
              throw new ServiceException(error);
          }
          getLookupService().addNotificationHandler(serviceName, handler);
      }