--- sun/tools/javazic/Mappings.java.orig 2015-04-13 12:40:26.000000000 -0400 +++ sun/tools/javazic/Mappings.java 2015-04-13 12:42:11.000000000 -0400 @@ -75,8 +75,10 @@ Zone zone = zones.get(zoneName); String zonename = zone.getName(); int rawOffset = zone.get(zone.size()-1).getGmtOffset(); + // If the GMT offset of this Zone will change in some // future time, this Zone is added to the exclude list. + boolean isExcluded = false; if (zone.size() > 1) { ZoneRec zrec = zone.get(zone.size()-2); if ((zrec.getGmtOffset() != rawOffset) @@ -85,7 +87,7 @@ excludeList = new ArrayList(); } excludeList.add(zone.getName()); - continue; + isExcluded = true; } } @@ -101,9 +103,11 @@ rawOffsetsIndex.add(i, rawOffset); Set perRawOffset = new TreeSet(); - perRawOffset.add(zonename); + if (!isExcluded) { + perRawOffset.add(zonename); + } rawOffsetsIndexTable.add(i, perRawOffset); - } else { + } else if (!isExcluded) { int i = rawOffsetsIndex.indexOf(new Integer(rawOffset)); Set perRawOffset = rawOffsetsIndexTable.get(i); perRawOffset.add(zonename);