in src/main/java/org/apache/sling/jcr/jackrabbit/accessmanager/PrivilegesInfo.java [646:669]
private static <S, T> T useSvc(Class<S> svc, Function<S, T> fn) {
T value = null;
Bundle bundle = FrameworkUtil.getBundle(PrivilegesInfo.class);
if (bundle != null) {
BundleContext bundleContext = bundle.getBundleContext();
if (bundleContext != null) {
ServiceReference<S> serviceReference = bundleContext.getServiceReference(svc);
if (serviceReference != null) {
S service = null;
try {
service = bundleContext.getService(serviceReference);
if (service != null) {
value = fn.apply(service);
}
} finally {
if (service != null) {
bundleContext.ungetService(serviceReference);
}
}
}
}
}
return value;
}