title: get() method in Key in Guice
body: <p>Now I am confused with <code>get</code> methods in <code>Key</code> class.
  My question is just about which a <code>get</code> method is used in the below code.
  But, I can't find the appropriate method.  Of course,I have already checked the API reference, but I couldn't find the likely method.<br>
  See this code.</p>
  
  <pre><code>public static void main(String[] args) throws Exception {
      Injector injector = Guice.createInjector(
          new DatabaseModule(),
          new WebserverModule(),
          ...
      );
  
      Service databaseConnectionPool = injector.getInstance(
          Key.get(Service.class, DatabaseService.class));
      databaseConnectionPool.start();
      addShutdownHook(databaseConnectionPool);
  
      Service webserver = injector.getInstance(
          Key.get(Service.class, WebserverService.class));
      webserver.start();
      addShutdownHook(webserver);
    }
  </code></pre>
  
  <p>The second argument seems to be <code>T extends V</code> where the first argument is <code>V</code>.   Although this is just my assumption, so which method in <code>Key</code> class is used in this code?</p>