--- old/src/java.desktop/share/classes/java/awt/image/PixelInterleavedSampleModel.java 2016-04-25 14:51:33.523216132 +0530 +++ new/src/java.desktop/share/classes/java/awt/image/PixelInterleavedSampleModel.java 2016-04-25 14:51:33.323116139 +0530 @@ -164,8 +164,38 @@ scanlineStride, newBandOffsets); } - // Differentiate hash code from other ComponentSampleModel subclasses + /** + * Tests if the specified {@code Object} is an instance + * of {@code PixelInterleavedSampleModel} and equals this + * {@code PixelInterleavedSampleModel}. + * @param obj the {@code Object} to test for equality + * @return {@code true} if the specified {@code Object} + * is an instance of {@code PixelInterleavedSampleModel} and equals this + * {@code PixelInterleavedSampleModel}; {@code false} otherwise. + */ + @Override + public boolean equals(Object obj) { + + PixelInterleavedSampleModel cm = (PixelInterleavedSampleModel) obj; + if (this == cm) { + return true; + } + + if (!super.equals(obj)) { + return false; + } + return true; + } + + /** + * Returns the hash code for this PixelInterleavedSampleModel. + * + * @return a hash code for this PixelInterleavedSampleModel. + */ + @Override public int hashCode() { - return super.hashCode() ^ 0x1; + int hash = 3; + hash = 11 * hash + super.hashCode(); + return hash; } }