Bug 318944 CSSSWTEngineImpl leaks memory
CSSSWTEngineImpl stores too many element contexts. In a memory snapshot, the HashMap size was 15559. This is most probably a leak.
bundles/org.eclipse.e4.ui.css.swt/src/org/eclipse/e4/ui/css/swt/engine/CSSSWTEngineImpl.java
super(display, lazyApplyingStyles);
	}
	protected void initializeCSSPropertyHandlers() {
		
		HashMap handlersMap = propertyHandlerMap;
		String className = this.getClass().getName();
		if (handlersMap.size() != 0) return;
		
		IExtensionRegistry registry = RegistryFactory.getRegistry();
		IExtensionPoint extPoint = registry
				.getExtensionPoint("org.eclipse.e4.ui.css.swt.property.handler");
		for (IExtension e : extPoint.getExtensions()) {
			for (IConfigurationElement ce : e.getConfigurationElements()) {
				if (ce.getName().equals("handler")) {
					String name = ce.getAttribute("composite");
					String adapter = ce.getAttribute("adapter");
						IConfigurationElement[] children = ce.getChildren();
						String[] names = new String[children.length];
						for (int i = 0; i < children.length; i++) {
							if (children[i].getName().equals("property-name"))
								names[i] =  children[i].getAttribute("name");
						}
						try {
							if (handlersMap.containsKey(adapter)) {
								HashMap adapterMap = (HashMap) handlersMap.get(adapter);
								if (!adapterMap.containsKey(name)){
									Object t = ce.createExecutableExtension("handler");
									for (int i = 0; i < names.length; i++) {									
										adapterMap.put(names[i], t);
									}