code: @SuppressWarnings("unchecked")
      private Class<T>[] getClasses() throws ClassNotFoundException {
  
          final ClassLoader classLoader = ConfigurableClassLoader.INSTANCE.getClassLoader();
  
          final List<Class<T>> classes = new ArrayList<Class<T>>();
  
          final boolean useLoadClass = Boolean.valueOf(System.getProperty("rome.pluginmanager.useloadclass", "false")).booleanValue();
  
          for (final String propertyValue : propertyValues) {
              final Class<T> mClass;
              if (useLoadClass) {
                  mClass = (Class<T>) classLoader.loadClass(propertyValue);
              } else {
                  mClass = (Class<T>) Class.forName(propertyValue, true, classLoader);
              }
              classes.add(mClass);
          }
  
          final Class<T>[] array = new Class[classes.size()];
          classes.toArray(array);
          return array;
      }
docs: Loads and returns the classes defined in the properties files. If the system property
  "rome.pluginmanager.useloadclass" is set to true then classLoader.loadClass will be used to
  load classes (instead of Class.forName). This is designed to improve OSGi compatibility.
  Further information can be found in https://rome.dev.java.net/issues/show_bug.cgi?id=118
  <p>
  
  @return array containing the classes defined in the properties files.
  @throws java.lang.ClassNotFoundException thrown if one of the classes defined in the
  properties file cannot be loaded and hard failure is ON.