+
+ private static AutoCloseable createHeliumAdapter(final NotificationPublishService publishService,
+ final NotificationService listenService) {
+ if(publishService instanceof BindingDOMNotificationPublishServiceAdapter) {
+ final BindingDOMNotificationPublishServiceAdapter casted = (BindingDOMNotificationPublishServiceAdapter) publishService;
+ final DOMNotificationPublishService domService = casted.getDomPublishService();
+ if(domService instanceof DOMNotificationSubscriptionListenerRegistry) {
+ final DOMNotificationSubscriptionListenerRegistry subsRegistry = (DOMNotificationSubscriptionListenerRegistry) domService;
+ return new HeliumNotificationProviderServiceWithInterestListeners(publishService, listenService, casted.getCodecRegistry(), subsRegistry);
+ }
+ }
+ return new HeliumNotificationProviderServiceAdapter(publishService, listenService);
+ }