Correct implementation of hashcode/equals
<p>I have a class</p>

<pre><code>class Pair&lt;T&gt;{
    private T data;
    private T alternative;
}
</code></pre>

<p>Two pair objects would be equal if</p>

<pre><code>this.data.equals(that.data) &amp;&amp; this.alternative.equals(that.alternative) || 
this.data.equals(that.alternative) &amp;&amp; this.alternative.equals(that.data)
</code></pre>

<p>I'm having difficulty correctly implementing the hashCode() part though. Any suggestions would be appreciated</p>
