}
// instantiate and configure stage
Properties properties = stageConfig.getProperties();
Stage stage;
try {
Class<?>[] constructorArgs = new Class<?>[] { ServerConfig.class, Properties.class };
Constructor<?> constructor = implementationClass.getConstructor(constructorArgs);
stage = (Stage) constructor.newInstance(new Object[] { serverConfig, properties });
stage.init();
} catch (NoSuchMethodException ex) {
log.error("Stage " + implementationName + " does not have a constructor that takes a java.util.Properties object.", ex);
continue;
} catch (InstantiationException ex) {