Bug 301362 ReflectionContributionFactory is not reusable
There are several "private" methods in the class ReflectionContributionFactory, such as getBundle() and createFromBundle(). They prevent to reuse this class in e4 Designer. We need just to change them to protected
bundles/org.eclipse.e4.ui.workbench/src/org/eclipse/e4/workbench/ui/internal/ReflectionContributionFactory.java
return contribution;
	}
	private Object createFromBundle(Bundle bundle, IEclipseContext context, URI uri) {
		Object contribution;
		if (uri.segmentCount() > 3) {
			String prefix = uri.segment(2);
			IContributionFactorySpi factory = (IContributionFactorySpi) languages.get(prefix);
			StringBuffer resource = new StringBuffer(uri.segment(3));
			for (int i = 4; i < uri.segmentCount(); i++) {
				resource.append('/');
				resource.append(uri.segment(i));
			}
			contribution = factory.create(bundle, resource.toString(), context);
		} else {
			String clazz = uri.segment(2);
			try {
				Class<?> targetClass = bundle.loadClass(clazz);
				contribution = ContextInjectionFactory.make(targetClass, context);
			} catch (ClassNotFoundException e) {
				contribution = null;
				String message = "Unable to load class '" + clazz + "' from bundle '" 
						+ bundle.getBundleId() + "'"; 
				Activator.log(LogService.LOG_ERROR, message, e);
			} catch (InvocationTargetException e) {
				contribution = null;
				String message = "Unable to instantiate class '" + clazz + "' from bundle '" 
						+ bundle.getBundleId() + "'"; 
				Activator.log(LogService.LOG_ERROR, message, e);
			} catch (InstantiationException e) {
				contribution = null;