* @param mfc class of the desired MonitorFactory type
* @param props collection of initialization properties
* @return a configured MonitorFactory instance, or null if the factory could not be instantiated.
*/
public static MonitorFactory createMonitorFactory(Class<? extends MonitorFactory> mfc, Map<String, Object> props) {
MonitorFactory mf;
try {
mf = mfc.newInstance();
mf.initialize(props);
} catch (InstantiationException e) {
throw new AssertionError(e);
} catch (IllegalAccessException e) {
throw new AssertionError(e);
}