Bug 261852 [context] Separate code into API / SPI / internal
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/Workbench.java
* 
				 * @see java.util.Comparator#compare(java.lang.Object,
				 * java.lang.Object)
				 */
				public int compare(Object arg0, Object arg1) {
					Constructor c1 = (Constructor) arg0;
					Constructor c2 = (Constructor) arg1;
					int l1 = c1.getParameterTypes().length;
					int l2 = c2.getParameterTypes().length;
					return l1 - l2;
				}
			});
			
			for (Iterator iter = toSort.iterator(); iter.hasNext()
					&& targetMethod == null;) {
				Method next = (Method) iter.next();
				boolean satisfiable = true;
				Class[] params = next.getParameterTypes();
				for (int i = 0; i < params.length && satisfiable; i++) {
					Class clazz = params[i];
					if (!context.isSet(clazz.getName())) {
						satisfiable = false;
					}
				}
				if (satisfiable) {
					targetMethod = next;
				}
			}
		}
		if (targetMethod == null) {