/**
  * Blocks the caller until {@link #getDependencyGraph} is able to return without blocking. This
  * can be used to build large graphs by submitting requirements in batches and waiting for each
  * batch to complete. This will reduce the amount of working memory required during the build if
  * the fragments are sufficiently disjoint.
  */
 public void waitForDependencyGraphBuild() throws InterruptedException {
   isGraphBuilt(true);
 }