changeset 4588:34fc7bbbb465

Merge
author michaelm
date Thu, 15 Sep 2011 14:10:30 +0100
parents 9281d65f911a 5e403e9fa34a
children 75d763111eec
files src/share/classes/java/util/XMLUtils.java src/share/classes/sun/tools/jar/JarImageSource.java
diffstat 541 files changed, 6423 insertions(+), 957 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Sep 15 13:50:30 2011 +0100
+++ b/.hgtags	Thu Sep 15 14:10:30 2011 +0100
@@ -122,3 +122,7 @@
 1e04b38b3824a4a1d197ef681a302e6813e53f8b jdk7-b145
 539e576793a8e64aaf160e0d6ab0b9723cd0bef0 jdk7-b146
 f097ca2434b1412b12ab4a5c2397ce271bf681e7 jdk7-b147
+2cdbbc4a63592be7f1556fffe37b1253a77bd481 jdk8-b01
+13e70aa1398eb959c54bc68b783ca0eef1286ad2 jdk8-b02
+7989ee9fe673a87f4db3917fa6a005732a6a9b85 jdk8-b03
+fc569517f3cf242f90ce3503b743eb5553938946 jdk8-b04
--- a/make/com/sun/servicetag/Makefile	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/com/sun/servicetag/Makefile	Thu Sep 15 14:10:30 2011 +0100
@@ -47,7 +47,7 @@
 # Add all properties files to the FILES_copy list
 SWORDFISH_properties := $(shell \
        $(CD) $(SHARE_SRC)/classes/com/sun/servicetag/resources; \
-       $(FIND) . -name 'javase_*_swordfish.properties' -print ; \
+       $(FIND) . -name 'javase_*.properties' -print ; \
     )
 FILES_copy += $(shell \
    for f in $(SWORDFISH_properties) ; do \
--- a/make/common/Defs.gmk	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/common/Defs.gmk	Thu Sep 15 14:10:30 2011 +0100
@@ -300,6 +300,9 @@
 #where the demo source can be found
 DEMOSRCDIR          = $(SHARE_SRC)/demo
 
+#where the sample source can be found
+SAMPLESRCDIR          = $(SHARE_SRC)/sample
+
 # An attempt is made to generate unique enough directories for the
 # generated files to not have name collisisons. Most build units
 # defines PRODUCT (except Release.gmk), but then they may or may 
--- a/make/java/java/FILES_java.gmk	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/java/java/FILES_java.gmk	Thu Sep 15 14:10:30 2011 +0100
@@ -208,7 +208,6 @@
     java/util/Observable.java \
     java/util/Observer.java \
     java/util/Properties.java \
-        java/util/XMLUtils.java \
         java/util/InvalidPropertiesFormatException.java \
     java/util/PropertyPermission.java \
     java/util/PropertyResourceBundle.java \
--- a/make/java/util/FILES_properties.gmk	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/java/util/FILES_properties.gmk	Thu Sep 15 14:10:30 2011 +0100
@@ -151,6 +151,7 @@
         sun/util/resources/CurrencyNames_es_CL.properties \
         sun/util/resources/CurrencyNames_es_CO.properties \
         sun/util/resources/CurrencyNames_es_CR.properties \
+        sun/util/resources/CurrencyNames_es_CU.properties \
         sun/util/resources/CurrencyNames_es_DO.properties \
         sun/util/resources/CurrencyNames_es_EC.properties \
         sun/util/resources/CurrencyNames_es_ES.properties \
--- a/make/jprt.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/jprt.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -258,6 +258,15 @@
     windows_i586_5.1-product-c1-jdk_security3, 			\
     windows_x64_5.2-product-c2-jdk_security3, 			\
     								\
+    solaris_sparc_5.10-product-c1-jdk_sound, 			\
+    solaris_sparcv9_5.10-product-c2-jdk_sound, 			\
+    solaris_i586_5.10-product-c1-jdk_sound, 			\
+    solaris_x64_5.10-product-c2-jdk_sound, 			\
+    linux_i586_2.6-product-{c1|c2}-jdk_sound, 			\
+    linux_x64_2.6-product-c2-jdk_sound, 			\
+    windows_i586_5.1-product-c1-jdk_sound, 			\
+    windows_x64_5.2-product-c2-jdk_sound, 			\
+    								\
     solaris_sparc_5.10-product-c1-jdk_swing, 			\
     solaris_sparcv9_5.10-product-c2-jdk_swing, 			\
     solaris_i586_5.10-product-c1-jdk_swing, 			\
--- a/make/mkdemo/Makefile	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/mkdemo/Makefile	Thu Sep 15 14:10:30 2011 +0100
@@ -39,9 +39,14 @@
 
 include $(BUILDDIR)/common/Subdirs.gmk
 
+TOPLEVEL_FILES =							\
+	$(DEMODIR)/README
+
 all build:: nbproject
 	$(SUBDIRS-loop)
 
+all build:: $(TOPLEVEL_FILES)
+
 nbproject:
 	$(RM) -r $(DEMODIR)/nbproject
 	$(MKDIR) -p $(DEMODIR)
@@ -54,8 +59,10 @@
 	  ( $(CD) $(DEMODIR) && $(TAR) -xf - )
 endif
 
+$(DEMODIR)/%: $(DEMOSRCDIR)/%
+	$(install-file)
+
 clean clobber::
 	$(SUBDIRS-loop)
 	$(RM) -r $(DEMODIR)
 	$(RM) -r $(DEMOCLASSDIR)
-
--- a/make/mksample/Makefile	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/mksample/Makefile	Thu Sep 15 14:10:30 2011 +0100
@@ -49,8 +49,16 @@
 
 include $(BUILDDIR)/common/Subdirs.gmk
 
+TOPLEVEL_FILES =							\
+	$(SAMPLEDIR)/README
+
 all build clean clobber::
 	$(SUBDIRS-loop)
 
+all build:: $(TOPLEVEL_FILES)
+
+$(SAMPLEDIR)/%: $(SAMPLESRCDIR)/%
+	$(install-file)
+
 clobber clean ::
 	$(RM) -r $(SAMPLEDIR)
--- a/make/sun/Makefile	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/Makefile	Thu Sep 15 14:10:30 2011 +0100
@@ -68,7 +68,7 @@
 endif
 
 # nio need to be compiled before awt to have all charsets ready
-SUBDIRS            = jar security javazic misc net nio text launcher
+SUBDIRS            = jar security javazic misc net nio text util launcher
 
 ifdef BUILD_HEADLESS_ONLY
   DISPLAY_LIBS = awt $(HEADLESS_SUBDIR)
--- a/make/sun/javazic/tzdata/VERSION	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/VERSION	Thu Sep 15 14:10:30 2011 +0100
@@ -21,4 +21,4 @@
 # or visit www.oracle.com if you need additional information or have any
 # questions.
 #
-tzdata2011g
+tzdata2011j
--- a/make/sun/javazic/tzdata/africa	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/africa	Thu Sep 15 14:10:30 2011 +0100
@@ -80,7 +80,7 @@
 # I invented the following abbreviations; corrections are welcome!
 #	 2:00	WAST	West Africa Summer Time
 #	 2:30	BEAT	British East Africa Time (no longer used)
-#	 2:44:45 BEAUT	British East Africa Unified Time (no longer used)
+#	 2:45	BEAUT	British East Africa Unified Time (no longer used)
 #	 3:00	CAST	Central Africa Summer Time (no longer used)
 #	 3:00	SAST	South Africa Summer Time (no longer used)
 #	 3:00	EAT	East Africa Time
@@ -418,7 +418,7 @@
 Zone	Africa/Nairobi	2:27:16	-	LMT	1928 Jul
 			3:00	-	EAT	1930
 			2:30	-	BEAT	1940
-			2:44:45	-	BEAUT	1960
+			2:45	-	BEAUT	1960
 			3:00	-	EAT
 
 # Lesotho
@@ -979,6 +979,11 @@
 			2:00	Sudan	CA%sT	2000 Jan 15 12:00
 			3:00	-	EAT
 
+# South Sudan
+Zone	Africa/Juba	2:06:24 -	LMT	1931
+			2:00	Sudan	CA%sT	2000 Jan 15 12:00
+			3:00	-	EAT
+
 # Swaziland
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Africa/Mbabane	2:04:24 -	LMT	1903 Mar
@@ -988,7 +993,7 @@
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone Africa/Dar_es_Salaam 2:37:08 -	LMT	1931
 			3:00	-	EAT	1948
-			2:44:45	-	BEAUT	1961
+			2:45	-	BEAUT	1961
 			3:00	-	EAT
 
 # Togo
@@ -1114,7 +1119,7 @@
 Zone	Africa/Kampala	2:09:40 -	LMT	1928 Jul
 			3:00	-	EAT	1930
 			2:30	-	BEAT	1948
-			2:44:45	-	BEAUT	1957
+			2:45	-	BEAUT	1957
 			3:00	-	EAT
 
 # Zambia
--- a/make/sun/javazic/tzdata/antarctica	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/antarctica	Thu Sep 15 14:10:30 2011 +0100
@@ -41,18 +41,6 @@
 # I made up all time zone abbreviations mentioned here; corrections welcome!
 # FORMAT is `zzz' and GMTOFF is 0 for locations while uninhabited.
 
-# These rules are stolen from the `europe' file.
-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-Rule	RussAQ	1981	1984	-	Apr	 1	 0:00	1:00	S
-Rule	RussAQ	1981	1983	-	Oct	 1	 0:00	0	-
-Rule	RussAQ	1984	1991	-	Sep	lastSun	 2:00s	0	-
-Rule	RussAQ	1985	1991	-	Mar	lastSun	 2:00s	1:00	S
-Rule	RussAQ	1992	only	-	Mar	lastSat	 23:00	1:00	S
-Rule	RussAQ	1992	only	-	Sep	lastSat	 23:00	0	-
-Rule	RussAQ	1993	max	-	Mar	lastSun	 2:00s	1:00	S
-Rule	RussAQ	1993	1995	-	Sep	lastSun	 2:00s	0	-
-Rule	RussAQ	1996	max	-	Oct	lastSun	 2:00s	0	-
-
 # These rules are stolen from the `southamerica' file.
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	ArgAQ	1964	1966	-	Mar	 1	0:00	0	-
--- a/make/sun/javazic/tzdata/asia	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/asia	Thu Sep 15 14:10:30 2011 +0100
@@ -99,6 +99,10 @@
 Rule RussiaAsia	1993	1995	-	Sep	lastSun	 2:00s	0	-
 Rule RussiaAsia	1996	max	-	Oct	lastSun	 2:00s	0	-
 
+# From Arthur David Olson (2011-06-15):
+# While Russia abandoned DST in 2011, Armenia may choose to
+# follow Russia's "old" rules.
+
 # Afghanistan
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Asia/Kabul	4:36:48 -	LMT	1890
--- a/make/sun/javazic/tzdata/australasia	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/australasia	Thu Sep 15 14:10:30 2011 +0100
@@ -521,7 +521,7 @@
 # http://www.parliament.gov.ws/documents/acts/Daylight%20Saving%20Act%20%202009%20%28English%29%20-%20Final%207-7-091.pdf
 # </a>
 
-# From Raymond Hughes (2010-10-07):
+# From Laupue Raymond Hughes (2010-10-07):
 # Please see
 # <a href="http://www.mcil.gov.ws">
 # http://www.mcil.gov.ws
@@ -531,7 +531,7 @@
 # to 01:00am and First Sunday April 2011 (03/04/11) - adjust clocks
 # backwards from 1:00am to 12:00am"
 
-# From Raymond Hughes (2011-03-07)
+# From Laupue Raymond Hughes (2011-03-07):
 # I believe this will be posted shortly on the website
 # <a href="http://www.mcil.gov.ws">
 # www.mcil.gov.ws
@@ -551,12 +551,74 @@
 # Margaret Fruean ACTING CHIEF EXECUTIVE OFFICER MINISTRY OF COMMERCE,
 # INDUSTRY AND LABOUR 28th February 2011
 
+# From David Zuelke (2011-05-09):
+# Subject: Samoa to move timezone from east to west of international date line
+# 
+# <a href="http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963">
+# http://www.morningstar.co.uk/uk/markets/newsfeeditem.aspx?id=138501958347963
+# </a>
+
+# From Mark Sim-Smith (2011-08-17):
+# I have been in contact with Leilani Tuala Warren from the Samoa Law
+# Reform Commission, and she has sent me a copy of the Bill that she
+# confirmed has been passed...Most of the sections are about maps rather
+# than the time zone change, but I'll paste the relevant bits below. But
+# the essence is that at midnight 29 Dec (UTC-11 I suppose), Samoa
+# changes from UTC-11 to UTC+13:
+#
+# International Date Line Bill 2011
+#
+# AN ACT to provide for the change to standard time in Samoa and to make
+# consequential amendments to the position of the International Date
+# Line, and for related purposes.
+#
+# BE IT ENACTED by the Legislative Assembly of Samoa in Parliament
+# assembled as follows:
+#
+# 1. Short title and commencement-(1) This Act may be cited as the
+# International Date Line Act 2011. (2) Except for section 5(3) this Act
+# commences at 12 o'clock midnight, on Thursday 29th December 2011. (3)
+# Section 5(3) commences on the date of assent by the Head of State.
+#
+# [snip]
+#
+# 3. Interpretation - [snip] "Samoa standard time" in this Act and any
+# other statute of Samoa which refers to 'Samoa standard time' means the
+# time 13 hours in advance of Co-ordinated Universal Time.
+#
+# 4. Samoa standard time - (1) Upon the commencement of this Act, Samoa
+# standard time shall be set at 13 hours in advance of Co-ordinated
+# Universal Time for the whole of Samoa. (2) All references to Samoa's
+# time zone and to Samoa standard time in Samoa in all legislation and
+# instruments after the commencement of this Act shall be references to
+# Samoa standard time as provided for in this Act. (3) Nothing in this
+# Act affects the provisions of the Daylight Saving Act 2009, except that
+# it defines Samoa standard time....
+
+# From Laupue Raymond Hughes (2011-09-02):
+# <a href="http://www.mcil.gov.ws/mcil_publications.html">
+# http://www.mcil.gov.ws/mcil_publications.html
+# </a>
+#
+# here is the official website publication for Samoa DST and dateline change
+#
+# DST
+# Year	End	Time	Start	Time
+# 2011	- - -	- - -	24 September	3:00am to 4:00am
+# 2012	01 April	4:00am to 3:00am	- - -	- - -
+#
+# Dateline Change skip Friday 30th Dec 2011
+# Thursday 29th December 2011	23:59:59 Hours
+# Saturday 31st December 2011	00:00:00 Hours
 Zone Pacific/Apia	 12:33:04 -	LMT	1879 Jul  5
 			-11:26:56 -	LMT	1911
 			-11:30	-	SAMT	1950		# Samoa Time
 			-11:00	-	WST	2010 Sep 26
 			-11:00	1:00	WSDT	2011 Apr 2 4:00
-			-11:00	-	WST
+			-11:00	-	WST	2011 Sep 24 3:00
+			-11:00	1:00	WSDT	2011 Dec 30
+			 13:00	1:00	WSDT	2012 Apr 1 4:00
+			 13:00	-	WST
 
 # Solomon Is
 # excludes Bougainville, for which see Papua New Guinea
@@ -1228,7 +1290,7 @@
 # Lord Howe Island Board (controlling authority for the Island) is
 # seeking the community's views on various options for summer time
 # arrangements on the Island, e.g. advance clocks by 1 full hour
-# instead of only 30 minutes.  Dependant on the wishes of residents
+# instead of only 30 minutes.  [Dependent] on the wishes of residents
 # the Board may approach the NSW government to change the existing
 # arrangements.  The starting date for summer time on the Island will
 # however always coincide with the rest of NSW.
@@ -1354,7 +1416,7 @@
 
 # From Paul Eggert (1996-01-22):
 # Today's _Wall Street Journal_ (page 1) reports that Kiribati
-# ``declared it the same day throught the country as of Jan. 1, 1995''
+# ``declared it the same day [throughout] the country as of Jan. 1, 1995''
 # as part of the competition to be first into the 21st century.
 
 
--- a/make/sun/javazic/tzdata/europe	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/europe	Thu Sep 15 14:10:30 2011 +0100
@@ -587,6 +587,26 @@
 Rule	Russia	1993	1995	-	Sep	lastSun	 2:00s	0	-
 Rule	Russia	1996	max	-	Oct	lastSun	 2:00s	0	-
 
+# From Alexander Krivenyshev (2011-06-14):
+# According to Kremlin press service, Russian President Dmitry Medvedev
+# signed a federal law "On calculation of time" on June 9, 2011.
+# According to the law Russia is abolishing daylight saving time.
+# 
+# Medvedev signed a law "On the Calculation of Time" (in russian): 
+# <a href="http://bmockbe.ru/events/?ID=7583">
+# http://bmockbe.ru/events/?ID=7583
+# </a>
+# 
+# Medvedev signed a law on the calculation of the time (in russian):
+# <a href="http://www.regnum.ru/news/polit/1413906.html">
+# http://www.regnum.ru/news/polit/1413906.html
+# </a>
+
+# From Arthur David Olson (2011-06-15):
+# Take "abolishing daylight saving time" to mean that time is now considered
+# to be standard.
+# At least for now, keep the "old" Russia rules for the benefit of Belarus.
+
 # These are for backward compatibility with older versions.
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -2035,7 +2055,8 @@
 			 1:00	C-Eur	CE%sT	1945
 			 2:00	Poland	CE%sT	1946
 			 3:00	Russia	MSK/MSD	1991 Mar 31 2:00s
-			 2:00	Russia	EE%sT
+			 2:00	Russia	EE%sT	2011 Mar 27 2:00s
+			 3:00	-	KALT
 #
 # From Oscar van Vlijmen (2001-08-25): [This region consists of]
 # Respublika Adygeya, Arkhangel'skaya oblast',
@@ -2064,7 +2085,8 @@
 			 2:00	-	EET	1930 Jun 21
 			 3:00	Russia	MSK/MSD	1991 Mar 31 2:00s
 			 2:00	Russia	EE%sT	1992 Jan 19 2:00s
-			 3:00	Russia	MSK/MSD
+			 3:00	Russia	MSK/MSD	2011 Mar 27 2:00s
+			 4:00	-	MSK
 #
 # Astrakhanskaya oblast', Kirovskaya oblast', Saratovskaya oblast',
 # Volgogradskaya oblast'.  Shanks & Pottenger say Kirov is still at +0400
@@ -2077,7 +2099,8 @@
 			 4:00	Russia	VOL%sT	1989 Mar 26 2:00s # Volgograd T
 			 3:00	Russia	VOL%sT	1991 Mar 31 2:00s
 			 4:00	-	VOLT	1992 Mar 29 2:00s
-			 3:00	Russia	VOL%sT
+			 3:00	Russia	VOL%sT	2011 Mar 27 2:00s
+			 4:00	-	VOLT
 #
 # From Oscar van Vlijmen (2001-08-25): [This region consists of]
 # Samarskaya oblast', Udmyrtskaya respublika
@@ -2089,7 +2112,8 @@
 			 2:00	Russia	KUY%sT	1991 Sep 29 2:00s
 			 3:00	-	KUYT	1991 Oct 20 3:00
 			 4:00	Russia	SAM%sT	2010 Mar 28 2:00s # Samara Time
-			 3:00	Russia	SAM%sT
+			 3:00	Russia	SAM%sT	2011 Mar 27 2:00s
+			 4:00	-	SAMT
 
 #
 # From Oscar van Vlijmen (2001-08-25): [This region consists of]
@@ -2102,7 +2126,8 @@
 			 4:00	-	SVET	1930 Jun 21 # Sverdlovsk Time
 			 5:00	Russia	SVE%sT	1991 Mar 31 2:00s
 			 4:00	Russia	SVE%sT	1992 Jan 19 2:00s
-			 5:00	Russia	YEK%sT	# Yekaterinburg Time
+			 5:00	Russia	YEK%sT	2011 Mar 27 2:00s
+			 6:00	-	YEKT	# Yekaterinburg Time
 #
 # From Oscar van Vlijmen (2001-08-25): [This region consists of]
 # Respublika Altaj, Altajskij kraj, Omskaya oblast'.
@@ -2110,7 +2135,8 @@
 			 5:00	-	OMST	1930 Jun 21 # Omsk TIme
 			 6:00	Russia	OMS%sT	1991 Mar 31 2:00s
 			 5:00	Russia	OMS%sT	1992 Jan 19 2:00s
-			 6:00	Russia	OMS%sT
+			 6:00	Russia	OMS%sT	2011 Mar 27 2:00s
+			 7:00	-	OMST
 #
 # From Paul Eggert (2006-08-19): I'm guessing about Tomsk here; it's
 # not clear when it switched from +7 to +6.
@@ -2120,7 +2146,8 @@
 			 7:00	Russia	NOV%sT	1991 Mar 31 2:00s
 			 6:00	Russia	NOV%sT	1992 Jan 19 2:00s
 			 7:00	Russia	NOV%sT	1993 May 23 # say Shanks & P.
-			 6:00	Russia	NOV%sT
+			 6:00	Russia	NOV%sT	2011 Mar 27 2:00s
+			 7:00	-	NOVT
 
 # From Alexander Krivenyshev (2009-10-13):
 # Kemerovo oblast' (Kemerovo region) in Russia will change current time zone on
@@ -2153,7 +2180,8 @@
 			 7:00	Russia	KRA%sT	1991 Mar 31 2:00s
 			 6:00	Russia	KRA%sT	1992 Jan 19 2:00s
 			 7:00	Russia	KRA%sT	2010 Mar 28 2:00s
-			 6:00	Russia	NOV%sT # Novosibirsk/Novokuznetsk Time
+			 6:00	Russia	NOV%sT	2011 Mar 27 2:00s
+			 7:00	-	NOVT # Novosibirsk/Novokuznetsk Time
 
 #
 # From Oscar van Vlijmen (2001-08-25): [This region consists of]
@@ -2164,7 +2192,8 @@
 			 6:00	-	KRAT	1930 Jun 21 # Krasnoyarsk Time
 			 7:00	Russia	KRA%sT	1991 Mar 31 2:00s
 			 6:00	Russia	KRA%sT	1992 Jan 19 2:00s
-			 7:00	Russia	KRA%sT
+			 7:00	Russia	KRA%sT	2011 Mar 27 2:00s
+			 8:00	-	KRAT
 #
 # From Oscar van Vlijmen (2001-08-25): [This region consists of]
 # Respublika Buryatiya, Irkutskaya oblast',
@@ -2174,7 +2203,8 @@
 			 7:00	-	IRKT	1930 Jun 21 # Irkutsk Time
 			 8:00	Russia	IRK%sT	1991 Mar 31 2:00s
 			 7:00	Russia	IRK%sT	1992 Jan 19 2:00s
-			 8:00	Russia	IRK%sT
+			 8:00	Russia	IRK%sT	2011 Mar 27 2:00s
+			 9:00	-	IRKT
 #
 # From Oscar van Vlijmen (2003-10-18): [This region consists of]
 # Aginskij Buryatskij avtonomnyj okrug, Amurskaya oblast',
@@ -2197,7 +2227,8 @@
 			 8:00	-	YAKT	1930 Jun 21 # Yakutsk Time
 			 9:00	Russia	YAK%sT	1991 Mar 31 2:00s
 			 8:00	Russia	YAK%sT	1992 Jan 19 2:00s
-			 9:00	Russia	YAK%sT
+			 9:00	Russia	YAK%sT	2011 Mar 27 2:00s
+			 10:00	-	YAKT
 #
 # From Oscar van Vlijmen (2003-10-18): [This region consists of]
 # Evrejskaya avtonomnaya oblast', Khabarovskij kraj, Primorskij kraj,
@@ -2210,7 +2241,8 @@
 			 9:00	-	VLAT	1930 Jun 21 # Vladivostok Time
 			10:00	Russia	VLA%sT	1991 Mar 31 2:00s
 			 9:00	Russia	VLA%sST	1992 Jan 19 2:00s
-			10:00	Russia	VLA%sT
+			10:00	Russia	VLA%sT	2011 Mar 27 2:00s
+			11:00	-	VLAT
 #
 # Sakhalinskaya oblast'.
 # The Zone name should be Yuzhno-Sakhalinsk, but that's too long.
@@ -2220,7 +2252,8 @@
 			11:00	Russia	SAK%sT	1991 Mar 31 2:00s # Sakhalin T.
 			10:00	Russia	SAK%sT	1992 Jan 19 2:00s
 			11:00	Russia	SAK%sT	1997 Mar lastSun 2:00s
-			10:00	Russia	SAK%sT
+			10:00	Russia	SAK%sT	2011 Mar 27 2:00s
+			11:00	-	SAKT
 #
 # From Oscar van Vlijmen (2003-10-18): [This region consists of]
 # Magadanskaya oblast', Respublika Sakha (Yakutiya).
@@ -2233,7 +2266,8 @@
 			10:00	-	MAGT	1930 Jun 21 # Magadan Time
 			11:00	Russia	MAG%sT	1991 Mar 31 2:00s
 			10:00	Russia	MAG%sT	1992 Jan 19 2:00s
-			11:00	Russia	MAG%sT
+			11:00	Russia	MAG%sT	2011 Mar 27 2:00s
+			12:00	-	MAGT
 #
 # From Oscar van Vlijmen (2001-08-25): [This region consists of]
 # Kamchatskaya oblast', Koryakskij avtonomnyj okrug.
@@ -2244,7 +2278,8 @@
 			12:00	Russia	PET%sT	1991 Mar 31 2:00s
 			11:00	Russia	PET%sT	1992 Jan 19 2:00s
 			12:00	Russia	PET%sT	2010 Mar 28 2:00s
-			11:00	Russia	PET%sT
+			11:00	Russia	PET%sT	2011 Mar 27 2:00s
+			12:00	-	PETT
 #
 # Chukotskij avtonomnyj okrug
 Zone Asia/Anadyr	11:49:56 -	LMT	1924 May  2
@@ -2253,7 +2288,8 @@
 			12:00	Russia	ANA%sT	1991 Mar 31 2:00s
 			11:00	Russia	ANA%sT	1992 Jan 19 2:00s
 			12:00	Russia	ANA%sT	2010 Mar 28 2:00s
-			11:00	Russia	ANA%sT
+			11:00	Russia	ANA%sT	2011 Mar 27 2:00s
+			12:00	-	ANAT
 
 # Serbia
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
--- a/make/sun/javazic/tzdata/iso3166.tab	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/iso3166.tab	Thu Sep 15 14:10:30 2011 +0100
@@ -43,6 +43,9 @@
 #
 # Lines beginning with `#' are comments.
 #
+# From Arthur David Olson (2011-08-17):
+# Resynchronized today with the ISO 3166 site (adding SS for South Sudan).
+#
 #country-
 #code	country name
 AD	Andorra
@@ -52,7 +55,6 @@
 AI	Anguilla
 AL	Albania
 AM	Armenia
-AN	Netherlands Antilles
 AO	Angola
 AQ	Antarctica
 AR	Argentina
@@ -75,6 +77,7 @@
 BM	Bermuda
 BN	Brunei
 BO	Bolivia
+BQ	Bonaire Sint Eustatius & Saba
 BR	Brazil
 BS	Bahamas
 BT	Bhutan
@@ -97,6 +100,7 @@
 CR	Costa Rica
 CU	Cuba
 CV	Cape Verde
+CW	Curacao
 CX	Christmas Island
 CY	Cyprus
 CZ	Czech Republic
@@ -251,8 +255,10 @@
 SN	Senegal
 SO	Somalia
 SR	Suriname
+SS	South Sudan
 ST	Sao Tome & Principe
 SV	El Salvador
+SX	Sint Maarten
 SY	Syria
 SZ	Swaziland
 TC	Turks & Caicos Is
--- a/make/sun/javazic/tzdata/northamerica	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/northamerica	Thu Sep 15 14:10:30 2011 +0100
@@ -490,6 +490,10 @@
 # own time. I asked about daylight saving; they said it wasn't used. I
 # did not inquire about practices in the past.
 
+# From Arthur David Olson (2011-08-17):
+# For lack of better information, assume that Metlakatla's
+# abandonment of use of daylight saving resulted from the 1983 vote.
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone America/Juneau	 15:02:19 -	LMT	1867 Oct 18
 			 -8:57:41 -	LMT	1900 Aug 20 12:00
@@ -515,7 +519,7 @@
 			 -8:00	US	P%sT	1946
 			 -8:00	-	PST	1969
 			 -8:00	US	P%sT	1983 Oct 30 2:00
-			 -8:00	US	MeST
+			 -8:00	-	MeST
 Zone America/Yakutat	 14:41:05 -	LMT	1867 Oct 18
 			 -9:18:55 -	LMT	1900 Aug 20 12:00
 			 -9:00	-	YST	1942
@@ -615,8 +619,8 @@
 			-10:30	-	HST	1933 Apr 30 2:00 #Laws 1933
 			-10:30	1:00	HDT	1933 May 21 12:00 #Laws 1933+12
 			-10:30	-	HST	1942 Feb 09 2:00 #Schmitt&Cox+2
-			-10:30	1:00	HDT	1945 Sep 30 2:00 #Schmitt&Fox+2
-			-10:30	US	H%sT	1947 Jun  8 2:00 #Schmitt&Fox+2
+			-10:30	1:00	HDT	1945 Sep 30 2:00 #Schmitt&Cox+2
+			-10:30	-	HST	1947 Jun  8 2:00 #Schmitt&Cox+2
 			-10:00	-	HST
 
 # Now we turn to US areas that have diverged from the consensus since 1970.
@@ -1185,12 +1189,39 @@
 # From Paul Eggert (2000-10-02):
 # INMS (2000-09-12) says that, since 1988 at least, Newfoundland switches
 # at 00:01 local time.  For now, assume it started in 1987.
+
+# From Michael Pelley (2011-08-05):
+# The Government of Newfoundland and Labrador has pending changes to
+# modify the hour for daylight savings time to come into effect in
+# November 2011. This modification would change the time from 12:01AM to
+# 2:00AM on the dates of the switches of Daylight Savings Time to/from
+# Standard Time.
+#
+# As a matter of reference, in Canada provinces have the authority of
+# setting time zone information. The legislation has passed our
+# legislative body (The House of Assembly) and is awaiting the
+# proclamation to come into effect. You may find this information at:
+# <a href="http://www.assembly.nl.ca/legislation/sr/lists/Proclamation.htm">
+# http://www.assembly.nl.ca/legislation/sr/lists/Proclamation.htm
+# </a>
+# and
+# search within that web page for Standard Time (Amendment) Act. The Act
+# may be found at:
+# <a href="http://www.assembly.nl.ca/business/bills/Bill1106.htm">
+# http://www.assembly.nl.ca/business/bills/Bill1106.htm
+# </a>
+# ...
+# MICHAEL PELLEY | Manager of Enterprise Architecture - Solution Delivery
+# Office of the Chief Information Officer Executive Council Government of
+# Newfoundland & Labrador P.O. Box 8700, 40 Higgins Line, St. John's NL
+# A1B 4J6
+
 Rule	StJohns	1987	only	-	Apr	Sun>=1	0:01	1:00	D
 Rule	StJohns	1987	2006	-	Oct	lastSun	0:01	0	S
 Rule	StJohns	1988	only	-	Apr	Sun>=1	0:01	2:00	DD
 Rule	StJohns	1989	2006	-	Apr	Sun>=1	0:01	1:00	D
-Rule	StJohns	2007	max	-	Mar	Sun>=8	0:01	1:00	D
-Rule	StJohns	2007	max	-	Nov	Sun>=1	0:01	0	S
+Rule	StJohns	2007	2011	-	Mar	Sun>=8	0:01	1:00	D
+Rule	StJohns	2007	2010	-	Nov	Sun>=1	0:01	0	S
 #
 # St John's has an apostrophe, but Posix file names can't have apostrophes.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -1200,7 +1231,8 @@
 			-3:30:52 StJohns N%sT	1935 Mar 30
 			-3:30	StJohns	N%sT	1942 May 11
 			-3:30	Canada	N%sT	1946
-			-3:30	StJohns	N%sT
+			-3:30	StJohns	N%sT	2011 Nov
+			-3:30	Canada	N%sT
 
 # most of east Labrador
 
@@ -1214,7 +1246,8 @@
 			-3:30	StJohns	N%sT	1942 May 11
 			-3:30	Canada	N%sT	1946
 			-3:30	StJohns	N%sT	1966 Mar 15 2:00
-			-4:00	StJohns	A%sT
+			-4:00	StJohns	A%sT	2011 Nov
+			-4:00	Canada	A%sT
 
 
 # west Labrador, Nova Scotia, Prince Edward I
@@ -1946,20 +1979,69 @@
 # daylight saving....
 # http://www.nnsl.com/frames/newspapers/2006-11/nov13_06none.html
 
-# From Chris Walton (2007-03-14):
-# Today I phoned the "hamlet office" to find out what Resolute was doing with
-# its clocks.
+# From Chris Walton (2011-03-21):
+# Back in 2007 I initiated the creation of a new "zone file" for Resolute
+# Bay. Resolute Bay is a small community located about 900km north of
+# the Arctic Circle. The zone file was required because Resolute Bay had
+# decided to use UTC-5 instead of UTC-6 for the winter of 2006-2007.
 #
-# The individual that answered the phone confirmed that the clocks did not
-# move at the end of daylight saving on October 29/2006.  He also told me that
-# the clocks did not move this past weekend (March 11/2007)....
-
-# From Chris Walton (2008-11-13):
-# ...the residents of Resolute believe that they are changing "time zones"
-# twice a year.  In winter months, local time is qualified with "Eastern
-# Time" which is really "Eastern Standard Time (UTC-5)".  In summer
-# months, local time is qualified with "Central Time" which is really
-# "Central Daylight Time (UTC-5)"...
+# According to new information which I received last week, Resolute Bay
+# went back to using UTC-6 in the winter of 2007-2008...
+#
+# On March 11/2007 most of Canada went onto daylight saving. On March
+# 14/2007 I phoned the Resolute Bay hamlet office to do a "time check." I
+# talked to somebody that was both knowledgeable and helpful. I was able
+# to confirm that Resolute Bay was still operating on UTC-5. It was
+# explained to me that Resolute Bay had been on the Eastern Time zone
+# (EST) in the winter, and was now back on the Central Time zone (CDT).
+# i.e. the time zone had changed twice in the last year but the clocks
+# had not moved. The residents had to know which time zone they were in
+# so they could follow the correct TV schedule...
+#
+# On Nov 02/2008 most of Canada went onto standard time. On Nov 03/2008 I
+# phoned the Resolute Bay hamlet office...[D]ue to the challenging nature
+# of the phone call, I decided to seek out an alternate source of
+# information. I found an e-mail address for somebody by the name of
+# Stephanie Adams whose job was listed as "Inns North Support Officer for
+# Arctic Co-operatives." I was under the impression that Stephanie lived
+# and worked in Resolute Bay...
+#
+# On March 14/2011 I phoned the hamlet office again. I was told that
+# Resolute Bay had been using Central Standard Time over the winter of
+# 2010-2011 and that the clocks had therefore been moved one hour ahead
+# on March 13/2011. The person I talked to was aware that Resolute Bay
+# had previously experimented with Eastern Standard Time but he could not
+# tell me when the practice had stopped.
+#
+# On March 17/2011 I searched the Web to find an e-mail address of
+# somebody that might be able to tell me exactly when Resolute Bay went
+# off Eastern Standard Time. I stumbled on the name "Aziz Kheraj." Aziz
+# used to be the mayor of Resolute Bay and he apparently owns half the
+# businesses including "South Camp Inn." This website has some info on
+# Aziz:
+# <a href="http://www.uphere.ca/node/493">
+# http://www.uphere.ca/node/493
+# </a>
+#
+# I sent Aziz an e-mail asking when Resolute Bay had stopped using
+# Eastern Standard Time.
+#
+# Aziz responded quickly with this: "hi, The time was not changed for the
+# 1 year only, the following year, the community went back to the old way
+# of "spring ahead-fall behind" currently we are zulu plus 5 hrs and in
+# the winter Zulu plus 6 hrs"
+#
+# This of course conflicted with everything I had ascertained in November 2008.
+#
+# I sent Aziz a copy of my 2008 e-mail exchange with Stephanie. Aziz
+# responded with this: "Hi, Stephanie lives in Winnipeg. I live here, You
+# may want to check with the weather office in Resolute Bay or do a
+# search on the weather through Env. Canada. web site"
+#
+# If I had realized the Stephanie did not live in Resolute Bay I would
+# never have contacted her.  I now believe that all the information I
+# obtained in November 2008 should be ignored...
+# I apologize for reporting incorrect information in 2008.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	NT_YK	1918	only	-	Apr	14	2:00	1:00	D
@@ -1987,14 +2069,12 @@
 			-6:00	Canada	C%sT	2000 Oct 29 2:00
 			-5:00	Canada	E%sT
 # aka Qausuittuq
-# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-Rule	Resolute 2006	max	-	Nov	Sun>=1	2:00	0	ES
-Rule	Resolute 2007	max	-	Mar	Sun>=8	2:00	0	CD
 Zone America/Resolute	0	-	zzz	1947 Aug 31 # Resolute founded
 			-6:00	NT_YK	C%sT	2000 Oct 29 2:00
 			-5:00	-	EST	2001 Apr  1 3:00
 			-6:00	Canada	C%sT	2006 Oct 29 2:00
-			-5:00	Resolute	%sT
+			-5:00	-	EST	2007 Mar 11 3:00
+			-6:00	Canada	C%sT
 # aka Kangiqiniq
 Zone America/Rankin_Inlet 0	-	zzz	1957 # Rankin Inlet founded
 			-6:00	NT_YK	C%sT	2000 Oct 29 2:00
--- a/make/sun/javazic/tzdata/southamerica	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/southamerica	Thu Sep 15 14:10:30 2011 +0100
@@ -1298,6 +1298,14 @@
 			-4:30	-	ANT	1965 # Netherlands Antilles Time
 			-4:00	-	AST
 
+# From Arthur David Olson (2011-06-15):
+# At least for now, use links for places with new iso3166 codes.
+# The name "Lower Prince's Quarter" is both longer than fourteen charaters
+# and contains an apostrophe; use "Lower_Princes" below.
+
+Link	America/Curacao	America/Lower_Princes # Sint Maarten
+Link	America/Curacao	America/Kralendijk # Bonaire, Sint Estatius and Saba
+
 # Ecuador
 #
 # From Paul Eggert (2007-03-04):
--- a/make/sun/javazic/tzdata/zone.tab	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/sun/javazic/tzdata/zone.tab	Thu Sep 15 14:10:30 2011 +0100
@@ -54,7 +54,6 @@
 AI	+1812-06304	America/Anguilla
 AL	+4120+01950	Europe/Tirane
 AM	+4011+04430	Asia/Yerevan
-AN	+1211-06900	America/Curacao
 AO	-0848+01314	Africa/Luanda
 AQ	-7750+16636	Antarctica/McMurdo	McMurdo Station, Ross Island
 AQ	-9000+00000	Antarctica/South_Pole	Amundsen-Scott Station, South Pole
@@ -109,6 +108,7 @@
 BM	+3217-06446	Atlantic/Bermuda
 BN	+0456+11455	Asia/Brunei
 BO	-1630-06809	America/La_Paz
+BQ	+120903-0681636	America/Kralendijk
 BR	-0351-03225	America/Noronha	Atlantic islands
 BR	-0127-04829	America/Belem	Amapa, E Para
 BR	-0343-03830	America/Fortaleza	NE Brazil (MA, PI, CE, RN, PB)
@@ -142,7 +142,7 @@
 CA	+4823-08915	America/Thunder_Bay	Eastern Time - Thunder Bay, Ontario
 CA	+6344-06828	America/Iqaluit	Eastern Time - east Nunavut - most locations
 CA	+6608-06544	America/Pangnirtung	Eastern Time - Pangnirtung, Nunavut
-CA	+744144-0944945	America/Resolute	Eastern Standard Time - Resolute, Nunavut
+CA	+744144-0944945	America/Resolute	Central Standard Time - Resolute, Nunavut
 CA	+484531-0913718	America/Atikokan	Eastern Standard Time - Atikokan, Ontario and Southampton I, Nunavut
 CA	+624900-0920459	America/Rankin_Inlet	Central Time - central Nunavut
 CA	+4953-09709	America/Winnipeg	Central Time - Manitoba & west Ontario
@@ -177,6 +177,7 @@
 CR	+0956-08405	America/Costa_Rica
 CU	+2308-08222	America/Havana
 CV	+1455-02331	Atlantic/Cape_Verde
+CW	+1211-06900	America/Curacao
 CX	-1025+10543	Indian/Christmas
 CY	+3510+03322	Asia/Nicosia
 CZ	+5005+01426	Europe/Prague
@@ -382,8 +383,10 @@
 SN	+1440-01726	Africa/Dakar
 SO	+0204+04522	Africa/Mogadishu
 SR	+0550-05510	America/Paramaribo
+SS	+0451+03136	Africa/Juba
 ST	+0020+00644	Africa/Sao_Tome
 SV	+1342-08912	America/El_Salvador
+SX	+180305-0630250	America/Lower_Princes
 SY	+3330+03618	Asia/Damascus
 SZ	-2618+03106	Africa/Mbabane
 TC	+2128-07108	America/Grand_Turk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/make/sun/util/Makefile	Thu Sep 15 14:10:30 2011 +0100
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+BUILDDIR = ../..
+PACKAGE = sun.util
+PRODUCT = sun
+include $(BUILDDIR)/common/Defs.gmk
+
+#
+# Files
+#
+AUTO_FILES_JAVA_DIRS = sun/util/xml
+
+#
+# Rules
+#
+include $(BUILDDIR)/common/Classes.gmk
+
--- a/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java	Thu Sep 15 14:10:30 2011 +0100
@@ -120,7 +120,7 @@
     private static int[] specialCaseOldCurrenciesNumericCode = new int[maxSpecialCases];
     private static int[] specialCaseNewCurrenciesNumericCode = new int[maxSpecialCases];
 
-    private static final int maxOtherCurrencies = 65;
+    private static final int maxOtherCurrencies = 70;
     private static int otherCurrenciesCount = 0;
     private static StringBuffer otherCurrencies = new StringBuffer();
     private static int[] otherCurrenciesDefaultFractionDigits = new int[maxOtherCurrencies];
--- a/make/tools/src/build/tools/javazic/Mappings.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/make/tools/src/build/tools/javazic/Mappings.java	Thu Sep 15 14:10:30 2011 +0100
@@ -76,8 +76,8 @@
             // 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);
+            for (int i = 0; i < zone.size(); i++) {
+                ZoneRec zrec = zone.get(i);
                 if ((zrec.getGmtOffset() != rawOffset)
                     && (zrec.getUntilTime(0) > Time.getCurrentTime())) {
                     if (excludeList == null) {
@@ -85,6 +85,7 @@
                     }
                     excludeList.add(zone.getName());
                     isExcluded = true;
+                    break;
                 }
             }
 
--- a/src/share/classes/com/sun/servicetag/Installer.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/servicetag/Installer.java	Thu Sep 15 14:10:30 2011 +0100
@@ -61,8 +61,8 @@
     private static RegistrationData registration;
     private static boolean supportRegistration;
     private static String registerHtmlParent;
-    private static Set<Locale> supportedLocales = new HashSet<Locale>();
-    private static Properties swordfishProps = null;
+    private static Set<Locale> supportedLocales = new HashSet<>();
+    private static Properties svcTagProps = null;
     private static String[] jreArchs = null;
     static {
         String dir = System.getProperty(SVCTAG_DIR_PATH);
@@ -94,7 +94,7 @@
         boolean cleanup = false;
         try {
             // Check if we have the swordfish entries for this JRE version
-            if (loadSwordfishEntries() == null) {
+            if (loadServiceTagProps() == null) {
                 return null;
             }
 
@@ -144,18 +144,14 @@
             return registration;
         }
         if (regXmlFile.exists()) {
-            BufferedInputStream in = null;
-            try {
-                in = new BufferedInputStream(new FileInputStream(regXmlFile));
+            try (BufferedInputStream in =
+                    new BufferedInputStream(new FileInputStream(regXmlFile)))
+            {
                 registration = RegistrationData.loadFromXML(in);
             } catch (IllegalArgumentException ex) {
                 System.err.println("Error: Bad registration data \"" +
                                     regXmlFile + "\":" + ex.getMessage());
                 throw ex;
-            } finally {
-                if (in != null) {
-                    in.close();
-                }
             }
         } else {
             registration = new RegistrationData();
@@ -186,18 +182,14 @@
         deleteRegistrationHtmlPage();
         getRegistrationHtmlPage();
 
-        BufferedOutputStream out = null;
-        try {
-            out = new BufferedOutputStream(new FileOutputStream(regXmlFile));
+        try (BufferedOutputStream out =
+                new BufferedOutputStream(new FileOutputStream(regXmlFile)))
+        {
             getRegistrationData().storeToXML(out);
         } catch (IllegalArgumentException ex) {
             System.err.println("Error: Bad registration data \"" +
                                 regXmlFile + "\":" + ex.getMessage());
             throw ex;
-        } finally {
-            if (out != null) {
-                out.close();
-            }
         }
     }
 
@@ -206,11 +198,9 @@
      * or empty set if file not exists.
      */
     private static Set<String> getInstalledURNs() throws IOException {
-        Set<String> urnSet = new HashSet<String>();
+        Set<String> urnSet = new HashSet<>();
         if (serviceTagFile.exists()) {
-            BufferedReader in = null;
-            try {
-                in = new BufferedReader(new FileReader(serviceTagFile));
+            try (BufferedReader in = new BufferedReader(new FileReader(serviceTagFile))) {
                 String urn;
                 while ((urn = in.readLine()) != null) {
                     urn = urn.trim();
@@ -218,10 +208,6 @@
                         urnSet.add(urn);
                     }
                 }
-            } finally {
-                if (in != null) {
-                    in.close();
-                }
             }
         }
         return urnSet;
@@ -237,9 +223,9 @@
     private static ServiceTag[] getJavaServiceTagArray() throws IOException {
         RegistrationData regData = getRegistrationData();
         Set<ServiceTag> svcTags = regData.getServiceTags();
-        Set<ServiceTag> result = new HashSet<ServiceTag>();
+        Set<ServiceTag> result = new HashSet<>();
 
-        Properties props = loadSwordfishEntries();
+        Properties props = loadServiceTagProps();
         String jdkUrn = props.getProperty("servicetag.jdk.urn");
         String jreUrn = props.getProperty("servicetag.jre.urn");
         for (ServiceTag st : svcTags) {
@@ -343,8 +329,7 @@
     }
 
     private static ServiceTag newServiceTag(String svcTagSource) throws IOException {
-        // Load the swoRDFish information for the service tag creation
-        Properties props = loadSwordfishEntries();
+        Properties props = loadServiceTagProps();
 
         // Determine the product URN and name
         String productURN;
@@ -442,52 +427,35 @@
             return;
         }
 
-        PrintWriter out = null;
-        try {
-            out = new PrintWriter(serviceTagFile);
-
+        try (PrintWriter out = new PrintWriter(serviceTagFile)) {
             ServiceTag[] javaSvcTags = getJavaServiceTagArray();
             for (ServiceTag st : javaSvcTags) {
                 // Write the instance_run to the servicetag file
                 String instanceURN = st.getInstanceURN();
                 out.println(instanceURN);
             }
-        } finally {
-            if (out != null) {
-                out.close();
-            }
         }
     }
 
     /**
-     * Load the values associated with the swoRDFish metadata entries
-     * for Java SE. The swoRDFish metadata entries are different for
-     * different release.
+     * Load the properties for generating Java SE service tags.
      *
      * @param version Version of Java SE
      */
-    private static synchronized Properties loadSwordfishEntries() throws IOException {
-        if (swordfishProps != null) {
-            return swordfishProps;
+    private static synchronized Properties loadServiceTagProps() throws IOException {
+        if (svcTagProps != null) {
+            return svcTagProps;
         }
 
-        // The version string for Java SE 6 is 1.6.0
-        // We just need the minor number in the version string
-        int version = Util.getJdkVersion();
-
-        String filename = "/com/sun/servicetag/resources/javase_" +
-                version + "_swordfish.properties";
-        InputStream in = Installer.class.getResourceAsStream(filename);
-        if (in == null) {
-            return null;
+        // For Java SE 8 and later releases, JDK and JRE both use
+        // the same product number.  The sworRDFish metadata were
+        // for legacy Sun part number.
+        String filename = "/com/sun/servicetag/resources/javase_servicetag.properties";
+        try (InputStream in = Installer.class.getResourceAsStream(filename)) {
+            svcTagProps = new Properties();
+            svcTagProps.load(in);
         }
-        swordfishProps = new Properties();
-        try {
-            swordfishProps.load(in);
-        } finally {
-            in.close();
-        }
-        return swordfishProps;
+        return svcTagProps;
     }
 
     /**
@@ -546,7 +514,7 @@
             return jreArchs;
         }
 
-        Set<String> archs = new HashSet<String>();
+        Set<String> archs = new HashSet<>();
 
         String os = System.getProperty("os.name");
         if (os.equals("SunOS") || os.equals("Linux")) {
@@ -681,16 +649,16 @@
         String country = locale.getCountry();
         String variant = locale.getVariant();
 
-        List<Locale> locales = new ArrayList<Locale>(3);
+        List<Locale> locales = new ArrayList<>(3);
         if (variant.length() > 0) {
             locales.add(locale);
         }
         if (country.length() > 0) {
-            locales.add((locales.size() == 0) ?
+            locales.add((locales.isEmpty()) ?
                         locale : new Locale(language, country, ""));
         }
         if (language.length() > 0) {
-            locales.add((locales.size() == 0) ?
+            locales.add((locales.isEmpty()) ?
                         locale : new Locale(language, "", ""));
         }
         return locales;
@@ -788,14 +756,11 @@
         // Format the registration data in one single line
         StringBuilder payload = new StringBuilder();
         String xml = regData.toString().replaceAll("\"", "%22");
-        BufferedReader reader = new BufferedReader(new StringReader(xml));
-        try {
+        try (BufferedReader reader = new BufferedReader(new StringReader(xml))) {
             String line = null;
             while ((line = reader.readLine()) != null) {
                 payload.append(line.trim());
             }
-        } finally {
-            reader.close();
         }
 
         String resourceFilename = "/com/sun/servicetag/resources/register";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/com/sun/servicetag/resources/javase_servicetag.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -0,0 +1,29 @@
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+
+servicetag.jdk.urn     = Q8549
+servicetag.jdk.name    = Java Development Kit
+servicetag.jre.urn     = Q8549
+servicetag.jre.name    = Java Runtime Environment
+servicetag.parent.urn  = Q8549
+servicetag.parent.name = Java Platform, Standard Edition
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=Look In:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=Save In:
 FileChooser.fileNameLabelText=File Name:
-FileChooser.folderNameLabelText=Folder name:
+FileChooser.fileNameLabelMnemonic=78
+FileChooser.folderNameLabelText=Folder Name:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=Files of Type:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=Up One Level
 FileChooser.upFolderAccessibleName=Up
 FileChooser.homeFolderToolTipText=Home
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_de.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=Suchen in:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=Speichern in:
 FileChooser.fileNameLabelText=Dateiname:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=Ordnername:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=Dateityp:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=Eine Ebene h\u00F6her
 FileChooser.upFolderAccessibleName=Nach oben
 FileChooser.homeFolderToolTipText=Home
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_es.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=Buscar en:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=Guardar en:
 FileChooser.fileNameLabelText=Nombre de Archivo:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=Nombre de la Carpeta:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=Archivos de Tipo:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=Subir un Nivel
 FileChooser.upFolderAccessibleName=Arriba
 FileChooser.homeFolderToolTipText=Inicio
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_fr.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=Rechercher dans :
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=Enregistrer dans :
 FileChooser.fileNameLabelText=Nom du fichier :
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=Nom du dossier :
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=Fichiers de type :
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=Remonte d'un niveau.
 FileChooser.upFolderAccessibleName=Monter
 FileChooser.homeFolderToolTipText=R\u00E9pertoire d'origine
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_it.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=Cerca in:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=Salva in:
 FileChooser.fileNameLabelText=Nome file:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=Nome della cartella:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=Tipo file:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=Cartella superiore
 FileChooser.upFolderAccessibleName=Superiore
 FileChooser.homeFolderToolTipText=Home
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ja.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=\u53C2\u7167:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=\u4FDD\u5B58:
 FileChooser.fileNameLabelText=\u30D5\u30A1\u30A4\u30EB\u540D:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=\u30D5\u30A9\u30EB\u30C0\u540D:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=1\u30EC\u30D9\u30EB\u4E0A\u3078
 FileChooser.upFolderAccessibleName=\u4E0A\u3078
 FileChooser.homeFolderToolTipText=\u30DB\u30FC\u30E0
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_ko.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=\uAC80\uC0C9 \uC704\uCE58:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=\uC800\uC7A5 \uC704\uCE58:
 FileChooser.fileNameLabelText=\uD30C\uC77C \uC774\uB984:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=\uD3F4\uB354 \uC774\uB984:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=\uD30C\uC77C \uC720\uD615:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=\uD55C \uB808\uBCA8 \uC704\uB85C
 FileChooser.upFolderAccessibleName=\uC704\uB85C
 FileChooser.homeFolderToolTipText=\uD648
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_pt_BR.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=Consultar Em:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=Salvar Em:
 FileChooser.fileNameLabelText=Nome do Arquivo:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=Nome da pasta:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=Arquivos do Tipo:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=Um N\u00EDvel Acima
 FileChooser.upFolderAccessibleName=Acima
 FileChooser.homeFolderToolTipText=In\u00EDcio
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_sv.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=Leta i:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=Spara i:
 FileChooser.fileNameLabelText=Filnamn:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=Mapp:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=Filformat:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=Upp en niv\u00E5
 FileChooser.upFolderAccessibleName=Upp
 FileChooser.homeFolderToolTipText=Hem
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=\u67E5\u770B: 
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=\u4FDD\u5B58: 
 FileChooser.fileNameLabelText=\u6587\u4EF6\u540D: 
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=\u6587\u4EF6\u5939\u540D: 
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=\u6587\u4EF6\u7C7B\u578B: 
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=\u5411\u4E0A\u4E00\u7EA7
 FileChooser.upFolderAccessibleName=\u5411\u4E0A
 FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u5F55
--- a/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -19,10 +19,14 @@
 ############ FILE CHOOSER STRINGS #############
 
 FileChooser.lookInLabelText=\u67E5\u8A62:
+FileChooser.lookInLabelMnemonic=73
 FileChooser.saveInLabelText=\u5132\u5B58\u65BC: 
 FileChooser.fileNameLabelText=\u6A94\u6848\u540D\u7A31:
+FileChooser.fileNameLabelMnemonic=78
 FileChooser.folderNameLabelText=\u8CC7\u6599\u593E\u540D\u7A31:
+FileChooser.folderNameLabelMnemonic=78
 FileChooser.filesOfTypeLabelText=\u6A94\u6848\u985E\u578B:
+FileChooser.filesOfTypeLabelMnemonic=84
 FileChooser.upFolderToolTipText=\u5F80\u4E0A\u4E00\u5C64
 FileChooser.upFolderAccessibleName=\u5F80\u4E0A
 FileChooser.homeFolderToolTipText=\u4E3B\u76EE\u9304
--- a/src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/AmbiguousMethodException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/AmbiguousMethodException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class AmbiguousMethodException extends Exception
--- a/src/share/classes/com/sun/tools/example/debug/bdi/BreakpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/BreakpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public abstract class BreakpointSpec extends EventRequestSpec {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ChildSession.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ChildSession.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/EvaluationException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/EvaluationException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class EvaluationException extends Exception {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpecList.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpecList.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.ReferenceType;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class FrameIndexOutOfBoundsException extends IndexOutOfBoundsException {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/InputListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/InputListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public interface InputListener {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/LineNotFoundException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/LineNotFoundException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class LineNotFoundException extends Exception
--- a/src/share/classes/com/sun/tools/example/debug/bdi/MalformedMemberNameException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/MalformedMemberNameException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 class MalformedMemberNameException extends Exception {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/MethodNotFoundException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/MethodNotFoundException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class MethodNotFoundException extends Exception
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ModificationWatchpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ModificationWatchpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class NoSessionException extends Exception {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/NoThreadException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/NoThreadException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class NoThreadException extends Exception {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/OutputListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/OutputListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public interface OutputListener {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ParseException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ParseException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 // dummy placeholder for javaCC-generated code.
--- a/src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ReferenceTypeSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ReferenceTypeSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/Session.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/Session.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.VirtualMachine;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/SessionListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SessionListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import java.util.EventObject;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/SourceNameReferenceTypeSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SourceNameReferenceTypeSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/SpecErrorEvent.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SpecErrorEvent.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class SpecErrorEvent extends SpecEvent {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/SpecEvent.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SpecEvent.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import java.util.EventObject;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/SpecListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SpecListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import java.util.EventListener;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.ThreadGroupReference;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ThreadInfo.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ThreadInfo.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/ThreadIterator.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ThreadIterator.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 import com.sun.jdi.ThreadGroupReference;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/Utils.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/Utils.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;   //### does it belong here?
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class VMLaunchFailureException extends Exception {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/VMNotInterruptedException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/VMNotInterruptedException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public class VMNotInterruptedException extends Exception {
--- a/src/share/classes/com/sun/tools/example/debug/bdi/WatchpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/WatchpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.bdi;
 
 public abstract class WatchpointSpec extends EventRequestSpec {
--- a/src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/AccessWatchpointEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/AccessWatchpointEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.event.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/ClassPrepareEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/ClassPrepareEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/ClassUnloadEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/ClassUnloadEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.event.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/ExceptionEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/ExceptionEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 /**
--- a/src/share/classes/com/sun/tools/example/debug/event/JDIListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/JDIListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import java.util.EventListener;
--- a/src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/LocationTriggerEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/LocationTriggerEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.event.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/ThreadDeathEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/ThreadDeathEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/ThreadStartEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/ThreadStartEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/VMDeathEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/VMDeathEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.event.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/VMDisconnectEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/VMDisconnectEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.event.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/VMStartEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/VMStartEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/event/WatchpointEventSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/event/WatchpointEventSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.event;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/expr/ASCII_UCodeESC_CharStream.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ASCII_UCodeESC_CharStream.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /* Generated By:JavaCC: Do not edit this line. ASCII_UCodeESC_CharStream.java Version 0.7pre6 */
 
 package com.sun.tools.example.debug.expr;
--- a/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /* Generated By:JavaCC: Do not edit this line. ExpressionParser.java */
 package com.sun.tools.example.debug.expr;
 
--- a/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserConstants.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserConstants.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /* Generated By:JavaCC: Do not edit this line. ExpressionParserConstants.java */
 package com.sun.tools.example.debug.expr;
 
--- a/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /* Generated By:JavaCC: Do not edit this line. ExpressionParserTokenManager.java */
 package com.sun.tools.example.debug.expr;
 
--- a/src/share/classes/com/sun/tools/example/debug/expr/LValue.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/LValue.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.expr;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /* Generated By:JavaCC: Do not edit this line. ParseException.java Version 0.7pre6 */
 package com.sun.tools.example.debug.expr;
 
--- a/src/share/classes/com/sun/tools/example/debug/expr/Token.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/Token.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /* Generated By:JavaCC: Do not edit this line. Token.java Version 0.7pre3 */
 package com.sun.tools.example.debug.expr;
 
--- a/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 0.7pre2 */
 package com.sun.tools.example.debug.expr;
 
--- a/src/share/classes/com/sun/tools/example/debug/gui/ApplicationTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ApplicationTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import javax.swing.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/ClassManager.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ClassManager.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 public class ClassManager {
--- a/src/share/classes/com/sun/tools/example/debug/gui/ClassTreeTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ClassTreeTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.util.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/CommandTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/CommandTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/ContextListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 public interface ContextListener {
--- a/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/CurrentFrameChangedEvent.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/CurrentFrameChangedEvent.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/Environment.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/Environment.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/GUI.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/GUI.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/Icons.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/Icons.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import javax.swing.Icon;
--- a/src/share/classes/com/sun/tools/example/debug/gui/JDBFileFilter.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/JDBFileFilter.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.File;
--- a/src/share/classes/com/sun/tools/example/debug/gui/JDBMenuBar.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/JDBMenuBar.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import javax.swing.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/JDBToolBar.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/JDBToolBar.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import javax.swing.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/LaunchTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/LaunchTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.util.List;
--- a/src/share/classes/com/sun/tools/example/debug/gui/MonitorListModel.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/MonitorListModel.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.util.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/MonitorTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/MonitorTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import javax.swing.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/OutputSink.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/OutputSink.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/SearchPath.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SearchPath.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/SingleLeafTreeSelectionModel.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SingleLeafTreeSelectionModel.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import javax.swing.tree.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/SourceListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 public interface SourceListener {
--- a/src/share/classes/com/sun/tools/example/debug/gui/SourceManager.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceManager.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/SourceTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/SourceTreeTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceTreeTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/SourcepathChangedEvent.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourcepathChangedEvent.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.util.EventObject;
--- a/src/share/classes/com/sun/tools/example/debug/gui/StackTraceTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/StackTraceTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import javax.swing.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/ThreadTreeTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ThreadTreeTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.util.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/TypeScript.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/TypeScript.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.awt.*;
--- a/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptOutputListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptOutputListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import com.sun.tools.example.debug.bdi.OutputListener;
--- a/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptWriter.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptWriter.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.gui;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/AccessWatchpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/AccessWatchpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/AmbiguousMethodException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/AmbiguousMethodException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 public class AmbiguousMethodException extends Exception
--- a/src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/Commands.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/Commands.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/Env.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/Env.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/EventHandler.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventHandler.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/EventNotifier.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventNotifier.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.event.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpecList.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpecList.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.request.EventRequest;
--- a/src/share/classes/com/sun/tools/example/debug/tty/ExceptionSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ExceptionSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.ReferenceType;
--- a/src/share/classes/com/sun/tools/example/debug/tty/LineNotFoundException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/LineNotFoundException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 public class LineNotFoundException extends Exception
--- a/src/share/classes/com/sun/tools/example/debug/tty/MalformedMemberNameException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/MalformedMemberNameException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 class MalformedMemberNameException extends Exception {
--- a/src/share/classes/com/sun/tools/example/debug/tty/MessageOutput.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/MessageOutput.java	Thu Sep 15 14:10:30 2011 +0100
@@ -22,6 +22,15 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
+
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
 package com.sun.tools.example.debug.tty;
 
 import java.util.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/ModificationWatchpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ModificationWatchpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/PatternReferenceTypeSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/PatternReferenceTypeSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/ReferenceTypeSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ReferenceTypeSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/SourceMapper.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/SourceMapper.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.Location;
--- a/src/share/classes/com/sun/tools/example/debug/tty/TTY.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTY.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 /**
--- a/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 /**
--- a/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 /**
--- a/src/share/classes/com/sun/tools/example/debug/tty/ThreadGroupIterator.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ThreadGroupIterator.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.ThreadGroupReference;
--- a/src/share/classes/com/sun/tools/example/debug/tty/ThreadInfo.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ThreadInfo.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.ThreadReference;
--- a/src/share/classes/com/sun/tools/example/debug/tty/ThreadIterator.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ThreadIterator.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.ThreadGroupReference;
--- a/src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/debug/tty/VMNotConnectedException.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/VMNotConnectedException.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 public class VMNotConnectedException extends RuntimeException {
--- a/src/share/classes/com/sun/tools/example/debug/tty/WatchpointSpec.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/debug/tty/WatchpointSpec.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.debug.tty;
 
 abstract class WatchpointSpec extends EventRequestSpec {
--- a/src/share/classes/com/sun/tools/example/trace/EventThread.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/trace/EventThread.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.trace;
 
 import com.sun.jdi.*;
--- a/src/share/classes/com/sun/tools/example/trace/StreamRedirectThread.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/trace/StreamRedirectThread.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.trace;
 
 import java.io.*;
--- a/src/share/classes/com/sun/tools/example/trace/Trace.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/com/sun/tools/example/trace/Trace.java	Thu Sep 15 14:10:30 2011 +0100
@@ -23,6 +23,15 @@
  * questions.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package com.sun.tools.example.trace;
 
 import com.sun.jdi.VirtualMachine;
--- a/src/share/classes/java/io/FileInputStream.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/io/FileInputStream.java	Thu Sep 15 14:10:30 2011 +0100
@@ -56,16 +56,6 @@
     private final Object closeLock = new Object();
     private volatile boolean closed = false;
 
-    private static final ThreadLocal<Boolean> runningFinalize =
-        new ThreadLocal<>();
-
-    private static boolean isRunningFinalize() {
-        Boolean val;
-        if ((val = runningFinalize.get()) != null)
-            return val.booleanValue();
-        return false;
-    }
-
     /**
      * Creates a <code>FileInputStream</code> by
      * opening a connection to an actual file,
@@ -319,10 +309,10 @@
         int useCount = fd.decrementAndGetUseCount();
 
         /*
-         * If FileDescriptor is still in use by another stream, the finalizer
+         * If FileDescriptor is still in use by another stream, we
          * will not close it.
          */
-        if ((useCount <= 0) || !isRunningFinalize()) {
+        if (useCount <= 0) {
             close0();
         }
     }
@@ -391,18 +381,7 @@
      */
     protected void finalize() throws IOException {
         if ((fd != null) &&  (fd != FileDescriptor.in)) {
-
-            /*
-             * Finalizer should not release the FileDescriptor if another
-             * stream is still using it. If the user directly invokes
-             * close() then the FileDescriptor is also released.
-             */
-            runningFinalize.set(Boolean.TRUE);
-            try {
                 close();
-            } finally {
-                runningFinalize.set(Boolean.FALSE);
-            }
         }
     }
 }
--- a/src/share/classes/java/io/FileOutputStream.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/io/FileOutputStream.java	Thu Sep 15 14:10:30 2011 +0100
@@ -63,21 +63,12 @@
     private final boolean append;
 
     /**
-     * The associated channel, initalized lazily.
+     * The associated channel, initialized lazily.
      */
     private FileChannel channel;
 
     private final Object closeLock = new Object();
     private volatile boolean closed = false;
-    private static final ThreadLocal<Boolean> runningFinalize =
-        new ThreadLocal<>();
-
-    private static boolean isRunningFinalize() {
-        Boolean val;
-        if ((val = runningFinalize.get()) != null)
-            return val.booleanValue();
-        return false;
-    }
 
     /**
      * Creates a file output stream to write to the file with the
@@ -355,10 +346,10 @@
         int useCount = fd.decrementAndGetUseCount();
 
         /*
-         * If FileDescriptor is still in use by another stream, the finalizer
+         * If FileDescriptor is still in use by another stream, we
          * will not close it.
          */
-        if ((useCount <= 0) || !isRunningFinalize()) {
+        if (useCount <= 0) {
             close0();
         }
     }
@@ -424,18 +415,7 @@
             if (fd == FileDescriptor.out || fd == FileDescriptor.err) {
                 flush();
             } else {
-
-                /*
-                 * Finalizer should not release the FileDescriptor if another
-                 * stream is still using it. If the user directly invokes
-                 * close() then the FileDescriptor is also released.
-                 */
-                runningFinalize.set(Boolean.TRUE);
-                try {
                     close();
-                } finally {
-                    runningFinalize.set(Boolean.FALSE);
-                }
             }
         }
     }
--- a/src/share/classes/java/io/RandomAccessFile.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/io/RandomAccessFile.java	Thu Sep 15 14:10:30 2011 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -590,8 +590,15 @@
          * Decrement FD use count associated with this stream.
          * The count got incremented by FileDescriptor during its construction.
          */
-        fd.decrementAndGetUseCount();
-        close0();
+        int useCount = fd.decrementAndGetUseCount();
+
+        /*
+         * If FileDescriptor is still in use by another stream, we
+         * will not close it.
+         */
+        if (useCount <= 0) {
+            close0();
+        }
     }
 
     //
--- a/src/share/classes/java/lang/SafeVarargs.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/lang/SafeVarargs.java	Thu Sep 15 14:10:30 2011 +0100
@@ -82,6 +82,7 @@
  *
  * </ul>
  *
+ * @since 1.7
  * @jls 4.7 Reifiable Types
  * @jls 8.4.1 Formal Parameters
  */
--- a/src/share/classes/java/lang/reflect/TypeVariable.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/lang/reflect/TypeVariable.java	Thu Sep 15 14:10:30 2011 +0100
@@ -48,7 +48,7 @@
  *
  * @since 1.5
  */
-public interface TypeVariable<D extends GenericDeclaration> extends Type {
+public interface TypeVariable<D extends GenericDeclaration> extends Type, AnnotatedElement {
     /**
      * Returns an array of {@code Type} objects representing the
      * upper bound(s) of this type variable.  Note that if no upper bound is
--- a/src/share/classes/java/math/BigDecimal.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/math/BigDecimal.java	Thu Sep 15 14:10:30 2011 +0100
@@ -3715,26 +3715,28 @@
         }
     }
 
-    private static final sun.misc.Unsafe unsafe = sun.misc.Unsafe.getUnsafe();
-    private static final long intCompactOffset;
-    private static final long intValOffset;
-    static {
-        try {
-            intCompactOffset = unsafe.objectFieldOffset
-                (BigDecimal.class.getDeclaredField("intCompact"));
-            intValOffset = unsafe.objectFieldOffset
-                (BigDecimal.class.getDeclaredField("intVal"));
-        } catch (Exception ex) {
-            throw new Error(ex);
+    private static class UnsafeHolder {
+        private static final sun.misc.Unsafe unsafe;
+        private static final long intCompactOffset;
+        private static final long intValOffset;
+        static {
+            try {
+                unsafe = sun.misc.Unsafe.getUnsafe();
+                intCompactOffset = unsafe.objectFieldOffset
+                    (BigDecimal.class.getDeclaredField("intCompact"));
+                intValOffset = unsafe.objectFieldOffset
+                    (BigDecimal.class.getDeclaredField("intVal"));
+            } catch (Exception ex) {
+                throw new ExceptionInInitializerError(ex);
+            }
         }
-    }
-
-    private void setIntCompactVolatile(long val) {
-        unsafe.putLongVolatile(this, intCompactOffset, val);
-    }
-
-    private void setIntValVolatile(BigInteger val) {
-        unsafe.putObjectVolatile(this, intValOffset, val);
+        static void setIntCompactVolatile(BigDecimal bd, long val) {
+            unsafe.putLongVolatile(bd, intCompactOffset, val);
+        }
+
+        static void setIntValVolatile(BigDecimal bd, BigInteger val) {
+            unsafe.putObjectVolatile(bd, intValOffset, val);
+        }
     }
 
     /**
@@ -3753,7 +3755,7 @@
             throw new java.io.StreamCorruptedException(message);
         // [all values of scale are now allowed]
         }
-        setIntCompactVolatile(compactValFor(intVal));
+        UnsafeHolder.setIntCompactVolatile(this, compactValFor(intVal));
     }
 
    /**
@@ -3765,7 +3767,7 @@
        throws java.io.IOException {
        // Must inflate to maintain compatible serial form.
        if (this.intVal == null)
-           this.setIntValVolatile(BigInteger.valueOf(this.intCompact));
+           UnsafeHolder.setIntValVolatile(this, BigInteger.valueOf(this.intCompact));
        // Could reset intVal back to null if it has to be set.
        s.defaultWriteObject();
    }
--- a/src/share/classes/java/math/BigInteger.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/math/BigInteger.java	Thu Sep 15 14:10:30 2011 +0100
@@ -2919,6 +2919,7 @@
      * result with the opposite sign.
      *
      * @return this BigInteger converted to an {@code int}.
+     * @see #intValueExact()
      */
     public int intValue() {
         int result = 0;
@@ -2939,6 +2940,7 @@
      * result with the opposite sign.
      *
      * @return this BigInteger converted to a {@code long}.
+     * @see #longValueExact()
      */
     public long longValue() {
         long result = 0;
@@ -3303,25 +3305,35 @@
         }
 
         // Commit final fields via Unsafe
-        unsafe.putIntVolatile(this, signumOffset, sign);
+        UnsafeHolder.putSign(this, sign);
 
         // Calculate mag field from magnitude and discard magnitude
-        unsafe.putObjectVolatile(this, magOffset,
-                                 stripLeadingZeroBytes(magnitude));
+        UnsafeHolder.putMag(this, stripLeadingZeroBytes(magnitude));
     }
 
     // Support for resetting final fields while deserializing
-    private static final sun.misc.Unsafe unsafe = sun.misc.Unsafe.getUnsafe();
-    private static final long signumOffset;
-    private static final long magOffset;
-    static {
-        try {
-            signumOffset = unsafe.objectFieldOffset
-                (BigInteger.class.getDeclaredField("signum"));
-            magOffset = unsafe.objectFieldOffset
-                (BigInteger.class.getDeclaredField("mag"));
-        } catch (Exception ex) {
-            throw new Error(ex);
+    private static class UnsafeHolder {
+        private static final sun.misc.Unsafe unsafe;
+        private static final long signumOffset;
+        private static final long magOffset;
+        static {
+            try {
+                unsafe = sun.misc.Unsafe.getUnsafe();
+                signumOffset = unsafe.objectFieldOffset
+                    (BigInteger.class.getDeclaredField("signum"));
+                magOffset = unsafe.objectFieldOffset
+                    (BigInteger.class.getDeclaredField("mag"));
+            } catch (Exception ex) {
+                throw new ExceptionInInitializerError(ex);
+            }
+        }
+
+        static void putSign(BigInteger bi, int sign) {
+            unsafe.putIntVolatile(bi, signumOffset, sign);
+        }
+
+        static void putMag(BigInteger bi, int[] magnitude) {
+            unsafe.putObjectVolatile(bi, magOffset, magnitude);
         }
     }
 
@@ -3372,4 +3384,84 @@
         }
         return result;
     }
+
+    /**
+     * Converts this {@code BigInteger} to a {@code long}, checking
+     * for lost information.  If the value of this {@code BigInteger}
+     * is out of the range of the {@code long} type, then an
+     * {@code ArithmeticException} is thrown.
+     *
+     * @return this {@code BigInteger} converted to a {@code long}.
+     * @throws ArithmeticException if the value of {@code this} will
+     * not exactly fit in a {@code long}.
+     * @see BigInteger#longValue
+     * @since  1.8
+     */
+    public long longValueExact() {
+        if (mag.length <= 2 && bitLength() <= 63)
+            return longValue();
+        else
+            throw new ArithmeticException("BigInteger out of long range");
+    }
+
+    /**
+     * Converts this {@code BigInteger} to an {@code int}, checking
+     * for lost information.  If the value of this {@code BigInteger}
+     * is out of the range of the {@code int} type, then an
+     * {@code ArithmeticException} is thrown.
+     *
+     * @return this {@code BigInteger} converted to an {@code int}.
+     * @throws ArithmeticException if the value of {@code this} will
+     * not exactly fit in a {@code int}.
+     * @see BigInteger#intValue
+     * @since  1.8
+     */
+    public int intValueExact() {
+        if (mag.length <= 1 && bitLength() <= 31)
+            return intValue();
+        else
+            throw new ArithmeticException("BigInteger out of int range");
+    }
+
+    /**
+     * Converts this {@code BigInteger} to a {@code short}, checking
+     * for lost information.  If the value of this {@code BigInteger}
+     * is out of the range of the {@code short} type, then an
+     * {@code ArithmeticException} is thrown.
+     *
+     * @return this {@code BigInteger} converted to a {@code short}.
+     * @throws ArithmeticException if the value of {@code this} will
+     * not exactly fit in a {@code short}.
+     * @see BigInteger#shortValue
+     * @since  1.8
+     */
+    public short shortValueExact() {
+        if (mag.length <= 1 && bitLength() <= 31) {
+            int value = intValue();
+            if (value >= Short.MIN_VALUE && value <= Short.MAX_VALUE)
+                return shortValue();
+        }
+        throw new ArithmeticException("BigInteger out of short range");
+    }
+
+    /**
+     * Converts this {@code BigInteger} to a {@code byte}, checking
+     * for lost information.  If the value of this {@code BigInteger}
+     * is out of the range of the {@code byte} type, then an
+     * {@code ArithmeticException} is thrown.
+     *
+     * @return this {@code BigInteger} converted to a {@code byte}.
+     * @throws ArithmeticException if the value of {@code this} will
+     * not exactly fit in a {@code byte}.
+     * @see BigInteger#byteValue
+     * @since  1.8
+     */
+    public byte byteValueExact() {
+        if (mag.length <= 1 && bitLength() <= 31) {
+            int value = intValue();
+            if (value >= Byte.MIN_VALUE && value <= Byte.MAX_VALUE)
+                return byteValue();
+        }
+        throw new ArithmeticException("BigInteger out of byte range");
+    }
 }
--- a/src/share/classes/java/net/DatagramSocket.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/net/DatagramSocket.java	Thu Sep 15 14:10:30 2011 +0100
@@ -174,9 +174,7 @@
      * @see SecurityManager#checkListen
      */
     public DatagramSocket() throws SocketException {
-        // create a datagram socket.
-        createImpl();
-        bind(new InetSocketAddress(0));
+        this(new InetSocketAddress(0));
     }
 
     /**
@@ -221,7 +219,12 @@
         // create a datagram socket.
         createImpl();
         if (bindaddr != null) {
-            bind(bindaddr);
+            try {
+                bind(bindaddr);
+            } finally {
+                if (!isBound())
+                    close();
+            }
         }
     }
 
--- a/src/share/classes/java/net/MulticastSocket.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/net/MulticastSocket.java	Thu Sep 15 14:10:30 2011 +0100
@@ -162,7 +162,12 @@
         setReuseAddress(true);
 
         if (bindaddr != null) {
-            bind(bindaddr);
+            try {
+                bind(bindaddr);
+            } finally {
+                if (!isBound())
+                    close();
+            }
         }
     }
 
--- a/src/share/classes/java/net/Socket.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/net/Socket.java	Thu Sep 15 14:10:30 2011 +0100
@@ -420,10 +420,13 @@
             createImpl(stream);
             if (localAddr != null)
                 bind(localAddr);
-            if (address != null)
-                connect(address);
-        } catch (IOException e) {
-            close();
+            connect(address);
+        } catch (IOException | IllegalArgumentException | SecurityException e) {
+            try {
+                close();
+            } catch (IOException ce) {
+                e.addSuppressed(ce);
+            }
             throw e;
         }
     }
--- a/src/share/classes/java/util/CurrencyData.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/util/CurrencyData.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -29,7 +29,7 @@
 # It is a serial number that accompanies with each amendment, such as 
 # 'MAxxx.doc'
 
-dataVersion=140
+dataVersion=151
 
 # List of all valid ISO 4217 currency codes.
 # To ensure compatibility, do not remove codes.
@@ -37,7 +37,7 @@
 all=ADP020-AED784-AFA004-AFN971-ALL008-AMD051-ANG532-AOA973-ARS032-ATS040-AUD036-\
     AWG533-AYM945-AZM031-AZN944-BAM977-BBD052-BDT050-BEF056-BGL100-BGN975-BHD048-BIF108-\
     BMD060-BND096-BOB068-BOV984-BRL986-BSD044-BTN064-BWP072-BYB112-BYR974-\
-    BZD084-CAD124-CDF976-CHF756-CLF990-CLP152-CNY156-COP170-CRC188-CSD891-CUP192-\
+    BZD084-CAD124-CDF976-CHF756-CLF990-CLP152-CNY156-COP170-CRC188-CSD891-CUP192-CUC931-\
     CVE132-CYP196-CZK203-DEM276-DJF262-DKK208-DOP214-DZD012-EEK233-EGP818-\
     ERN232-ESP724-ETB230-EUR978-FIM246-FJD242-FKP238-FRF250-GBP826-GEL981-\
     GHC288-GHS936-GIP292-GMD270-GNF324-GRD300-GTQ320-GWP624-GYD328-HKD344-HNL340-\
@@ -49,11 +49,11 @@
     NIO558-NLG528-NOK578-NPR524-NZD554-OMR512-PAB590-PEN604-PGK598-PHP608-\
     PKR586-PLN985-PTE620-PYG600-QAR634-ROL946-RON946-RSD941-RUB643-RUR810-RWF646-SAR682-\
     SBD090-SCR690-SDD736-SDG938-SEK752-SGD702-SHP654-SIT705-SKK703-SLL694-SOS706-\
-    SRD968-SRG740-STD678-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TND788-TOP776-\
+    SRD968-SRG740-STD678-SVC222-SYP760-SZL748-THB764-TJS972-TMM795-TMT934-TND788-TOP776-\
     TPE626-TRL792-TRY949-TTD780-TWD901-TZS834-UAH980-UGX800-USD840-USN997-USS998-\
     UYU858-UZS860-VEB862-VEF937-VND704-VUV548-WST882-XAF950-XAG961-XAU959-XBA955-\
     XBB956-XBC957-XBD958-XCD951-XDR960-XFO000-XFU000-XOF952-XPD964-XPF953-\
-    XPT962-XTS963-XXX999-YER886-YUM891-ZAR710-ZMK894-ZWD716-ZWN942
+    XPT962-XSU994-XTS963-XUA965-XXX999-YER886-YUM891-ZAR710-ZMK894-ZWD716-ZWL932-ZWN942-ZWR935
 
 
 # Mappings from ISO 3166 country codes to ISO 4217 currency codes.
@@ -124,6 +124,8 @@
 BJ=XOF
 # BERMUDA
 BM=BMD
+# Bonaire, Sint Eustatius and Saba
+BQ=USD
 # BHUTAN
 BT=BTN
 # BOLIVIA
@@ -186,6 +188,8 @@
 HR=HRK
 # CUBA
 CU=CUP
+# Cura\u00e7ao
+CW=ANG
 # CYPRUS
 CY=EUR
 # CZECH REPUBLIC
@@ -210,7 +214,7 @@
 # ERITREA
 ER=ERN
 # ESTONIA
-EE=EEK
+EE=EUR
 # ETHIOPIA
 ET=ETB
 # FALKLAND ISLANDS (MALVINAS)
@@ -476,7 +480,7 @@
 # SINGAPORE
 SG=SGD
 # SLOVAKIA
-SK=SKK
+SK=EUR
 # SLOVENIA
 SI=EUR
 # SOLOMON ISLANDS
@@ -497,6 +501,8 @@
 SR=SRD
 # SVALBARD AND JAN MAYEN
 SJ=NOK
+# Sint Maarten (Dutch part)
+SX=ANG
 # SWAZILAND
 SZ=SZL
 # SWEDEN
@@ -528,7 +534,7 @@
 # TURKEY
 TR=TRL;2004-12-31-22-00-00;TRY
 # TURKMENISTAN
-TM=TMM
+TM=TMT
 # TURKS AND CAICOS ISLANDS
 TC=USD
 # TUVALU
@@ -568,7 +574,7 @@
 # ZAMBIA
 ZM=ZMK
 # ZIMBABWE
-ZW=ZWD
+ZW=ZWL
 
 
 # List of currencies with 0, 1, OR 3 decimals for minor units, or where there
@@ -583,4 +589,4 @@
     BHD-IQD-JOD-KWD-LYD-OMR-TND
 minorUndefined=\
     XAG-XAU-XBA-XBB-XBC-XBD-XDR-XFO-XFU-XPD-\
-    XPT-XTS-XXX
+    XPT-XSU-XTS-XUA-XXX
--- a/src/share/classes/java/util/LocaleISOData.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/util/LocaleISOData.java	Thu Sep 15 14:10:30 2011 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -254,6 +254,7 @@
         + "BM" + "BMU"  // Bermuda
         + "BN" + "BRN"  // Brunei Darussalam
         + "BO" + "BOL"  // Bolivia, Republic of
+        + "BQ" + "BES"  // Bonaire, Sint Eustatius and Saba
         + "BR" + "BRA"  // Brazil, Federative Republic of
         + "BS" + "BHS"  // Bahamas, Commonwealth of the
         + "BT" + "BTN"  // Bhutan, Kingdom of
@@ -277,6 +278,7 @@
 //      + "CS" + "SCG"  // Serbia and Montenegro
         + "CU" + "CUB"  // Cuba, Republic of
         + "CV" + "CPV"  // Cape Verde, Republic of
+        + "CW" + "CUW"  // Cura\u00e7ao
         + "CX" + "CXR"  // Christmas Island
         + "CY" + "CYP"  // Cyprus, Republic of
         + "CZ" + "CZE"  // Czech Republic
@@ -433,6 +435,7 @@
         + "SR" + "SUR"  // Suriname, Republic of
         + "ST" + "STP"  // Sao Tome and Principe, Democratic Republic of
         + "SV" + "SLV"  // El Salvador, Republic of
+        + "SX" + "SXM"  // Sint Maarten (Dutch part)
         + "SY" + "SYR"  // Syrian Arab Republic
         + "SZ" + "SWZ"  // Swaziland, Kingdom of
         + "TC" + "TCA"  // Turks and Caicos Islands
--- a/src/share/classes/java/util/Properties.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/java/util/Properties.java	Thu Sep 15 14:10:30 2011 +0100
@@ -34,6 +34,7 @@
 import java.io.Writer;
 import java.io.OutputStreamWriter;
 import java.io.BufferedWriter;
+import java.lang.reflect.*;
 
 /**
  * The <code>Properties</code> class represents a persistent set of
@@ -1111,4 +1112,60 @@
     private static final char[] hexDigit = {
         '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
     };
+
+
+    private static class XMLUtils {
+        private static Method load = null;
+        private static Method save = null;
+        static {
+            try {
+                // reference sun.util.xml.Utils reflectively
+                // to allow the Properties class be compiled in
+                // the absence of XML
+                Class<?> c = Class.forName("sun.util.xml.XMLUtils", true, null);
+                load = c.getMethod("load", Properties.class, InputStream.class);
+                save = c.getMethod("save", Properties.class, OutputStream.class,
+                                   String.class, String.class);
+            } catch (ClassNotFoundException cnf) {
+                throw new AssertionError(cnf);
+            } catch (NoSuchMethodException e) {
+                throw new AssertionError(e);
+            }
+        }
+
+        static void invoke(Method m, Object... args) throws IOException {
+            try {
+                m.invoke(null, args);
+            } catch (IllegalAccessException e) {
+                throw new AssertionError(e);
+            } catch (InvocationTargetException e) {
+                Throwable t = e.getCause();
+                if (t instanceof RuntimeException)
+                    throw (RuntimeException)t;
+
+                if (t instanceof IOException) {
+                    throw (IOException)t;
+                } else {
+                    throw new AssertionError(t);
+                }
+            }
+        }
+
+        static void load(Properties props, InputStream in)
+            throws IOException, InvalidPropertiesFormatException
+        {
+            if (load == null)
+                throw new InternalError("sun.util.xml.XMLUtils not found");
+            invoke(load, props, in);
+        }
+
+        static void save(Properties props, OutputStream os, String comment,
+                         String encoding)
+            throws IOException
+        {
+            if (save == null)
+                throw new InternalError("sun.util.xml.XMLUtils not found");
+            invoke(save, props, os, comment, encoding);
+        }
+    }
 }
--- a/src/share/classes/java/util/XMLUtils.java	Thu Sep 15 13:50:30 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package java.util;
-
-import java.io.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-import org.w3c.dom.*;
-import javax.xml.parsers.*;
-import javax.xml.transform.*;
-import javax.xml.transform.dom.*;
-import javax.xml.transform.stream.*;
-
-/**
- * A class used to aid in Properties load and save in XML. Keeping this
- * code outside of Properties helps reduce the number of classes loaded
- * when Properties is loaded.
- *
- * @author  Michael McCloskey
- * @since   1.3
- */
-class XMLUtils {
-
-    // XML loading and saving methods for Properties
-
-    // The required DTD URI for exported properties
-    private static final String PROPS_DTD_URI =
-    "http://java.sun.com/dtd/properties.dtd";
-
-    private static final String PROPS_DTD =
-    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
-    "<!-- DTD for properties -->"                +
-    "<!ELEMENT properties ( comment?, entry* ) >"+
-    "<!ATTLIST properties"                       +
-        " version CDATA #FIXED \"1.0\">"         +
-    "<!ELEMENT comment (#PCDATA) >"              +
-    "<!ELEMENT entry (#PCDATA) >"                +
-    "<!ATTLIST entry "                           +
-        " key CDATA #REQUIRED>";
-
-    /**
-     * Version number for the format of exported properties files.
-     */
-    private static final String EXTERNAL_XML_VERSION = "1.0";
-
-    static void load(Properties props, InputStream in)
-        throws IOException, InvalidPropertiesFormatException
-    {
-        Document doc = null;
-        try {
-            doc = getLoadingDoc(in);
-        } catch (SAXException saxe) {
-            throw new InvalidPropertiesFormatException(saxe);
-        }
-        Element propertiesElement = (Element)doc.getChildNodes().item(1);
-        String xmlVersion = propertiesElement.getAttribute("version");
-        if (xmlVersion.compareTo(EXTERNAL_XML_VERSION) > 0)
-            throw new InvalidPropertiesFormatException(
-                "Exported Properties file format version " + xmlVersion +
-                " is not supported. This java installation can read" +
-                " versions " + EXTERNAL_XML_VERSION + " or older. You" +
-                " may need to install a newer version of JDK.");
-        importProperties(props, propertiesElement);
-    }
-
-    static Document getLoadingDoc(InputStream in)
-        throws SAXException, IOException
-    {
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        dbf.setIgnoringElementContentWhitespace(true);
-        dbf.setValidating(true);
-        dbf.setCoalescing(true);
-        dbf.setIgnoringComments(true);
-        try {
-            DocumentBuilder db = dbf.newDocumentBuilder();
-            db.setEntityResolver(new Resolver());
-            db.setErrorHandler(new EH());
-            InputSource is = new InputSource(in);
-            return db.parse(is);
-        } catch (ParserConfigurationException x) {
-            throw new Error(x);
-        }
-    }
-
-    static void importProperties(Properties props, Element propertiesElement) {
-        NodeList entries = propertiesElement.getChildNodes();
-        int numEntries = entries.getLength();
-        int start = numEntries > 0 &&
-            entries.item(0).getNodeName().equals("comment") ? 1 : 0;
-        for (int i=start; i<numEntries; i++) {
-            Element entry = (Element)entries.item(i);
-            if (entry.hasAttribute("key")) {
-                Node n = entry.getFirstChild();
-                String val = (n == null) ? "" : n.getNodeValue();
-                props.setProperty(entry.getAttribute("key"), val);
-            }
-        }
-    }
-
-    static void save(Properties props, OutputStream os, String comment,
-                     String encoding)
-        throws IOException
-    {
-        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-        DocumentBuilder db = null;
-        try {
-            db = dbf.newDocumentBuilder();
-        } catch (ParserConfigurationException pce) {
-            assert(false);
-        }
-        Document doc = db.newDocument();
-        Element properties =  (Element)
-            doc.appendChild(doc.createElement("properties"));
-
-        if (comment != null) {
-            Element comments = (Element)properties.appendChild(
-                doc.createElement("comment"));
-            comments.appendChild(doc.createTextNode(comment));
-        }
-
-        synchronized (props) {
-            for (String key : props.stringPropertyNames()) {
-                Element entry = (Element)properties.appendChild(
-                    doc.createElement("entry"));
-                entry.setAttribute("key", key);
-                entry.appendChild(doc.createTextNode(props.getProperty(key)));
-            }
-        }
-        emitDocument(doc, os, encoding);
-    }
-
-    static void emitDocument(Document doc, OutputStream os, String encoding)
-        throws IOException
-    {
-        TransformerFactory tf = TransformerFactory.newInstance();
-        Transformer t = null;
-        try {
-            t = tf.newTransformer();
-            t.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, PROPS_DTD_URI);
-            t.setOutputProperty(OutputKeys.INDENT, "yes");
-            t.setOutputProperty(OutputKeys.METHOD, "xml");
-            t.setOutputProperty(OutputKeys.ENCODING, encoding);
-        } catch (TransformerConfigurationException tce) {
-            assert(false);
-        }
-        DOMSource doms = new DOMSource(doc);
-        StreamResult sr = new StreamResult(os);
-        try {
-            t.transform(doms, sr);
-        } catch (TransformerException te) {
-            IOException ioe = new IOException();
-            ioe.initCause(te);
-            throw ioe;
-        }
-    }
-
-    private static class Resolver implements EntityResolver {
-        public InputSource resolveEntity(String pid, String sid)
-            throws SAXException
-        {
-            if (sid.equals(PROPS_DTD_URI)) {
-                InputSource is;
-                is = new InputSource(new StringReader(PROPS_DTD));
-                is.setSystemId(PROPS_DTD_URI);
-                return is;
-            }
-            throw new SAXException("Invalid system identifier: " + sid);
-        }
-    }
-
-    private static class EH implements ErrorHandler {
-        public void error(SAXParseException x) throws SAXException {
-            throw x;
-        }
-        public void fatalError(SAXParseException x) throws SAXException {
-            throw x;
-        }
-        public void warning(SAXParseException x) throws SAXException {
-            throw x;
-        }
-    }
-
-}
--- a/src/share/classes/javax/swing/SwingUtilities.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/SwingUtilities.java	Thu Sep 15 14:10:30 2011 +0100
@@ -1274,8 +1274,7 @@
      * <p>
      * Additional documentation and examples for this method can be
      * found in
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How to Use Threads</a>,
-     * in <em>The Java Tutorial</em>.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency in Swing</a>.
      * <p>
      * As of 1.3 this method is just a cover for <code>java.awt.EventQueue.invokeLater()</code>.
      * <p>
@@ -1326,8 +1325,7 @@
      * <p>
      * Additional documentation and examples for this method can be
      * found in
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How to Use Threads</a>,
-     * in <em>The Java Tutorial</em>.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency in Swing</a>.
      * <p>
      * As of 1.3 this method is just a cover for
      * <code>java.awt.EventQueue.invokeAndWait()</code>.
--- a/src/share/classes/javax/swing/SwingWorker.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/SwingWorker.java	Thu Sep 15 14:10:30 2011 +0100
@@ -50,8 +50,8 @@
  * When writing a multi-threaded application using Swing, there are
  * two constraints to keep in mind:
  * (refer to
- * <a href="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">
- *   How to Use Threads
+ * <a href="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">
+ *   Concurrency in Swing
  * </a> for more details):
  * <ul>
  *   <li> Time-consuming tasks should not be run on the <i>Event
--- a/src/share/classes/javax/swing/package.html	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/package.html	Thu Sep 15 14:10:30 2011 +0100
@@ -119,9 +119,9 @@
 processing when working with Swing.
 <p>
 More information on this topic can be found in the
-<a href="http://java.sun.com/docs/books/tutorial/uiswing/">Swing tutorial</a>,
+<a href="http://download.oracle.com/javase/tutorial/uiswing/">Swing tutorial</a>,
 in particular the section on
-<a href="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How to Use Threads</a>.
+<a href="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency in Swing</a>.
 
 
 <H2>
--- a/src/share/classes/javax/swing/text/AbstractDocument.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/AbstractDocument.java	Thu Sep 15 14:10:30 2011 +0100
@@ -409,8 +409,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param r the renderer to execute
      */
@@ -570,8 +570,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offs the starting offset >= 0
      * @param len the number of characters to remove >= 0
@@ -683,8 +683,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offs the starting offset >= 0
      * @param str the string to insert; does nothing with null/empty strings
@@ -818,8 +818,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offs the position in the model >= 0
      * @return the position
--- a/src/share/classes/javax/swing/text/DefaultCaret.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/DefaultCaret.java	Thu Sep 15 14:10:30 2011 +0100
@@ -237,8 +237,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      */
     protected final synchronized void repaint() {
         if (component != null) {
--- a/src/share/classes/javax/swing/text/DefaultStyledDocument.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/DefaultStyledDocument.java	Thu Sep 15 14:10:30 2011 +0100
@@ -173,8 +173,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offset the starting offset >= 0
      * @param data the element data
@@ -426,8 +426,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param pos the offset from the start of the document >= 0
      * @param s  the logical style to assign to the paragraph, null if none
@@ -483,8 +483,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offset the offset in the document >= 0
      * @param length the length >= 0
@@ -536,8 +536,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offset the offset into the paragraph >= 0
      * @param length the number of characters affected >= 0
--- a/src/share/classes/javax/swing/text/JTextComponent.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/JTextComponent.java	Thu Sep 15 14:10:30 2011 +0100
@@ -2213,8 +2213,8 @@
      * <p>
      * This method is thread-safe, although most Swing methods are not. Please
      * see <A
-     * HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">
-     * How to Use Threads</A> for more information.
+     * HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">
+     * Concurrency in Swing</A> for more information.
      *
      * <p>
      * <b>Sample Usage</b>. This code snippet shows a cross-platform print
@@ -2471,8 +2471,8 @@
      * <p>
      * This method is thread-safe, although most Swing methods are not. Please
      * see <A
-     * HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">
-     * How to Use Threads</A> for more information.
+     * HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">
+     * Concurrency in Swing</A> for more information.
      *
      * <p>
      * The returned {@code Printable} can be printed on any thread.
--- a/src/share/classes/javax/swing/text/PlainDocument.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/PlainDocument.java	Thu Sep 15 14:10:30 2011 +0100
@@ -100,8 +100,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offs the starting offset >= 0
      * @param str the string to insert; does nothing with null/empty strings
--- a/src/share/classes/javax/swing/text/StyleContext.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/StyleContext.java	Thu Sep 15 14:10:30 2011 +0100
@@ -292,8 +292,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param old the old attribute set
      * @param name the non-null attribute name
@@ -321,8 +321,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param old the old attribute set
      * @param attr the attributes to add
@@ -349,8 +349,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param old the old set of attributes
      * @param name the non-null attribute name
@@ -377,8 +377,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param old the old attribute set
      * @param names the attribute names
@@ -405,8 +405,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param old the old attribute set
      * @param attrs the attributes
@@ -445,8 +445,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param a the set to reclaim
      */
--- a/src/share/classes/javax/swing/text/html/CSS.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/html/CSS.java	Thu Sep 15 14:10:30 2011 +0100
@@ -806,15 +806,11 @@
             // translate border width into the cells, if it has non-zero value.
             AttributeSet tableAttr = elem.getParentElement().
                                      getParentElement().getAttributes();
-            int borderWidth;
-            try {
-                borderWidth = Integer.parseInt(
-                    (String) tableAttr.getAttribute(HTML.Attribute.BORDER));
-            } catch (NumberFormatException e) {
-                borderWidth = 0;
-            }
+
+            int borderWidth = getTableBorder(tableAttr);
             if (borderWidth > 0) {
-                translateAttribute(HTML.Attribute.BORDER, tableAttr, cssAttrSet);
+                // If table contains the BORDER attribute cells should have border width equals 1
+                translateAttribute(HTML.Attribute.BORDER, "1", cssAttrSet);
             }
             String pad = (String)tableAttr.getAttribute(HTML.Attribute.CELLPADDING);
             if (pad != null) {
@@ -850,6 +846,21 @@
         return cssAttrSet;
     }
 
+    private static int getTableBorder(AttributeSet tableAttr) {
+        String borderValue = (String) tableAttr.getAttribute(HTML.Attribute.BORDER);
+
+        if (borderValue == HTML.NULL_ATTRIBUTE_VALUE || "".equals(borderValue)) {
+            // Some browsers accept <TABLE BORDER> and <TABLE BORDER=""> with the same semantics as BORDER=1
+            return 1;
+        }
+
+        try {
+            return Integer.parseInt(borderValue);
+        } catch (NumberFormatException e) {
+            return 0;
+        }
+    }
+
     private static final Hashtable<String, Attribute> attributeMap = new Hashtable<String, Attribute>();
     private static final Hashtable<String, Value> valueMap = new Hashtable<String, Value>();
 
@@ -1400,17 +1411,20 @@
                         }
                     }
                 } else {
-
-                    /*
-                     * The html size attribute has a mapping in the CSS world only
-                     * if it is par of a font or base font tag.
-                     */
-
                     if (key == HTML.Attribute.SIZE && !isHTMLFontTag(tag)) {
-                        continue;
+                        /*
+                         * The html size attribute has a mapping in the CSS world only
+                         * if it is par of a font or base font tag.
+                         */
+                    } else if (tag == HTML.Tag.TABLE && key == HTML.Attribute.BORDER) {
+                        int borderWidth = getTableBorder(htmlAttrSet);
+
+                        if (borderWidth > 0) {
+                            translateAttribute(HTML.Attribute.BORDER, Integer.toString(borderWidth), cssAttrSet);
+                        }
+                    } else {
+                        translateAttribute(key, (String) htmlAttrSet.getAttribute(key), cssAttrSet);
                     }
-
-                    translateAttribute(key, htmlAttrSet, cssAttrSet);
                 }
             } else if (name instanceof CSS.Attribute) {
                 cssAttrSet.addAttribute(name, htmlAttrSet.getAttribute(name));
@@ -1419,7 +1433,7 @@
     }
 
     private void translateAttribute(HTML.Attribute key,
-                                           AttributeSet htmlAttrSet,
+                                           String htmlAttrValue,
                                            MutableAttributeSet cssAttrSet) {
         /*
          * In the case of all remaining HTML.Attribute's they
@@ -1427,8 +1441,6 @@
          */
         CSS.Attribute[] cssAttrList = getCssAttribute(key);
 
-        String htmlAttrValue = (String)htmlAttrSet.getAttribute(key);
-
         if (cssAttrList == null || htmlAttrValue == null) {
             return;
         }
--- a/src/share/classes/javax/swing/text/html/HTMLDocument.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/html/HTMLDocument.java	Thu Sep 15 14:10:30 2011 +0100
@@ -474,8 +474,8 @@
      * <p>
      * This method is thread safe, although most Swing methods
      * are not. Please see
-     * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
-     * to Use Threads</A> for more information.
+     * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+     * in Swing</A> for more information.
      *
      * @param offset the offset into the paragraph (must be at least 0)
      * @param length the number of characters affected (must be at least 0)
--- a/src/share/classes/javax/swing/text/html/TableView.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/javax/swing/text/html/TableView.java	Thu Sep 15 14:10:30 2011 +0100
@@ -242,7 +242,8 @@
             if (lv != null) {
                 cellSpacing = (int) lv.getValue();
             } else {
-                cellSpacing = 0;
+                // Default cell spacing equals 2
+                cellSpacing = 2;
             }
             lv = (CSS.LengthValue)
                     attr.getAttribute(CSS.Attribute.BORDER_TOP_WIDTH);
@@ -251,8 +252,7 @@
             } else {
                     borderWidth = 0;
             }
-
-                }
+        }
     }
 
     /**
--- a/src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java	Thu Sep 15 14:10:30 2011 +0100
@@ -25,9 +25,11 @@
 
 package sun.reflect.generics.reflectiveObjects;
 
+import java.lang.annotation.Annotation;
 import java.lang.reflect.GenericDeclaration;
 import java.lang.reflect.Type;
 import java.lang.reflect.TypeVariable;
+import java.util.Objects;
 
 import sun.reflect.generics.factory.GenericsFactory;
 import sun.reflect.generics.tree.FieldTypeSignature;
@@ -178,4 +180,27 @@
     public int hashCode() {
         return genericDeclaration.hashCode() ^ name.hashCode();
     }
+
+    // Currently vacuous implementations of AnnotatedElement methods.
+    public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass) {
+        Objects.requireNonNull(annotationClass);
+        return false;
+    }
+
+    public <T extends Annotation> T getAnnotation(Class<T> annotationClass) {
+        Objects.requireNonNull(annotationClass);
+        return null;
+    }
+
+    public Annotation[] getAnnotations() {
+        // Since zero-length, don't need defensive clone
+        return EMPTY_ANNOTATION_ARRAY;
+    }
+
+    public Annotation[] getDeclaredAnnotations() {
+        // Since zero-length, don't need defensive clone
+        return EMPTY_ANNOTATION_ARRAY;
+    }
+
+    private static final Annotation[] EMPTY_ANNOTATION_ARRAY = new Annotation[0];
 }
--- a/src/share/classes/sun/security/krb5/EncryptionKey.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/security/krb5/EncryptionKey.java	Thu Sep 15 14:10:30 2011 +0100
@@ -151,11 +151,36 @@
     }
 
     /**
+     * Obtains a key for a given etype of a principal with possible new salt
+     * and s2kparams
+     * @param cname NOT null
+     * @param password NOT null
+     * @param etype
+     * @param snp can be NULL
+     * @returns never null
+     */
+    public static EncryptionKey acquireSecretKey(PrincipalName cname,
+            char[] password, int etype, PAData.SaltAndParams snp)
+            throws KrbException {
+        String salt;
+        byte[] s2kparams;
+        if (snp != null) {
+            salt = snp.salt != null ? snp.salt : cname.getSalt();
+            s2kparams = snp.params;
+        } else {
+            salt = cname.getSalt();
+            s2kparams = null;
+        }
+        return acquireSecretKey(password, salt, etype, s2kparams);
+    }
+
+    /**
      * Obtains a key for a given etype with salt and optional s2kparams
      * @param password NOT null
      * @param salt NOT null
      * @param etype
      * @param s2kparams can be NULL
+     * @returns never null
      */
     public static EncryptionKey acquireSecretKey(char[] password,
             String salt, int etype, byte[] s2kparams)
--- a/src/share/classes/sun/security/krb5/KrbAsRep.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/security/krb5/KrbAsRep.java	Thu Sep 15 14:10:30 2011 +0100
@@ -131,13 +131,11 @@
             KrbAsReq asReq, PrincipalName cname)
             throws KrbException, Asn1Exception, IOException {
         int encPartKeyType = rep.encPart.getEType();
-        PAData.SaltAndParams snp =
-                PAData.getSaltAndParams(encPartKeyType, rep.pAData);
-        EncryptionKey dkey = null;
-        dkey = EncryptionKey.acquireSecretKey(password,
-                snp.salt == null ? cname.getSalt() : snp.salt,
+        EncryptionKey dkey = EncryptionKey.acquireSecretKey(
+                cname,
+                password,
                 encPartKeyType,
-                snp.params);
+                PAData.getSaltAndParams(encPartKeyType, rep.pAData));
         decrypt(dkey, asReq);
     }
 
--- a/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java	Thu Sep 15 14:10:30 2011 +0100
@@ -169,34 +169,44 @@
              * from a keytab on acceptor, but unfortunately (?) Java supports
              * acceptor using password. In this case, if the service ticket is
              * encrypted using an etype which we don't have PA-DATA new salt,
-             * using the default salt is normally wrong (say, case-insensitive
+             * using the default salt might be wrong (say, case-insensitive
              * user name). Instead, we would use the new salt of another etype.
              */
 
             String salt = null;     // the saved new salt
-            for (int i=0; i<eTypes.length; i++) {
-                PAData.SaltAndParams snp =
-                        PAData.getSaltAndParams(eTypes[i], paList);
-                // First round, only calculate those with new salt
-                if (snp.salt != null) {
-                    salt = snp.salt;
-                    result[i] = EncryptionKey.acquireSecretKey(password,
-                            snp.salt,
-                            eTypes[i],
-                            snp.params);
-                }
-            }
-            if (salt == null) salt = cname.getSalt();
-            for (int i=0; i<eTypes.length; i++) {
-                // Second round, calculate those with no new salt
-                if (result[i] == null) {
+            try {
+                for (int i=0; i<eTypes.length; i++) {
+                    // First round, only calculate those have a PA entry
                     PAData.SaltAndParams snp =
                             PAData.getSaltAndParams(eTypes[i], paList);
-                    result[i] = EncryptionKey.acquireSecretKey(password,
-                            salt,
-                            eTypes[i],
-                            snp.params);
+                    if (snp != null) {
+                        // Never uses a salt for rc4-hmac, it does not use
+                        // a salt at all
+                        if (eTypes[i] != EncryptedData.ETYPE_ARCFOUR_HMAC &&
+                                snp.salt != null) {
+                            salt = snp.salt;
+                        }
+                        result[i] = EncryptionKey.acquireSecretKey(cname,
+                                password,
+                                eTypes[i],
+                                snp);
+                    }
                 }
+                // No new salt from PA, maybe empty, maybe only rc4-hmac
+                if (salt == null) salt = cname.getSalt();
+                for (int i=0; i<eTypes.length; i++) {
+                    // Second round, calculate those with no PA entry
+                    if (result[i] == null) {
+                        result[i] = EncryptionKey.acquireSecretKey(password,
+                                salt,
+                                eTypes[i],
+                                null);
+                    }
+                }
+            } catch (IOException ioe) {
+                KrbException ke = new KrbException(Krb5.ASN1_PARSE_ERROR);
+                ke.initCause(ioe);
+                throw ke;
             }
             return result;
         } else {
@@ -315,27 +325,19 @@
                     }
                     preAuthFailedOnce = true;
                     KRBError kerr = ke.getError();
+                    int paEType = PAData.getPreferredEType(kerr.getPA(),
+                            EType.getDefaults("default_tkt_enctypes")[0]);
                     if (password == null) {
                         EncryptionKey[] ks = Krb5Util.keysFromJavaxKeyTab(ktab, cname);
-                        pakey = EncryptionKey.findKey(kerr.getEType(), ks);
+                        pakey = EncryptionKey.findKey(paEType, ks);
                         if (pakey != null) pakey = (EncryptionKey)pakey.clone();
                         for (EncryptionKey k: ks) k.destroy();
                     } else {
-                        PAData.SaltAndParams snp = PAData.getSaltAndParams(
-                                kerr.getEType(), kerr.getPA());
-                        if (kerr.getEType() == 0) {
-                            // Possible if PA-PW-SALT is in KRB-ERROR. RFC
-                            // does not recommend this
-                            pakey = EncryptionKey.acquireSecretKey(password,
-                                    snp.salt == null ? cname.getSalt() : snp.salt,
-                                    EType.getDefaults("default_tkt_enctypes")[0],
-                                    null);
-                        } else {
-                            pakey = EncryptionKey.acquireSecretKey(password,
-                                    snp.salt == null ? cname.getSalt() : snp.salt,
-                                    kerr.getEType(),
-                                    snp.params);
-                        }
+                        pakey = EncryptionKey.acquireSecretKey(cname,
+                                password,
+                                paEType,
+                                PAData.getSaltAndParams(
+                                    paEType, kerr.getPA()));
                     }
                     paList = kerr.getPA();  // Update current paList
                 } else {
--- a/src/share/classes/sun/security/krb5/internal/KRBError.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/security/krb5/internal/KRBError.java	Thu Sep 15 14:10:30 2011 +0100
@@ -99,7 +99,6 @@
     private Checksum eCksum; //optional
 
     private PAData[] pa;    // PA-DATA in eData
-    private int pa_eType;   // The 1st etype appeared in salt-related PAData
 
     private static boolean DEBUG = Krb5.DEBUG;
 
@@ -266,50 +265,8 @@
             DerValue tmp = derPA.data.getDerValue();
             PAData pa_data = new PAData(tmp);
             paList.add(pa_data);
-            int pa_type = pa_data.getType();
-            byte[] pa_value = pa_data.getValue();
             if (DEBUG) {
-                System.out.println(">>>Pre-Authentication Data:");
-                System.out.println("\t PA-DATA type = " + pa_type);
-            }
-
-            switch(pa_type) {
-                case Krb5.PA_ENC_TIMESTAMP:
-                    if (DEBUG) {
-                        System.out.println("\t PA-ENC-TIMESTAMP");
-                    }
-                    break;
-                case Krb5.PA_ETYPE_INFO:
-                    if (pa_value != null) {
-                        DerValue der = new DerValue(pa_value);
-                        while (der.data.available() > 0) {
-                            DerValue value = der.data.getDerValue();
-                            ETypeInfo info = new ETypeInfo(value);
-                            if (pa_eType == 0) pa_eType = info.getEType();
-                            if (DEBUG) {
-                                System.out.println("\t PA-ETYPE-INFO etype = " + info.getEType());
-                                System.out.println("\t PA-ETYPE-INFO salt = " + info.getSalt());
-                            }
-                        }
-                    }
-                    break;
-                case Krb5.PA_ETYPE_INFO2:
-                    if (pa_value != null) {
-                        DerValue der = new DerValue(pa_value);
-                        while (der.data.available() > 0) {
-                            DerValue value = der.data.getDerValue();
-                            ETypeInfo2 info2 = new ETypeInfo2(value);
-                            if (pa_eType == 0) pa_eType = info2.getEType();
-                            if (DEBUG) {
-                                System.out.println("\t PA-ETYPE-INFO2 etype = " + info2.getEType());
-                                System.out.println("\t PA-ETYPE-INFO2 salt = " + info2.getSalt());
-                            }
-                        }
-                    }
-                    break;
-                default:
-                    // Unknown Pre-auth type
-                    break;
+                System.out.println(pa_data);
             }
         }
         pa = paList.toArray(new PAData[paList.size()]);
@@ -340,10 +297,6 @@
         return pa;
     }
 
-    public final int getEType() {
-        return pa_eType;
-    }
-
     public final String getErrorString() {
         return eText;
     }
--- a/src/share/classes/sun/security/krb5/internal/PAData.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/security/krb5/internal/PAData.java	Thu Sep 15 14:10:30 2011 +0100
@@ -139,9 +139,56 @@
     }
 
     /**
+     * Gets the preferred etype from the PAData array.
+     * 1. ETYPE-INFO2-ENTRY with unknown s2kparams ignored
+     * 2. ETYPE-INFO2 preferred to ETYPE-INFO
+     * 3. multiple entries for same etype in one PA-DATA, use the first one.
+     * 4. Multiple PA-DATA with same type, choose the last one
+     * (This is useful when PA-DATAs from KRB-ERROR and AS-REP are combined).
+     * @return the etype, or defaultEType if not enough info
+     * @throws Asn1Exception|IOException if there is an encoding error
+     */
+    public static int getPreferredEType(PAData[] pas, int defaultEType)
+            throws IOException, Asn1Exception {
+
+        if (pas == null) return defaultEType;
+
+        DerValue d = null, d2 = null;
+        for (PAData p: pas) {
+            if (p.getValue() == null) continue;
+            switch (p.getType()) {
+                case Krb5.PA_ETYPE_INFO:
+                    d = new DerValue(p.getValue());
+                    break;
+                case Krb5.PA_ETYPE_INFO2:
+                    d2 = new DerValue(p.getValue());
+                    break;
+            }
+        }
+        if (d2 != null) {
+            while (d2.data.available() > 0) {
+                DerValue value = d2.data.getDerValue();
+                ETypeInfo2 tmp = new ETypeInfo2(value);
+                if (tmp.getParams() == null) {
+                    // we don't support non-null s2kparams
+                    return tmp.getEType();
+                }
+            }
+        }
+        if (d != null) {
+            while (d.data.available() > 0) {
+                DerValue value = d.data.getDerValue();
+                ETypeInfo tmp = new ETypeInfo(value);
+                return tmp.getEType();
+            }
+        }
+        return defaultEType;
+    }
+
+    /**
      * A place to store a pair of salt and s2kparams.
-     * An empty salt is changed to null, to be interopable
-     * with Windows 2000 server.
+     * An empty salt is changed to null, to be interoperable
+     * with Windows 2000 server. This is in fact not correct.
      */
     public static class SaltAndParams {
         public final String salt;
@@ -155,57 +202,120 @@
 
     /**
      * Fetches salt and s2kparams value for eType in a series of PA-DATAs.
-     * The preference order is PA-ETYPE-INFO2 > PA-ETYPE-INFO > PA-PW-SALT.
-     * If multiple PA-DATA for the same etype appears, use the last one.
+     * 1. ETYPE-INFO2-ENTRY with unknown s2kparams ignored
+     * 2. PA-ETYPE-INFO2 preferred to PA-ETYPE-INFO preferred to PA-PW-SALT.
+     * 3. multiple entries for same etype in one PA-DATA, use the first one.
+     * 4. Multiple PA-DATA with same type, choose the last one
      * (This is useful when PA-DATAs from KRB-ERROR and AS-REP are combined).
-     * @return salt and s2kparams. never null, its field might be null.
+     * @return salt and s2kparams. can be null if not found
      */
     public static SaltAndParams getSaltAndParams(int eType, PAData[] pas)
-            throws Asn1Exception, KrbException {
+            throws Asn1Exception, IOException {
 
-        if (pas == null || pas.length == 0) {
-            return new SaltAndParams(null, null);
-        }
+        if (pas == null) return null;
 
+        DerValue d = null, d2 = null;
         String paPwSalt = null;
-        ETypeInfo2 info2 = null;
-        ETypeInfo info = null;
 
         for (PAData p: pas) {
-            if (p.getValue() != null) {
-                try {
-                    switch (p.getType()) {
-                        case Krb5.PA_PW_SALT:
-                            paPwSalt = new String(p.getValue(),
-                                    KerberosString.MSNAME?"UTF8":"8859_1");
-                            break;
-                        case Krb5.PA_ETYPE_INFO:
-                            DerValue der = new DerValue(p.getValue());
-                            while (der.data.available() > 0) {
-                                DerValue value = der.data.getDerValue();
-                                ETypeInfo tmp = new ETypeInfo(value);
-                                if (tmp.getEType() == eType) info = tmp;
-                            }
-                            break;
-                        case Krb5.PA_ETYPE_INFO2:
-                            der = new DerValue(p.getValue());
-                            while (der.data.available() > 0) {
-                                DerValue value = der.data.getDerValue();
-                                ETypeInfo2 tmp = new ETypeInfo2(value);
-                                if (tmp.getEType() == eType) info2 = tmp;
-                            }
-                            break;
-                    }
-                } catch (IOException ioe) {
-                    // Ignored
+            if (p.getValue() == null) continue;
+            switch (p.getType()) {
+                case Krb5.PA_PW_SALT:
+                    paPwSalt = new String(p.getValue(),
+                            KerberosString.MSNAME?"UTF8":"8859_1");
+                    break;
+                case Krb5.PA_ETYPE_INFO:
+                    d = new DerValue(p.getValue());
+                    break;
+                case Krb5.PA_ETYPE_INFO2:
+                    d2 = new DerValue(p.getValue());
+                    break;
+            }
+        }
+        if (d2 != null) {
+            while (d2.data.available() > 0) {
+                DerValue value = d2.data.getDerValue();
+                ETypeInfo2 tmp = new ETypeInfo2(value);
+                if (tmp.getParams() == null && tmp.getEType() == eType) {
+                    // we don't support non-null s2kparams
+                    return new SaltAndParams(tmp.getSalt(), tmp.getParams());
                 }
             }
         }
-        if (info2 != null) {
-            return new SaltAndParams(info2.getSalt(), info2.getParams());
-        } else if (info != null) {
-            return new SaltAndParams(info.getSalt(), null);
+        if (d != null) {
+            while (d.data.available() > 0) {
+                DerValue value = d.data.getDerValue();
+                ETypeInfo tmp = new ETypeInfo(value);
+                if (tmp.getEType() == eType) {
+                    return new SaltAndParams(tmp.getSalt(), null);
+                }
+            }
         }
-        return new SaltAndParams(paPwSalt, null);
+        if (paPwSalt != null) {
+            return new SaltAndParams(paPwSalt, null);
+        }
+        return null;
+    }
+
+    @Override
+    public String toString(){
+        StringBuilder sb = new StringBuilder();
+        sb.append(">>>Pre-Authentication Data:\n\t PA-DATA type = ")
+                .append(pADataType).append('\n');
+
+        switch(pADataType) {
+            case Krb5.PA_ENC_TIMESTAMP:
+                sb.append("\t PA-ENC-TIMESTAMP");
+                break;
+            case Krb5.PA_ETYPE_INFO:
+                if (pADataValue != null) {
+                    try {
+                        DerValue der = new DerValue(pADataValue);
+                        while (der.data.available() > 0) {
+                            DerValue value = der.data.getDerValue();
+                            ETypeInfo info = new ETypeInfo(value);
+                            sb.append("\t PA-ETYPE-INFO etype = ")
+                                    .append(info.getEType())
+                                    .append(", salt = ")
+                                    .append(info.getSalt())
+                                    .append('\n');
+                        }
+                    } catch (IOException|Asn1Exception e) {
+                        sb.append("\t <Unparseable PA-ETYPE-INFO>\n");
+                    }
+                }
+                break;
+            case Krb5.PA_ETYPE_INFO2:
+                if (pADataValue != null) {
+                    try {
+                        DerValue der = new DerValue(pADataValue);
+                        while (der.data.available() > 0) {
+                            DerValue value = der.data.getDerValue();
+                            ETypeInfo2 info2 = new ETypeInfo2(value);
+                            sb.append("\t PA-ETYPE-INFO2 etype = ")
+                                    .append(info2.getEType())
+                                    .append(", salt = ")
+                                    .append(info2.getSalt())
+                                    .append(", s2kparams = ");
+                            byte[] s2kparams = info2.getParams();
+                            if (s2kparams == null) {
+                                sb.append("null\n");
+                            } else if (s2kparams.length == 0) {
+                                sb.append("empty\n");
+                            } else {
+                                sb.append(new sun.misc.HexDumpEncoder()
+                                        .encodeBuffer(s2kparams));
+                            }
+                        }
+                    } catch (IOException|Asn1Exception e) {
+                        sb.append("\t <Unparseable PA-ETYPE-INFO>\n");
+                    }
+                }
+                break;
+            default:
+                // Unknown Pre-auth type
+                break;
+        }
+        return sb.toString();
     }
 }
--- a/src/share/classes/sun/security/tools/KeyTool.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/security/tools/KeyTool.java	Thu Sep 15 14:10:30 2011 +0100
@@ -1141,17 +1141,14 @@
             if (token) {
                 keyStore.store(null, null);
             } else {
-                FileOutputStream fout = null;
-                try {
-                    fout = (nullStream ?
-                                        (FileOutputStream)null :
-                                        new FileOutputStream(ksfname));
-                    keyStore.store
-                        (fout,
-                        (storePassNew!=null) ? storePassNew : storePass);
-                } finally {
-                    if (fout != null) {
-                        fout.close();
+                char[] pass = (storePassNew!=null) ? storePassNew : storePass;
+                if (nullStream) {
+                    keyStore.store(null, pass);
+                } else {
+                    ByteArrayOutputStream bout = new ByteArrayOutputStream();
+                    keyStore.store(bout, pass);
+                    try (FileOutputStream fout = new FileOutputStream(ksfname)) {
+                        fout.write(bout.toByteArray());
                     }
                 }
             }
@@ -1399,7 +1396,7 @@
     private char[] promptForKeyPass(String alias, String orig, char[] origPass) throws Exception{
         if (P12KEYSTORE.equalsIgnoreCase(storetype)) {
             return origPass;
-        } else if (!token) {
+        } else if (!token && !protectedPath) {
             // Prompt for key password
             int count;
             for (count = 0; count < 3; count++) {
@@ -1446,7 +1443,7 @@
                 }
             }
         }
-        return null;    // PKCS11
+        return null;    // PKCS11, MSCAPI, or -protected
     }
     /**
      * Creates a new secret key.
--- a/src/share/classes/sun/security/x509/AVA.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/security/x509/AVA.java	Thu Sep 15 14:10:30 2011 +0100
@@ -1071,8 +1071,17 @@
                  * to need quoting, or at least escaping.  So do leading or
                  * trailing spaces, and multiple internal spaces.
                  */
-                for (int i = 0; i < valStr.length(); i++) {
+                int length = valStr.length();
+                boolean alreadyQuoted =
+                    (length > 1 && valStr.charAt(0) == '\"'
+                     && valStr.charAt(length - 1) == '\"');
+
+                for (int i = 0; i < length; i++) {
                     char c = valStr.charAt(i);
+                    if (alreadyQuoted && (i == 0 || i == length - 1)) {
+                        sbuffer.append(c);
+                        continue;
+                    }
                     if (DerValue.isPrintableStringChar(c) ||
                         escapees.indexOf(c) >= 0) {
 
@@ -1136,7 +1145,8 @@
                 }
 
                 // Emit the string ... quote it if needed
-                if (quoteNeeded) {
+                // if string is already quoted, don't re-quote
+                if (!alreadyQuoted && quoteNeeded) {
                     retval.append("\"" + sbuffer.toString() + "\"");
                 } else {
                     retval.append(sbuffer.toString());
--- a/src/share/classes/sun/swing/PrintingStatus.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/swing/PrintingStatus.java	Thu Sep 15 14:10:30 2011 +0100
@@ -43,8 +43,8 @@
  * <p/>
  * Methods of these class are thread safe, although most Swing methods
  * are not. Please see
- * <A HREF="http://java.sun.com/docs/books/tutorial/uiswing/misc/threads.html">How
- * to Use Threads</A> for more information.
+ * <A HREF="http://download.oracle.com/javase/tutorial/uiswing/concurrency/index.html">Concurrency
+ * in Swing</A> for more information.
  *
  * @author Alexander Potochkin
  * @since 1.6
--- a/src/share/classes/sun/tools/jar/JarImageSource.java	Thu Sep 15 13:50:30 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 1996, 1998, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-
-package sun.tools.jar;
-
-import sun.awt.image.URLImageSource;
-import sun.awt.image.ImageDecoder;
-import java.net.URL;
-import java.net.JarURLConnection;
-import java.util.jar.JarFile;
-import java.util.jar.JarEntry;
-import java.io.InputStream;
-import java.io.IOException;
-
-
-public class JarImageSource extends URLImageSource {
-    String mimeType;
-    String entryName = null;
-    URL url;
-
-    /**
-     * Create an image source from a Jar entry URL with the specified
-     * mime type.
-     */
-    public JarImageSource(URL u, String type) {
-        super(u);
-        url = u;
-        mimeType = type;
-    }
-
-    /**
-     * Create an image source from a Jar file/entry URL
-     * with the specified entry name and mime type.
-     */
-    public JarImageSource(URL u, String name, String type) {
-        this(u, type);
-        this.entryName = name;
-    }
-
-    protected ImageDecoder getDecoder() {
-        InputStream is = null;
-        try {
-            JarURLConnection c = (JarURLConnection)url.openConnection();
-            JarFile f = c.getJarFile();
-            JarEntry e = c.getJarEntry();
-
-            if (entryName != null && e == null) {
-                e = f.getJarEntry(entryName);
-            }
-            if (e == null || (e != null && entryName != null
-                              && (!(entryName.equals(e.getName()))))) {
-                return null;
-            }
-            is = f.getInputStream(e);
-        } catch (IOException e) {
-            return null;
-        }
-
-        ImageDecoder id = decoderForType(is, mimeType);
-        if (id == null) {
-            id = getDecoder(is);
-        }
-        return id;
-    }
-}
--- a/src/share/classes/sun/util/resources/CurrencyNames.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -106,6 +106,7 @@
 COP=COP
 CRC=CRC
 CSD=CSD
+CUC=CUC
 CUP=CUP
 CVE=CVE
 CYP=CYP
@@ -232,6 +233,7 @@
 THB=THB
 TJS=TJS
 TMM=TMM
+TMT=TMT
 TND=TND
 TOP=TOP
 TPE=TPE
@@ -267,14 +269,18 @@
 XPD=XPD
 XPF=XPF
 XPT=XPT
+XSU=XSU
 XTS=XTS
+XUA=XUA
 XXX=XXX
 YER=YER
 YUM=YUM
 ZAR=ZAR
 ZMK=ZMK
 ZWD=ZWD
+ZWL=ZWL
 ZWN=ZWN
+ZWR=ZWR
 adp=Andorran Peseta
 aed=United Arab Emirates Dirham
 afa=Afghan Afghani (1927-2002)
@@ -317,6 +323,7 @@
 cop=Colombian Peso
 crc=Costa Rican Col\u00f3n
 csd=Serbian Dinar (2002-2006)
+cuc=Cuban Convertible Peso
 cup=Cuban Peso
 cve=Cape Verdean Escudo
 cyp=Cypriot Pound
@@ -443,6 +450,7 @@
 thb=Thai Baht
 tjs=Tajikistani Somoni
 tmm=Turkmenistani Manat (1993-2009)
+tmt=Turkmenistani Manat
 tnd=Tunisian Dinar
 top=Tongan Pa\u02bbanga
 tpe=Timorese Escudo
@@ -485,3 +493,5 @@
 zar=South African Rand
 zmk=Zambian Kwacha
 zwd=Zimbabwean Dollar (1980-2008)
+zwl=Zimbabwean Dollar (2009)
+zwr=Zimbabwean Dollar (2008)
--- a/src/share/classes/sun/util/resources/CurrencyNames_de.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_de.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -105,6 +105,7 @@
 cop=Kolumbianischer Peso
 crc=Costa Rica Colon
 csd=Alter Serbischer Dinar
+cuc=Kubanischer Peso (konvertibel)
 cup=Kubanischer Peso
 cve=Kap Verde Escudo
 cyp=Zypern-Pfund
@@ -229,6 +230,7 @@
 thb=Baht
 tjs=Tadschikistan Somoni
 tmm=Turkmenistan-Manat
+tmt=Neuer Turkmenistan-Manat
 tnd=Tunesischer Dinar
 top=Pa\u02bbanga
 tpe=Timor-Escudo
@@ -270,3 +272,4 @@
 zar=S\u00fcdafrikanischer Rand
 zmk=Kwacha
 zwd=Simbabwe-Dollar
+zwl=Simbabwe-Dollar (2009)
--- a/src/share/classes/sun/util/resources/CurrencyNames_es.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_es.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -105,6 +105,7 @@
 cop=peso colombiano
 crc=col\u00f3n costarricense
 csd=antiguo dinar serbio
+cuc=peso cubano convertible
 cup=peso cubano
 cve=escudo de Cabo Verde
 cyp=libra chipriota
@@ -231,6 +232,7 @@
 thb=baht tailand\u00e9s
 tjs=somoni tayiko
 tmm=manat turcomano
+tmt=nuevo manat turcomano
 tnd=dinar tunecino
 top=pa\u02bbanga tongano
 tpe=escudo timorense
@@ -273,3 +275,4 @@
 zar=rand sudafricano
 zmk=kwacha zambiano
 zwd=d\u00f3lar de Zimbabue
+zwl=d\u00f3lar zimbabuense
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/util/resources/CurrencyNames_es_CU.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -0,0 +1,67 @@
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+#
+# COPYRIGHT AND PERMISSION NOTICE
+#
+# Copyright (C) 1991-2011 Unicode, Inc. All rights reserved.
+# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of the Unicode data files and any associated documentation (the
+# "Data Files") or Unicode software and any associated documentation
+# (the "Software") to deal in the Data Files or Software without
+# restriction, including without limitation the rights to use, copy,
+# modify, merge, publish, distribute, and/or sell copies of the Data
+# Files or Software, and to permit persons to whom the Data Files or
+# Software are furnished to do so, provided that (a) the above copyright
+# notice(s) and this permission notice appear with all copies of the
+# Data Files or Software, (b) both the above copyright notice(s) and
+# this permission notice appear in associated documentation, and (c)
+# there is clear notice in each modified Data File or in the Software as
+# well as in the documentation associated with the Data File(s) or
+# Software that the data or software has been modified.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+# ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR
+# ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+# SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in these Data Files or Software without prior
+# written authorization of the copyright holder.
+
+#
+# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
+#
+CUP=CU$
+CUC=CUC$
--- a/src/share/classes/sun/util/resources/CurrencyNames_et_EE.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_et_EE.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -1,5 +1,5 @@
-# 
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+#
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -21,18 +21,49 @@
 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 # or visit www.oracle.com if you need additional information or have any
 # questions.
-# 
+#
 
-# (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
-# (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved
 #
-# The original version of this source code and documentation
-# is copyrighted and owned by Taligent, Inc., a wholly-owned
-# subsidiary of IBM. These materials are provided under terms
-# of a License Agreement between Taligent and Sun. This technology
-# is protected by multiple US and International patents.
+# COPYRIGHT AND PERMISSION NOTICE
 #
-# This notice and attribution to Taligent may not be removed.
-# Taligent is a registered trademark of Taligent, Inc.
+# Copyright (C) 1991-2011 Unicode, Inc. All rights reserved.
+# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of the Unicode data files and any associated documentation (the
+# "Data Files") or Unicode software and any associated documentation
+# (the "Software") to deal in the Data Files or Software without
+# restriction, including without limitation the rights to use, copy,
+# modify, merge, publish, distribute, and/or sell copies of the Data
+# Files or Software, and to permit persons to whom the Data Files or
+# Software are furnished to do so, provided that (a) the above copyright
+# notice(s) and this permission notice appear with all copies of the
+# Data Files or Software, (b) both the above copyright notice(s) and
+# this permission notice appear in associated documentation, and (c)
+# there is clear notice in each modified Data File or in the Software as
+# well as in the documentation associated with the Data File(s) or
+# Software that the data or software has been modified.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+# ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR
+# ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+# SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in these Data Files or Software without prior
+# written authorization of the copyright holder.
 
+#
+# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
+#
 EEK=kr
+eek=Eesti kroon
+EUR=\u20ac
+eur=euro
--- a/src/share/classes/sun/util/resources/CurrencyNames_fr.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_fr.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -105,6 +105,7 @@
 cop=peso colombien
 crc=col\u00f3n costaricain
 csd=dinar serbo-mont\u00e9n\u00e9grin
+cuc=peso cubain convertible
 cup=peso cubain
 cve=escudo capverdien
 cyp=livre chypriote
@@ -231,6 +232,7 @@
 thb=baht tha\u00eflandais
 tjs=somoni tadjik
 tmm=manat turkm\u00e8ne
+tmt=nouveau manat turkm\u00e8ne
 tnd=dinar tunisien
 top=pa\u2019anga tongan
 tpe=escudo timorais
--- a/src/share/classes/sun/util/resources/CurrencyNames_ja.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_ja.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -105,6 +105,7 @@
 cop=\u30b3\u30ed\u30f3\u30d3\u30a2 \u30da\u30bd
 crc=\u30b3\u30b9\u30bf\u30ea\u30ab \u30b3\u30ed\u30f3
 csd=\u30bb\u30eb\u30d3\u30a2\u30f3 \u30c7\u30a3\u30ca\u30fc\u30eb
+cuc=\u30ad\u30e5\u30fc\u30d0 \u514c\u63db\u30da\u30bd
 cup=\u30ad\u30e5\u30fc\u30d0 \u30da\u30bd
 cve=\u30ab\u30fc\u30dc\u30d9\u30eb\u30c7 \u30a8\u30b9\u30af\u30fc\u30c9
 cyp=\u30ad\u30d7\u30ed\u30b9 \u30dd\u30f3\u30c9
@@ -231,6 +232,7 @@
 thb=\u30bf\u30a4 \u30d0\u30fc\u30c4
 tjs=\u30bf\u30b8\u30ad\u30b9\u30bf\u30f3 \u30bd\u30e2\u30cb
 tmm=\u30c8\u30eb\u30af\u30e1\u30cb\u30b9\u30bf\u30f3 \u30de\u30ca\u30c8
+tmt=\u30c8\u30eb\u30af\u30e1\u30cb\u30b9\u30bf\u30f3 \u65b0\u30de\u30ca\u30c8
 tnd=\u30c1\u30e5\u30cb\u30b8\u30a2 \u30c7\u30a3\u30ca\u30fc\u30eb
 top=\u30c8\u30f3\u30ac \u30d1\u30fb\u30a2\u30f3\u30ac
 tpe=\u30c6\u30a3\u30e2\u30fc\u30eb \u30a8\u30b9\u30af\u30fc\u30c9
@@ -273,3 +275,4 @@
 zar=\u5357\u30a2\u30d5\u30ea\u30ab \u30e9\u30f3\u30c9
 zmk=\u30b6\u30f3\u30d3\u30a2 \u30af\u30ef\u30c1\u30e3
 zwd=\u30b8\u30f3\u30d0\u30d6\u30a8 \u30c9\u30eb
+zwl=\u30b8\u30f3\u30d0\u30d6\u30a8 \u30c9\u30eb (2009)
--- a/src/share/classes/sun/util/resources/CurrencyNames_ko.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_ko.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -105,6 +105,7 @@
 cop=\ucf5c\ub86c\ube44\uc544 \ud398\uc18c
 crc=\ucf54\uc2a4\ud0c0\ub9ac\uce74 \ucf5c\ub860
 csd=\uace0 \uc138\ub974\ube44\uc544 \ub514\ub098\ub974
+cuc=\ucfe0\ubc14 \ud0dc\ud658 \ud398\uc18c
 cup=\ucfe0\ubc14 \ud398\uc18c
 cve=\uce74\ubcf4\ubca0\ub974\ub370 \uc5d0\uc2a4\ucfe0\ub3c4
 cyp=\uc2f8\uc774\ud504\ub7ec\uc2a4 \ud30c\uc6b4\ub4dc
--- a/src/share/classes/sun/util/resources/CurrencyNames_pt.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_pt.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -87,6 +87,7 @@
 bif=Franco do Burundi
 bmd=D\u00f3lar das Bermudas
 bnd=D\u00f3lar do Brunei
+bob=Boliviano
 bov=Mvdol boliviano
 brl=Real brasileiro
 bsd=D\u00f3lar das Bahamas
@@ -104,6 +105,7 @@
 cop=Peso colombiano
 crc=Colon da Costa Rica
 csd=Dinar s\u00e9rvio antigo
+cuc=Peso cubano convers\u00edvel
 cup=Peso cubano
 cve=Escudo cabo-verdiano
 cyp=Libra cipriota
@@ -229,6 +231,7 @@
 thb=Baht tailand\u00eas
 tjs=Somoni tadjique
 tmm=Manat do Turcomenist\u00e3o
+tmt=Novo Manat do Turcomenist\u00e3o
 tnd=Dinar tunisiano
 top=Pa\u02bbanga de Tonga
 tpe=Escudo timorense
@@ -271,3 +274,5 @@
 zar=Rand sul-africano
 zmk=Cuacha zambiano
 zwd=D\u00f3lar do Zimb\u00e1bue
+zwl=D\u00f3lar do Zimb\u00e1bue (2009)
+zwr=D\u00f3lar do Zimb\u00e1bue (2008)
--- a/src/share/classes/sun/util/resources/CurrencyNames_sk_SK.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_sk_SK.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -1,5 +1,5 @@
-# 
-# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+#
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -21,18 +21,48 @@
 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 # or visit www.oracle.com if you need additional information or have any
 # questions.
-# 
+#
 
-# (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved
-# (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved
 #
-# The original version of this source code and documentation
-# is copyrighted and owned by Taligent, Inc., a wholly-owned
-# subsidiary of IBM. These materials are provided under terms
-# of a License Agreement between Taligent and Sun. This technology
-# is protected by multiple US and International patents.
+# COPYRIGHT AND PERMISSION NOTICE
 #
-# This notice and attribution to Taligent may not be removed.
-# Taligent is a registered trademark of Taligent, Inc.
+# Copyright (C) 1991-2011 Unicode, Inc. All rights reserved.
+# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of the Unicode data files and any associated documentation (the
+# "Data Files") or Unicode software and any associated documentation
+# (the "Software") to deal in the Data Files or Software without
+# restriction, including without limitation the rights to use, copy,
+# modify, merge, publish, distribute, and/or sell copies of the Data
+# Files or Software, and to permit persons to whom the Data Files or
+# Software are furnished to do so, provided that (a) the above copyright
+# notice(s) and this permission notice appear with all copies of the
+# Data Files or Software, (b) both the above copyright notice(s) and
+# this permission notice appear in associated documentation, and (c)
+# there is clear notice in each modified Data File or in the Software as
+# well as in the documentation associated with the Data File(s) or
+# Software that the data or software has been modified.
+#
+# THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+# ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+# NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
+# HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR
+# ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+# SOFTWARE.
+#
+# Except as contained in this notice, the name of a copyright holder
+# shall not be used in advertising or otherwise to promote the sale, use
+# or other dealings in these Data Files or Software without prior
+# written authorization of the copyright holder.
 
+#
+# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
+#
 SKK=Sk
+skk=Slovensk\u00e1 koruna
+EUR=\u20ac
--- a/src/share/classes/sun/util/resources/CurrencyNames_zh_CN.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_zh_CN.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -106,6 +106,7 @@
 cop=\u54e5\u4f26\u6bd4\u4e9a\u6bd4\u7d22
 crc=\u54e5\u65af\u8fbe\u9ece\u52a0\u79d1\u6717
 csd=\u65e7\u585e\u5c14\u7ef4\u4e9a\u7b2c\u7eb3\u5c14
+cuc=\u53e4\u5df4\u53ef\u5151\u6362\u6bd4\u7d22
 cup=\u53e4\u5df4\u6bd4\u7d22
 cve=\u4f5b\u5f97\u89d2\u57c3\u65af\u5e93\u591a
 cyp=\u585e\u6d66\u8def\u65af\u9551
@@ -231,6 +232,7 @@
 thb=\u6cf0\u94e2
 tjs=\u5854\u5409\u514b\u65af\u5766\u7d22\u83ab\u5c3c
 tmm=\u571f\u5e93\u66fc\u65af\u5766\u9a6c\u7eb3\u7279
+tmt=\u571f\u5e93\u66fc\u65af\u5766\u65b0\u9a6c\u7eb3\u7279
 tnd=\u7a81\u5c3c\u65af\u7b2c\u7eb3\u5c14
 top=\u6c64\u52a0\u6f58\u52a0
 tpe=\u5e1d\u6c76\u57c3\u65af\u5e93\u591a
@@ -273,3 +275,4 @@
 zar=\u5357\u975e\u5170\u7279
 zmk=\u8d5e\u6bd4\u4e9a\u514b\u74e6\u67e5
 zwd=\u6d25\u5df4\u5e03\u97e6\u5143
+zwl=\u6d25\u5df4\u5e03\u97e6\u5143 (2009)
--- a/src/share/classes/sun/util/resources/CurrencyNames_zh_TW.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/CurrencyNames_zh_TW.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -107,6 +107,7 @@
 cop=\u54e5\u502b\u6bd4\u4e9e\u62ab\u7d22
 crc=\u54e5\u65af\u5927\u9ece\u52a0\u79d1\u90ce
 csd=\u65e7\u585e\u5c14\u7ef4\u4e9a\u7b2c\u7eb3\u5c14
+cuc=\u53e4\u5df4\u53ef\u8f49\u63db\u62ab\u7d22
 cup=\u53e4\u5df4\u62ab\u7d22
 cve=\u7dad\u5fb7\u89d2\u57c3\u65af\u5eab\u591a
 cyp=\u8cfd\u666e\u52d2\u65af\u938a
@@ -233,6 +234,7 @@
 thb=\u6cf0\u9296
 tjs=\u5854\u5409\u514b\u65af\u5766\u7d22\u83ab\u5c3c
 tmm=\u571f\u5eab\u66fc\u99ac\u7d0d\u7279
+tmt=\u571f\u5eab\u66fc\u65b0\u99ac\u7d0d\u7279
 tnd=\u7a81\u5c3c\u897f\u4e9e\u7b2c\u7d0d\u723e
 top=\u6771\u52a0\u6f58\u52a0
 tpe=\u5e1d\u6c76\u57c3\u65af\u5e93\u591a
@@ -274,3 +276,4 @@
 zar=\u5357\u975e\u862d\u7279
 zmk=\u5c1a\u6bd4\u4e9e\u514b\u74e6\u67e5
 zwd=\u8f9b\u5df4\u5a01\u5143
+zwl=\u8f9b\u5df4\u5a01\u5143 (2009)
--- a/src/share/classes/sun/util/resources/LocaleNames.properties	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/LocaleNames.properties	Thu Sep 15 14:10:30 2011 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -898,6 +898,7 @@
 BM=Bermuda
 BN=Brunei
 BO=Bolivia
+BQ=Bonaire, Sint Eustatius and Saba
 BR=Brazil
 BS=Bahamas
 BT=Bhutan
@@ -921,6 +922,7 @@
 CS=Serbia and Montenegro
 CU=Cuba
 CV=Cape Verde
+CW=Cura\u00e7ao
 CX=Christmas Island
 CY=Cyprus
 CZ=Czech Republic
@@ -1077,6 +1079,7 @@
 SR=Suriname
 ST=Sao Tome And Principe
 SV=El Salvador
+SX=Sint Maarten (Dutch part)
 SY=Syria
 SZ=Swaziland
 TC=Turks And Caicos Islands
--- a/src/share/classes/sun/util/resources/TimeZoneNames.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"Pacific Standard Time", "PST",
                                      "Pacific Daylight Time", "PDT"};
-        String RST[] = new String[] {"Eastern Standard Time", "EST",
-                                     "Central Daylight Time", "CDT"};
         String SAST[] = new String[] {"South Africa Standard Time", "SAST",
                                       "South Africa Summer Time", "SAST"};
         String SBT[] = new String[] {"Solomon Is. Time", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"Bolivia Time", "BOT",
                                              "Bolivia Summer Time", "BOST"}},
             {"America/Lima", new String[] {"Peru Time", "PET",
                                            "Peru Summer Time", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_de.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_de.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"Pazifische Normalzeit", "PST",
                                      "Pazifische Sommerzeit", "PDT"};
-        String RST[] = new String[] {"\u00d6stliche Normalzeit", "EST",
-                                     "Zentrale Sommerzeit", "CDT"};
         String SAST[] = new String[] {"S\u00fcdafrikanische Normalzeit", "SAST",
                                       "S\u00fcdafrikanische Sommerzeit", "SAST"};
         String SBT[] = new String[] {"Salomoninseln Zeit", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"Bolivianische Zeit", "BOT",
                                              "Bolivianische Sommerzeit", "BOST"}},
             {"America/Lima", new String[] {"Peruanische Zeit", "PET",
                                            "Peruanische Sommerzeit", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_es.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_es.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"Hora est\u00e1ndar del Pac\u00edfico", "PST",
                                      "Hora de verano del Pac\u00edfico", "PDT"};
-        String RST[] = new String[] {"Hora est\u00e1ndar Oriental", "EST",
-                                     "Hora de verano Central", "CDT"};
         String SAST[] = new String[] {"Hora est\u00e1ndar de Sud\u00e1frica", "SAST",
                                       "Hora de verano de Sud\u00e1frica", "SAST"};
         String SBT[] = new String[] {"Hora de las Islas Solomon", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"Hora de Bolivia", "BOT",
                                              "Hora de verano de Bolivia", "BOST"}},
             {"America/Lima", new String[] {"Hora de Per\u00fa", "PET",
                                            "Hora de verano de Per\u00fa", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_fr.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_fr.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"Heure normale du Pacifique", "PST",
                                      "Heure avanc\u00e9e du Pacifique", "PDT"} ;
-        String RST[] = new String[] {"Heure normale de l'Est", "EST",
-                                     "Heure avanc\u00e9e du Centre", "CDT"} ;
         String SAST[] = new String[] {"Heure normale d'Afrique du Sud", "SAST",
                                       "Heure d'\u00e9t\u00e9 d'Afrique du Sud", "SAST"} ;
         String SBT[] = new String[] {"Heure des \u00celes Salomon", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"Heure de Bolivie", "BOT",
                                              "Heure d'\u00e9t\u00e9 de Bolivie", "BOST"}},
             {"America/Lima", new String[] {"Heure du P\u00e9rou", "PET",
                                            "Heure d'\u00e9t\u00e9 du P\u00e9rou", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_it.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_it.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"Ora solare della costa occidentale USA", "PST",
                                      "Ora legale della costa occidentale USA", "PDT"};
-        String RST[] = new String[] {"Ora solare USA orientale", "EST",
-                                     "Ora legale USA centrale", "CDT"};
         String SAST[] = new String[] {"Ora solare del Sudafrica", "SAST",
                                       "Ora estiva del Sudafrica", "SAST"};
         String SBT[] = new String[] {"Ora delle Isole Salomone", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"Ora della Bolivia", "BOT",
                                              "Ora estiva della Bolivia", "BOST"}},
             {"America/Lima", new String[] {"Ora del Per\u00f9", "PET",
                                            "Ora estiva del Per\u00f9", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_ja.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_ja.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"\u592a\u5e73\u6d0b\u6a19\u6e96\u6642", "PST",
                                      "\u592a\u5e73\u6d0b\u590f\u6642\u9593", "PDT"};
-        String RST[] = new String[] {"\u6771\u90e8\u6a19\u6e96\u6642", "EST",
-                                     "\u4e2d\u90e8\u590f\u6642\u9593", "CDT"};
         String SAST[] = new String[] {"\u5357\u30a2\u30d5\u30ea\u30ab\u6a19\u6e96\u6642", "SAST",
                                       "\u5357\u30a2\u30d5\u30ea\u30ab\u590f\u6642\u9593", "SAST"};
         String SBT[] = new String[] {"\u30bd\u30ed\u30e2\u30f3\u8af8\u5cf6\u6642\u9593", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"\u30dc\u30ea\u30d3\u30a2\u6642\u9593", "BOT",
                                              "\u30dc\u30ea\u30d3\u30a2\u590f\u6642\u9593", "BOST"}},
             {"America/Lima", new String[] {"\u30da\u30eb\u30fc\u6642\u9593", "PET",
                                            "\u30da\u30eb\u30fc\u590f\u6642\u9593", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_ko.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_ko.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"\ud0dc\ud3c9\uc591 \ud45c\uc900\uc2dc", "PST",
                                      "\ud0dc\ud3c9\uc591 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "PDT"};
-        String RST[] = new String[] {"\ub3d9\ubd80 \ud45c\uc900\uc2dc", "EST",
-                                     "\uc911\ubd80 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "CDT"};
         String SAST[] = new String[] {"\ub0a8\uc544\ud504\ub9ac\uce74 \ud45c\uc900\uc2dc", "SAST",
                                       "\ub0a8\uc544\ud504\ub9ac\uce74 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "SAST"};
         String SBT[] = new String[] {"\uc194\ub85c\ubaac \uad70\ub3c4 \uc2dc\uac04", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"\ubcfc\ub9ac\ube44\uc544 \uc2dc\uac04", "BOT",
                                             "\ubcfc\ub9ac\ube44\uc544 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "BOST"}},
             {"America/Lima", new String[] {"\ud398\ub8e8 \uc2dc\uac04", "PET",
                                             "\ud398\ub8e8 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java	Thu Sep 15 14:10:30 2011 +0100
@@ -157,8 +157,6 @@
                                       "Fuso hor\u00e1rio de ver\u00e3o de Pohnpei", "PONST"};
         String PST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o do Pac\u00edfico", "PST",
                                      "Hor\u00e1rio de luz natural do Pac\u00edfico", "PDT"};
-        String RST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o oriental", "EST",
-                                     "Hor\u00e1rio de luz natural central", "CDT"};
         String SAST[] = new String[] {"Fuso hor\u00e1rio padr\u00e3o da \u00c1frica do Sul", "SAST",
                                       "Fuso hor\u00e1rio de ver\u00e3o da \u00c1frica do Sul", "SAST"};
         String SBT[] = new String[] {"Fuso hor\u00e1rio das Ilhas Salom\u00e3o", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"Fuso hor\u00e1rio da Bol\u00edvia", "BOT",
                                              "Fuso hor\u00e1rio de ver\u00e3o da Bol\u00edvia", "BOST"}},
             {"America/Lima", new String[] {"Fuso hor\u00e1rio do Peru", "PET",
                                            "Fuso hor\u00e1rio de ver\u00e3o do Peru", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_sv.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_sv.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"Stilla havet, normaltid", "PST",
                                      "Stilla havet, sommartid", "PDT"};
-        String RST[] = new String[] {"Eastern, normaltid", "EST",
-                                     "Central sommartid", "CDT"};
         String SAST[] = new String[] {"Sydafrika, normaltid", "SAST",
                                       "Sydafrika, sommartid", "SAST"};
         String SBT[] = new String[] {"Salomon\u00f6arna, normaltid", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"Bolivia, normaltid", "BOT",
                                              "Bolivia, sommartid", "BOST"}},
             {"America/Lima", new String[] {"Peru, normaltid", "PET",
                                            "Peru, sommartid", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"\u592a\u5e73\u6d0b\u6807\u51c6\u65f6\u95f4", "PST",
                                      "\u592a\u5e73\u6d0b\u590f\u4ee4\u65f6", "PDT"};
-        String RST[] = new String[] {"\u4e1c\u90e8\u6807\u51c6\u65f6\u95f4", "EST",
-                                     "\u4e2d\u592e\u590f\u4ee4\u65f6", "CDT"};
         String SAST[] = new String[] {"\u5357\u975e\u6807\u51c6\u65f6\u95f4", "SAST",
                                       "\u5357\u975e\u590f\u4ee4\u65f6", "SAST"};
         String SBT[] = new String[] {"\u6240\u7f57\u95e8\u7fa4\u5c9b\u65f6\u95f4", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"\u73bb\u5229\u7ef4\u4e9a\u65f6\u95f4", "BOT",
                                              "\u73bb\u5229\u7ef4\u4e9a\u590f\u4ee4\u65f6", "BOST"}},
             {"America/Lima", new String[] {"\u79d8\u9c81\u65f6\u95f4", "PET",
                                            "\u79d8\u9c81\u590f\u4ee4\u65f6", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -673,7 +674,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- a/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java	Thu Sep 15 14:10:30 2011 +0100
@@ -159,8 +159,6 @@
                                       "Pohnpei Summer Time", "PONST"};
         String PST[] = new String[] {"\u592a\u5e73\u6d0b\u6a19\u6e96\u6642\u9593", "PST",
                                      "\u592a\u5e73\u6d0b\u65e5\u5149\u7bc0\u7d04\u6642\u9593", "PDT"};
-        String RST[] = new String[] {"\u6771\u65b9\u6a19\u6e96\u6642\u9593", "EST",
-                                     "\u4e2d\u592e\u65e5\u5149\u7bc0\u7d04\u6642\u9593", "CDT"};
         String SAST[] = new String[] {"\u5357\u975e\u6a19\u6e96\u6642\u9593", "SAST",
                                       "\u5357\u975e\u590f\u4ee4\u6642\u9593", "SAST"};
         String SBT[] = new String[] {"\u6240\u7f85\u9580\u7fa4\u5cf6\u6642\u9593", "SBT",
@@ -262,6 +260,7 @@
             {"Africa/Gaborone", CAT},
             {"Africa/Harare", CAT},
             {"Africa/Johannesburg", SAST},
+            {"Africa/Juba", EAT},
             {"Africa/Kampala", EAT},
             {"Africa/Khartoum", EAT},
             {"Africa/Kigali", CAT},
@@ -378,11 +377,13 @@
             {"America/Kentucky/Louisville", EST},
             {"America/Kentucky/Monticello", EST},
             {"America/Knox_IN", CST},
+            {"America/Kralendijk", AST},
             {"America/La_Paz", new String[] {"\u73bb\u5229\u7dad\u4e9e\u6642\u9593", "BOT",
                                              "\u73bb\u5229\u7dad\u4e9e\u590f\u4ee4\u6642\u9593", "BOST"}},
             {"America/Lima", new String[] {"\u7955\u9b6f\u6642\u9593", "PET",
                                            "\u7955\u9b6f\u590f\u4ee4\u6642\u9593", "PEST"}},
             {"America/Louisville", EST},
+            {"America/Lower_Princes", AST},
             {"America/Maceio", BRT},
             {"America/Managua", CST},
             {"America/Manaus", AMT},
@@ -425,7 +426,7 @@
             {"America/Rankin_Inlet", CST},
             {"America/Recife", BRT},
             {"America/Regina", CST},
-            {"America/Resolute", RST},
+            {"America/Resolute", CST},
             {"America/Rio_Branco", AMT},
             {"America/Rosario", AGT},
             {"America/Santa_Isabel", PST},
@@ -674,7 +675,8 @@
             {"Europe/Isle_of_Man", GMTBST},
             {"Europe/Istanbul", EET},
             {"Europe/Jersey", GMTBST},
-            {"Europe/Kaliningrad", EET},
+            {"Europe/Kaliningrad", new String[] {"Kaliningrad Time", "KALT",
+                                                 "Kaliningrad Summer Time", "KALST"}},
             {"Europe/Kiev", EET},
             {"Europe/Lisbon", WET},
             {"Europe/Ljubljana", CET},
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/util/xml/XMLUtils.java	Thu Sep 15 14:10:30 2011 +0100
@@ -0,0 +1,207 @@
+/*
+ * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.util.xml;
+
+import java.io.*;
+import java.util.*;
+import org.xml.sax.*;
+import org.xml.sax.helpers.*;
+import org.w3c.dom.*;
+import javax.xml.parsers.*;
+import javax.xml.transform.*;
+import javax.xml.transform.dom.*;
+import javax.xml.transform.stream.*;
+
+/**
+ * A class used to aid in Properties load and save in XML. Keeping this
+ * code outside of Properties helps reduce the number of classes loaded
+ * when Properties is loaded.
+ *
+ * @author  Michael McCloskey
+ * @since   1.3
+ */
+public class XMLUtils {
+
+    // XML loading and saving methods for Properties
+
+    // The required DTD URI for exported properties
+    private static final String PROPS_DTD_URI =
+    "http://java.sun.com/dtd/properties.dtd";
+
+    private static final String PROPS_DTD =
+    "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
+    "<!-- DTD for properties -->"                +
+    "<!ELEMENT properties ( comment?, entry* ) >"+
+    "<!ATTLIST properties"                       +
+        " version CDATA #FIXED \"1.0\">"         +
+    "<!ELEMENT comment (#PCDATA) >"              +
+    "<!ELEMENT entry (#PCDATA) >"                +
+    "<!ATTLIST entry "                           +
+        " key CDATA #REQUIRED>";
+
+    /**
+     * Version number for the format of exported properties files.
+     */
+    private static final String EXTERNAL_XML_VERSION = "1.0";
+
+    public static void load(Properties props, InputStream in)
+        throws IOException, InvalidPropertiesFormatException
+    {
+        Document doc = null;
+        try {
+            doc = getLoadingDoc(in);
+        } catch (SAXException saxe) {
+            throw new InvalidPropertiesFormatException(saxe);
+        }
+        Element propertiesElement = (Element)doc.getChildNodes().item(1);
+        String xmlVersion = propertiesElement.getAttribute("version");
+        if (xmlVersion.compareTo(EXTERNAL_XML_VERSION) > 0)
+            throw new InvalidPropertiesFormatException(
+                "Exported Properties file format version " + xmlVersion +
+                " is not supported. This java installation can read" +
+                " versions " + EXTERNAL_XML_VERSION + " or older. You" +
+                " may need to install a newer version of JDK.");
+        importProperties(props, propertiesElement);
+    }
+
+    static Document getLoadingDoc(InputStream in)
+        throws SAXException, IOException
+    {
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+        dbf.setIgnoringElementContentWhitespace(true);
+        dbf.setValidating(true);
+        dbf.setCoalescing(true);
+        dbf.setIgnoringComments(true);
+        try {
+            DocumentBuilder db = dbf.newDocumentBuilder();
+            db.setEntityResolver(new Resolver());
+            db.setErrorHandler(new EH());
+            InputSource is = new InputSource(in);
+            return db.parse(is);
+        } catch (ParserConfigurationException x) {
+            throw new Error(x);
+        }
+    }
+
+    static void importProperties(Properties props, Element propertiesElement) {
+        NodeList entries = propertiesElement.getChildNodes();
+        int numEntries = entries.getLength();
+        int start = numEntries > 0 &&
+            entries.item(0).getNodeName().equals("comment") ? 1 : 0;
+        for (int i=start; i<numEntries; i++) {
+            Element entry = (Element)entries.item(i);
+            if (entry.hasAttribute("key")) {
+                Node n = entry.getFirstChild();
+                String val = (n == null) ? "" : n.getNodeValue();
+                props.setProperty(entry.getAttribute("key"), val);
+            }
+        }
+    }
+
+    public static void save(Properties props, OutputStream os, String comment,
+                     String encoding)
+        throws IOException
+    {
+        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+        DocumentBuilder db = null;
+        try {
+            db = dbf.newDocumentBuilder();
+        } catch (ParserConfigurationException pce) {
+            assert(false);
+        }
+        Document doc = db.newDocument();
+        Element properties =  (Element)
+            doc.appendChild(doc.createElement("properties"));
+
+        if (comment != null) {
+            Element comments = (Element)properties.appendChild(
+                doc.createElement("comment"));
+            comments.appendChild(doc.createTextNode(comment));
+        }
+
+        synchronized (props) {
+            for (String key : props.stringPropertyNames()) {
+                Element entry = (Element)properties.appendChild(
+                    doc.createElement("entry"));
+                entry.setAttribute("key", key);
+                entry.appendChild(doc.createTextNode(props.getProperty(key)));
+            }
+        }
+        emitDocument(doc, os, encoding);
+    }
+
+    static void emitDocument(Document doc, OutputStream os, String encoding)
+        throws IOException
+    {
+        TransformerFactory tf = TransformerFactory.newInstance();
+        Transformer t = null;
+        try {
+            t = tf.newTransformer();
+            t.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, PROPS_DTD_URI);
+            t.setOutputProperty(OutputKeys.INDENT, "yes");
+            t.setOutputProperty(OutputKeys.METHOD, "xml");
+            t.setOutputProperty(OutputKeys.ENCODING, encoding);
+        } catch (TransformerConfigurationException tce) {
+            assert(false);
+        }
+        DOMSource doms = new DOMSource(doc);
+        StreamResult sr = new StreamResult(os);
+        try {
+            t.transform(doms, sr);
+        } catch (TransformerException te) {
+            IOException ioe = new IOException();
+            ioe.initCause(te);
+            throw ioe;
+        }
+    }
+
+    private static class Resolver implements EntityResolver {
+        public InputSource resolveEntity(String pid, String sid)
+            throws SAXException
+        {
+            if (sid.equals(PROPS_DTD_URI)) {
+                InputSource is;
+                is = new InputSource(new StringReader(PROPS_DTD));
+                is.setSystemId(PROPS_DTD_URI);
+                return is;
+            }
+            throw new SAXException("Invalid system identifier: " + sid);
+        }
+    }
+
+    private static class EH implements ErrorHandler {
+        public void error(SAXParseException x) throws SAXException {
+            throw x;
+        }
+        public void fatalError(SAXParseException x) throws SAXException {
+            throw x;
+        }
+        public void warning(SAXParseException x) throws SAXException {
+            throw x;
+        }
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/demo/README	Thu Sep 15 14:10:30 2011 +0100
@@ -0,0 +1,6 @@
+The source code provided with samples and demos for the JDK is meant
+to illustrate the usage of a given feature or technique and has been
+deliberately simplified. Additional steps required for a
+production-quality application, such as security checks, input
+validation, and proper error handling, might not be present in the
+sample code.
--- a/src/share/demo/applets/ArcTest/ArcTest.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/ArcTest/ArcTest.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.*;
 import java.awt.event.*;
--- a/src/share/demo/applets/BarChart/BarChart.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/BarChart/BarChart.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.*;
 
--- a/src/share/demo/applets/Blink/Blink.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/Blink/Blink.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 /**
  * I love blinking things.
--- a/src/share/demo/applets/CardTest/CardTest.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/CardTest/CardTest.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.applet.Applet;
 import java.awt.BorderLayout;
--- a/src/share/demo/applets/Clock/Clock.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/Clock/Clock.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.applet.Applet;
 import java.awt.Color;
--- a/src/share/demo/applets/DitherTest/DitherTest.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/DitherTest/DitherTest.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.applet.Applet;
 import java.awt.AWTEvent;
--- a/src/share/demo/applets/DrawTest/DrawTest.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/DrawTest/DrawTest.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.applet.Applet;
 import java.awt.BorderLayout;
--- a/src/share/demo/applets/Fractal/CLSFractal.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/Fractal/CLSFractal.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Graphics;
 import java.util.Stack;
--- a/src/share/demo/applets/GraphicsTest/AppletFrame.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/GraphicsTest/AppletFrame.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Frame;
 import java.awt.Event;
--- a/src/share/demo/applets/GraphicsTest/GraphicsTest.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/GraphicsTest/GraphicsTest.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.*;
 import java.util.*;
--- a/src/share/demo/applets/MoleculeViewer/Matrix3D.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/MoleculeViewer/Matrix3D.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 /** A fairly conventional 3D matrix object that can transform sets of
 3D points and perform a variety of manipulations on the transform */
--- a/src/share/demo/applets/MoleculeViewer/XYZApp.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/MoleculeViewer/XYZApp.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.applet.Applet;
 import java.awt.Image;
--- a/src/share/demo/applets/NervousText/NervousText.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/NervousText/NervousText.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Graphics;
 import java.awt.Font;
--- a/src/share/demo/applets/SimpleGraph/GraphApplet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/SimpleGraph/GraphApplet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Graphics;
 
--- a/src/share/demo/applets/SortDemo/BidirBubbleSortAlgorithm.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/SortDemo/BidirBubbleSortAlgorithm.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 /**
  * A bi-directional bubble sort demonstration algorithm
--- a/src/share/demo/applets/SortDemo/BubbleSortAlgorithm.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/SortDemo/BubbleSortAlgorithm.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 /**
  * A bubble sort demonstration algorithm
--- a/src/share/demo/applets/SortDemo/QSortAlgorithm.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/SortDemo/QSortAlgorithm.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 /**
  * A quick sort demonstration algorithm
--- a/src/share/demo/applets/SortDemo/SortAlgorithm.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/SortDemo/SortAlgorithm.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 /**
  * A generic sort demonstration algorithm
--- a/src/share/demo/applets/SortDemo/SortItem.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/SortDemo/SortItem.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Color;
 import java.awt.Dimension;
--- a/src/share/demo/applets/SpreadSheet/SpreadSheet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/SpreadSheet/SpreadSheet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.applet.Applet;
 import java.awt.*;
--- a/src/share/demo/applets/WireFrame/Matrix3D.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/WireFrame/Matrix3D.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 /** A fairly conventional 3D matrix object that can transform sets of
 3D points and perform a variety of manipulations on the transform */
--- a/src/share/demo/applets/WireFrame/ThreeD.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/applets/WireFrame/ThreeD.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.applet.Applet;
 import java.awt.Graphics;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.awt.Image;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.io.PrintWriter;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.io.PrintWriter;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 public interface Modifier {
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.io.PrintWriter;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.awt.BorderLayout;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.util.Vector;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.util.Hashtable;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 public abstract class Test extends Option.Enable {
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench;
 
 import java.awt.Canvas;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /**
  * HTMLSeriesReporter.java
  *
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.report;
 
 import java.io.*;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.report;
 
 import java.util.Vector;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 /**
  * XMLHTMLReporter.java
  *
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests;
 
 import java.awt.Graphics;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests;
 
 import j2dbench.Destinations;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests;
 
 import java.awt.Dimension;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests;
 
 import j2dbench.Destinations;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests;
 
 import java.awt.Graphics;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests.iio;
 
 import java.awt.AlphaComposite;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests.iio;
 
 import java.awt.Component;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests.iio;
 
 import java.io.File;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests.iio;
 
 import java.io.BufferedInputStream;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests.iio;
 
 import java.awt.Graphics;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests.iio;
 
 import java.io.File;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.tests.iio;
 
 import java.io.BufferedOutputStream;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -30,6 +30,15 @@
  */
 
 /*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
+/*
  * (C) Copyright IBM Corp. 2003, All Rights Reserved.
  * This technology is protected by multiple US and International
  * patents. This notice and attribution to IBM may not be removed.
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -30,6 +30,15 @@
  */
 
 /*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
+/*
  * (C) Copyright IBM Corp. 2003, All Rights Reserved.
  * This technology is protected by multiple US and International
  * patents. This notice and attribution to IBM may not be removed.
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -30,6 +30,15 @@
  */
 
 /*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
+/*
  * (C) Copyright IBM Corp. 2003, All Rights Reserved.
  * This technology is protected by multiple US and International
  * patents. This notice and attribution to IBM may not be removed.
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java	Thu Sep 15 14:10:30 2011 +0100
@@ -30,6 +30,15 @@
  */
 
 /*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
+/*
  * (C) Copyright IBM Corp. 2003, All Rights Reserved.
  * This technology is protected by multiple US and International
  * patents. This notice and attribution to IBM may not be removed.
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.ui;
 
 import java.awt.Dimension;
--- a/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 package j2dbench.ui;
 
 import j2dbench.Group;
--- a/src/share/demo/jfc/CodePointIM/CodePointIM.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/CodePointIM/CodePointIM.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.util.Locale;
 import java.util.MissingResourceException;
--- a/src/share/demo/jfc/CodePointIM/CodePointInputMethod.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/CodePointIM/CodePointInputMethod.java	Thu Sep 15 14:10:30 2011 +0100
@@ -28,6 +28,15 @@
  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
 package com.sun.inputmethods.internal.codepointim;
 
 
--- a/src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java	Thu Sep 15 14:10:30 2011 +0100
@@ -28,6 +28,15 @@
  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
 package com.sun.inputmethods.internal.codepointim;
 
 
--- a/src/share/demo/jfc/FileChooserDemo/ExampleFileSystemView.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/FileChooserDemo/ExampleFileSystemView.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.io.File;
 import java.io.IOException;
--- a/src/share/demo/jfc/FileChooserDemo/ExampleFileView.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/FileChooserDemo/ExampleFileView.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.*;
 import javax.swing.filechooser.*;
--- a/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.lang.reflect.InvocationTargetException;
 import java.util.logging.Level;
--- a/src/share/demo/jfc/Font2DTest/Font2DTest.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Font2DTest/Font2DTest.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Color;
 import java.awt.Component;
--- a/src/share/demo/jfc/Font2DTest/Font2DTestApplet.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Font2DTest/Font2DTestApplet.java	Thu Sep 15 14:10:30 2011 +0100
@@ -30,6 +30,15 @@
  */
 
 /*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
+/*
  */
 
 import java.awt.AWTPermission;
--- a/src/share/demo/jfc/Font2DTest/FontPanel.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Font2DTest/FontPanel.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.BorderLayout;
 import java.awt.Color;
--- a/src/share/demo/jfc/Font2DTest/RangeMenu.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Font2DTest/RangeMenu.java	Thu Sep 15 14:10:30 2011 +0100
@@ -30,6 +30,15 @@
  */
 
 /*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
+/*
  */
 
 import java.awt.BorderLayout;
--- a/src/share/demo/jfc/Metalworks/AquaMetalTheme.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/AquaMetalTheme.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.plaf.ColorUIResource;
 import javax.swing.plaf.metal.DefaultMetalTheme;
--- a/src/share/demo/jfc/Metalworks/BigContrastMetalTheme.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/BigContrastMetalTheme.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.plaf.*;
 import javax.swing.plaf.metal.*;
--- a/src/share/demo/jfc/Metalworks/ContrastMetalTheme.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/ContrastMetalTheme.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.UIDefaults;
 import javax.swing.border.Border;
--- a/src/share/demo/jfc/Metalworks/DemoMetalTheme.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/DemoMetalTheme.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Font;
 import javax.swing.UIDefaults;
--- a/src/share/demo/jfc/Metalworks/GreenMetalTheme.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/GreenMetalTheme.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.plaf.ColorUIResource;
 import javax.swing.plaf.metal.DefaultMetalTheme;
--- a/src/share/demo/jfc/Metalworks/KhakiMetalTheme.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/KhakiMetalTheme.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.plaf.ColorUIResource;
 import javax.swing.plaf.metal.DefaultMetalTheme;
--- a/src/share/demo/jfc/Metalworks/MetalThemeMenu.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/MetalThemeMenu.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
--- a/src/share/demo/jfc/Metalworks/Metalworks.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/Metalworks.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Toolkit;
 import javax.swing.JDialog;
--- a/src/share/demo/jfc/Metalworks/MetalworksDocumentFrame.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/MetalworksDocumentFrame.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.BorderLayout;
 import java.awt.Component;
--- a/src/share/demo/jfc/Metalworks/MetalworksFrame.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/MetalworksFrame.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Dimension;
 import java.awt.Toolkit;
--- a/src/share/demo/jfc/Metalworks/MetalworksHelp.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/MetalworksHelp.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.*;
 import java.awt.*;
--- a/src/share/demo/jfc/Metalworks/MetalworksInBox.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/MetalworksInBox.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import javax.swing.JInternalFrame;
 import javax.swing.JScrollPane;
--- a/src/share/demo/jfc/Metalworks/MetalworksPrefs.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/MetalworksPrefs.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.BorderLayout;
 import java.awt.Component;
--- a/src/share/demo/jfc/Metalworks/PropertiesMetalTheme.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/PropertiesMetalTheme.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.io.IOException;
 import java.io.InputStream;
--- a/src/share/demo/jfc/Metalworks/UISwitchListener.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Metalworks/UISwitchListener.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
--- a/src/share/demo/jfc/Notepad/ElementTreePanel.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Notepad/ElementTreePanel.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.BorderLayout;
 import java.awt.Dimension;
--- a/src/share/demo/jfc/Notepad/Notepad.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/Notepad/Notepad.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.BorderLayout;
 import java.awt.Color;
--- a/src/share/demo/jfc/SampleTree/DynamicTreeNode.java	Thu Sep 15 13:50:30 2011 +0100
+++ b/src/share/demo/jfc/SampleTree/DynamicTreeNode.java	Thu Sep 15 14:10:30 2011 +0100
@@ -29,6 +29,15 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/*
+ * This source code is provided to illustrate the usage of a given feature
+ * or technique and has been deliberately simplified. Additional steps
+ * required for a production-quality application, such as security checks,
+ * input validation and proper error handling, might not be present in
+ * this sample code.
+ */
+
+
 
 import java.awt.Color;