/** * Returns a context that can be used to lookup OSGi services. A client must never dispose the * provided context, because it may be shared by multiple callers. * * @param bundleContext * The bundle context to use for service lookup * @return A context containing all OSGi services */ public static IEclipseContext getServiceContext(BundleContext bundleContext) { synchronized (serviceContexts) { IEclipseContext result = serviceContexts.get(bundleContext); if (result == null) { result = createServiceContext(bundleContext); serviceContexts.put(bundleContext, result); } return result; } }