@Nonnull
  public <T> T getInstance(@Nonnull Class<T> type) {
    return getInstance(new Key<>(type));
  }
@Test
  public void shouldAcceptSingularPublicConstructorWithoutInjectAnnotation() throws Exception {
    injector =
        builder.bind(Thing.class, MyThing.class).bind(Umm.class, MyUmmNoInject.class).build();

    Umm umm = injector.getInstance(Umm.class);
    assertThat(umm).isNotNull();
    assertThat(umm).isInstanceOf(MyUmmNoInject.class);

    MyUmmNoInject myUmm = (MyUmmNoInject) umm;
    assertThat(myUmm.thing).isNotNull();
    assertThat(myUmm.thing).isInstanceOf(MyThing.class);

    assertThat(myUmm.thing).isSameInstanceAs(injector.getInstance(Thing.class));
  }