title: Epoxy requires every model attribute to implement equals and hashCode error
body: <p>I have created a small test app for this issue here:  (<a href="https://github.com/Winghin2517/EpoxyExample2" rel="nofollow noreferrer">https://github.com/Winghin2517/EpoxyExample2</a>).</p>
  
  <p>I would like to pass a list of objects into the epoxy controller so that I can generate a graph. I have however encountered this error when building the app:</p>
  
  <blockquote>
    <p>error: Epoxy Processor Exception: Type in Iterable does not implement
    hashCode. Type: kwaai.com.exampleepoxy_hashcodeequals.GraphData (View
    Prop {view='HeaderView', name='setLineChart',
    type=java.util.LinkedList})
    Epoxy requires every model attribute to implement equals and hashCode
    so that changes in the model can be tracked. If you want the attribute
    to be excluded, use the option 'DoNotHash'. If you want to ignore this
    warning use the option 'IgnoreRequireHashCode'</p>
  </blockquote>
  
  <p>I think it is because I using the @ModelProp on a List of Objects (LinkedList of GraphDataFeed) and not on a primitive type as per the example app from Epoxy.</p>
  
  <pre><code>@ModelProp
  public void setLineChart(LinkedList&lt;GraphData&gt; graphDataFeed) { }
  </code></pre>
  
  <p>So I folllowed the options and modified my @ModelProp to reflect this:</p>
  
  <pre><code>@ModelProp(options = ModelProp.Option.IgnoreRequireHashCode)
  </code></pre>
  
  <p>After the change the app builds and runs correctly. You can see the graph below.</p>
  
  <p><a href="https://i.stack.imgur.com/gsjuO.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/gsjuO.png" alt="enter image description here"></a></p>
  
  <p>However, I do not want to ignore the attribute as I understand Epoxy uses Diffing to update the models in the recyclerview: <a href="https://github.com/airbnb/epoxy/wiki/Diffing" rel="nofollow noreferrer">https://github.com/airbnb/epoxy/wiki/Diffing</a></p>
  
  <p>Ignoring the attribute might mean that my models do not get updated correctly in the recyclerview.
  In the guidance material here (<a href="https://github.com/airbnb/epoxy/wiki/Epoxy-Models#annotations" rel="nofollow noreferrer">https://github.com/airbnb/epoxy/wiki/Epoxy-Models#annotations</a>), I see it says:</p>
  
  <blockquote>
    <p>A model's state is determined by its equals and hashCode
    implementations, which is based on the value of all of the model's
    properties.</p>
    
    <p>This state is used in diffing to determine when a model has changed so
    Epoxy can update the view.</p>
    
    <p>These methods are generated so you don't have to created them
    manually.</p>
  </blockquote>
  
  <p>Why are these methods not generated for me then and if they are not generated, how do I generate these methods myself to get rid of the error?</p>