--- old/src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java 2014-02-05 11:39:17.312596811 -0800 +++ new/src/share/classes/com/sun/imageio/plugins/jpeg/JFIFMarkerSegment.java 2014-02-05 11:39:17.125930137 -0800 @@ -76,7 +76,7 @@ int thumbWidth; int thumbHeight; JFIFThumbRGB thumb = null; // If present - ArrayList extSegments = new ArrayList(); + ArrayList extSegments = new ArrayList<>(); ICCMarkerSegment iccSegment = null; // optional ICC private static final int THUMB_JPEG = 0x10; private static final int THUMB_PALETTE = 0x11; @@ -154,18 +154,17 @@ /** * Returns a deep-copy clone of this object. */ - protected Object clone() { + protected JFIFMarkerSegment clone() { JFIFMarkerSegment newGuy = (JFIFMarkerSegment) super.clone(); if (!extSegments.isEmpty()) { // Clone the list with a deep copy - newGuy.extSegments = new ArrayList(); - for (Iterator iter = extSegments.iterator(); iter.hasNext();) { - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) iter.next(); + newGuy.extSegments = new ArrayList<>(); + for (Iterator iter = extSegments.iterator(); iter.hasNext();) { + JFIFExtensionMarkerSegment jfxx = iter.next(); newGuy.extSegments.add(jfxx.clone()); } } if (iccSegment != null) { - newGuy.iccSegment = (ICCMarkerSegment) iccSegment.clone(); + newGuy.iccSegment = iccSegment.clone(); } return newGuy; } @@ -230,9 +229,8 @@ if (!extSegments.isEmpty()) { IIOMetadataNode JFXXnode = new IIOMetadataNode("JFXX"); node.appendChild(JFXXnode); - for (Iterator iter = extSegments.iterator(); iter.hasNext();) { - JFIFExtensionMarkerSegment seg = - (JFIFExtensionMarkerSegment) iter.next(); + for (Iterator iter = extSegments.iterator(); iter.hasNext();) { + JFIFExtensionMarkerSegment seg = iter.next(); JFXXnode.appendChild(seg.getNativeNode()); } } @@ -312,8 +310,7 @@ } index--; } - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) extSegments.get(index); + JFIFExtensionMarkerSegment jfxx = extSegments.get(index); return jfxx.thumb.getWidth(); } @@ -324,8 +321,7 @@ } index--; } - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) extSegments.get(index); + JFIFExtensionMarkerSegment jfxx = extSegments.get(index); return jfxx.thumb.getHeight(); } @@ -340,8 +336,7 @@ if (thumb != null) { index--; } - JFIFExtensionMarkerSegment jfxx = - (JFIFExtensionMarkerSegment) extSegments.get(index); + JFIFExtensionMarkerSegment jfxx = extSegments.get(index); ret = jfxx.thumb.getThumbnail(iis, reader); } reader.thumbnailComplete(); @@ -436,13 +431,13 @@ * default encoding is used for the extra thumbnails. */ void writeWithThumbs(ImageOutputStream ios, - List thumbnails, + List thumbnails, JPEGImageWriter writer) throws IOException { if (thumbnails != null) { JFIFExtensionMarkerSegment jfxx = null; if (thumbnails.size() == 1) { if (!extSegments.isEmpty()) { - jfxx = (JFIFExtensionMarkerSegment) extSegments.get(0); + jfxx = extSegments.get(0); } writeThumb(ios, (BufferedImage) thumbnails.get(0), @@ -456,7 +451,7 @@ for (int i = 0; i < thumbnails.size(); i++) { jfxx = null; if (i < extSegments.size()) { - jfxx = (JFIFExtensionMarkerSegment) extSegments.get(i); + jfxx = extSegments.get(i); } writeThumb(ios, (BufferedImage) thumbnails.get(i), @@ -605,7 +600,7 @@ * marker segments as necessary. */ static void writeDefaultJFIF(ImageOutputStream ios, - List thumbnails, + List thumbnails, ICC_Profile iccProfile, JPEGImageWriter writer) throws IOException { @@ -637,9 +632,8 @@ System.out.print("Thumbnail Height: "); System.out.println(thumbHeight); if (!extSegments.isEmpty()) { - for (Iterator iter = extSegments.iterator(); iter.hasNext();) { - JFIFExtensionMarkerSegment extSegment = - (JFIFExtensionMarkerSegment) iter.next(); + for (Iterator iter = extSegments.iterator(); iter.hasNext();) { + JFIFExtensionMarkerSegment extSegment = iter.next(); extSegment.print(); } } @@ -768,7 +762,7 @@ } } - protected Object clone() { + protected JFIFExtensionMarkerSegment clone() { JFIFExtensionMarkerSegment newGuy = (JFIFExtensionMarkerSegment) super.clone(); if (thumb != null) { @@ -1373,7 +1367,7 @@ * combining chunks as necessary. */ class ICCMarkerSegment extends MarkerSegment { - ArrayList chunks = null; + ArrayList chunks = null; byte [] profile = null; // The complete profile when it's fully read // May remain null when writing private static final int ID_SIZE = 12; @@ -1428,7 +1422,7 @@ // two chunk numbering bytes length -= 2; buffer.readData(profileData); - chunks = new ArrayList(); + chunks = new ArrayList<>(); chunks.add(profileData); chunksRead = 1; inICC = true; @@ -1446,7 +1440,7 @@ } } - protected Object clone () { + protected ICCMarkerSegment clone () { ICCMarkerSegment newGuy = (ICCMarkerSegment) super.clone(); if (profile != null) { newGuy.profile = profile.clone(); @@ -1518,7 +1512,7 @@ for (int i = 1; i <= numChunks; i++) { boolean foundIt = false; for (int chunk = 0; chunk < chunks.size(); chunk++) { - byte [] chunkData = (byte []) chunks.get(chunk); + byte [] chunkData = chunks.get(chunk); if (chunkData[0] == i) { // Right one System.arraycopy(chunkData, 2, profile, index,