@Nonnull
  public <T> T getInstance(@Nonnull Class<T> type) {
    return getInstance(new Key<>(type));
  }
@Test
  public void shouldInjectByNamedKeys() throws Exception {
    injector =
        builder
            .bind(new Injector.Key<>(String.class, "namedThing"), "named value")
            .bind(String.class, "unnamed value")
            .build();
    NamedParams namedParams = injector.getInstance(NamedParams.class);
    assertThat(namedParams.withName).isEqualTo("named value");
    assertThat(namedParams.withoutName).isEqualTo("unnamed value");
  }