title: Overriding already overridden methods in derived class
body: <p>I have a class <code>CarSettingsAdapter</code> that extends <code>FragmentStatePagerAdapter</code>.
  In that class I have a overridden method that return item of type CarSettings</p>
  
  <pre><code>@Override
      public CarSettings getItem(int position) {
          return carSettingsList.get(position);
      }
  </code></pre>
  
  <p>Now I creating a new class that extends class <code>CarSettingsAdapter</code> but I want it to return my own type - let say <code>MyTypeB</code></p>
  
  <pre><code>public class NewCarSettings extends CarSettings {
  
  @Override
      public MyTypeB getItem(int position) {
          return typeBList.get(position);
      }
  }
  </code></pre>
  
  <p>I cant override it, I getting an compile error - <code>The return type is incompatible with CarSettingsAdapter.getItem(int)</code>.</p>
  
  <p>I want to use all the logic of <code>CarSettingsAdapter</code>, that's why I extends it, but also to override the basic methods. How can I do it?</p>