Bug 269312 Support @Out annotations
Instead of the ugly "outputContext" idea. Using JavaBeans style change notification.
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/ReflectionContributionFactory.java
Constructor<?> targetConstructor = null;
		Constructor<?>[] constructors = targetClass.getConstructors();
		
		if (constructors.length == 1) {
			targetConstructor = constructors[0];
		} else {
			ArrayList<Constructor<?>> toSort = new ArrayList<Constructor<?>>();
			for (int i = 0; i < constructors.length; i++) {
				Constructor<?> constructor = constructors[i];
				
				if ((constructor.getModifiers() & Modifier.PUBLIC) != 0) {
					toSort.add(constructor);
				}
			}
			
			
			Collections.sort(toSort, new Comparator<Constructor<?>>() {
				public int compare(Constructor<?> c1, Constructor<?> c2) {
					int l1 = c1.getParameterTypes().length;
					int l2 = c2.getParameterTypes().length;
					return l1 - l2;
				}
			});
			
			for (Constructor<?> next : toSort) {
				boolean satisfiable = true;
				Class<?>[] params = next.getParameterTypes();
				for (int i = 0; i < params.length && satisfiable; i++) {
					Class<?> clazz = params[i];
					if (!context.containsKey(clazz.getName())) {