@Nonnull
  public <T> T getInstance(@Nonnull Class<T> type) {
    return getInstance(new Key<>(type));
  }
@Test
  @Ignore("todo")
  public void objectsCreatedByFactoryShareTransitiveDependencies() throws Exception {
    FakeSandboxManager sandboxManager = injector.getInstance(FakeSandboxManager.class);
    FakeSdk runtimeSdk = new FakeSdk("runtime");
    FakeSdk compileASdk = new FakeSdk("compileA");
    FakeSdk compileBSdk = new FakeSdk("compileB");
    FakeSandbox sandboxA = sandboxManager.getSandbox(runtimeSdk, compileASdk);
    FakeSandbox sandboxB = sandboxManager.getSandbox(runtimeSdk, compileBSdk);
    assertThat(sandboxA.sandboxClassLoader).isSameInstanceAs(sandboxB.sandboxClassLoader);
  }