title: useClass vs useExisting
body: <p>When should we use <code>useExisting</code> provider instead of <code>useClass</code>?</p>
  
  <pre><code>providers: [
  {provide: Class1, useClass: Class1}, 
  {provide: Class2, useExisting: Class2}]
  </code></pre>
  
  <hr>
  
  <p><strong><em>REMARK:</strong> I have not found an exact question on SO. And for better indexing decided to create this specific one here, although I found this answers:</em></p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/38420933/angular-2-useexisting-providers">Angular 2 useExisting providers</a></li>
  <li><a href="https://stackoverflow.com/questions/40722393/angular-2-usevalue-vs-usefactory">useValue vs useFactory</a></li>
  <li><a href="https://stackoverflow.com/questions/38420933/angular-2-useexisting-providers">Angular 2 useExisting providers</a></li>
  </ul>
  
  <p><em>but would like to have more real examples</em></p>