/**
* Creates an instance of the class.
*/
private StatusHandlerRegistry() {
IExtensionTracker tracker = PlatformUI.getWorkbench()
.getExtensionTracker();
IExtensionPoint handlersPoint = Platform.getExtensionRegistry()
.getExtensionPoint(WorkbenchPlugin.PI_WORKBENCH,
STATUSHANDLERS_POINT_NAME);
IExtension[] extensions = handlersPoint.getExtensions();
statusHandlerDescriptorsMap = new StatusHandlerDescriptorsMap();
// initial population
for (int i = 0; i < extensions.length; i++) {
addExtension(tracker, extensions[i]);
}
tracker.registerHandler(this, ExtensionTracker
.createExtensionPointFilter(handlersPoint));
// registers on products ext. point to, needed
// for changing the default handler if product is changed
IExtensionPoint productsPoint = Platform.getExtensionRegistry()
.getExtensionPoint(Platform.PI_RUNTIME, Platform.PT_PRODUCT);
tracker.registerHandler(this, ExtensionTracker
.createExtensionPointFilter(productsPoint));
}