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);
  }