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
for (Iterator<Method> iter = toSort.iterator(); iter.hasNext()
					&& targetMethod == null;) {
				Method next = iter.next();
				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())) {
						satisfiable = false;
					}
				}
				if (satisfiable) {
					targetMethod = next;
				}
			}
		}
		if (targetMethod == null) {
			if (defaultValue != null) {
				return defaultValue;
			}
			throw new RuntimeException(
					"could not find satisfiable method " + methodName + " in class " + object.getClass()); 
		}
		Class<?>[] paramKeys = targetMethod.getParameterTypes();
		try {
			Object[] params = new Object[paramKeys.length];
			for (int i = 0; i < params.length; i++) {
				params[i] = context.get(paramKeys[i].getName());
			}