Injectable { public Class<T> get() { return cls; } Injectable(Class<T> cls, Supplier<T> supplier); Class<T> get(); Supplier<T> supplier(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test void get() { final Injectable<Integer> injectable = new Injectable<>(Integer.class, SUPPLIER); assertEquals(Integer.class, injectable.get()); }