private void startServer(String[] originalArgs) {
InjectorUtil.create(new BootstrapModule()).injectMembers(this);
if (isNull(pluginClassNames) || 0 == pluginClassNames.length) {
LOGGER.debug("No plugins specified - attempting to load defaults");
pluginClassNames = ofNullable(MetaUtil.readMetaProperties().getProperty("plugins"))
.map(plugin -> plugin.split(","))
.orElse(new String[0]);
}
final Map<String, String> splitArgs = Arrays.stream(ofNullable(pluginArgs).orElse(new String[0]))
.map(arg -> arg.split("="))
.collect(Collectors.toMap(splitArg -> splitArg[0], splitArg -> splitArg[1]));
imposterConfig.setConfigDirs(configDirs);
imposterConfig.setPluginClassNames(pluginClassNames);
imposterConfig.setListenPort(listenPort);
imposterConfig.setHost(host);
imposterConfig.setServerUrl(serverUrl);
imposterConfig.setTlsEnabled(tlsEnabled);
imposterConfig.setKeystorePath(keystorePath);
imposterConfig.setKeystorePassword(keystorePassword);
imposterConfig.setPluginArgs(splitArgs);
final List<String> args = Lists.newArrayList(originalArgs);
args.add(0, "run");
args.add(1, ImposterVerticle.class.getCanonicalName());
super.dispatch(args.toArray(new String[args.size()]));
}