public synchronized void addBuild(JobInvocation build) throws ExecutionException, InterruptedException { builds.addVertex(build); for (JobInvocation up : state.get().getLastCompleted()) { String edge = up.toString() + " => " + build.toString(); LOGGER.fine("added build to execution graph " + edge); builds.addEdge(up, build, edge); } state.get().setLastCompleted(build); }