changeset 4602:fb110f661e8c jdk7u2-b08

Merge
author cgruszka
date Fri, 16 Sep 2011 13:56:52 -0400
parents 825430a003d4 (current diff) 529910e1e1d2 (diff)
children f9c04c78a9b3 f4da7747a2d9 eb2569cfcdab
files
diffstat 520 files changed, 6138 insertions(+), 749 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Thu Sep 15 13:59:13 2011 -0400
+++ b/.hgtags	Fri Sep 16 13:56:52 2011 -0400
@@ -125,3 +125,5 @@
 9b8c96f96a0f9a5801b55530a387fefbe50482a3 jdk7u2-b01
 449f7f1bb73563a3858e18a46f6e1d63fd7ac39e jdk7u2-b04
 775d67f1d144692888a63a9268d55f69f7d01e9d jdk7u2-b05
+1da81fa43d480272440052f3f254eb2f0dc30da4 jdk7u2-b06
+d26cd028ee0b241175b8a31fb6c28a52993e288e jdk7u2-b07
--- a/.jcheck/conf	Thu Sep 15 13:59:13 2011 -0400
+++ b/.jcheck/conf	Fri Sep 16 13:56:52 2011 -0400
@@ -1,1 +1,2 @@
 project=jdk7
+bugids=dup
--- a/make/common/Defs.gmk	Thu Sep 15 13:59:13 2011 -0400
+++ b/make/common/Defs.gmk	Fri Sep 16 13:56:52 2011 -0400
@@ -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/common/Release-embedded.gmk	Thu Sep 15 13:59:13 2011 -0400
+++ b/make/common/Release-embedded.gmk	Fri Sep 16 13:56:52 2011 -0400
@@ -161,6 +161,9 @@
 	$(RM) -r $(JRE_REDUCED_IMAGE_DIR)/man
 	$(RM) -f $(JRE_REDUCED_IMAGE_DIR)/CHANGES
 
+	@# Copy back in the attach library
+	$(CP) $(JDK_IMAGE_DIR)/jre/lib/$(LIBARCH)/$(LIB_PREFIX)attach.$(LIB_SUFFIX) $(JRE_REDUCED_IMAGE_DIR)/lib/$(LIBARCH)
+
 	@$(ECHO) Done Creating Reduced JRE
 
 #
--- a/make/java/fdlibm/FILES_c.gmk	Thu Sep 15 13:59:13 2011 -0400
+++ b/make/java/fdlibm/FILES_c.gmk	Fri Sep 16 13:56:52 2011 -0400
@@ -30,21 +30,13 @@
 	k_sin.c \
 	k_tan.c \
 	e_acos.c \
-	e_acosh.c \
 	e_asin.c \
 	e_atan2.c \
 	e_atanh.c \
 	e_cosh.c \
 	e_exp.c \
 	e_fmod.c \
-	e_gamma.c \
-	e_gamma_r.c \
 	e_hypot.c \
-	e_j0.c \
-	e_j1.c \
-	e_jn.c \
-	e_lgamma.c \
-	e_lgamma_r.c \
 	e_log.c \
 	e_log10.c \
 	e_pow.c \
@@ -54,21 +46,13 @@
 	e_sinh.c \
 	e_sqrt.c \
 	w_acos.c \
-	w_acosh.c \
 	w_asin.c \
 	w_atan2.c \
 	w_atanh.c \
 	w_cosh.c \
 	w_exp.c \
 	w_fmod.c \
-	w_gamma.c \
-	w_gamma_r.c \
 	w_hypot.c \
-	w_j0.c \
-	w_j1.c \
-	w_jn.c \
-	w_lgamma.c \
-	w_lgamma_r.c \
 	w_log.c \
 	w_log10.c \
 	w_pow.c \
@@ -76,13 +60,11 @@
 	w_scalb.c \
 	w_sinh.c \
 	w_sqrt.c \
-	s_asinh.c \
 	s_atan.c \
 	s_cbrt.c \
 	s_ceil.c \
 	s_copysign.c \
 	s_cos.c \
-	s_erf.c \
 	s_expm1.c \
 	s_fabs.c \
 	s_finite.c \
--- a/make/mkdemo/Makefile	Thu Sep 15 13:59:13 2011 -0400
+++ b/make/mkdemo/Makefile	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/mksample/Makefile	Fri Sep 16 13:56:52 2011 -0400
@@ -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/javazic/tzdata/VERSION	Thu Sep 15 13:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/VERSION	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/africa	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/antarctica	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/asia	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/australasia	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/europe	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/iso3166.tab	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/northamerica	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+#
+# 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...
 #
-# 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)"...
+# 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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/southamerica	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/make/sun/javazic/tzdata/zone.tab	Fri Sep 16 13:56:52 2011 -0400
@@ -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
--- a/make/tools/src/build/tools/javazic/Mappings.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/make/tools/src/build/tools/javazic/Mappings.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -26,9 +26,6 @@
 package build.tools.javazic;
 
 import  java.util.ArrayList;
-import  java.util.HashMap;
-import  java.util.HashSet;
-import  java.util.Iterator;
 import  java.util.LinkedList;
 import  java.util.List;
 import  java.util.Map;
@@ -79,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) {
@@ -88,6 +85,7 @@
                     }
                     excludeList.add(zone.getName());
                     isExcluded = true;
+                    break;
                 }
             }
 
--- a/src/share/classes/com/sun/security/auth/module/NTSystem.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/com/sun/security/auth/module/NTSystem.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -33,6 +33,7 @@
 public class NTSystem {
 
     private native void getCurrent(boolean debug);
+    private native long getImpersonationToken0();
 
     private String userName;
     private String domain;
@@ -132,10 +133,14 @@
      *
      * @return an impersonation token for the current NT user.
      */
-    public long getImpersonationToken() {
+    public synchronized long getImpersonationToken() {
+        if (impersonationToken == 0) {
+            impersonationToken = getImpersonationToken0();
+        }
         return impersonationToken;
     }
 
+
     private void loadNative() {
         System.loadLibrary("jaas_nt");
     }
--- a/src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/AmbiguousMethodException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/BreakpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ChildSession.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/EvaluationException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpecList.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/InputListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/LineNotFoundException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/MalformedMemberNameException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/MethodNotFoundException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ModificationWatchpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/NoThreadException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/OutputListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ParseException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ReferenceTypeSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/Session.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SessionListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SourceNameReferenceTypeSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SpecErrorEvent.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SpecEvent.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/SpecListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ThreadInfo.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/ThreadIterator.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/Utils.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/VMNotInterruptedException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/bdi/WatchpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/AccessWatchpointEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/ClassPrepareEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/ClassUnloadEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/ExceptionEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/JDIListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/LocationTriggerEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/ThreadDeathEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/ThreadStartEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/VMDeathEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/VMDisconnectEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/VMStartEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/event/WatchpointEventSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ASCII_UCodeESC_CharStream.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserConstants.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/LValue.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/ParseException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/Token.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ApplicationTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ClassManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ClassTreeTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/CommandInterpreter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/CommandTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ContextManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/CurrentFrameChangedEvent.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/Environment.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/GUI.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/Icons.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/JDBFileFilter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/JDBMenuBar.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/JDBToolBar.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/LaunchTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/MonitorListModel.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/MonitorTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/OutputSink.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SearchPath.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SingleLeafTreeSelectionModel.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceModel.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourceTreeTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/SourcepathChangedEvent.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/StackTraceTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/ThreadTreeTool.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/TypeScript.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptOutputListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/gui/TypeScriptWriter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/AccessWatchpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/AmbiguousMethodException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/BreakpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/Commands.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/Env.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventHandler.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventNotifier.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/EventRequestSpecList.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ExceptionSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/LineNotFoundException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/MalformedMemberNameException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/MessageOutput.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ModificationWatchpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/PatternReferenceTypeSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ReferenceTypeSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/SourceMapper.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTY.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTYResources.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_ja.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/TTYResources_zh_CN.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ThreadGroupIterator.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ThreadInfo.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/ThreadIterator.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/VMConnection.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/VMNotConnectedException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/debug/tty/WatchpointSpec.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/trace/EventThread.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/trace/StreamRedirectThread.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/com/sun/tools/example/trace/Trace.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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/awt/Component.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/awt/Component.java	Fri Sep 16 13:56:52 2011 -0400
@@ -7910,7 +7910,7 @@
                 res = toFocus.requestFocusInWindow(CausedFocusEvent.Cause.TRAVERSAL_BACKWARD);
             }
         }
-        if (!res) {
+        if (clearOnFailure && !res) {
             if (focusLog.isLoggable(PlatformLogger.FINER)) {
                 focusLog.finer("clear global focus owner");
             }
--- a/src/share/classes/java/beans/Beans.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/beans/Beans.java	Fri Sep 16 13:56:52 2011 -0400
@@ -32,7 +32,6 @@
 import java.applet.AppletStub;
 import java.applet.AudioClip;
 
-import java.awt.GraphicsEnvironment;
 import java.awt.Image;
 
 import java.beans.beancontext.BeanContext;
@@ -53,15 +52,11 @@
 import java.util.Iterator;
 import java.util.Vector;
 
-import sun.awt.AppContext;
-
 /**
  * This class provides some general purpose beans control methods.
  */
 
 public class Beans {
-    private static final Object DESIGN_TIME = new Object();
-    private static final Object GUI_AVAILABLE = new Object();
 
     /**
      * <p>
@@ -395,8 +390,7 @@
      * @see DesignMode
      */
     public static boolean isDesignTime() {
-        Object value = AppContext.getAppContext().get(DESIGN_TIME);
-        return (value instanceof Boolean) && (Boolean) value;
+        return ThreadGroupContext.getContext().isDesignTime();
     }
 
     /**
@@ -413,8 +407,7 @@
      *
      */
     public static boolean isGuiAvailable() {
-        Object value = AppContext.getAppContext().get(GUI_AVAILABLE);
-        return (value instanceof Boolean) ? (Boolean) value : !GraphicsEnvironment.isHeadless();
+        return ThreadGroupContext.getContext().isGuiAvailable();
     }
 
     /**
@@ -440,7 +433,7 @@
         if (sm != null) {
             sm.checkPropertiesAccess();
         }
-        AppContext.getAppContext().put(DESIGN_TIME, Boolean.valueOf(isDesignTime));
+        ThreadGroupContext.getContext().setDesignTime(isDesignTime);
     }
 
     /**
@@ -466,7 +459,7 @@
         if (sm != null) {
             sm.checkPropertiesAccess();
         }
-        AppContext.getAppContext().put(GUI_AVAILABLE, Boolean.valueOf(isGuiAvailable));
+        ThreadGroupContext.getContext().setGuiAvailable(isGuiAvailable);
     }
 }
 
--- a/src/share/classes/java/beans/Introspector.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/beans/Introspector.java	Fri Sep 16 13:56:52 2011 -0400
@@ -26,7 +26,6 @@
 package java.beans;
 
 import com.sun.beans.WeakCache;
-import com.sun.beans.finder.BeanInfoFinder;
 import com.sun.beans.finder.ClassFinder;
 
 import java.awt.Component;
@@ -44,9 +43,7 @@
 import java.util.EventObject;
 import java.util.List;
 import java.util.TreeMap;
-import java.util.WeakHashMap;
 
-import sun.awt.AppContext;
 import sun.reflect.misc.ReflectUtil;
 
 /**
@@ -98,10 +95,7 @@
     public final static int IGNORE_ALL_BEANINFO        = 3;
 
     // Static Caches to speed up introspection.
-    private static WeakCache<Class<?>, Method[]> declaredMethodCache =
-            new WeakCache<Class<?>, Method[]>();
-
-    private static final Object BEANINFO_CACHE = new Object();
+    private static final WeakCache<Class<?>, Method[]> declaredMethodCache = new WeakCache<>();
 
     private Class beanClass;
     private BeanInfo explicitBeanInfo;
@@ -134,8 +128,6 @@
     static final String SET_PREFIX = "set";
     static final String IS_PREFIX = "is";
 
-    private static final Object FINDER_KEY = new Object();
-
     //======================================================================
     //                          Public methods
     //======================================================================
@@ -160,20 +152,15 @@
         if (!ReflectUtil.isPackageAccessible(beanClass)) {
             return (new Introspector(beanClass, null, USE_ALL_BEANINFO)).getBeanInfo();
         }
-        Map<Class<?>, BeanInfo> beanInfoCache;
+        ThreadGroupContext context = ThreadGroupContext.getContext();
         BeanInfo beanInfo;
-        synchronized (BEANINFO_CACHE) {
-            beanInfoCache = (Map<Class<?>, BeanInfo>) AppContext.getAppContext().get(BEANINFO_CACHE);
-            if (beanInfoCache == null) {
-                beanInfoCache = new WeakHashMap<Class<?>, BeanInfo>();
-                AppContext.getAppContext().put(BEANINFO_CACHE, beanInfoCache);
-            }
-            beanInfo = beanInfoCache.get(beanClass);
+        synchronized (declaredMethodCache) {
+            beanInfo = context.getBeanInfo(beanClass);
         }
         if (beanInfo == null) {
             beanInfo = new Introspector(beanClass, null, USE_ALL_BEANINFO).getBeanInfo();
-            synchronized (BEANINFO_CACHE) {
-                beanInfoCache.put(beanClass, beanInfo);
+            synchronized (declaredMethodCache) {
+                context.putBeanInfo(beanClass, beanInfo);
             }
         }
         return beanInfo;
@@ -306,7 +293,7 @@
      */
 
     public static String[] getBeanInfoSearchPath() {
-        return getFinder().getPackages();
+        return ThreadGroupContext.getContext().getBeanInfoFinder().getPackages();
     }
 
     /**
@@ -330,7 +317,7 @@
         if (sm != null) {
             sm.checkPropertiesAccess();
         }
-        getFinder().setPackages(path);
+        ThreadGroupContext.getContext().getBeanInfoFinder().setPackages(path);
     }
 
 
@@ -342,11 +329,8 @@
      */
 
     public static void flushCaches() {
-        synchronized (BEANINFO_CACHE) {
-            Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
-            if (beanInfoCache != null) {
-                beanInfoCache.clear();
-            }
+        synchronized (declaredMethodCache) {
+            ThreadGroupContext.getContext().clearBeanInfoCache();
             declaredMethodCache.clear();
         }
     }
@@ -370,11 +354,8 @@
         if (clz == null) {
             throw new NullPointerException();
         }
-        synchronized (BEANINFO_CACHE) {
-            Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
-            if (beanInfoCache != null) {
-                beanInfoCache.put(clz, null);
-            }
+        synchronized (declaredMethodCache) {
+            ThreadGroupContext.getContext().removeBeanInfo(clz);
             declaredMethodCache.put(clz, null);
         }
     }
@@ -452,7 +433,7 @@
      * @return Instance of an explicit BeanInfo class or null if one isn't found.
      */
     private static BeanInfo findExplicitBeanInfo(Class beanClass) {
-        return getFinder().find(beanClass);
+        return ThreadGroupContext.getContext().getBeanInfoFinder().find(beanClass);
     }
 
     /**
@@ -1275,7 +1256,7 @@
         if (!ReflectUtil.isPackageAccessible(clz)) {
             return new Method[0];
         }
-        synchronized (BEANINFO_CACHE) {
+        synchronized (declaredMethodCache) {
             Method[] result = declaredMethodCache.get(clz);
             if (result == null) {
                 result = clz.getMethods();
@@ -1426,17 +1407,6 @@
         return false;
     }
 
-    private static BeanInfoFinder getFinder() {
-        AppContext context = AppContext.getAppContext();
-        Object object = context.get(FINDER_KEY);
-        if (object instanceof BeanInfoFinder) {
-            return (BeanInfoFinder) object;
-        }
-        BeanInfoFinder finder = new BeanInfoFinder();
-        context.put(FINDER_KEY, finder);
-        return finder;
-    }
-
     /**
      * Try to create an instance of a named class.
      * First try the classloader of "sibling", then try the system
--- a/src/share/classes/java/beans/PropertyEditorManager.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/beans/PropertyEditorManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -25,9 +25,6 @@
 
 package java.beans;
 
-import com.sun.beans.finder.PropertyEditorFinder;
-import sun.awt.AppContext;
-
 /**
  * The PropertyEditorManager can be used to locate a property editor for
  * any given type name.  This property editor must support the
@@ -55,8 +52,6 @@
 
 public class PropertyEditorManager {
 
-    private static final Object FINDER_KEY = new Object();
-
     /**
      * Registers an editor class to edit values of the given target class.
      * If the editor class is {@code null},
@@ -81,7 +76,7 @@
         if (sm != null) {
             sm.checkPropertiesAccess();
         }
-        getFinder().register(targetType, editorClass);
+        ThreadGroupContext.getContext().getPropertyEditorFinder().register(targetType, editorClass);
     }
 
     /**
@@ -92,7 +87,7 @@
      * The result is null if no suitable editor can be found.
      */
     public static PropertyEditor findEditor(Class<?> targetType) {
-        return getFinder().find(targetType);
+        return ThreadGroupContext.getContext().getPropertyEditorFinder().find(targetType);
     }
 
     /**
@@ -104,7 +99,7 @@
      *         e.g. Sun implementation initially sets to  {"sun.beans.editors"}.
      */
     public static String[] getEditorSearchPath() {
-        return getFinder().getPackages();
+        return ThreadGroupContext.getContext().getPropertyEditorFinder().getPackages();
     }
 
     /**
@@ -125,17 +120,6 @@
         if (sm != null) {
             sm.checkPropertiesAccess();
         }
-        getFinder().setPackages(path);
-    }
-
-    private static PropertyEditorFinder getFinder() {
-        AppContext context = AppContext.getAppContext();
-        Object object = context.get(FINDER_KEY);
-        if (object instanceof PropertyEditorFinder) {
-            return (PropertyEditorFinder) object;
-        }
-        PropertyEditorFinder finder = new PropertyEditorFinder();
-        context.put(FINDER_KEY, finder);
-        return finder;
+        ThreadGroupContext.getContext().getPropertyEditorFinder().setPackages(path);
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/java/beans/ThreadGroupContext.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,133 @@
+/*
+ * 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.
+ */
+
+package java.beans;
+
+import com.sun.beans.finder.BeanInfoFinder;
+import com.sun.beans.finder.PropertyEditorFinder;
+
+import java.awt.GraphicsEnvironment;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.WeakHashMap;
+
+/**
+ * The {@code ThreadGroupContext} is an application-dependent
+ * context referenced by the specific {@link ThreadGroup}.
+ * This is a replacement for the {@link sun.awt.AppContext}.
+ *
+ * @author  Sergey Malenkov
+ */
+final class ThreadGroupContext {
+
+    private static final Map<ThreadGroup, ThreadGroupContext> contexts = new WeakHashMap<>();
+
+    /**
+     * Returns the appropriate {@code AppContext} for the caller,
+     * as determined by its {@code ThreadGroup}.
+     *
+     * @return  the application-dependent context
+     */
+    static ThreadGroupContext getContext() {
+        ThreadGroup group = Thread.currentThread().getThreadGroup();
+        synchronized (contexts) {
+            ThreadGroupContext context = contexts.get(group);
+            if (context == null) {
+                context = new ThreadGroupContext();
+                contexts.put(group, context);
+            }
+            return context;
+        }
+    }
+
+    private volatile boolean isDesignTime;
+    private volatile Boolean isGuiAvailable;
+
+    private Map<Class<?>, BeanInfo> beanInfoCache;
+    private BeanInfoFinder beanInfoFinder;
+    private PropertyEditorFinder propertyEditorFinder;
+
+
+    boolean isDesignTime() {
+        return this.isDesignTime;
+    }
+
+    void setDesignTime(boolean isDesignTime) {
+        this.isDesignTime = isDesignTime;
+    }
+
+
+    boolean isGuiAvailable() {
+        Boolean isGuiAvailable = this.isGuiAvailable;
+        return (isGuiAvailable != null)
+                ? isGuiAvailable.booleanValue()
+                : !GraphicsEnvironment.isHeadless();
+    }
+
+    void setGuiAvailable(boolean isGuiAvailable) {
+        this.isGuiAvailable = Boolean.valueOf(isGuiAvailable);
+    }
+
+
+    BeanInfo getBeanInfo(Class<?> type) {
+        return (this.beanInfoCache != null)
+                ? this.beanInfoCache.get(type)
+                : null;
+    }
+
+    BeanInfo putBeanInfo(Class<?> type, BeanInfo info) {
+        if (this.beanInfoCache == null) {
+            this.beanInfoCache = new WeakHashMap<>();
+        }
+        return this.beanInfoCache.put(type, info);
+    }
+
+    void removeBeanInfo(Class<?> type) {
+        if (this.beanInfoCache != null) {
+            this.beanInfoCache.remove(type);
+        }
+    }
+
+    void clearBeanInfoCache() {
+        if (this.beanInfoCache != null) {
+            this.beanInfoCache.clear();
+        }
+    }
+
+
+    synchronized BeanInfoFinder getBeanInfoFinder() {
+        if (this.beanInfoFinder == null) {
+            this.beanInfoFinder = new BeanInfoFinder();
+        }
+        return this.beanInfoFinder;
+    }
+
+    synchronized PropertyEditorFinder getPropertyEditorFinder() {
+        if (this.propertyEditorFinder == null) {
+            this.propertyEditorFinder = new PropertyEditorFinder();
+        }
+        return this.propertyEditorFinder;
+    }
+}
--- a/src/share/classes/java/io/FileInputStream.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/io/FileInputStream.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/java/io/FileOutputStream.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/java/io/RandomAccessFile.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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/net/AbstractPlainDatagramSocketImpl.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java	Fri Sep 16 13:56:52 2011 -0400
@@ -66,8 +66,8 @@
      * Creates a datagram socket
      */
     protected synchronized void create() throws SocketException {
+        ResourceManager.beforeUdpCreate();
         fd = new FileDescriptor();
-        ResourceManager.beforeUdpCreate();
         try {
             datagramSocketCreate();
         } catch (SocketException ioe) {
--- a/src/share/classes/java/net/URI.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/net/URI.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1711,6 +1711,8 @@
                     i++;
                     continue;
                 }
+                if (d != '%')
+                    return false;
                 i++;
                 if (toLower(s.charAt(i)) != toLower(t.charAt(i)))
                     return false;
--- a/src/share/classes/java/util/Random.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/java/util/Random.java	Fri Sep 16 13:56:52 2011 -0400
@@ -118,7 +118,13 @@
      * @see   #setSeed(long)
      */
     public Random(long seed) {
-        this.seed = new AtomicLong(initialScramble(seed));
+        if (getClass() == Random.class)
+            this.seed = new AtomicLong(initialScramble(seed));
+        else {
+            // subclass might have overriden setSeed
+            this.seed = new AtomicLong();
+            setSeed(seed);
+        }
     }
 
     private static long initialScramble(long seed) {
--- a/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/javax/swing/plaf/basic/BasicFileChooserUI.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1153,10 +1153,15 @@
                 if (shellFolder.isLink()) {
                     File linkedTo = shellFolder.getLinkLocation();
 
-                    if (linkedTo != null && fc.isTraversable(linkedTo)) {
-                        dir = linkedTo;
+                    // If linkedTo is null we try to use dir
+                    if (linkedTo != null) {
+                        if (fc.isTraversable(linkedTo)) {
+                            dir = linkedTo;
+                        } else {
+                            return;
+                        }
                     } else {
-                        return;
+                        dir = shellFolder;
                     }
                 }
             } catch (FileNotFoundException ex) {
--- a/src/share/classes/javax/swing/text/html/CSS.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/javax/swing/text/html/CSS.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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/TableView.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/javax/swing/text/html/TableView.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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/awt/FontConfiguration.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/awt/FontConfiguration.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -266,11 +266,20 @@
     private File findFontConfigFile(String javaLib) {
         String baseName = javaLib + File.separator + "fontconfig";
         File configFile;
+        String osMajorVersion = null;
         if (osVersion != null && osName != null) {
             configFile = findImpl(baseName + "." + osName + "." + osVersion);
             if (configFile != null) {
                 return configFile;
             }
+            int decimalPointIndex = osVersion.indexOf(".");
+            if (decimalPointIndex != -1) {
+                osMajorVersion = osVersion.substring(0, osVersion.indexOf("."));
+                configFile = findImpl(baseName + "." + osName + "." + osMajorVersion);
+                if (configFile != null) {
+                    return configFile;
+                }
+            }
         }
         if (osName != null) {
             configFile = findImpl(baseName + "." + osName);
@@ -283,6 +292,12 @@
             if (configFile != null) {
                 return configFile;
             }
+            if (osMajorVersion != null) {
+                configFile = findImpl(baseName + "." + osMajorVersion);
+                if (configFile != null) {
+                    return configFile;
+                }
+            }
         }
         foundOsSpecificFile = false;
 
--- a/src/share/classes/sun/net/httpserver/ServerConfig.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/net/httpserver/ServerConfig.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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
@@ -25,8 +25,6 @@
 
 package sun.net.httpserver;
 
-import com.sun.net.httpserver.*;
-import com.sun.net.httpserver.spi.*;
 import java.util.logging.Logger;
 import java.security.PrivilegedAction;
 
@@ -59,48 +57,46 @@
     static long maxReqTime;
     static long maxRspTime;
     static long timerMillis;
-    static boolean debug = false;
+    static boolean debug;
+
+    // the value of the TCP_NODELAY socket-level option
+    static boolean noDelay;
 
     static {
-
-        idleInterval = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.idleInterval",
-                DEFAULT_IDLE_INTERVAL))).longValue() * 1000;
+        java.security.AccessController.doPrivileged(
+            new PrivilegedAction<Void>() {
+                @Override
+                public Void run () {
+                    idleInterval = Long.getLong("sun.net.httpserver.idleInterval",
+                            DEFAULT_IDLE_INTERVAL) * 1000;
 
-        clockTick = ((Integer)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetIntegerAction(
-                "sun.net.httpserver.clockTick",
-                DEFAULT_CLOCK_TICK))).intValue();
+                    clockTick = Integer.getInteger("sun.net.httpserver.clockTick",
+                            DEFAULT_CLOCK_TICK);
 
-        maxIdleConnections = ((Integer)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetIntegerAction(
-                "sun.net.httpserver.maxIdleConnections",
-                DEFAULT_MAX_IDLE_CONNECTIONS))).intValue();
+                    maxIdleConnections = Integer.getInteger(
+                            "sun.net.httpserver.maxIdleConnections",
+                            DEFAULT_MAX_IDLE_CONNECTIONS);
+
+                    drainAmount = Long.getLong("sun.net.httpserver.drainAmount",
+                            DEFAULT_DRAIN_AMOUNT);
 
-        drainAmount = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.drainAmount",
-                DEFAULT_DRAIN_AMOUNT))).longValue();
+                    maxReqTime = Long.getLong("sun.net.httpserver.maxReqTime",
+                            DEFAULT_MAX_REQ_TIME);
 
-        maxReqTime = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.maxReqTime",
-                DEFAULT_MAX_REQ_TIME))).longValue();
+                    maxRspTime = Long.getLong("sun.net.httpserver.maxRspTime",
+                            DEFAULT_MAX_RSP_TIME);
+
+                    timerMillis = Long.getLong("sun.net.httpserver.timerMillis",
+                            DEFAULT_TIMER_MILLIS);
 
-        maxRspTime = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.maxRspTime",
-                DEFAULT_MAX_RSP_TIME))).longValue();
+                    debug = Boolean.getBoolean("sun.net.httpserver.debug");
+
+                    noDelay = Boolean.getBoolean("sun.net.httpserver.nodelay");
 
-        timerMillis = ((Long)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetLongAction(
-                "sun.net.httpserver.timerMillis",
-                DEFAULT_TIMER_MILLIS))).longValue();
+                    return null;
+                }
+            });
 
-        debug = ((Boolean)java.security.AccessController.doPrivileged(
-                new sun.security.action.GetBooleanAction(
-                "sun.net.httpserver.debug"))).booleanValue();
     }
 
 
@@ -172,4 +168,8 @@
     static long getTimerMillis () {
         return timerMillis;
     }
+
+    static boolean noDelay() {
+        return noDelay;
+    }
 }
--- a/src/share/classes/sun/net/httpserver/ServerImpl.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/net/httpserver/ServerImpl.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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
@@ -27,8 +27,6 @@
 
 import java.net.*;
 import java.io.*;
-import java.nio.*;
-import java.security.*;
 import java.nio.channels.*;
 import java.util.*;
 import java.util.concurrent.*;
@@ -36,7 +34,6 @@
 import java.util.logging.Level;
 import javax.net.ssl.*;
 import com.sun.net.httpserver.*;
-import com.sun.net.httpserver.spi.*;
 import sun.net.httpserver.HttpConnection.State;
 
 /**
@@ -358,6 +355,12 @@
                                 continue;
                             }
                             SocketChannel chan = schan.accept();
+
+                            // Set TCP_NODELAY, if appropriate
+                            if (ServerConfig.noDelay()) {
+                                chan.socket().setTcpNoDelay(true);
+                            }
+
                             if (chan == null) {
                                 continue; /* cancel something ? */
                             }
--- a/src/share/classes/sun/net/www/http/HttpClient.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/net/www/http/HttpClient.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994, 2010, 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
@@ -599,7 +599,9 @@
             cachedHttpClient = false;
             if (!failedOnce && requests != null) {
                 failedOnce = true;
-                if (httpuc.getRequestMethod().equals("POST") && (!retryPostProp || streaming)) {
+                if (getRequestMethod().equals("CONNECT") ||
+                    (httpuc.getRequestMethod().equals("POST") &&
+                    (!retryPostProp || streaming))) {
                     // do not retry the request
                 }  else {
                     // try once more
@@ -706,7 +708,9 @@
             } else if (nread != 8) {
                 if (!failedOnce && requests != null) {
                     failedOnce = true;
-                    if (httpuc.getRequestMethod().equals("POST") && (!retryPostProp || streaming)) {
+                    if (getRequestMethod().equals("CONNECT") ||
+                        (httpuc.getRequestMethod().equals("POST") &&
+                        (!retryPostProp || streaming))) {
                         // do not retry the request
                     } else {
                         closeServer();
@@ -891,6 +895,16 @@
         return cacheRequest;
     }
 
+    String getRequestMethod() {
+        if (requests != null) {
+            String requestLine = requests.getKey(0);
+            if (requestLine != null) {
+                return requestLine.split("\\s+")[0];
+            }
+        }
+        return "";
+    }
+
     @Override
     protected void finalize() throws Throwable {
         // This should do nothing.  The stream finalizer will
--- a/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1880,14 +1880,7 @@
     private void sendCONNECTRequest() throws IOException {
         int port = url.getPort();
 
-        // setRequests == true indicates the std. request headers
-        // have been set in (previous) requests.
-        // so the first one must be the http method (GET, etc.).
-        // we need to set it to CONNECT soon, remove this one first.
-        // otherwise, there may have 2 http methods in headers
-        if (setRequests) requests.set(0, null, null);
-
-        requests.prepend(HTTP_CONNECT + " " + connectRequestURI(url)
+        requests.set(0, HTTP_CONNECT + " " + connectRequestURI(url)
                          + " " + httpVersion, null);
         requests.setIfNotSet("User-Agent", userAgent);
 
@@ -1912,8 +1905,6 @@
         }
 
         http.writeRequests(requests, null);
-        // remove CONNECT header
-        requests.set(0, null, null);
     }
 
     /**
--- a/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/nio/cs/AbstractCharsetProvider.java	Fri Sep 16 13:56:52 2011 -0400
@@ -179,7 +179,9 @@
 
                 public Charset next() {
                     String csn = i.next();
-                    return lookup(csn);
+                    synchronized (AbstractCharsetProvider.this) {
+                        return lookup(csn);
+                    }
                 }
 
                 public void remove() {
--- a/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/reflect/generics/parser/SignatureParser.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -25,17 +25,15 @@
 
 package sun.reflect.generics.parser;
 
-
 import java.lang.reflect.GenericSignatureFormatError;
 import java.util.*;
 import sun.reflect.generics.tree.*;
 
-
 /**
  * Parser for type signatures, as defined in the Java Virtual
-// Machine Specification (JVMS) chapter 4.
+ * Machine Specification (JVMS) chapter 4.
  * Converts the signatures into an abstract syntax tree (AST) representation.
-// See the package sun.reflect.generics.tree for details of the AST.
+ * See the package sun.reflect.generics.tree for details of the AST.
  */
 public class SignatureParser {
     // The input is conceptually a character stream (though currently it's
@@ -58,8 +56,8 @@
     // if (current != x {error("expected an x");
     //
     // where x is some character constant.
-    // The assertion inidcates, that, as currently written,
-    // the code should nver reach this point unless the input is an
+    // The assertion indicates, that, as currently written,
+    // the code should never reach this point unless the input is an
     // x. On the other hand, the test is there to check the legality
     // of the input wrt to a given production. It may be that at a later
     // time the code might be called directly, and if the input is
@@ -68,7 +66,7 @@
 
     private char[] input; // the input signature
     private int index = 0; // index into the input
-// used to mark end of input
+    // used to mark end of input
     private static final char EOI = ':';
     private static final boolean DEBUG = false;
 
@@ -104,6 +102,11 @@
         index++;
     }
 
+    // For debugging, prints current character to the end of the input.
+    private String remainder() {
+        return new String(input, index, input.length-index);
+    }
+
     // Match c against a "set" of characters
     private boolean matches(char c, char... set) {
         for (char e : set) {
@@ -117,11 +120,22 @@
     // Currently throws a GenericSignatureFormatError.
 
     private Error error(String errorMsg) {
-        if (DEBUG) System.out.println("Parse error:" + errorMsg);
+        if (DEBUG)
+            System.out.println("Signature Parse error: " + errorMsg +
+                               "\n\tRemaining input: " + remainder());
         return new GenericSignatureFormatError();
     }
 
     /**
+     * Verify the parse has made forward progress; throw an exception
+     * if no progress.
+     */
+    private void progress(int startingPosition) {
+        if (index <= startingPosition)
+            throw error("Failure to make progress!");
+    }
+
+    /**
      * Static factory method. Produces a parser instance.
      * @return an instance of <tt>SignatureParser</tt>
      */
@@ -163,6 +177,7 @@
     /**
      * Parses a type signature
      * and produces an abstract syntax tree representing it.
+     *
      * @param s a string representing the input type signature
      * @return An abstract syntax tree for a type signature
      * corresponding to the input string
@@ -183,38 +198,58 @@
     // and when it completes parsing, it leaves the input at the first
     // character after the input parses.
 
-    // parse a class signature based on the implicit input.
+    /*
+     * Note on grammar conventions: a trailing "*" matches zero or
+     * more occurrences, a trailing "+" matches one or more occurrences,
+     * "_opt" indicates an optional component.
+     */
+
+    /**
+     * ClassSignature:
+     *     FormalTypeParameters_opt SuperclassSignature SuperinterfaceSignature*
+     */
     private ClassSignature parseClassSignature() {
+        // parse a class signature based on the implicit input.
         assert(index == 0);
         return ClassSignature.make(parseZeroOrMoreFormalTypeParameters(),
-                                   parseClassTypeSignature(),
+                                   parseClassTypeSignature(), // Only rule for SuperclassSignature
                                    parseSuperInterfaces());
     }
 
     private FormalTypeParameter[] parseZeroOrMoreFormalTypeParameters(){
-        if (current() == '<') { return parseFormalTypeParameters();}
-        else {return new FormalTypeParameter[0];}
+        if (current() == '<') {
+            return parseFormalTypeParameters();
+        } else {
+            return new FormalTypeParameter[0];
+        }
     }
 
-
+    /**
+     * FormalTypeParameters:
+     *     "<" FormalTypeParameter+ ">"
+     */
     private FormalTypeParameter[] parseFormalTypeParameters(){
-        Collection<FormalTypeParameter> ftps =
-            new ArrayList<FormalTypeParameter>(3);
+        List<FormalTypeParameter> ftps =  new ArrayList<>(3);
         assert(current() == '<'); // should not have been called at all
-        if (current() != '<') { throw error("expected <");}
+        if (current() != '<') { throw error("expected '<'");}
         advance();
         ftps.add(parseFormalTypeParameter());
         while (current() != '>') {
+            int startingPosition = index;
             ftps.add(parseFormalTypeParameter());
+            progress(startingPosition);
         }
         advance();
-        FormalTypeParameter[] ftpa = new FormalTypeParameter[ftps.size()];
-        return ftps.toArray(ftpa);
+        return ftps.toArray(new FormalTypeParameter[ftps.size()]);
     }
 
+    /**
+     * FormalTypeParameter:
+     *     Identifier ClassBound InterfaceBound*
+     */
     private FormalTypeParameter parseFormalTypeParameter(){
         String id = parseIdentifier();
-        FieldTypeSignature[] bs = parseZeroOrMoreBounds();
+        FieldTypeSignature[] bs = parseBounds();
         return FormalTypeParameter.make(id, bs);
     }
 
@@ -229,7 +264,8 @@
             case '[':
             case ':':
             case '>':
-            case '<': return result.toString();
+            case '<':
+                return result.toString();
             default:{
                 result.append(c);
                 advance();
@@ -239,26 +275,42 @@
         }
         return result.toString();
     }
+    /**
+     * FieldTypeSignature:
+     *     ClassTypeSignature
+     *     ArrayTypeSignature
+     *     TypeVariableSignature
+     */
+    private FieldTypeSignature parseFieldTypeSignature() {
+        return parseFieldTypeSignature(true);
+    }
 
-    private FieldTypeSignature parseFieldTypeSignature() {
+    private FieldTypeSignature parseFieldTypeSignature(boolean allowArrays) {
         switch(current()) {
         case 'L':
            return parseClassTypeSignature();
         case 'T':
             return parseTypeVariableSignature();
         case '[':
-            return parseArrayTypeSignature();
+            if (allowArrays)
+                return parseArrayTypeSignature();
+            else
+                throw error("Array signature not allowed here.");
         default: throw error("Expected Field Type Signature");
         }
     }
 
+    /**
+     * ClassTypeSignature:
+     *     "L" PackageSpecifier_opt SimpleClassTypeSignature ClassTypeSignatureSuffix* ";"
+     */
     private ClassTypeSignature parseClassTypeSignature(){
         assert(current() == 'L');
         if (current() != 'L') { throw error("expected a class type");}
         advance();
-        List<SimpleClassTypeSignature> scts =
-            new ArrayList<SimpleClassTypeSignature>(5);
-        scts.add(parseSimpleClassTypeSignature(false));
+        List<SimpleClassTypeSignature> scts = new ArrayList<>(5);
+        scts.add(parsePackageNameAndSimpleClassTypeSignature());
+
         parseClassTypeSignatureSuffix(scts);
         if (current() != ';')
             throw error("expected ';' got '" + current() + "'");
@@ -267,25 +319,65 @@
         return ClassTypeSignature.make(scts);
     }
 
-    private SimpleClassTypeSignature parseSimpleClassTypeSignature(boolean dollar){
-            String id = parseIdentifier();
-            char c = current();
-            switch (c) {
-            case ';':
-            case '/':
-                return SimpleClassTypeSignature.make(id, dollar, new TypeArgument[0]) ;
-            case '<': {
-                return SimpleClassTypeSignature.make(id, dollar, parseTypeArguments());
+    /**
+     * PackageSpecifier:
+     *     Identifier "/" PackageSpecifier*
+     */
+    private SimpleClassTypeSignature parsePackageNameAndSimpleClassTypeSignature() {
+        // Parse both any optional leading PackageSpecifier as well as
+        // the following SimpleClassTypeSignature.
+
+        String id = parseIdentifier();
+
+        if (current() == '/') { // package name
+            StringBuilder idBuild = new StringBuilder(id);
+
+            while(current() == '/') {
+                advance();
+                idBuild.append(".");
+                idBuild.append(parseIdentifier());
             }
-            default: {throw error("expected < or ; or /");}
-            }
+            id = idBuild.toString();
+        }
+
+        switch (current()) {
+        case ';':
+            return SimpleClassTypeSignature.make(id, false, new TypeArgument[0]); // all done!
+        case '<':
+            if (DEBUG) System.out.println("\t remainder: " + remainder());
+            return SimpleClassTypeSignature.make(id, false, parseTypeArguments());
+        default:
+            throw error("expected '<' or ';' but got " + current());
+        }
     }
 
+    /**
+     * SimpleClassTypeSignature:
+     *     Identifier TypeArguments_opt
+     */
+    private SimpleClassTypeSignature parseSimpleClassTypeSignature(boolean dollar){
+        String id = parseIdentifier();
+        char c = current();
+
+        switch (c) {
+        case ';':
+        case '.':
+            return SimpleClassTypeSignature.make(id, dollar, new TypeArgument[0]) ;
+        case '<':
+            return SimpleClassTypeSignature.make(id, dollar, parseTypeArguments());
+        default:
+            throw error("expected '<' or ';' or '.', got '" + c + "'.");
+        }
+    }
+
+    /**
+     * ClassTypeSignatureSuffix:
+     *     "." SimpleClassTypeSignature
+     */
     private void parseClassTypeSignatureSuffix(List<SimpleClassTypeSignature> scts) {
-        while (current() == '/' || current() == '.') {
-            boolean dollar = (current() == '.');
+        while (current() == '.') {
             advance();
-            scts.add(parseSimpleClassTypeSignature(dollar));
+            scts.add(parseSimpleClassTypeSignature(true));
         }
     }
 
@@ -294,10 +386,14 @@
         else {return new TypeArgument[0];}
     }
 
+    /**
+     * TypeArguments:
+     *     "<" TypeArgument+ ">"
+     */
     private TypeArgument[] parseTypeArguments() {
-        Collection<TypeArgument> tas = new ArrayList<TypeArgument>(3);
+        List<TypeArgument> tas = new ArrayList<>(3);
         assert(current() == '<');
-        if (current() != '<') { throw error("expected <");}
+        if (current() != '<') { throw error("expected '<'");}
         advance();
         tas.add(parseTypeArgument());
         while (current() != '>') {
@@ -305,10 +401,14 @@
             tas.add(parseTypeArgument());
         }
         advance();
-        TypeArgument[] taa = new TypeArgument[tas.size()];
-        return tas.toArray(taa);
+        return tas.toArray(new TypeArgument[tas.size()]);
     }
 
+    /**
+     * TypeArgument:
+     *     WildcardIndicator_opt FieldTypeSignature
+     *     "*"
+     */
     private TypeArgument parseTypeArgument() {
         FieldTypeSignature[] ub, lb;
         ub = new FieldTypeSignature[1];
@@ -334,18 +434,20 @@
             ub[0] = SimpleClassTypeSignature.make("java.lang.Object", false, ta);
             return Wildcard.make(ub, lb);
         }
-        default: return parseFieldTypeSignature();
+        default:
+            return parseFieldTypeSignature();
         }
     }
 
-    // TypeVariableSignature -> T identifier
-
-    private TypeVariableSignature parseTypeVariableSignature(){
+    /**
+     * TypeVariableSignature:
+     *     "T" Identifier ";"
+     */
+    private TypeVariableSignature parseTypeVariableSignature() {
         assert(current() == 'T');
         if (current() != 'T') { throw error("expected a type variable usage");}
         advance();
-        TypeVariableSignature ts =
-            TypeVariableSignature.make(parseIdentifier());
+        TypeVariableSignature ts = TypeVariableSignature.make(parseIdentifier());
         if (current() != ';') {
             throw error("; expected in signature of type variable named" +
                   ts.getIdentifier());
@@ -354,16 +456,21 @@
         return ts;
     }
 
-        // ArrayTypeSignature -> [ TypeSignature
-
+    /**
+     * ArrayTypeSignature:
+     *     "[" TypeSignature
+     */
     private ArrayTypeSignature parseArrayTypeSignature() {
         if (current() != '[') {throw error("expected array type signature");}
         advance();
         return ArrayTypeSignature.make(parseTypeSignature());
     }
 
-    // TypeSignature -> BaseType | FieldTypeSignature
-
+    /**
+     * TypeSignature:
+     *     FieldTypeSignature
+     *     BaseType
+     */
     private TypeSignature parseTypeSignature() {
         switch (current()) {
         case 'B':
@@ -373,8 +480,11 @@
         case 'I':
         case 'J':
         case 'S':
-        case 'Z':return parseBaseType();
-        default: return parseFieldTypeSignature();
+        case 'Z':
+            return parseBaseType();
+
+        default:
+            return parseFieldTypeSignature();
         }
     }
 
@@ -408,12 +518,18 @@
             assert(false);
             throw error("expected primitive type");
         }
-    }
+        }
     }
 
-    private FieldTypeSignature[] parseZeroOrMoreBounds() {
-        Collection<FieldTypeSignature> fts =
-            new ArrayList<FieldTypeSignature>(3);
+    /**
+     * ClassBound:
+     *     ":" FieldTypeSignature_opt
+     *
+     * InterfaceBound:
+     *     ":" FieldTypeSignature
+     */
+    private FieldTypeSignature[] parseBounds() {
+        List<FieldTypeSignature> fts = new ArrayList<>(3);
 
         if (current() == ':') {
             advance();
@@ -430,24 +546,31 @@
                 advance();
                 fts.add(parseFieldTypeSignature());
             }
-        }
+        } else
+            error("Bound expected");
 
-        FieldTypeSignature[] fta = new FieldTypeSignature[fts.size()];
-        return fts.toArray(fta);
+        return fts.toArray(new FieldTypeSignature[fts.size()]);
     }
 
+    /**
+     * SuperclassSignature:
+     *     ClassTypeSignature
+     */
     private ClassTypeSignature[] parseSuperInterfaces() {
-        Collection<ClassTypeSignature> cts =
-            new ArrayList<ClassTypeSignature>(5);
+        List<ClassTypeSignature> cts = new ArrayList<>(5);
         while(current() == 'L') {
             cts.add(parseClassTypeSignature());
         }
-        ClassTypeSignature[] cta = new ClassTypeSignature[cts.size()];
-        return cts.toArray(cta);
+        return cts.toArray(new ClassTypeSignature[cts.size()]);
     }
 
-    // parse a method signature based on the implicit input.
+
+    /**
+     * MethodTypeSignature:
+     *     FormalTypeParameters_opt "(" TypeSignature* ")" ReturnType ThrowsSignature*
+     */
     private MethodTypeSignature parseMethodTypeSignature() {
+        // Parse a method signature based on the implicit input.
         FieldTypeSignature[] ets;
 
         assert(index == 0);
@@ -457,19 +580,19 @@
                                         parseZeroOrMoreThrowsSignatures());
     }
 
-    // (TypeSignature*)
+    // "(" TypeSignature* ")"
     private TypeSignature[] parseFormalParameters() {
-        if (current() != '(') {throw error("expected (");}
+        if (current() != '(') {throw error("expected '('");}
         advance();
         TypeSignature[] pts = parseZeroOrMoreTypeSignatures();
-        if (current() != ')') {throw error("expected )");}
+        if (current() != ')') {throw error("expected ')'");}
         advance();
         return pts;
     }
 
-        // TypeSignature*
+    // TypeSignature*
     private TypeSignature[] parseZeroOrMoreTypeSignatures() {
-        Collection<TypeSignature> ts = new ArrayList<TypeSignature>();
+        List<TypeSignature> ts = new ArrayList<>();
         boolean stop = false;
         while (!stop) {
             switch(current()) {
@@ -484,47 +607,46 @@
             case 'L':
             case 'T':
             case '[': {
-                    ts.add(parseTypeSignature());
-                    break;
-                }
+                ts.add(parseTypeSignature());
+                break;
+            }
             default: stop = true;
             }
         }
-        /*      while( matches(current(),
-                       'B', 'C', 'D', 'F', 'I', 'J', 'S', 'Z', 'L', 'T', '[')
-               ) {
-            ts.add(parseTypeSignature());
-            }*/
-        TypeSignature[] ta = new TypeSignature[ts.size()];
-        return ts.toArray(ta);
+        return ts.toArray(new TypeSignature[ts.size()]);
     }
 
-    // ReturnType -> V | TypeSignature
-
+    /**
+     * ReturnType:
+     *     TypeSignature
+     *     VoidDescriptor
+     */
     private ReturnType parseReturnType(){
-        if  (current() == 'V') {
+        if (current() == 'V') {
             advance();
             return VoidDescriptor.make();
-        } else return parseTypeSignature();
+        } else
+            return parseTypeSignature();
     }
 
     // ThrowSignature*
     private FieldTypeSignature[] parseZeroOrMoreThrowsSignatures(){
-        Collection<FieldTypeSignature> ets =
-            new ArrayList<FieldTypeSignature>(3);
+        List<FieldTypeSignature> ets = new ArrayList<>(3);
         while( current() == '^') {
             ets.add(parseThrowsSignature());
         }
-        FieldTypeSignature[] eta = new FieldTypeSignature[ets.size()];
-        return ets.toArray(eta);
+        return ets.toArray(new FieldTypeSignature[ets.size()]);
     }
 
-    // ThrowSignature -> ^ FieldTypeSignature
-
+    /**
+     * ThrowsSignature:
+     *     "^" ClassTypeSignature
+     *     "^" TypeVariableSignature
+     */
     private FieldTypeSignature parseThrowsSignature() {
         assert(current() == '^');
         if (current() != '^') { throw error("expected throws signature");}
         advance();
-        return parseFieldTypeSignature();
+        return parseFieldTypeSignature(false);
     }
  }
--- a/src/share/classes/sun/security/krb5/EncryptionKey.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/krb5/EncryptionKey.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/security/krb5/KrbAsRep.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/security/krb5/KrbAsReqBuilder.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/security/krb5/internal/KRBError.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/security/krb5/internal/PAData.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 (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);
                 }
             }
         }
-        if (info2 != null) {
-            return new SaltAndParams(info2.getSalt(), info2.getParams());
-        } else if (info != null) {
-            return new SaltAndParams(info.getSalt(), null);
+        if (paPwSalt != null) {
+            return new SaltAndParams(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/pkcs11/P11ECKeyFactory.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/pkcs11/P11ECKeyFactory.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 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
@@ -203,9 +203,11 @@
 
     private PublicKey generatePublic(ECPoint point, ECParameterSpec params) throws PKCS11Exception {
         byte[] encodedParams = ECParameters.encodeParameters(params);
+        byte[] rawPoint = ECParameters.encodePoint(point, params.getCurve());
         byte[] encodedPoint = null;
-        DerValue pkECPoint = new DerValue(DerValue.tag_OctetString,
-            ECParameters.encodePoint(point, params.getCurve()));
+
+        // Wrap the EC point in a DER OCTET STRING
+        DerValue pkECPoint = new DerValue(DerValue.tag_OctetString, rawPoint);
 
         try {
             encodedPoint = pkECPoint.toByteArray();
@@ -221,6 +223,26 @@
         };
         attributes = token.getAttributes
                 (O_IMPORT, CKO_PUBLIC_KEY, CKK_EC, attributes);
+
+        // Check whether DER-encoded EC points are supported by the PKCS11 token
+        // (Some tokens support only the raw encoding for an EC point.)
+        for (int i = 0; i < attributes.length; i++) {
+            if (attributes[i].type == CKA_ENABLE_RAW_EC_POINT &&
+                attributes[i].getBoolean()) {
+                // Must use the raw encoding for the EC point
+                for (int j = 0; j < attributes.length; j++) {
+                    if (attributes[j].type == CKA_EC_POINT) {
+                        attributes[j].pValue = rawPoint;
+                        // Overwrite the CKA_ENABLE_RAW_EC_POINT attribute too
+                        attributes[i].type = CKA_EC_POINT;
+                        attributes[i].pValue = rawPoint;
+                        break;
+                    }
+                }
+                break;
+            }
+        }
+
         Session session = null;
         try {
             session = token.getObjSession();
--- a/src/share/classes/sun/security/pkcs11/Session.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/pkcs11/Session.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -87,7 +87,7 @@
     }
 
     long id() {
-        if (token.isPresent(this) == false) {
+        if (token.isPresent(this.id) == false) {
             throw new ProviderException("Token has been removed");
         }
         lastAccess = System.currentTimeMillis();
@@ -167,7 +167,9 @@
     void dispose() {
         refList.remove(this);
         try {
-            token.p11.C_CloseSession(id);
+            if (token.isPresent(id)) {
+                token.p11.C_CloseSession(id);
+            }
         } catch (PKCS11Exception e1) {
             // ignore
         } catch (ProviderException e2) {
--- a/src/share/classes/sun/security/pkcs11/Token.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/pkcs11/Token.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 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
@@ -217,7 +217,7 @@
 
     // return whether a token is present (i.e. token not removed)
     // returns cached value if current, otherwise performs new check
-    boolean isPresent(Session session) {
+    boolean isPresent(long sessionID) {
         if (removable == false) {
             return true;
         }
@@ -238,7 +238,7 @@
                             // the token should return an error
                             CK_SESSION_INFO sessInfo =
                                     provider.p11.C_GetSessionInfo
-                                    (session.idInternal());
+                                    (sessionID);
                             ok = true;
                         }
                     } catch (PKCS11Exception e) {
--- a/src/share/classes/sun/security/pkcs11/wrapper/Functions.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/pkcs11/wrapper/Functions.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
  */
 
 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
@@ -885,6 +885,7 @@
         addAttribute(CKA_MODIFIABLE,            "CKA_MODIFIABLE");
         addAttribute(CKA_EC_PARAMS,             "CKA_EC_PARAMS");
         addAttribute(CKA_EC_POINT,              "CKA_EC_POINT");
+        addAttribute(CKA_ENABLE_RAW_EC_POINT,   "CKA_ENABLE_RAW_EC_POINT");
         addAttribute(CKA_SECONDARY_AUTH,        "CKA_SECONDARY_AUTH");
         addAttribute(CKA_AUTH_PIN_FLAGS,        "CKA_AUTH_PIN_FLAGS");
         addAttribute(CKA_HW_FEATURE_TYPE,       "CKA_HW_FEATURE_TYPE");
--- a/src/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/pkcs11/wrapper/PKCS11Constants.java	Fri Sep 16 13:56:52 2011 -0400
@@ -413,6 +413,9 @@
 
     public static final long  CKA_VENDOR_DEFINED     = 0x80000000L;
 
+    /* Only the raw encoding for an EC point is supported */
+    public static final long CKA_ENABLE_RAW_EC_POINT = (CKA_VENDOR_DEFINED | 1);
+
     /* the following mechanism types are defined: */
     public static final long  CKM_RSA_PKCS_KEY_PAIR_GEN      = 0x00000000L;
     public static final long  CKM_RSA_PKCS                   = 0x00000001L;
--- a/src/share/classes/sun/security/smartcardio/TerminalImpl.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/smartcardio/TerminalImpl.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, 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
@@ -112,14 +112,17 @@
             if (wantPresent == present) {
                 return true;
             }
-            // no match, wait
-            status = SCardGetStatusChange(contextId, timeout, status, readers);
-            present = (status[0] & SCARD_STATE_PRESENT) != 0;
-            // should never happen
-            if (wantPresent != present) {
-                throw new CardException("wait mismatch");
+            // no match, wait (until timeout expires)
+            long end = System.currentTimeMillis() + timeout;
+            while (wantPresent != present && timeout != 0) {
+              // set remaining timeout
+              if (timeout != TIMEOUT_INFINITE) {
+                timeout = Math.max(end - System.currentTimeMillis(), 0l);
+              }
+              status = SCardGetStatusChange(contextId, timeout, status, readers);
+              present = (status[0] & SCARD_STATE_PRESENT) != 0;
             }
-            return true;
+            return wantPresent == present;
         } catch (PCSCException e) {
             if (e.code == SCARD_E_TIMEOUT) {
                 return false;
--- a/src/share/classes/sun/security/x509/AVA.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/security/x509/AVA.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 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
@@ -1080,8 +1080,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) {
 
@@ -1145,7 +1154,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/text/bidi/BidiBase.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/text/bidi/BidiBase.java	Fri Sep 16 13:56:52 2011 -0400
@@ -2690,6 +2690,7 @@
     public void setPara(AttributedCharacterIterator paragraph)
     {
         byte paraLvl;
+        char ch = paragraph.first();
         Boolean runDirection =
             (Boolean) paragraph.getAttribute(TextAttributeConstants.RUN_DIRECTION);
         Object shaper = paragraph.getAttribute(TextAttributeConstants.NUMERIC_SHAPING);
@@ -2705,7 +2706,6 @@
         byte[] embeddingLevels = new byte[len];
         char[] txt = new char[len];
         int i = 0;
-        char ch = paragraph.first();
         while (ch != AttributedCharacterIterator.DONE) {
             txt[i] = ch;
             Integer embedding =
--- a/src/share/classes/sun/util/resources/TimeZoneNames.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_de.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_es.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_fr.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_it.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_ja.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_ko.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_sv.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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/demo/README	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/ArcTest/ArcTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/BarChart/BarChart.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/Blink/Blink.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/CardTest/CardTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/Clock/Clock.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/DitherTest/DitherTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/DrawTest/DrawTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/Fractal/CLSFractal.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/GraphicsTest/AppletFrame.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/GraphicsTest/GraphicsTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/MoleculeViewer/Matrix3D.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/MoleculeViewer/XYZApp.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/NervousText/NervousText.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/SimpleGraph/GraphApplet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/SortDemo/BidirBubbleSortAlgorithm.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/SortDemo/BubbleSortAlgorithm.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/SortDemo/QSortAlgorithm.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/SortDemo/SortAlgorithm.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/SortDemo/SortItem.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/SpreadSheet/SpreadSheet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/WireFrame/Matrix3D.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/applets/WireFrame/ThreeD.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Destinations.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Group.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/J2DBench.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Modifier.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Node.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Option.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Result.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/ResultSet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/Test.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/TestEnvironment.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/HTMLSeriesReporter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/IIOComparator.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/J2DAnalyzer.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/report/XMLHTMLReporter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/GraphicsTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/MiscTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/PixelTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/RenderTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/IIOTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputImageTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputStreamTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputImageTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputStreamTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextConstructionTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextRenderTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/tests/text/TextTests.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/ui/CompactLayout.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/java2d/J2DBench/src/j2dbench/ui/EnableButton.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/CodePointIM/CodePointIM.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/CodePointIM/CodePointInputMethod.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/CodePointIM/CodePointInputMethodDescriptor.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/FileChooserDemo/ExampleFileSystemView.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/FileChooserDemo/ExampleFileView.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/FileChooserDemo/FileChooserDemo.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Font2DTest/Font2DTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Font2DTest/Font2DTestApplet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Font2DTest/FontPanel.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Font2DTest/RangeMenu.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/AquaMetalTheme.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/BigContrastMetalTheme.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/ContrastMetalTheme.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/DemoMetalTheme.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/GreenMetalTheme.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/KhakiMetalTheme.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/MetalThemeMenu.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/Metalworks.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/MetalworksDocumentFrame.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/MetalworksFrame.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/MetalworksHelp.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/MetalworksInBox.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/MetalworksPrefs.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/PropertiesMetalTheme.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Metalworks/UISwitchListener.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Notepad/ElementTreePanel.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/Notepad/Notepad.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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:59:13 2011 -0400
+++ b/src/share/demo/jfc/SampleTree/DynamicTreeNode.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.Font;
--- a/src/share/demo/jfc/SampleTree/SampleData.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/SampleTree/SampleData.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.Font;
--- a/src/share/demo/jfc/SampleTree/SampleTree.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/SampleTree/SampleTree.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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/SampleTree/SampleTreeCellRenderer.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/SampleTree/SampleTreeCellRenderer.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.Icon;
 import javax.swing.ImageIcon;
--- a/src/share/demo/jfc/SampleTree/SampleTreeModel.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/SampleTree/SampleTreeModel.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.tree.DefaultTreeModel;
 import javax.swing.tree.TreeNode;
--- a/src/share/demo/jfc/SwingApplet/SwingApplet.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/SwingApplet/SwingApplet.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.FlowLayout;
 import java.lang.reflect.InvocationTargetException;
--- a/src/share/demo/jfc/TableExample/JDBCAdapter.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/JDBCAdapter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.sql.Connection;
 import java.sql.DriverManager;
--- a/src/share/demo/jfc/TableExample/OldJTable.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/OldJTable.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.EventObject;
 import java.util.List;
--- a/src/share/demo/jfc/TableExample/TableExample.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/TableExample.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 a UI around the JDBCAdaptor, allowing database data to be interactively
--- a/src/share/demo/jfc/TableExample/TableExample2.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/TableExample2.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.WindowAdapter;
 import java.awt.event.WindowEvent;
--- a/src/share/demo/jfc/TableExample/TableExample3.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/TableExample3.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.table.*;
--- a/src/share/demo/jfc/TableExample/TableExample4.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/TableExample4.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.table.*;
--- a/src/share/demo/jfc/TableExample/TableMap.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/TableMap.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 
 /**
  * In a chain of data manipulators some behaviour is common. TableMap
--- a/src/share/demo/jfc/TableExample/TableSorter.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TableExample/TableSorter.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.table.TableModel;
 import javax.swing.event.TableModelEvent;
--- a/src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jfc/TransparentRuler/transparentruler/Ruler.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 transparentruler;
 
 
--- a/src/share/demo/jvmti/agent_util/agent_util.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/agent_util/agent_util.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <agent_util.h>
 
 /* ------------------------------------------------------------------- */
--- a/src/share/demo/jvmti/agent_util/agent_util.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/agent_util/agent_util.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef AGENT_UTIL_H
 #define AGENT_UTIL_H
 
--- a/src/share/demo/jvmti/compiledMethodLoad/compiledMethodLoad.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/compiledMethodLoad/compiledMethodLoad.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
--- a/src/share/demo/jvmti/gctest/gctest.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/gctest/gctest.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Example of using JVMTI_EVENT_GARBAGE_COLLECTION_START and
  *                  JVMTI_EVENT_GARBAGE_COLLECTION_FINISH events.
  */
--- a/src/share/demo/jvmti/heapTracker/HeapTracker.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/heapTracker/HeapTracker.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 
 /* Java class to hold static methods which will be called in byte code
  *    injections of all class files.
--- a/src/share/demo/jvmti/heapTracker/heapTracker.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/heapTracker/heapTracker.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include "stdlib.h"
 
 #include "heapTracker.h"
--- a/src/share/demo/jvmti/heapTracker/heapTracker.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/heapTracker/heapTracker.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Primary heapTracker #include file, should be included by most if not
  *    all heapTracker source files. Gives access to the global data structure
  *    and all global macros.
--- a/src/share/demo/jvmti/heapViewer/heapViewer.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/heapViewer/heapViewer.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <stdio.h>
 #include <stddef.h>
 #include <stdlib.h>
--- a/src/share/demo/jvmti/hprof/debug_malloc.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/debug_malloc.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* **************************************************************************
  *
  * Set of malloc/realloc/calloc/strdup/free replacement macros that
--- a/src/share/demo/jvmti/hprof/debug_malloc.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/debug_malloc.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* ***********************************************************************
  *
  * The source file debug_malloc.c should be included with your sources.
--- a/src/share/demo/jvmti/hprof/hprof.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Primary hprof #include file, should be included by most if not
  *    all hprof source files. Gives access to the global data structure
  *    and all global macros, and everything declared in the #include
--- a/src/share/demo/jvmti/hprof/hprof_blocks.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_blocks.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Allocations from large blocks, no individual free's */
 
 #include "hprof.h"
--- a/src/share/demo/jvmti/hprof/hprof_blocks.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_blocks.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_BLOCKS_H
 #define HPROF_BLOCKS_H
 
--- a/src/share/demo/jvmti/hprof/hprof_check.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_check.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Functionality for checking hprof format=b output. */
 
 /* ONLY used with logflags=4. */
--- a/src/share/demo/jvmti/hprof/hprof_check.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_check.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_CHECK_H
 #define HPROF_CHECK_H
 
--- a/src/share/demo/jvmti/hprof/hprof_class.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_class.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Table of class information.
  *
  *   Each element in this table is identified with a ClassIndex.
--- a/src/share/demo/jvmti/hprof/hprof_class.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_class.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_CLASS_H
 #define HPROF_CLASS_H
 
--- a/src/share/demo/jvmti/hprof/hprof_cpu.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_cpu.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include "hprof.h"
 
 /* This file contains the cpu loop for the option cpu=samples */
--- a/src/share/demo/jvmti/hprof/hprof_cpu.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_cpu.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_CPU_H
 #define HPROF_CPU_H
 
--- a/src/share/demo/jvmti/hprof/hprof_error.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_error.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include "hprof.h"
 
 /* The error handling logic. */
--- a/src/share/demo/jvmti/hprof/hprof_error.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_error.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_ERROR_H
 #define HPROF_ERROR_H
 
--- a/src/share/demo/jvmti/hprof/hprof_event.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_event.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* This file contains all class, method and allocation event support functions,
  *   both JVMTI and BCI events.
  *   (See hprof_monitor.c for the monitor event handlers).
--- a/src/share/demo/jvmti/hprof/hprof_event.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_event.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_EVENT_H
 #define HPROF_EVENT_H
 
--- a/src/share/demo/jvmti/hprof/hprof_frame.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_frame.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* This file contains support for handling frames, or (method,location) pairs. */
 
 #include "hprof.h"
--- a/src/share/demo/jvmti/hprof/hprof_frame.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_frame.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_FRAME_H
 #define HPROF_FRAME_H
 
--- a/src/share/demo/jvmti/hprof/hprof_init.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_init.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Main source file, the basic JVMTI connection/startup code. */
 
 #include "hprof.h"
--- a/src/share/demo/jvmti/hprof/hprof_init.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_init.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_INIT_H
 #define HPROF_INIT_H
 
--- a/src/share/demo/jvmti/hprof/hprof_io.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_io.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* All I/O functionality for hprof. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_io.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_io.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_IO_H
 #define HPROF_IO_H
 
--- a/src/share/demo/jvmti/hprof/hprof_ioname.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_ioname.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Used to store strings written out to the binary format (see hprof_io.c) */
 
 
--- a/src/share/demo/jvmti/hprof/hprof_ioname.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_ioname.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_IONAME_H
 #define HPROF_IONAME_H
 
--- a/src/share/demo/jvmti/hprof/hprof_listener.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_listener.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* The hprof listener loop thread. net=hostname:port option */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_listener.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_listener.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_LISTENER_H
 #define HPROF_LISTENER_H
 
--- a/src/share/demo/jvmti/hprof/hprof_loader.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_loader.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* The Class Loader table. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_loader.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_loader.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_LOADER_H
 #define HPROF_LOADER_H
 
--- a/src/share/demo/jvmti/hprof/hprof_md.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_md.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_MD_H
 #define HPROF_MD_H
 
--- a/src/share/demo/jvmti/hprof/hprof_monitor.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_monitor.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Monitor contention tracking and monitor wait handling. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_monitor.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_monitor.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_MONITOR_H
 #define HPROF_MONITOR_H
 
--- a/src/share/demo/jvmti/hprof/hprof_object.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_object.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Object table. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_object.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_object.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_OBJECT_H
 #define HPROF_OBJECT_H
 
--- a/src/share/demo/jvmti/hprof/hprof_reference.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_reference.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Object references table (used in hprof_object.c). */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_reference.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_reference.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_REFERENCE_H
 #define HPROF_REFERENCE_H
 
--- a/src/share/demo/jvmti/hprof/hprof_site.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_site.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Allocation site table. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_site.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_site.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_SITE_H
 #define HPROF_SITE_H
 
--- a/src/share/demo/jvmti/hprof/hprof_stack.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_stack.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Simple stack storage mechanism (or simple List). */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_stack.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_stack.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_STACK_H
 #define HPROF_STACK_H
 
--- a/src/share/demo/jvmti/hprof/hprof_string.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_string.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Table of byte arrays (e.g. char* string + NULL byte) */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_string.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_string.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_STRING_H
 #define HPROF_STRING_H
 
--- a/src/share/demo/jvmti/hprof/hprof_table.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_table.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Lookup Table of generic elements. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_table.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_table.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_TABLE_H
 #define HPROF_TABLE_H
 
--- a/src/share/demo/jvmti/hprof/hprof_tag.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_tag.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* JVMTI tag definitions. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_tag.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_tag.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_TAG_H
 #define HPROF_TAG_H
 
--- a/src/share/demo/jvmti/hprof/hprof_tls.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_tls.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include "hprof.h"
 
 /* Thread Local Storage Table and method entry/exit handling. */
--- a/src/share/demo/jvmti/hprof/hprof_tls.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_tls.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_TLS_H
 #define HPROF_TLS_H
 
--- a/src/share/demo/jvmti/hprof/hprof_trace.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_trace.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Trace table. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_trace.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_trace.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_TRACE_H
 #define HPROF_TRACE_H
 
--- a/src/share/demo/jvmti/hprof/hprof_tracker.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_tracker.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Tracker class support functions. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_tracker.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_tracker.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_TRACKER_H
 #define HPROF_TRACKER_H
 
--- a/src/share/demo/jvmti/hprof/hprof_util.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_util.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* General utility functions. */
 
 /*
--- a/src/share/demo/jvmti/hprof/hprof_util.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/hprof/hprof_util.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef HPROF_UTIL_H
 #define HPROF_UTIL_H
 
--- a/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/java_crw_demo/java_crw_demo.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Class reader writer (java_crw_demo) for instrumenting bytecodes */
 
 /*
--- a/src/share/demo/jvmti/java_crw_demo/java_crw_demo.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/java_crw_demo/java_crw_demo.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef JAVA_CRW_DEMO_H
 #define JAVA_CRW_DEMO_H
 
--- a/src/share/demo/jvmti/minst/Minst.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/minst/Minst.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 
 /* Java class to hold static methods which will be called in byte code
  *    injections of all class files.
--- a/src/share/demo/jvmti/minst/minst.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/minst/minst.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include "stdlib.h"
 
 #include "minst.h"
--- a/src/share/demo/jvmti/minst/minst.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/minst/minst.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Primary minst #include file, should be included by most if not
  *    all minst source files. Gives access to the global data structure
  *    and all global macros.
--- a/src/share/demo/jvmti/mtrace/Mtrace.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/mtrace/Mtrace.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 
 /* Java class to hold static methods which will be called in byte code
  *    injections of all class files.
--- a/src/share/demo/jvmti/mtrace/mtrace.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/mtrace/mtrace.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include "stdlib.h"
 
 #include "mtrace.h"
--- a/src/share/demo/jvmti/mtrace/mtrace.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/mtrace/mtrace.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Primary mtrace #include file, should be included by most if not
  *    all mtrace source files. Gives access to the global data structure
  *    and all global macros.
--- a/src/share/demo/jvmti/versionCheck/versionCheck.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/versionCheck/versionCheck.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
--- a/src/share/demo/jvmti/waiters/Agent.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/waiters/Agent.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
--- a/src/share/demo/jvmti/waiters/Agent.hpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/waiters/Agent.hpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* C++ Agent class */
 
 class Agent {
--- a/src/share/demo/jvmti/waiters/Monitor.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/waiters/Monitor.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
--- a/src/share/demo/jvmti/waiters/Monitor.hpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/waiters/Monitor.hpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* C++ Monitor class */
 
 class Monitor {
--- a/src/share/demo/jvmti/waiters/Thread.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/waiters/Thread.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
--- a/src/share/demo/jvmti/waiters/Thread.hpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/waiters/Thread.hpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* C++ Thread class */
 
 class Thread {
--- a/src/share/demo/jvmti/waiters/waiters.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/jvmti/waiters/waiters.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* Example of using JVMTI events:
  *      JVMTI_EVENT_VM_INIT
  *      JVMTI_EVENT_VM_DEATH
--- a/src/share/demo/management/FullThreadDump/Deadlock.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/FullThreadDump/Deadlock.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.util.concurrent.CyclicBarrier;
--- a/src/share/demo/management/FullThreadDump/FullThreadDump.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/FullThreadDump/FullThreadDump.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 javax.management.*;
--- a/src/share/demo/management/FullThreadDump/ThreadMonitor.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/FullThreadDump/ThreadMonitor.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 static java.lang.management.ManagementFactory.*;
--- a/src/share/demo/management/JTop/JTop.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/JTop/JTop.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  *
  * Example of using the java.lang.management API to sort threads
  * by CPU usage.
--- a/src/share/demo/management/JTop/JTopPlugin.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/JTop/JTopPlugin.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  *
  * Example of a JConsole Plugin.  This loads JTop as a JConsole tab.
  *
--- a/src/share/demo/management/MemoryMonitor/MemoryMonitor.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/MemoryMonitor/MemoryMonitor.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
--- a/src/share/demo/management/VerboseGC/PrintGCStat.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/VerboseGC/PrintGCStat.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 static java.lang.management.ManagementFactory.*;
--- a/src/share/demo/management/VerboseGC/VerboseGC.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/management/VerboseGC/VerboseGC.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 javax.management.*;
--- a/src/share/demo/nio/zipfs/Demo.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/Demo.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.*;
 import java.nio.channels.*;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/JarFileSystemProvider.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/JarFileSystemProvider.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.zipfs;
 
 import java.nio.file.*;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipCoder.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.nio.ByteBuffer;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipConstants.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipDirectoryStream.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipDirectoryStream.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.nio.file.DirectoryStream;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributeView.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributes.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileAttributes.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileStore.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileStore.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.io.IOException;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.io.BufferedOutputStream;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystemProvider.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.io.*;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipInfo.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.nio.file.Paths;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipPath.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipPath.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.io.*;
--- a/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipUtils.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipUtils.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.nio.zipfs;
 
 import java.io.IOException;
--- a/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/EditableAtEndDocument.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.demo.scripting.jconsole;
 
 import javax.swing.text.*;
--- a/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptJConsolePlugin.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.demo.scripting.jconsole;
 
 import com.sun.tools.jconsole.*;
--- a/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/com/sun/demo/scripting/jconsole/ScriptShellPanel.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.demo.scripting.jconsole;
 
 import java.awt.*;
--- a/src/share/demo/scripting/jconsole-plugin/src/resources/jconsole.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/resources/jconsole.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
--- a/src/share/demo/scripting/jconsole-plugin/src/scripts/heapdump.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/scripts/heapdump.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This file defines heapdump function to heap dump
  * in binary format. User can call this function
  * based on events. For example, a timer thread can
--- a/src/share/demo/scripting/jconsole-plugin/src/scripts/hello.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/scripts/hello.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This is sample JavaScript file that can be loaded into script console.
  * This file prints "hello, world".
  */
--- a/src/share/demo/scripting/jconsole-plugin/src/scripts/invoke.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/scripts/invoke.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script demonstrates "invokeMBean" function. Instead 
  * of using MXBean proxy or script wrapper object returned by
  * 'mbean' function, this file uses direct invoke on MBean.
--- a/src/share/demo/scripting/jconsole-plugin/src/scripts/jstack.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/scripts/jstack.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This file defines 'jstack' function to print stack traces of
  * threads.'jstack' function which can be called once or periodically 
  * from a timer thread (calling it periodically would slow down the target
--- a/src/share/demo/scripting/jconsole-plugin/src/scripts/jtop.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/scripts/jtop.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This code is "ported" from JTop demo. This file defines
  * 'jtop' function. jtop prints threads sorting by CPU time. 
  * jtop can be called once or periodically from a timer thread. 
--- a/src/share/demo/scripting/jconsole-plugin/src/scripts/sysprops.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/scripts/sysprops.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This file defines 'sysprops' function to print Java System
  * properties.'sysprops' function which can be called once or periodically 
  * from a timer thread (calling it periodically would slow down the target
--- a/src/share/demo/scripting/jconsole-plugin/src/scripts/verbose.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/demo/scripting/jconsole-plugin/src/scripts/verbose.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script demonstrates "getMBeanAttribute"
  * and "setMBeanAttribute" functions. Instead of using
  * MXBean proxy or script wrapper object returned by
--- a/src/share/lib/security/sunpkcs11-solaris.cfg	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/lib/security/sunpkcs11-solaris.cfg	Fri Sep 16 13:56:52 2011 -0400
@@ -13,6 +13,11 @@
 
 attributes = compatibility
 
+# Support only the raw encoding for an EC point
+attributes (*, CKO_PUBLIC_KEY, CKK_EC) = {
+    CKA_ENABLE_RAW_EC_POINT = true
+}
+
 disabledMechanisms = {
 # the following mechanisms are disabled due to lack of digest cloning support
 # need to fix 6414899 first
--- a/src/share/native/java/lang/fdlibm/include/fdlibm.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/native/java/lang/fdlibm/include/fdlibm.h	Fri Sep 16 13:56:52 2011 -0400
@@ -135,22 +135,10 @@
 extern double floor __P((double));
 extern double fmod __P((double, double));
 
-extern double erf __P((double));
-extern double erfc __P((double));
-extern double gamma __P((double));
 extern double hypot __P((double, double));
 extern int isnan __P((double));
 extern int finite __P((double));
-extern double j0 __P((double));
-extern double j1 __P((double));
-extern double jn __P((int, double));
-extern double lgamma __P((double));
-extern double y0 __P((double));
-extern double y1 __P((double));
-extern double yn __P((int, double));
 
-extern double acosh __P((double));
-extern double asinh __P((double));
 extern double atanh __P((double));
 extern double cbrt __P((double));
 extern double logb __P((double));
@@ -183,19 +171,9 @@
 extern double expm1 __P((double));
 extern double log1p __P((double));
 
-/*
- * Reentrant version of gamma & lgamma; passes signgam back by reference
- * as the second argument; user must allocate space for signgam.
- */
-#ifdef _REENTRANT
-extern double gamma_r __P((double, int *));
-extern double lgamma_r __P((double, int *));
-#endif  /* _REENTRANT */
-
 /* ieee style elementary functions */
 extern double __ieee754_sqrt __P((double));
 extern double __ieee754_acos __P((double));
-extern double __ieee754_acosh __P((double));
 extern double __ieee754_log __P((double));
 extern double __ieee754_atanh __P((double));
 extern double __ieee754_asin __P((double));
@@ -204,19 +182,9 @@
 extern double __ieee754_cosh __P((double));
 extern double __ieee754_fmod __P((double,double));
 extern double __ieee754_pow __P((double,double));
-extern double __ieee754_lgamma_r __P((double,int *));
-extern double __ieee754_gamma_r __P((double,int *));
-extern double __ieee754_lgamma __P((double));
-extern double __ieee754_gamma __P((double));
 extern double __ieee754_log10 __P((double));
 extern double __ieee754_sinh __P((double));
 extern double __ieee754_hypot __P((double,double));
-extern double __ieee754_j0 __P((double));
-extern double __ieee754_j1 __P((double));
-extern double __ieee754_y0 __P((double));
-extern double __ieee754_y1 __P((double));
-extern double __ieee754_jn __P((int,double));
-extern double __ieee754_yn __P((int,double));
 extern double __ieee754_remainder __P((double,double));
 extern int    __ieee754_rem_pio2 __P((double,double*));
 #ifdef _SCALB_INT
--- a/src/share/native/java/lang/fdlibm/include/jfdlibm.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/native/java/lang/fdlibm/include/jfdlibm.h	Fri Sep 16 13:56:52 2011 -0400
@@ -64,7 +64,6 @@
 #ifdef __linux__
 #define __ieee754_sqrt          __j__ieee754_sqrt
 #define __ieee754_acos          __j__ieee754_acos
-#define __ieee754_acosh         __j__ieee754_acosh
 #define __ieee754_log           __j__ieee754_log
 #define __ieee754_atanh         __j__ieee754_atanh
 #define __ieee754_asin          __j__ieee754_asin
@@ -73,19 +72,9 @@
 #define __ieee754_cosh          __j__ieee754_cosh
 #define __ieee754_fmod          __j__ieee754_fmod
 #define __ieee754_pow           __j__ieee754_pow
-#define __ieee754_lgamma_r      __j__ieee754_lgamma_r
-#define __ieee754_gamma_r       __j__ieee754_gamma_r
-#define __ieee754_lgamma        __j__ieee754_lgamma
-#define __ieee754_gamma         __j__ieee754_gamma
 #define __ieee754_log10         __j__ieee754_log10
 #define __ieee754_sinh          __j__ieee754_sinh
 #define __ieee754_hypot         __j__ieee754_hypot
-#define __ieee754_j0            __j__ieee754_j0
-#define __ieee754_j1            __j__ieee754_j1
-#define __ieee754_y0            __j__ieee754_y0
-#define __ieee754_y1            __j__ieee754_y1
-#define __ieee754_jn            __j__ieee754_jn
-#define __ieee754_yn            __j__ieee754_yn
 #define __ieee754_remainder     __j__ieee754_remainder
 #define __ieee754_rem_pio2      __j__ieee754_rem_pio2
 #define __ieee754_scalb         __j__ieee754_scalb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/sample/README	Fri Sep 16 13:56:52 2011 -0400
@@ -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/sample/forkjoin/mergesort/MergeDemo.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/forkjoin/mergesort/MergeDemo.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.Arrays;
 import java.util.Random;
 
--- a/src/share/sample/forkjoin/mergesort/MergeSort.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/forkjoin/mergesort/MergeSort.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.Arrays;
 import java.util.concurrent.ForkJoinPool;
 import java.util.concurrent.ForkJoinTask;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScanner.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import static com.sun.jmx.examples.scandir.ScanManager.getNextSeqNumber;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/DirectoryScannerMXBean.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import com.sun.jmx.examples.scandir.ScanManagerMXBean.ScanState;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import static com.sun.jmx.examples.scandir.ScanManager.getNextSeqNumber;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ResultLogManagerMXBean.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import com.sun.jmx.examples.scandir.config.ResultRecord;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirAgent.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import com.sun.jmx.examples.scandir.ScanManagerMXBean.ScanState;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirClient.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import java.net.InetAddress;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfig.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import static com.sun.jmx.examples.scandir.ScanManager.getNextSeqNumber;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanDirConfigMXBean.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import com.sun.jmx.examples.scandir.config.DirectoryScannerConfig;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManager.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import static com.sun.jmx.examples.scandir.ScanManagerMXBean.ScanState.*;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/ScanManagerMXBean.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import java.io.IOException;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/DirectoryScannerConfig.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir.config;
 
 import java.io.File;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/FileMatch.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir.config;
 
 import java.io.File;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultLogConfig.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir.config;
 
 import java.util.Arrays;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ResultRecord.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir.config;
 
 import java.util.Date;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/ScanManagerConfig.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir.config;
 
 import java.util.Arrays;
--- a/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/src/com/sun/jmx/examples/scandir/config/XmlConfigUtils.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir.config;
 
 import java.io.ByteArrayInputStream;
--- a/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/DirectoryScannerTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import com.sun.jmx.examples.scandir.config.DirectoryScannerConfig;
--- a/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanDirConfigTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import com.sun.jmx.examples.scandir.config.XmlConfigUtils;
--- a/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/ScanManagerTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import java.util.concurrent.LinkedBlockingQueue;
--- a/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/TestUtils.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir;
 
 import java.lang.reflect.InvocationHandler;
--- a/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/jmx/jmx-scandir/test/com/sun/jmx/examples/scandir/config/XmlConfigUtilsTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.jmx.examples.scandir.config;
 
 import junit.framework.*;
--- a/src/share/sample/nio/chatserver/ChatServer.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/chatserver/ChatServer.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.net.InetSocketAddress;
 import java.net.SocketAddress;
--- a/src/share/sample/nio/chatserver/Client.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/chatserver/Client.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.ByteBuffer;
 import java.nio.channels.AsynchronousSocketChannel;
--- a/src/share/sample/nio/chatserver/ClientReader.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/chatserver/ClientReader.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.ByteBuffer;
 import java.nio.channels.CompletionHandler;
 
--- a/src/share/sample/nio/chatserver/DataReader.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/chatserver/DataReader.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.ByteBuffer;
 
 public interface DataReader {
--- a/src/share/sample/nio/chatserver/MessageReader.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/chatserver/MessageReader.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.ByteBuffer;
 
 /**
--- a/src/share/sample/nio/chatserver/NameReader.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/chatserver/NameReader.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.ByteBuffer;
 
 /**
--- a/src/share/sample/nio/file/AclEdit.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/file/AclEdit.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.file.*;
 import java.nio.file.attribute.*;
 import java.io.IOException;
--- a/src/share/sample/nio/file/Chmod.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/file/Chmod.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.file.*;
 import java.nio.file.attribute.*;
 import static java.nio.file.attribute.PosixFilePermission.*;
--- a/src/share/sample/nio/file/Copy.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/file/Copy.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.file.*;
 import static java.nio.file.StandardCopyOption.*;
 import java.nio.file.attribute.*;
--- a/src/share/sample/nio/file/DiskUsage.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/file/DiskUsage.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.file.*;
 import java.nio.file.attribute.*;
 import java.io.IOException;
--- a/src/share/sample/nio/file/FileType.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/file/FileType.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.file.*;
 import java.io.IOException;
 
--- a/src/share/sample/nio/file/WatchDir.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/file/WatchDir.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.file.*;
 import static java.nio.file.StandardWatchEventKinds.*;
 import static java.nio.file.LinkOption.*;
--- a/src/share/sample/nio/file/Xdd.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/file/Xdd.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.nio.file.*;
--- a/src/share/sample/nio/multicast/MulticastAddress.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/multicast/MulticastAddress.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.net.InetAddress;
 import java.net.NetworkInterface;
 import java.net.UnknownHostException;
--- a/src/share/sample/nio/multicast/Reader.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/multicast/Reader.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.channels.*;
 import java.nio.charset.*;
 import java.nio.ByteBuffer;
--- a/src/share/sample/nio/multicast/Sender.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/multicast/Sender.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.channels.*;
 import java.nio.charset.Charset;
 import java.net.*;
--- a/src/share/sample/nio/server/AcceptHandler.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/AcceptHandler.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.channels.*;
 import javax.net.ssl.*;
--- a/src/share/sample/nio/server/Acceptor.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Acceptor.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.channels.*;
 import javax.net.ssl.*;
--- a/src/share/sample/nio/server/B1.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/B1.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.channels.*;
 
 /**
--- a/src/share/sample/nio/server/BN.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/BN.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.channels.*;
 
--- a/src/share/sample/nio/server/BP.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/BP.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.channels.*;
 import java.util.concurrent.*;
 
--- a/src/share/sample/nio/server/ChannelIO.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/ChannelIO.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.*;
 import java.nio.channels.*;
--- a/src/share/sample/nio/server/ChannelIOSecure.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/ChannelIOSecure.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.*;
 import java.nio.channels.*;
--- a/src/share/sample/nio/server/Content.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Content.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /**
  * An Sendable interface extension that adds additional
  * methods for additional information, such as Files
--- a/src/share/sample/nio/server/Dispatcher.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Dispatcher.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.channels.*;
 
--- a/src/share/sample/nio/server/Dispatcher1.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Dispatcher1.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.channels.*;
 import java.util.*;
--- a/src/share/sample/nio/server/DispatcherN.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/DispatcherN.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.channels.*;
 import java.util.*;
--- a/src/share/sample/nio/server/FileContent.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/FileContent.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.net.*;
 import java.nio.channels.*;
--- a/src/share/sample/nio/server/Handler.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Handler.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.channels.*;
 
--- a/src/share/sample/nio/server/MalformedRequestException.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/MalformedRequestException.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /**
  * Exception class used when a request can't be properly parsed.
  *
--- a/src/share/sample/nio/server/N1.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/N1.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.nio.channels.*;
 
 /**
--- a/src/share/sample/nio/server/N2.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/N2.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 non-blocking/dual-threaded which performs accept()s in one thread,
  * and services requests in a second.  Both threads use select().
--- a/src/share/sample/nio/server/Reply.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Reply.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.*;
 import java.nio.charset.*;
--- a/src/share/sample/nio/server/Request.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Request.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.net.*;
 import java.nio.*;
 import java.nio.charset.*;
--- a/src/share/sample/nio/server/RequestHandler.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/RequestHandler.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.*;
 import java.nio.channels.*;
--- a/src/share/sample/nio/server/RequestServicer.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/RequestServicer.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.*;
 
--- a/src/share/sample/nio/server/Sendable.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Sendable.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 
 /**
--- a/src/share/sample/nio/server/Server.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/Server.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.net.*;
 import java.nio.channels.*;
--- a/src/share/sample/nio/server/StringContent.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/StringContent.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.nio.*;
 import java.nio.charset.*;
--- a/src/share/sample/nio/server/URLDumper.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/nio/server/URLDumper.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.net.*;
 
--- a/src/share/sample/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/com/sun/sample/scriptpad/Main.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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 com.sun.sample.scriptpad;
 
 import javax.script.*;
--- a/src/share/sample/scripting/scriptpad/src/resources/Main.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/resources/Main.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script can be loaded in jrunscript to start scriptpad.
  *
  *    jrunscript -f Main.js -f -
--- a/src/share/sample/scripting/scriptpad/src/resources/conc.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/resources/conc.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * Concurrency utilities for JavaScript. These are based on
  * java.lang and java.util.concurrent API. The following functions 
  * provide a simpler API for scripts. Instead of directly using java.lang
--- a/src/share/sample/scripting/scriptpad/src/resources/gui.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/resources/gui.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * Few user interface utilities. 
  */
 
--- a/src/share/sample/scripting/scriptpad/src/resources/mm.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/resources/mm.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This is a collection of utilities for Monitoring
  * and management API. 
  *
--- a/src/share/sample/scripting/scriptpad/src/resources/scriptpad.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/resources/scriptpad.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script creates a simple Notepad-like interface, which 
  * serves as a simple script editor, runner.
  *
--- a/src/share/sample/scripting/scriptpad/src/scripts/browse.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/scripts/browse.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This function uses new Swing Desktop API in JDK 6.
  * To use this with scriptpad, open this in scriptpad
  * and use "Tools->Run Script" menu.
--- a/src/share/sample/scripting/scriptpad/src/scripts/insertfile.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/scripts/insertfile.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script adds "Insert File" mode menu item to "Tools" menu.
  * When selected, this menu shows a file dialog box and inserts
  * contents of the selected file into current document (at the
--- a/src/share/sample/scripting/scriptpad/src/scripts/linewrap.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/scripts/linewrap.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script adds "Line Wrap" mode menu item to "Tools" menu.
  * When selected, this menu toggles the current word wrap mode
  * of the editor.
--- a/src/share/sample/scripting/scriptpad/src/scripts/mail.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/scripts/mail.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This function uses new Swing Desktop API in JDK 6.
  * To use this with scriptpad, open this in scriptpad
  * and use "Tools->Run Script" menu.
--- a/src/share/sample/scripting/scriptpad/src/scripts/memmonitor.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/scripts/memmonitor.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 // this checker function runs asynchronously
 function memoryChecker(memoryBean, threshold, interval) {
     while (true) {
--- a/src/share/sample/scripting/scriptpad/src/scripts/memory.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/scripts/memory.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script serves as a simple "monitored application".
  * Start this script using memory.bat or memory.sh in the
  * current directory.
--- a/src/share/sample/scripting/scriptpad/src/scripts/textcolor.js	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/scripting/scriptpad/src/scripts/textcolor.js	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  * This script adds "Selected Text Color" menu item to "Tools" menu.
  * When selected, this menu changes the "selected text" color.
  */
--- a/src/share/sample/vm/clr-jvm/invoked.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/vm/clr-jvm/invoked.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 public class invoked {
     public static void main(String args[]) {
 
--- a/src/share/sample/vm/clr-jvm/jinvoker.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/vm/clr-jvm/jinvoker.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <memory.h>
 #include <stdlib.h>
 #include "jinvokerExp.h"
--- a/src/share/sample/vm/clr-jvm/jinvokerExp.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/vm/clr-jvm/jinvokerExp.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <windows.h>
 #include <jni.h>
 
--- a/src/share/sample/vm/jvm-clr/invoker.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/vm/jvm-clr/invoker.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #define _WIN32_WINNT 0x0400
 #include "windows.h"
 #include "Oleauto.h"
--- a/src/share/sample/vm/jvm-clr/invoker.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/vm/jvm-clr/invoker.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 /* DO NOT EDIT THIS FILE - it is machine generated */
 #include <jni.h>
 /* Header for class invoker */
--- a/src/share/sample/vm/jvm-clr/invoker.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/vm/jvm-clr/invoker.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 public class invoker {
 
     static {
--- a/src/share/sample/vm/jvm-clr/invokerExp.h	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/share/sample/vm/jvm-clr/invokerExp.h	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #ifndef _invoker_h
 #define _invoker_h
 
--- a/src/solaris/demo/jni/Poller/Client.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/demo/jni/Poller/Client.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import  java.net.*;
 import  java.io.*;
--- a/src/solaris/demo/jni/Poller/LinkedQueue.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/demo/jni/Poller/LinkedQueue.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
   File: SLQ.java
   Originally: LinkedQueue.java
 
--- a/src/solaris/demo/jni/Poller/Poller.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/demo/jni/Poller/Poller.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
+/*
  **********************************************************************
  * Poller.c :
  * JNI code for use with Poller.java, principally to take advantage
--- a/src/solaris/demo/jni/Poller/Poller.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/demo/jni/Poller/Poller.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.io.*;
 import java.net.*;
--- a/src/solaris/demo/jni/Poller/PollingServer.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/demo/jni/Poller/PollingServer.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.net.*;
 import java.lang.Byte;
--- a/src/solaris/demo/jni/Poller/SimpleServer.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/demo/jni/Poller/SimpleServer.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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.*;
 import java.net.*;
 import java.lang.Byte;
--- a/src/solaris/demo/jvmti/hprof/hprof_md.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/demo/jvmti/hprof/hprof_md.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
--- a/src/solaris/native/sun/awt/fontpath.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/solaris/native/sun/awt/fontpath.c	Fri Sep 16 13:56:52 2011 -0400
@@ -1191,8 +1191,16 @@
 
             fontformat = NULL;
             (*FcPatternGetString)(fontPattern, FC_FONTFORMAT, 0, &fontformat);
-            if (fontformat != NULL && strcmp((char*)fontformat, "TrueType")
-                != 0) {
+            /* We only want TrueType fonts but some Linuxes still depend
+             * on Type 1 fonts for some Locale support, so we'll allow
+             * them there.
+             */
+            if (fontformat != NULL
+                && (strcmp((char*)fontformat, "TrueType") != 0)
+#ifdef __linux__
+                && (strcmp((char*)fontformat, "Type 1") != 0)
+#endif
+             ) {
                 continue;
             }
             result = (*FcPatternGetCharSet)(fontPattern,
--- a/src/windows/demo/jvmti/hprof/hprof_md.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/windows/demo/jvmti/hprof/hprof_md.c	Fri Sep 16 13:56:52 2011 -0400
@@ -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.
+ */
+
+
 // To ensure winsock2.h is used, it has to be included ahead of
 // windows.h, which includes winsock.h by default.
 #include <winsock2.h>
--- a/src/windows/native/com/sun/security/auth/module/nt.c	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/windows/native/com/sun/security/auth/module/nt.c	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 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
@@ -43,6 +43,19 @@
 BOOL getTextualSid(PSID pSid, LPTSTR TextualSid, LPDWORD lpdwBufferLen);
 void DisplayErrorText(DWORD dwLastError);
 
+JNIEXPORT jlong JNICALL
+Java_com_sun_security_auth_module_NTSystem_getImpersonationToken0
+        (JNIEnv *env, jobject obj) {
+    HANDLE impersonationToken = 0;      // impersonation token
+    if (debug) {
+        printf("getting impersonation token\n");
+    }
+    if (getImpersonationToken(&impersonationToken) == FALSE) {
+        return 0;
+    }
+    return (jlong)impersonationToken;
+}
+
 JNIEXPORT void JNICALL
 Java_com_sun_security_auth_module_NTSystem_getCurrent
     (JNIEnv *env, jobject obj, jboolean debugNative) {
@@ -59,7 +72,6 @@
     DWORD numGroups = 0;                // num groups
     LPTSTR *groups = NULL;              // groups array
     long pIndex = -1;                   // index of primaryGroup in groups array
-    HANDLE impersonationToken = 0;      // impersonation token
 
     jfieldID fid;
     jstring jstr;
@@ -100,13 +112,6 @@
         return;
     }
 
-    if (debug) {
-        printf("getting impersonation token\n");
-    }
-    if (getImpersonationToken(&impersonationToken) == FALSE) {
-        return;
-    }
-
     // then set values into NTSystem
 
     fid = (*env)->GetFieldID(env, cls, "userName", "Ljava/lang/String;");
@@ -233,18 +238,6 @@
         (*env)->SetObjectField(env, obj, fid, jgroups);
     }
 
-    fid = (*env)->GetFieldID(env, cls, "impersonationToken", "J");
-    if (fid == 0) {
-        jclass newExcCls =
-            (*env)->FindClass(env, "java/lang/IllegalArgumentException");
-        if (newExcCls == 0) {
-            systemError = TRUE;
-            goto out;
-        }
-        (*env)->ThrowNew(env, newExcCls, "invalid field: impersonationToken");
-    }
-    (*env)->SetLongField(env, obj, fid, (jlong)impersonationToken);
-
 out:
     if (userName != NULL) {
         HeapFree(GetProcessHeap(), 0, userName);
@@ -269,6 +262,7 @@
         }
         HeapFree(GetProcessHeap(), 0, groups);
     }
+    CloseHandle(tokenHandle);
 
     if (systemError && debug) {
         printf("  [getCurrent] System Error: ");
@@ -592,6 +586,7 @@
         }
         return FALSE;
     }
+    CloseHandle(dupToken);
 
     if (debug) {
         printf("  [getImpersonationToken] token = %d\n", *impersonationToken);
@@ -802,6 +797,8 @@
         }
         HeapFree(GetProcessHeap(), 0, groups);
     }
+    CloseHandle(impersonationToken);
+    CloseHandle(tokenHandle);
 }
 */
 
--- a/src/windows/native/sun/windows/awt_Choice.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/windows/native/sun/windows/awt_Choice.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -396,12 +396,6 @@
 
     DASSERT(::IsWindow(hwnd));
 
-    // This branch is required for the proper work of AwtComponent::GetComponent() method
-    // while hovering drop-down list
-    if (message == WmAwtIsComponent) {
-        return (LRESULT)TRUE;
-    }
-
     switch (message) {
         case WM_LBUTTONDOWN: {
             DWORD curPos = ::GetMessagePos();
--- a/src/windows/native/sun/windows/awt_Component.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/windows/native/sun/windows/awt_Component.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -364,6 +364,7 @@
     AwtComponent *component =
         (AwtComponent *)::GetWindowLongPtr(hWnd, GWLP_USERDATA);
     DASSERT(!component || !IsBadReadPtr(component, sizeof(AwtComponent)) );
+    DASSERT(!component || component->GetHWnd() == hWnd );
     return component;
 }
 
--- a/src/windows/native/sun/windows/awt_FileDialog.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/windows/native/sun/windows/awt_FileDialog.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -153,6 +153,11 @@
             break;
         }
         case WM_DESTROY: {
+            HIMC hIMC = ::ImmGetContext(hdlg);
+            if (hIMC != NULL) {
+                ::ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
+            }
+
             WNDPROC lpfnWndProc = (WNDPROC)(::GetProp(parent, NativeDialogWndProcProp));
             ComCtl32Util::GetInstance().UnsubclassHWND(parent,
                                                        FileDialogWndProc,
--- a/src/windows/native/sun/windows/awt_Toolkit.cpp	Thu Sep 15 13:59:13 2011 -0400
+++ b/src/windows/native/sun/windows/awt_Toolkit.cpp	Fri Sep 16 13:56:52 2011 -0400
@@ -1444,7 +1444,6 @@
     AwtComponent* mouseComp =
         AwtComponent::GetComponent(hWndFromPoint);
     // Need extra copies for non-client area issues
-    AwtComponent* mouseWheelComp = mouseComp;
     HWND hWndForWheel = hWndFromPoint;
 
     // If the point under the mouse isn't in the client area,
@@ -1510,9 +1509,9 @@
      */
 
     if (msg.message == WM_MOUSEWHEEL &&
-        mouseWheelComp != NULL) { //i.e. mouse is over client area for this
-                                  //window
-        msg.hwnd = hWndForWheel;
+        AwtToolkit::MainThread() == ::GetWindowThreadProcessId(hWndForWheel, NULL)) {
+            //i.e. mouse is over client area for this window
+            msg.hwnd = hWndForWheel;
     }
 
     /*
--- a/test/ProblemList.txt	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/ProblemList.txt	Fri Sep 16 13:56:52 2011 -0400
@@ -584,7 +584,6 @@
 sun/security/tools/jarsigner/concise_jarsigner.sh		generic-all
 
 # Various failures on Linux Fedora 9 X64, othervm mode
-lib/security/cacerts/VerifyCACerts.java				generic-all
 sun/security/ssl/javax/net/ssl/NewAPIs/SSLEngine/TestAllSuites.java generic-all
 sun/security/ssl/sanity/ciphersuites/CheckCipherSuites.java	generic-all
 sun/security/tools/jarsigner/oldsig.sh				generic-all
--- a/test/com/sun/net/httpserver/Test1.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/com/sun/net/httpserver/Test1.java	Fri Sep 16 13:56:52 2011 -0400
@@ -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
@@ -26,6 +26,7 @@
  * @bug 6270015
  * @run main/othervm Test1
  * @run main/othervm -Dsun.net.httpserver.maxReqTime=10 Test1
+ * @run main/othervm -Dsun.net.httpserver.nodelay=true Test1
  * @summary  Light weight HTTP server
  */
 
@@ -42,6 +43,10 @@
  *      - send/receive large/small file
  *      - chunked encoding
  *      - via http and https
+ *
+ * The test is also run with sun.net.httpserver.nodelay simply to exercise
+ * this option. There is no specific pass or failure related to running with
+ * this option.
  */
 
 public class Test1 extends Test {
@@ -111,9 +116,9 @@
         if (fixedLen) {
             urlc.setRequestProperty ("XFixed", "yes");
         }
-        InputStream is = urlc.getInputStream();
         File temp = File.createTempFile ("Test1", null);
         temp.deleteOnExit();
+        InputStream is = urlc.getInputStream();
         OutputStream fout = new BufferedOutputStream (new FileOutputStream(temp));
         int c, count = 0;
         while ((c=is.read(buf)) != -1) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,147 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+  @test
+  @bug 7050935
+  @summary closed/java/awt/Choice/WheelEventsConsumed/WheelEventsConsumed.html fails on win32
+  @author Oleg Pekhovskiy: area=awt-choice
+  @run main ChoiceMouseWheelTest
+*/
+
+import java.awt.*;
+import java.awt.event.*;
+
+public class ChoiceMouseWheelTest extends Frame {
+
+    private boolean itemChanged = false;
+    private boolean wheelMoved = false;
+    private boolean frameExited = false;
+
+    public static void main(String[] args) {
+        new ChoiceMouseWheelTest();
+    }
+
+    ChoiceMouseWheelTest() {
+        super("ChoiceMouseWheelTest");
+        setLayout(new FlowLayout());
+
+        Choice choice = new Choice();
+
+        addWindowListener(new WindowAdapter() {
+            @Override
+            public void windowClosing(WindowEvent e) {
+                System.exit(0);
+            }
+        });
+
+        for(Integer i = 0; i < 50; i++) {
+            choice.add(i.toString());
+        }
+
+        choice.addItemListener(new ItemListener() {
+            public void itemStateChanged(ItemEvent e) {
+                itemChanged = true;
+            }
+        });
+        choice.addMouseWheelListener(new MouseWheelListener() {
+            public void mouseWheelMoved(MouseWheelEvent e) {
+                wheelMoved = true;
+            }
+        });
+
+        addMouseListener(new MouseAdapter() {
+            @Override
+            public void mouseExited(MouseEvent e) {
+                frameExited = true;
+            }
+        });
+
+        add(choice);
+        setSize(200, 300);
+        setVisible(true);
+        toFront();
+
+        try {
+            Robot robot = new Robot();
+            robot.setAutoDelay(100);
+            robot.waitForIdle();
+
+            Point pt = choice.getLocationOnScreen();
+            Dimension size = choice.getSize();
+            int x = pt.x + size.width / 3;
+            robot.mouseMove(x, pt.y + size.height / 2);
+
+            // Test mouse wheel over the choice
+            String name = Toolkit.getDefaultToolkit().getClass().getName();
+            if(!name.equals("sun.awt.X11.XToolkit")) { // mouse wheel doesn't work for the choice on X11, so skip it
+                robot.mouseWheel(1);
+                robot.waitForIdle();
+
+                if(!wheelMoved || !itemChanged) {
+                    throw new RuntimeException("Mouse Wheel over the choice failed!");
+                }
+            }
+
+            // Test mouse wheel over the drop-down list
+            robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
+            robot.waitForIdle();
+            robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
+            robot.waitForIdle();
+
+            int y = getLocationOnScreen().y + getSize().height;
+            while(!frameExited && y >= 0) { // move to the bottom of drop-down list
+                robot.mouseMove(x, --y);
+                robot.waitForIdle();
+            }
+
+            if(x < 0) {
+                throw new RuntimeException("Could not enter drop-down list!");
+            }
+
+            y -= choice.getHeight() / 2;
+            robot.mouseMove(x, y); // move to the last visible item in the drop-down list
+            robot.waitForIdle();
+
+            robot.mouseWheel(choice.getItemCount()); // wheel to the last item
+            robot.waitForIdle();
+
+            // click the last item
+            itemChanged = false;
+            robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
+            robot.waitForIdle();
+            robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
+            robot.waitForIdle();
+
+            if(!itemChanged || choice.getSelectedIndex() != choice.getItemCount() - 1) {
+                throw new RuntimeException("Mouse Wheel scroll position error!");
+            }
+
+            System.exit(0);
+
+        } catch (AWTException e) {
+            throw new RuntimeException("AWTException occurred - problem creating robot!");
+        }
+    }
+}
+
--- a/test/java/beans/Beans/6669869/TestDesignTime.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/beans/Beans/6669869/TestDesignTime.java	Fri Sep 16 13:56:52 2011 -0400
@@ -29,7 +29,6 @@
  */
 
 import java.beans.Beans;
-import sun.awt.SunToolkit;
 
 public class TestDesignTime implements Runnable {
     public static void main(String[] args) throws InterruptedException {
@@ -44,7 +43,6 @@
     }
 
     public void run() {
-        SunToolkit.createNewAppContext();
         if (Beans.isDesignTime()) {
             throw new Error("shared DesignTime property");
         }
--- a/test/java/beans/Beans/6669869/TestGuiAvailable.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/beans/Beans/6669869/TestGuiAvailable.java	Fri Sep 16 13:56:52 2011 -0400
@@ -30,7 +30,6 @@
 
 import java.awt.GraphicsEnvironment;
 import java.beans.Beans;
-import sun.awt.SunToolkit;
 
 public class TestGuiAvailable implements Runnable {
     public static void main(String[] args) throws InterruptedException {
@@ -45,7 +44,6 @@
     }
 
     public void run() {
-        SunToolkit.createNewAppContext();
         if (Beans.isGuiAvailable() == GraphicsEnvironment.isHeadless()) {
             throw new Error("shared GuiAvailable property");
         }
--- a/test/java/beans/Introspector/6380849/TestBeanInfo.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/beans/Introspector/6380849/TestBeanInfo.java	Fri Sep 16 13:56:52 2011 -0400
@@ -41,8 +41,6 @@
 import java.lang.ref.Reference;
 import java.lang.reflect.Field;
 
-import sun.awt.SunToolkit;
-
 public class TestBeanInfo implements Runnable {
 
     private static final String[] SEARCH_PATH = { "infos" }; // NON-NLS: package name
@@ -81,9 +79,6 @@
     private boolean passed;
 
     public void run() {
-        if (this.passed) {
-            SunToolkit.createNewAppContext();
-        }
         Introspector.flushCaches();
 
         test(FirstBean.class, FirstBeanBeanInfo.class);
@@ -98,7 +93,5 @@
         test(SecondBean.class, SecondBeanBeanInfo.class);
         test(ThirdBean.class, null);
         test(ThirdBeanBeanInfo.class, ThirdBeanBeanInfo.class);
-
-        this.passed = true;
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/beans/Introspector/7064279/Test7064279.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,75 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 7064279
+ * @summary Tests that Introspector does not have strong references to context class loader
+ * @author Sergey Malenkov
+ */
+
+import java.beans.Introspector;
+import java.io.File;
+import java.lang.ref.WeakReference;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+public class Test7064279 {
+
+    public static void main(String[] args) throws Exception {
+        WeakReference ref = new WeakReference(test("test.jar", "test.Test"));
+        try {
+            int[] array = new int[1024];
+            while (true) {
+                array = new int[array.length << 1];
+            }
+        }
+        catch (OutOfMemoryError error) {
+            System.gc();
+        }
+        if (null != ref.get()) {
+            throw new Error("ClassLoader is not released");
+        }
+    }
+
+    private static Object test(String jarName, String className) throws Exception {
+        StringBuilder sb = new StringBuilder(256);
+        sb.append("file:");
+        sb.append(System.getProperty("test.src", "."));
+        sb.append(File.separatorChar);
+        sb.append(jarName);
+
+        ClassLoader newLoader = new URLClassLoader(new URL[] { new URL(sb.toString()) });
+        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+
+        Thread.currentThread().setContextClassLoader(newLoader);
+        test(newLoader.loadClass(className));
+        Thread.currentThread().setContextClassLoader(oldLoader);
+
+        return newLoader;
+    }
+
+    private static void test(Class type) throws Exception {
+        Introspector.getBeanInfo(type);
+    }
+}
Binary file test/java/beans/Introspector/7064279/test.jar has changed
--- a/test/java/beans/Introspector/Test6660539.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/beans/Introspector/Test6660539.java	Fri Sep 16 13:56:52 2011 -0400
@@ -28,8 +28,6 @@
  * @author Sergey Malenkov
  */
 
-import sun.awt.SunToolkit;
-
 import java.beans.BeanInfo;
 import java.beans.IntrospectionException;
 import java.beans.Introspector;
@@ -49,7 +47,6 @@
     }
 
     public void run() {
-        SunToolkit.createNewAppContext();
         for (PropertyDescriptor pd : getPropertyDescriptors()) {
             if (pd.getDisplayName().equals(NAME))
                 throw new Error("shared BeanInfo cache");
--- a/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/beans/PropertyEditor/6380849/TestPropertyEditor.java	Fri Sep 16 13:56:52 2011 -0400
@@ -36,7 +36,6 @@
 import java.beans.PropertyEditor;
 import java.beans.PropertyEditorManager;
 
-import sun.awt.SunToolkit;
 import sun.beans.editors.BooleanEditor;
 import sun.beans.editors.ByteEditor;
 import sun.beans.editors.ColorEditor;
@@ -77,12 +76,7 @@
         }
     }
 
-    private boolean passed;
-
     public void run() {
-        if (this.passed) {
-            SunToolkit.createNewAppContext();
-        }
         PropertyEditorManager.registerEditor(ThirdBean.class, ThirdBeanEditor.class);
 
         test(FirstBean.class, FirstBeanEditor.class);
@@ -135,7 +129,5 @@
         test(Color.class, null);
         test(Font.class, null);
         test(Enumeration.class, EnumEditor.class);
-
-        this.passed = true;
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/io/etc/FileDescriptorSharing.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,336 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6322678 7082769
+ * @summary FileInputStream/FileOutputStream/RandomAccessFile allow file descriptor
+ *          to be closed while still in use.
+ * @run main/othervm FileDescriptorSharing
+ */
+
+import java.io.*;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+import java.util.concurrent.CountDownLatch;
+
+public class FileDescriptorSharing {
+
+    final static int numFiles = 10;
+    volatile static boolean fail;
+
+    public static void main(String[] args) throws Exception {
+        TestFinalizer();
+        TestMultipleFD();
+        TestIsValid();
+        MultiThreadedFD();
+    }
+
+    /**
+     * We shouldn't discard a file descriptor until all streams have
+     * finished with it
+     */
+    private static void TestFinalizer() throws Exception {
+        FileDescriptor fd = null;
+        File tempFile = new File("TestFinalizer1.txt");
+        tempFile.deleteOnExit();
+        try (Writer writer = new FileWriter(tempFile)) {
+            for (int i=0; i<5; i++) {
+                writer.write("test file content test file content");
+            }
+        }
+
+        FileInputStream fis1 = new FileInputStream(tempFile);
+        fd = fis1.getFD();
+        // Create a new FIS based on the existing FD (so the two FIS's share the same native fd)
+        try (FileInputStream fis2 = new FileInputStream(fd)) {
+            // allow fis1 to be gc'ed
+            fis1 = null;
+            int ret = 0;
+            while(ret >= 0) {
+                // encourage gc
+                System.gc();
+                // read from fis2 - when fis1 is gc'ed and finalizer is run, read will fail
+                System.out.print(".");
+                ret = fis2.read();
+            }
+        }
+
+        // variation of above. Use RandomAccessFile to obtain a filedescriptor
+        File testFinalizerFile = new File("TestFinalizer");
+        RandomAccessFile raf = new RandomAccessFile(testFinalizerFile, "rw");
+        raf.writeBytes("test file content test file content");
+        raf.seek(0L);
+        fd = raf.getFD();
+        try (FileInputStream fis3 = new FileInputStream(fd)) {
+            // allow raf to be gc'ed
+            raf = null;
+            int ret = 0;
+            while (ret >= 0) {
+                // encourage gc
+                System.gc();
+                /*
+                 * read from fis3 - when raf is gc'ed and finalizer is run,
+                 * fd should still be valid.
+                 */
+                System.out.print(".");
+                ret = fis3.read();
+            }
+            if(!fd.valid()) {
+                throw new RuntimeException("TestFinalizer() : FileDescriptor should be valid");
+            }
+        } finally {
+            testFinalizerFile.delete();
+        }
+    }
+
+    /**
+     * Exercise FileDispatcher close()/preClose()
+     */
+    private static void TestMultipleFD() throws Exception {
+        RandomAccessFile raf = null;
+        FileOutputStream fos = null;
+        FileInputStream fis = null;
+        FileChannel fc = null;
+        FileLock fileLock = null;
+
+        File test1 = new File("test1");
+        try {
+            raf = new RandomAccessFile(test1, "rw");
+            fos = new FileOutputStream(raf.getFD());
+            fis = new FileInputStream(raf.getFD());
+            fc = raf.getChannel();
+            fileLock = fc.lock();
+            raf.setLength(0L);
+            fos.flush();
+            fos.write("TEST".getBytes());
+        } finally {
+            if (fileLock != null) fileLock.release();
+            if (fis != null) fis.close();
+            if (fos != null) fos.close();
+            if (raf != null) raf.close();
+            test1.delete();
+        }
+
+        /*
+         * Close out in different order to ensure FD is not
+         * closed out too early
+         */
+        File test2 = new File("test2");
+        try {
+            raf = new RandomAccessFile(test2, "rw");
+            fos = new FileOutputStream(raf.getFD());
+            fis = new FileInputStream(raf.getFD());
+            fc = raf.getChannel();
+            fileLock = fc.lock();
+            raf.setLength(0L);
+            fos.flush();
+            fos.write("TEST".getBytes());
+        } finally {
+            if (fileLock != null) fileLock.release();
+            if (raf != null) raf.close();
+            if (fos != null) fos.close();
+            if (fis != null) fis.close();
+            test2.delete();
+        }
+
+        // one more time, fos first this time
+        File test3 = new File("test3");
+        try {
+            raf = new RandomAccessFile(test3, "rw");
+            fos = new FileOutputStream(raf.getFD());
+            fis = new FileInputStream(raf.getFD());
+            fc = raf.getChannel();
+            fileLock = fc.lock();
+            raf.setLength(0L);
+            fos.flush();
+            fos.write("TEST".getBytes());
+        } finally {
+            if (fileLock != null) fileLock.release();
+            if (fos != null) fos.close();
+            if (raf != null) raf.close();
+            if (fis != null) fis.close();
+            test3.delete();
+        }
+    }
+
+    /**
+     * Similar to TestMultipleFD() but this time we
+     * just get and use FileDescriptor.valid() for testing.
+     */
+    private static void TestIsValid() throws Exception {
+        FileDescriptor fd = null;
+        RandomAccessFile raf = null;
+        FileOutputStream fos = null;
+        FileInputStream fis = null;
+        FileChannel fc = null;
+
+        File test1 = new File("test1");
+        try {
+            raf = new RandomAccessFile(test1, "rw");
+            fd = raf.getFD();
+            fos = new FileOutputStream(fd);
+            fis = new FileInputStream(fd);
+        } finally {
+            try {
+                if (fis != null) fis.close();
+                if (fos != null) fos.close();
+                if (!fd.valid()) {
+                    throw new RuntimeException("FileDescriptor should be valid");
+                }
+                if (raf != null) raf.close();
+                if (fd.valid()) {
+                    throw new RuntimeException("close() called and FileDescriptor still valid");
+                }
+            } finally {
+                if (raf != null) raf.close();
+                test1.delete();
+            }
+        }
+
+        /*
+         * Close out in different order to ensure FD is not
+         * closed out too early
+         */
+        File test2 = new File("test2");
+        try {
+            raf = new RandomAccessFile(test2, "rw");
+            fd = raf.getFD();
+            fos = new FileOutputStream(fd);
+            fis = new FileInputStream(fd);
+        } finally {
+            try {
+                if (raf != null) raf.close();
+                if (fos != null) fos.close();
+                if (!fd.valid()) {
+                    throw new RuntimeException("FileDescriptor should be valid");
+                }
+                if (fis != null) fis.close();
+                if (fd.valid()) {
+                    throw new RuntimeException("close() called and FileDescriptor still valid");
+                }
+            } finally {
+                test2.delete();
+            }
+        }
+
+        // one more time, fos first this time
+        File test3 = new File("test3");
+        try {
+            raf = new RandomAccessFile(test3, "rw");
+            fd = raf.getFD();
+            fos = new FileOutputStream(fd);
+            fis = new FileInputStream(fd);
+        } finally {
+            try {
+                if (fos != null) fos.close();
+                if (raf != null) raf.close();
+                if (!fd.valid()) {
+                    throw new RuntimeException("FileDescriptor should be valid");
+                }
+                if (fis != null) fis.close();
+                if (fd.valid()) {
+                    throw new RuntimeException("close() called and FileDescriptor still valid");
+                }
+            } finally {
+                test3.delete();
+            }
+        }
+    }
+
+    /**
+     * Test concurrent access to the same fd.useCount field
+     */
+    private static void MultiThreadedFD() throws Exception {
+        RandomAccessFile raf = null;
+        FileDescriptor fd = null;
+        int numThreads = 2;
+        CountDownLatch done = new CountDownLatch(numThreads);
+        OpenClose[] fileOpenClose = new OpenClose[numThreads];
+        File MultipleThreadedFD = new File("MultipleThreadedFD");
+        try {
+            raf = new RandomAccessFile(MultipleThreadedFD, "rw");
+            fd = raf.getFD();
+            for(int count=0;count<numThreads;count++) {
+                fileOpenClose[count] = new OpenClose(fd, done);
+                fileOpenClose[count].start();
+            }
+            done.await();
+        } finally {
+            try {
+                if(raf != null) raf.close();
+                // fd should now no longer be valid
+                if(fd.valid()) {
+                    throw new RuntimeException("FileDescriptor should not be valid");
+                }
+                // OpenClose thread tests failed
+                if(fail) {
+                    throw new RuntimeException("OpenClose thread tests failed.");
+                }
+            } finally {
+                MultipleThreadedFD.delete();
+            }
+        }
+    }
+
+    /**
+     * A thread which will open and close a number of FileInputStreams and
+     * FileOutputStreams referencing the same native file descriptor.
+     */
+    private static class OpenClose extends Thread {
+        private FileDescriptor fd = null;
+        private CountDownLatch done;
+        FileInputStream[] fisArray = new FileInputStream[numFiles];
+        FileOutputStream[] fosArray = new FileOutputStream[numFiles];
+
+        OpenClose(FileDescriptor filedescriptor, CountDownLatch done) {
+            this.fd = filedescriptor;
+            this.done = done;
+        }
+
+        public void run() {
+             try {
+                 for(int i=0;i<numFiles;i++) {
+                     fisArray[i] = new FileInputStream(fd);
+                     fosArray[i] = new FileOutputStream(fd);
+                 }
+
+                 // Now close out
+                 for(int i=0;i<numFiles;i++) {
+                     if(fisArray[i] != null) fisArray[i].close();
+                     if(fosArray[i] != null) fosArray[i].close();
+                 }
+
+             } catch(IOException ioe) {
+                 System.out.println("OpenClose encountered IO issue :" + ioe);
+                 fail = true;
+             } finally {
+                 if (!fd.valid()) { // fd should still be valid given RAF reference
+                     System.out.println("OpenClose: FileDescriptor should be valid");
+                     fail = true;
+                 }
+                 done.countDown();
+             }
+         }
+    }
+}
--- a/test/java/lang/reflect/Generics/Probe.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/lang/reflect/Generics/Probe.java	Fri Sep 16 13:56:52 2011 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 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
@@ -23,7 +23,7 @@
 
 /*
  * @test
- * @bug 5003916 6704655 6873951
+ * @bug 5003916 6704655 6873951 6476261
  * @summary Testing parsing of signatures attributes of nested classes
  * @author Joseph D. Darcy
  */
@@ -38,12 +38,12 @@
           "java.util.concurrent.ConcurrentHashMap$KeyIterator",
           "java.util.concurrent.ConcurrentHashMap$ValueIterator",
           "java.util.AbstractList$ListItr",
-//          "java.util.EnumMap$EntryIterator",
-//          "java.util.EnumMap$KeyIterator",
-//          "java.util.EnumMap$ValueIterator",
-//          "java.util.IdentityHashMap$EntryIterator",
-//          "java.util.IdentityHashMap$KeyIterator",
-//          "java.util.IdentityHashMap$ValueIterator",
+          "java.util.EnumMap$EntryIterator",
+          "java.util.EnumMap$KeyIterator",
+          "java.util.EnumMap$ValueIterator",
+          "java.util.IdentityHashMap$EntryIterator",
+          "java.util.IdentityHashMap$KeyIterator",
+          "java.util.IdentityHashMap$ValueIterator",
           "java.util.WeakHashMap$EntryIterator",
           "java.util.WeakHashMap$KeyIterator",
           "java.util.WeakHashMap$ValueIterator",
@@ -52,12 +52,12 @@
           "java.util.HashMap$ValueIterator",
           "java.util.LinkedHashMap$EntryIterator",
           "java.util.LinkedHashMap$KeyIterator",
-          "java.util.LinkedHashMap$ValueIterator"})
+          "java.util.LinkedHashMap$ValueIterator",
+          "javax.swing.JComboBox$AccessibleJComboBox"})
 public class Probe {
     public static void main (String... args) throws Throwable {
         Classes classesAnnotation = (Probe.class).getAnnotation(Classes.class);
-        List<String> names =
-            new ArrayList<String>(asList(classesAnnotation.value()));
+        List<String> names = new ArrayList<>(asList(classesAnnotation.value()));
 
         int errs = 0;
         for(String name: names) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/lang/reflect/Generics/SignatureTest.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2006, 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6476261
+ * @summary More testing of parsing of signatures attributes of nested classes
+ */
+
+import java.lang.reflect.*;
+
+public class SignatureTest<T> {
+   class Inner1 {
+      class Inner11 {
+      }
+   }
+
+   public void f(SignatureTest<String>.Inner1.Inner11 x) {}
+   public void g(SignatureTest<String>.Inner1 x) {}
+
+   public static void main(String[] args) throws Exception {
+      Class clazz = SignatureTest.class;
+      for (Method m : clazz.getDeclaredMethods()) {
+          System.out.println();
+          System.out.println(m.toString());
+          System.out.println(m.toGenericString());
+          System.out.println(m.getGenericParameterTypes());
+      }
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/lang/reflect/Generics/TestBadSignatures.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6832374 7052898
+ * @summary Test bad signatures get a GenericSignatureFormatError thrown.
+ * @author Joseph D. Darcy
+ */
+
+import java.lang.reflect.*;
+import sun.reflect.generics.parser.SignatureParser;
+
+public class TestBadSignatures {
+    public static void main(String[] args) {
+        String[] badSignatures = {
+            // Missing ":" after first type bound
+            "<T:Lfoo/tools/nsc/symtab/Names;Lfoo/tools/nsc/symtab/Symbols;",
+
+            // Arrays improperly indicated for exception information
+            "<E:Ljava/lang/Exception;>(TE;[Ljava/lang/RuntimeException;)V^[TE;",
+        };
+
+        for(String badSig : badSignatures) {
+            try {
+                SignatureParser.make().parseMethodSig(badSig);
+                throw new RuntimeException("Expected GenericSignatureFormatError for " +
+                                           badSig);
+            } catch(GenericSignatureFormatError gsfe) {
+                System.out.println(gsfe.toString()); // Expected
+            }
+        }
+    }
+}
--- a/test/java/net/URI/Test.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/net/URI/Test.java	Fri Sep 16 13:56:52 2011 -0400
@@ -23,7 +23,7 @@
 
 /* @test
  * @summary Unit test for java.net.URI
- * @bug 4464135 4505046 4503239 4438319 4991359 4866303 7023363
+ * @bug 4464135 4505046 4503239 4438319 4991359 4866303 7023363 7041800
  * @author Mark Reinhold
  */
 
@@ -1428,6 +1428,8 @@
         gt(s, new URI("http://jag:CafeBabe@java.sun.com:94/b/c/d?q#f"));
         lt(s, new URI("http://jag:cafebabe@java.sun.com:94/b/c/d?r#f"));
         lt(s, new URI("http://jag:cafebabe@java.sun.com:94/b/c/d?q#g"));
+        eq(new URI("http://host/a%00bcd"), new URI("http://host/a%00bcd"));
+        ne(new URI("http://host/a%00bcd"), new URI("http://host/aZ00bcd"));
 
         lt("p", "s:p");
         lt("s:p", "T:p");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/java/text/Bidi/Bug7042148.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 7042148
+ * @summary verify that Bidi.baseIsLeftToRight() returns the correct value even if an incorrect position is set in the given AttributedCharacterIterator.
+ */
+import java.awt.font.*;
+import java.text.*;
+import java.util.*;
+
+public class Bug7042148 {
+
+    private static boolean err = false;
+
+    public static void main(String[] args) {
+        testDirection();
+
+        if (err) {
+            throw new RuntimeException("Failed");
+        } else {
+            System.out.println("Passed.");
+        }
+    }
+
+    private static void testDirection() {
+        Map attrLTR = new HashMap();
+        attrLTR.put(TextAttribute.RUN_DIRECTION,
+                    TextAttribute.RUN_DIRECTION_LTR);
+        Map attrRTL = new HashMap();
+        attrRTL.put(TextAttribute.RUN_DIRECTION,
+                    TextAttribute.RUN_DIRECTION_RTL);
+
+        String str1 = "A\u05e0";
+        String str2 = "\u05e0B";
+
+        test(str1, attrLTR, Bidi.DIRECTION_LEFT_TO_RIGHT);
+        test(str1, attrRTL, Bidi.DIRECTION_RIGHT_TO_LEFT);
+        test(str2, attrLTR, Bidi.DIRECTION_LEFT_TO_RIGHT);
+        test(str2, attrRTL, Bidi.DIRECTION_RIGHT_TO_LEFT);
+    }
+
+    private static void test(String text, Map attr, int dirFlag) {
+        boolean expected = (dirFlag == Bidi.DIRECTION_LEFT_TO_RIGHT);
+
+        Bidi bidi = new Bidi(text, dirFlag);
+        boolean got = bidi.baseIsLeftToRight();
+        if (got != expected) {
+            err = true;
+            System.err.println("wrong Bidi(String, int).baseIsLeftToRight() value: " +
+                               "\n\ttext=" + text +
+                               "\n\tExpected=" + expected +
+                               "\n\tGot=" + got);
+        }
+
+        AttributedString as = new AttributedString(text, attr);
+        AttributedCharacterIterator itr = as.getIterator();
+        itr.last();
+        itr.next();
+        bidi = new Bidi(itr);
+        got = bidi.baseIsLeftToRight();
+        if (got != expected) {
+            err = true;
+            System.err.println("Wrong Bidi(AttributedCharacterIterator).baseIsLeftToRight() value: " +
+                               "\n\ttext=" + text +
+                               "\n\tExpected=" + expected +
+                               "\n\tGot=" + got);
+        }
+    }
+
+}
--- a/test/java/util/Locale/LocaleCategory.sh	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/util/Locale/LocaleCategory.sh	Fri Sep 16 13:56:52 2011 -0400
@@ -1,7 +1,7 @@
 #!/bin/sh
 #
 # @test
-# @bug 4700857 6997928
+# @bug 4700857 6997928 7079486
 # @summary tests for Locale.getDefault(Locale.Category) and 
 #    Locale.setDefault(Locale.Category, Locale)
 # @build LocaleCategory
@@ -34,7 +34,7 @@
     PS=":"
     FS="/"
     ;;
-  Windows* )
+  Windows* | CYGWIN* )
     PS=";"
     FS="\\"
     ;;
--- a/test/java/util/concurrent/Phaser/Arrive.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/java/util/concurrent/Phaser/Arrive.java	Fri Sep 16 13:56:52 2011 -0400
@@ -45,9 +45,12 @@
 
 public class Arrive {
     void test(String[] args) throws Throwable {
+        for (int i = 0; i < 100; ++i)
+            doTest(args);
+    }
+    void doTest(String[] args) throws Throwable {
         final int n = ThreadLocalRandom.current().nextInt(1, 10);
-        final int nthreads = n*3/2;
-        final Phaser startingGate = new Phaser(nthreads);
+        final Phaser startingGate = new Phaser(n);
         final Phaser phaser = new Phaser(n);
         final List<Thread> threads = new ArrayList<Thread>();
         final AtomicInteger count0 = new AtomicInteger(0);
@@ -64,14 +67,14 @@
             else
                 fail();
         }};
-        for (int i = 0; i < nthreads; i++)
+        for (int i = 0; i < n; i++)
             threads.add(new Thread(task));
         for (Thread thread : threads)
             thread.start();
         for (Thread thread : threads)
             thread.join();
         equal(count0.get(), n);
-        equal(count1.get(), nthreads-n);
+        equal(count1.get(), 0);
         equal(phaser.getPhase(), 1);
     }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/swing/text/html/TableView/7030332/bug7030332.html	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,12 @@
+<html>
+<body>
+<applet  code="bug7030332.class" width=600 height=400></applet>
+
+Compare Golden Images with rendered JEditorPane.
+They should looks simalar in each line. Pay attention to:
+
+1. Border width around tables
+2. Border width around cells
+
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/swing/text/html/TableView/7030332/bug7030332.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,98 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/* @test
+   @bug 7030332
+   @summary Default borders in tables looks incorrect JEditorPane
+   @author Pavel Porvatov
+ * @run applet/manual=yesno bug7030332.html
+*/
+
+import javax.swing.*;
+import java.awt.*;
+import java.net.URL;
+
+public class bug7030332 extends JApplet {
+    public static final String[] HTML_SAMPLES = new String[]{
+            "<table border><tr><th>Column1</th><th>Column2</th></tr></table>",
+            "<table border=\"\"><tr><th>Column1</th><th>Column2</th></tr></table>",
+            "<table border=\"1\"><tr><th>Column1</th><th>Column2</th></tr></table>",
+            "<table border=\"2\"><tr><th>Column1</th><th>Column2</th></tr></table>",
+    };
+
+    public static void main(String[] args) throws Exception {
+        SwingUtilities.invokeLater(new Runnable() {
+            public void run() {
+                JFrame frame = new JFrame();
+
+                frame.setContentPane(createContentPane());
+                frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+                frame.setSize(600, 400);
+                frame.setLocationRelativeTo(null);
+
+                frame.setVisible(true);
+
+            }
+        });
+    }
+
+    public void init() {
+        try {
+            SwingUtilities.invokeAndWait(new Runnable() {
+                public void run() {
+                    setContentPane(createContentPane());
+                }
+            });
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    private static Container createContentPane() {
+        JPanel result = new JPanel(new GridLayout(HTML_SAMPLES.length + 1, 3, 10, 10));
+
+        result.add(new JLabel("Html code"));
+        result.add(new JLabel("Golden image"));
+        result.add(new JLabel("JEditorPane"));
+
+        for (int i = 0; i < HTML_SAMPLES.length; i++) {
+            String htmlSample = HTML_SAMPLES[i];
+
+            JTextArea textArea = new JTextArea(htmlSample);
+
+            textArea.setLineWrap(true);
+
+            result.add(textArea);
+
+            String imageName = "sample" + i + ".png";
+            URL resource = bug7030332.class.getResource(imageName);
+
+            result.add(resource == null ? new JLabel(imageName + " not found") :
+                    new JLabel(new ImageIcon(resource), SwingConstants.LEFT));
+
+            result.add(new JEditorPane("text/html", htmlSample));
+        }
+
+        return result;
+    }
+}
Binary file test/javax/swing/text/html/TableView/7030332/sample0.png has changed
Binary file test/javax/swing/text/html/TableView/7030332/sample1.png has changed
Binary file test/javax/swing/text/html/TableView/7030332/sample2.png has changed
Binary file test/javax/swing/text/html/TableView/7030332/sample3.png has changed
Binary file test/javax/swing/text/html/TableView/7030332/sample4.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/krb5/auto/DupEtypes.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,63 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 7067974
+ * @summary multiple ETYPE-INFO-ENTRY with same etype and different salt
+ * @compile -XDignore.symbol.file DupEtypes.java
+ * @run main/othervm DupEtypes 1
+ * @run main/othervm DupEtypes 2
+ * @run main/othervm/fail DupEtypes 3
+ * @run main/othervm DupEtypes 4
+ * @run main/othervm DupEtypes 5
+ */
+
+import sun.security.jgss.GSSUtil;
+
+public class DupEtypes {
+
+    public static void main(String[] args) throws Exception {
+
+        OneKDC kdc = new OneKDC(null);
+        kdc.writeJAASConf();
+
+        // Different test cases, read KDC.processAsReq for details
+        kdc.setOption(KDC.Option.DUP_ETYPE, Integer.parseInt(args[0]));
+
+        Context c, s;
+        c = Context.fromJAAS("client");
+        s = Context.fromJAAS("server");
+
+        c.startAsClient(OneKDC.SERVER, GSSUtil.GSS_KRB5_MECH_OID);
+        s.startAsServer(GSSUtil.GSS_KRB5_MECH_OID);
+
+        Context.handshake(c, s);
+
+        Context.transmit("i say high --", c, s);
+        Context.transmit("   you say low", s, c);
+
+        s.dispose();
+        c.dispose();
+    }
+}
--- a/test/sun/security/krb5/auto/KDC.java	Thu Sep 15 13:59:13 2011 -0400
+++ b/test/sun/security/krb5/auto/KDC.java	Fri Sep 16 13:56:52 2011 -0400
@@ -174,6 +174,10 @@
          * Set all name-type to a value in response
          */
         RESP_NT,
+        /**
+         * Multiple ETYPE-INFO-ENTRY with same etype but different salt
+         */
+        DUP_ETYPE,
     };
 
     static {
@@ -881,48 +885,104 @@
             bFlags[Krb5.TKT_OPTS_INITIAL] = true;
 
             // Creating PA-DATA
-            int[] epas = eTypes;
-            if (options.containsKey(KDC.Option.RC4_FIRST_PREAUTH)) {
-                for (int i=1; i<epas.length; i++) {
-                    if (epas[i] == EncryptedData.ETYPE_ARCFOUR_HMAC) {
-                        epas[i] = epas[0];
-                        epas[0] = EncryptedData.ETYPE_ARCFOUR_HMAC;
+            DerValue[] pas2 = null, pas = null;
+            if (options.containsKey(KDC.Option.DUP_ETYPE)) {
+                int n = (Integer)options.get(KDC.Option.DUP_ETYPE);
+                switch (n) {
+                    case 1:     // customer's case in 7067974
+                        pas2 = new DerValue[] {
+                            new DerValue(new ETypeInfo2(1, null, null).asn1Encode()),
+                            new DerValue(new ETypeInfo2(1, "", null).asn1Encode()),
+                            new DerValue(new ETypeInfo2(1, OneKDC.REALM, new byte[]{1}).asn1Encode()),
+                        };
+                        pas = new DerValue[] {
+                            new DerValue(new ETypeInfo(1, null).asn1Encode()),
+                            new DerValue(new ETypeInfo(1, "").asn1Encode()),
+                            new DerValue(new ETypeInfo(1, OneKDC.REALM).asn1Encode()),
+                        };
+                        break;
+                    case 2:     // we still reject non-null s2kparams and prefer E2 over E
+                        pas2 = new DerValue[] {
+                            new DerValue(new ETypeInfo2(1, OneKDC.REALM, new byte[]{1}).asn1Encode()),
+                            new DerValue(new ETypeInfo2(1, null, null).asn1Encode()),
+                            new DerValue(new ETypeInfo2(1, "", null).asn1Encode()),
+                        };
+                        pas = new DerValue[] {
+                            new DerValue(new ETypeInfo(1, OneKDC.REALM).asn1Encode()),
+                            new DerValue(new ETypeInfo(1, null).asn1Encode()),
+                            new DerValue(new ETypeInfo(1, "").asn1Encode()),
+                        };
+                        break;
+                    case 3:     // but only E is wrong
+                        pas = new DerValue[] {
+                            new DerValue(new ETypeInfo(1, OneKDC.REALM).asn1Encode()),
+                            new DerValue(new ETypeInfo(1, null).asn1Encode()),
+                            new DerValue(new ETypeInfo(1, "").asn1Encode()),
+                        };
+                        break;
+                    case 4:     // we also ignore rc4-hmac
+                        pas = new DerValue[] {
+                            new DerValue(new ETypeInfo(23, "ANYTHING").asn1Encode()),
+                            new DerValue(new ETypeInfo(1, null).asn1Encode()),
+                            new DerValue(new ETypeInfo(1, "").asn1Encode()),
+                        };
+                        break;
+                    case 5:     // "" should be wrong, but we accept it now
+                                // See s.s.k.internal.PAData$SaltAndParams
+                        pas = new DerValue[] {
+                            new DerValue(new ETypeInfo(1, "").asn1Encode()),
+                            new DerValue(new ETypeInfo(1, null).asn1Encode()),
+                        };
+                        break;
+                }
+            } else {
+                int[] epas = eTypes;
+                if (options.containsKey(KDC.Option.RC4_FIRST_PREAUTH)) {
+                    for (int i=1; i<epas.length; i++) {
+                        if (epas[i] == EncryptedData.ETYPE_ARCFOUR_HMAC) {
+                            epas[i] = epas[0];
+                            epas[0] = EncryptedData.ETYPE_ARCFOUR_HMAC;
+                            break;
+                        }
+                    };
+                } else if (options.containsKey(KDC.Option.ONLY_ONE_PREAUTH)) {
+                    epas = new int[] { eTypes[0] };
+                }
+                pas2 = new DerValue[epas.length];
+                for (int i=0; i<epas.length; i++) {
+                    pas2[i] = new DerValue(new ETypeInfo2(
+                            epas[i],
+                            epas[i] == EncryptedData.ETYPE_ARCFOUR_HMAC ?
+                                null : getSalt(body.cname),
+                            null).asn1Encode());
+                }
+                boolean allOld = true;
+                for (int i: eTypes) {
+                    if (i == EncryptedData.ETYPE_AES128_CTS_HMAC_SHA1_96 ||
+                            i == EncryptedData.ETYPE_AES256_CTS_HMAC_SHA1_96) {
+                        allOld = false;
                         break;
                     }
-                };
-            } else if (options.containsKey(KDC.Option.ONLY_ONE_PREAUTH)) {
-                epas = new int[] { eTypes[0] };
+                }
+                if (allOld) {
+                    pas = new DerValue[epas.length];
+                    for (int i=0; i<epas.length; i++) {
+                        pas[i] = new DerValue(new ETypeInfo(
+                                epas[i],
+                                epas[i] == EncryptedData.ETYPE_ARCFOUR_HMAC ?
+                                    null : getSalt(body.cname)
+                                ).asn1Encode());
+                    }
+                }
             }
 
-            DerValue[] pas = new DerValue[epas.length];
-            for (int i=0; i<epas.length; i++) {
-                pas[i] = new DerValue(new ETypeInfo2(
-                        epas[i],
-                        epas[i] == EncryptedData.ETYPE_ARCFOUR_HMAC ?
-                            null : getSalt(body.cname),
-                        null).asn1Encode());
+            DerOutputStream eid;
+            if (pas2 != null) {
+                eid = new DerOutputStream();
+                eid.putSequence(pas2);
+                outPAs.add(new PAData(Krb5.PA_ETYPE_INFO2, eid.toByteArray()));
             }
-            DerOutputStream eid = new DerOutputStream();
-            eid.putSequence(pas);
-
-            outPAs.add(new PAData(Krb5.PA_ETYPE_INFO2, eid.toByteArray()));
-
-            boolean allOld = true;
-            for (int i: eTypes) {
-                if (i == EncryptedData.ETYPE_AES128_CTS_HMAC_SHA1_96 ||
-                        i == EncryptedData.ETYPE_AES256_CTS_HMAC_SHA1_96) {
-                    allOld = false;
-                    break;
-                }
-            }
-            if (allOld) {
-                for (int i=0; i<epas.length; i++) {
-                    pas[i] = new DerValue(new ETypeInfo(
-                            epas[i],
-                            epas[i] == EncryptedData.ETYPE_ARCFOUR_HMAC ?
-                                null : getSalt(body.cname)
-                            ).asn1Encode());
-                }
+            if (pas != null) {
                 eid = new DerOutputStream();
                 eid.putSequence(pas);
                 outPAs.add(new PAData(Krb5.PA_ETYPE_INFO, eid.toByteArray()));
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/HttpsProxyStackOverflow.java	Fri Sep 16 13:56:52 2011 -0400
@@ -0,0 +1,114 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6670868
+ * @summary StackOverFlow with bad authenticated Proxy tunnels
+ */
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.Authenticator;
+import java.net.Proxy;
+import java.net.InetSocketAddress;
+import java.net.PasswordAuthentication;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.net.URL;
+import javax.net.ssl.HttpsURLConnection;
+
+public class HttpsProxyStackOverflow {
+
+    public static void main(String[] args) throws IOException {
+        BadAuthProxyServer server = startServer();
+        doClient(server);
+    }
+
+    static void doClient(BadAuthProxyServer server) throws IOException {
+        // url doesn't matter since we will never make the connection
+        URL url = new URL("https://anythingwilldo/");
+        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection(
+                      new Proxy(Proxy.Type.HTTP,
+                      new InetSocketAddress("localhost", server.getPort())));
+        try {
+            InputStream is = conn.getInputStream();
+        } catch(IOException unused) {
+            // no real server, IOException is expected.
+            // failure if StackOverflowError
+        } finally {
+            server.done();
+        }
+    }
+
+    static BadAuthProxyServer startServer() throws IOException {
+        Authenticator.setDefault(new Authenticator() {
+            @Override
+            protected PasswordAuthentication getPasswordAuthentication() {
+                return new PasswordAuthentication("xyz", "xyz".toCharArray());
+            }
+            });
+
+        BadAuthProxyServer server = new BadAuthProxyServer(new ServerSocket(0));
+        Thread serverThread = new Thread(server);
+        serverThread.start();
+        return server;
+    }
+
+    static class BadAuthProxyServer implements Runnable {
+        private ServerSocket ss;
+        private boolean done;
+
+        BadAuthProxyServer(ServerSocket ss) { this.ss = ss; }
+
+        public void run() {
+            try {
+               while (!done) {
+                    Socket s = ss.accept();
+                    s.getOutputStream().write(
+                            ("HTTP/1.1 407\nProxy-Authenticate:Basic " +
+                            "realm=\"WallyWorld\"\n\n").getBytes("US-ASCII"));
+
+                    s.close();
+
+                    s = ss.accept();
+                    s.close();
+                }
+            } catch (IOException e) {
+                // Ignore IOException when the main thread calls done
+            } finally {
+                try { ss.close(); } catch (IOException e) {}
+            }
+        }
+
+        int getPort() {
+            return ss.getLocalPort();
+        }
+
+        void done() {
+            try { ss.close(); } catch (IOException e) {}
+            done = true;
+        }
+    }
+}
+