private Tracked()

in geronimo-opentracing-osgi/src/main/java/org/apache/geronimo/microprofile/opentracing/osgi/OpenTracingActivator.java [163:182]


        private Tracked(final BundleContext context, final Class<T> clazz, final BiConsumer<Class<T>, T> onInstance) {
            super(context, clazz, new ServiceTrackerCustomizer<T, T>() {
                @Override
                public T addingService(final ServiceReference<T> reference) {
                    final T service = context.getService(reference);
                    onInstance.accept(clazz, service);
                    return service;
                }

                @Override
                public void modifiedService(final ServiceReference<T> reference, final T service) {
                    addingService(reference);
                }

                @Override
                public void removedService(final ServiceReference<T> reference, final T service) {
                    addingService(reference);
                }
            });
        }