If two objects are equal according to the equals(Object) method, then calling the
hashCode method on each of the two objects must produce the same integer result.
Because two versions are equal independent of their build metadata, the hashCode must not include the build metadata.
Quote from http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#hashCode%28%29
Because two versions are equal independent of their build metadata, the hashCode must not include the build metadata.