private IMarker[] parseModel(NonRootModelElement testElement) throws CoreException { BaseTest.dispatchEvents(0); try { Bundle ui_text = Platform.getBundle("org.xtuml.bp.ui.text"); // $NON-NLS-1$ Class<?> factoryClass = ui_text.loadClass("org.xtuml.bp.ui.text.activity.AllActivityModifier"); // $NON-NLS-1$ // find the constructor that takes package and monitor as parameters Class<?>[] arg_types = new Class[] {testElement.getClass(), IProgressMonitor.class}; Constructor<?> ctor = factoryClass.getDeclaredConstructor(arg_types); // invoke the constructor to create an instance Object[] args = new Object[] {testElement, new NullProgressMonitor()}; IAllActivityModifier aam = (IAllActivityModifier) ctor.newInstance(args); aam.processAllActivities(IAllActivityModifier.PARSE); } catch (ClassNotFoundException cnf) { CorePlugin.logError("Problem loading activity parser ", cnf); } catch (IllegalAccessException i) { CorePlugin.logError("Problem loading activity parser ", i); } catch (InstantiationException i) { CorePlugin.logError("Problem loading activity parser ", i); } catch (InvocationTargetException e) { CorePlugin.logError("Problem running activity parser ", e); } catch (SecurityException e) { CorePlugin.logError("Problem running activity parser ", e); } catch (NoSuchMethodException e) { CorePlugin.logError("Problem running activity parser ", e); } return collectParseErrors(testElement); }