public void run() { Verticle verticle; try { verticle = verticleFactory.createVerticle(main); } catch (Throwable t) { handleDeployFailure(t, deployment, aggHandler); return; } try { addVerticle(deployment, verticle, verticleFactory, modID, main); setPathResolver(modDir); DefaultFutureResult<Void> vr = new DefaultFutureResult<>(); verticle.start(vr); vr.setHandler(new Handler<AsyncResult<Void>>() { @Override public void handle(AsyncResult<Void> ar) { if (ar.succeeded()) { aggHandler.complete(); } else { handleDeployFailure(ar.cause(), deployment, aggHandler); } } }); } catch (Throwable t) { handleDeployFailure(t, deployment, aggHandler); } } };