protected void unbindExtensionService()

in src/main/java/org/apache/sling/scripting/sightly/impl/engine/ExtensionRegistryService.java [65:86]


    protected void unbindExtensionService(ServiceReference<RuntimeExtension> serviceReference) {
        synchronized (extensions) {
            String name = PropertiesUtil.toString(serviceReference.getProperty(RuntimeExtension.NAME), "");
            Set<RuntimeExtensionReference> namedExtensions = extensions.get(name);
            boolean changed = false;
            if (namedExtensions != null) {
                for (RuntimeExtensionReference runtimeExtensionReference : namedExtensions) {
                    if (serviceReference.equals(runtimeExtensionReference.getServiceReference())) {
                        namedExtensions.remove(runtimeExtensionReference);
                        if (namedExtensions.isEmpty()) {
                            extensions.remove(name);
                        }
                        changed = true;
                        break;
                    }
                }
            }
            if (changed) {
                mapping = getRuntimeExtensions();
            }
        }
    }