title: Java Method Override - "Method does not override method from super..."
body: <p>Coming from a C# background I have no idea what the issue is here.</p>
  
  <p>I have my base class, which defines the abstract method, getContentValues</p>
  
  <pre><code>public abstract class BaseDataSource&lt;T&gt; {
      protected abstract ContentValues getContentValues(T object);
  }
  </code></pre>
  
  <p>Inheriting from that is another class, IIdentifiableDataSource.</p>
  
  <pre><code>public abstract class IIdentifiableDataSource extends BaseDataSource&lt;IIdentifiable&gt;  {
      // Nothing in here is relevant to the getContentValues method.
  }
  </code></pre>
  
  <p>Finally, inheriting from IIdentifiableDataSource, is the last child class MessagesDataSource, where getContentValues is overridden. It is throwing an error here that states "Method does not override method from its superclass"</p>
  
  <pre><code>public class MessagesDataSource extends IIdentifiableDataSource {
      @Override
      protected ContentValues getContentValues(Message object) {
          // fill ContentValues and return it.
      }
  }
  </code></pre>
  
  <p>I imagine this has something to do the generic base class, but I'm unsure why.</p>