changeset 22606:9c09d5a52807

Merge
author kvn
date Wed, 22 Jan 2014 14:17:32 -0800
parents dba3d6b22818 4f8a178f0d26
children ba232b417248
files jdk/make/CompileDemos.gmk jdk/make/src/classes/build/tools/classfile/RemoveMethods.java jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java jdk/src/share/classes/sun/awt/AWTPermissionFactory.java jdk/src/solaris/bin/java_md_solinux.c jdk/test/ProblemList.txt jdk/test/com/sun/security/auth/callback/DialogCallbackHandler/Default.java jdk/test/java/lang/management/MemoryMXBean/LowMemoryTestConcMarkSweepGC.sh jdk/test/java/lang/management/MemoryMXBean/LowMemoryTestParallelGC.sh jdk/test/java/lang/management/MemoryMXBean/LowMemoryTestSerialGC.sh jdk/test/java/util/logging/Listeners.java jdk/test/java/util/logging/ListenersWithSM.java jdk/test/java/util/logging/java.policy jdk/test/sun/security/krb5/TimeInCCache.java jdk/test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java jdk/test/tools/launcher/ExecutionEnvironment.java jdk/test/tools/pack200/NoBeans.java jdk/test/tools/pack200/Reflect.java
diffstat 702 files changed, 11546 insertions(+), 10043 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Mon Jan 20 17:16:05 2014 +0100
+++ b/.hgtags	Wed Jan 22 14:17:32 2014 -0800
@@ -242,3 +242,4 @@
 f5b521ade7a35cea18df78ee86322207729f5611 jdk8-b118
 87b743b2263cc53955266411b7797b365a0fb050 jdk8-b119
 a1ee9743f4ee165eae59389a020f2552f895dac8 jdk8-b120
+13b877757b0b1c0d5813298df85364f41d7ba6fe jdk9-b00
--- a/.hgtags-top-repo	Mon Jan 20 17:16:05 2014 +0100
+++ b/.hgtags-top-repo	Wed Jan 22 14:17:32 2014 -0800
@@ -242,3 +242,4 @@
 0a6db1aac998cdc88e52f9adb97d40ca5b0f1da6 jdk8-b118
 9e90215673be68a3e77a9e444e4232076373734d jdk8-b119
 cd3825b2983045784d6fc6d1729c799b08215752 jdk8-b120
+1e1f86d5d4e22c15a9bf9f1581acddb8c59abae2 jdk9-b00
--- a/.jcheck/conf	Mon Jan 20 17:16:05 2014 +0100
+++ b/.jcheck/conf	Wed Jan 22 14:17:32 2014 -0800
@@ -1,1 +1,1 @@
-project=jdk8
+project=jdk9
--- a/Makefile	Mon Jan 20 17:16:05 2014 +0100
+++ b/Makefile	Wed Jan 22 14:17:32 2014 -0800
@@ -66,7 +66,7 @@
     # First, find out the valid targets
     # Run the makefile with an arbitrary SPEC using -p -q (quiet dry-run and dump rules) to find
     # available PHONY targets. Use this list as valid targets to pass on to the repeated calls.
-    all_phony_targets=$(filter-out $(global_targets) bundles bundles-only final-images-only, $(strip $(shell \
+    all_phony_targets=$(filter-out $(global_targets), $(strip $(shell \
         cd $(root_dir) && $(MAKE) -p -q FRC SPEC=$(firstword $(SPEC)) | \
         grep ^.PHONY: | head -n 1 | cut -d " " -f 2-)))
 
@@ -79,10 +79,6 @@
   endif
 endif
 
-# Include this after a potential spec file has been included so that the bundles target
-# has access to the spec variables.
-include $(root_dir)/make/Jprt.gmk
-
 # Here are "global" targets, i.e. targets that can be executed without specifying a single configuration.
 # If you addd more global targets, please update the variable global_targets in MakeHelpers.
 
--- a/common/autoconf/generated-configure.sh	Mon Jan 20 17:16:05 2014 +0100
+++ b/common/autoconf/generated-configure.sh	Wed Jan 22 14:17:32 2014 -0800
@@ -3865,7 +3865,7 @@
 #CUSTOM_AUTOCONF_INCLUDE
 
 # Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1384422786
+DATE_WHEN_GENERATED=1389186094
 
 ###############################################################################
 #
@@ -29625,7 +29625,7 @@
   fi
 
   CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
-  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'"
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
 
   CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
       -I${JDK_OUTPUTDIR}/include \
--- a/common/autoconf/toolchain.m4	Mon Jan 20 17:16:05 2014 +0100
+++ b/common/autoconf/toolchain.m4	Wed Jan 22 14:17:32 2014 -0800
@@ -936,7 +936,7 @@
   fi
 
   CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DARCH='\"$OPENJDK_TARGET_CPU_LEGACY\"' -D$OPENJDK_TARGET_CPU_LEGACY"
-  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"$RELEASE\"'"
+  CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DRELEASE='\"\$(RELEASE)\"'"
 
   CCXXFLAGS_JDK="$CCXXFLAGS_JDK \
       -I${JDK_OUTPUTDIR}/include \
--- a/common/autoconf/version-numbers	Mon Jan 20 17:16:05 2014 +0100
+++ b/common/autoconf/version-numbers	Wed Jan 22 14:17:32 2014 -0800
@@ -24,7 +24,7 @@
 #
 
 JDK_MAJOR_VERSION=1
-JDK_MINOR_VERSION=8
+JDK_MINOR_VERSION=9
 JDK_MICRO_VERSION=0
 JDK_UPDATE_VERSION=
 LAUNCHER_NAME=openjdk
--- a/corba/.hgtags	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/.hgtags	Wed Jan 22 14:17:32 2014 -0800
@@ -242,3 +242,4 @@
 d6820a414f182a011a53a29a52370c696cd58dab jdk8-b118
 379fc7609beb7a3d85ebc0cc21a8a51c60d3c7d3 jdk8-b119
 53fd772d28c8a9f0f43adfc06f75f6b3cfa93cb5 jdk8-b120
+a7d3638deb2f4e33217b1ecf889479e90f9e5b50 jdk9-b00
--- a/corba/.jcheck/conf	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/.jcheck/conf	Wed Jan 22 14:17:32 2014 -0800
@@ -1,1 +1,1 @@
-project=jdk8
+project=jdk9
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/StubDelegateImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/RepIdDelegator.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_de.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_es.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_fr.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_it.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ja.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_ko.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_CN.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_zh_TW.properties	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/IDLNameTranslatorImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2009, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/InvocationHandlerFactoryImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/impl/transport/DefaultSocketFactoryImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/impl/transport/DefaultSocketFactoryImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, 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
--- a/corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, 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
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2013, 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
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/idl_zh_CN.prp	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2013, 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
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_ja.prp	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2013, 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
--- a/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/toJavaPortable_zh_CN.prp	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 1999, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1999, 2013, 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
--- a/corba/src/share/classes/javax/rmi/CORBA/Stub.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/javax/rmi/CORBA/Stub.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, 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
--- a/corba/src/share/classes/javax/rmi/CORBA/Util.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/javax/rmi/CORBA/Util.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, 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
--- a/corba/src/share/classes/javax/rmi/PortableRemoteObject.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/javax/rmi/PortableRemoteObject.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, 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
--- a/corba/src/share/classes/sun/rmi/rmic/iiop/CompoundType.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/corba/src/share/classes/sun/rmi/rmic/iiop/CompoundType.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2007, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, 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
--- a/hotspot/.hgtags	Mon Jan 20 17:16:05 2014 +0100
+++ b/hotspot/.hgtags	Wed Jan 22 14:17:32 2014 -0800
@@ -402,3 +402,4 @@
 ce42d815dd2130250acf6132b51b624001638f0d jdk8-b119
 05fedd51e40da22c9460bf17c7185889e435db3d hs25-b62
 fca262db9c4309f99d2f5542ab0780e45c2f1578 jdk8-b120
+ce2d7e46f3c7e41241f3b407705a4071323a11ab jdk9-b00
--- a/hotspot/.jcheck/conf	Mon Jan 20 17:16:05 2014 +0100
+++ b/hotspot/.jcheck/conf	Wed Jan 22 14:17:32 2014 -0800
@@ -1,1 +1,1 @@
-project=jdk8
+project=jdk9
--- a/jaxp/.hgtags	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/.hgtags	Wed Jan 22 14:17:32 2014 -0800
@@ -242,3 +242,4 @@
 e4e5069250e717defcb556e2f6be291460988c51 jdk8-b118
 69a930376c70beb9877970128bad0f04cb0c6eb1 jdk8-b119
 64d8b228a72cf9082b1a9a881c81188ccffde234 jdk8-b120
+4045edd35e8ba73bfdc23ce8961b9640d4145fe5 jdk9-b00
--- a/jaxp/.jcheck/conf	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/.jcheck/conf	Wed Jan 22 14:17:32 2014 -0800
@@ -1,1 +1,1 @@
-project=jdk8
+project=jdk9
--- a/jaxp/src/com/sun/org/apache/xalan/internal/XalanConstants.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/XalanConstants.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, 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
--- a/jaxp/src/com/sun/org/apache/xalan/internal/utils/FeatureManager.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/utils/FeatureManager.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, 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
--- a/jaxp/src/com/sun/org/apache/xalan/internal/utils/FeaturePropertyBase.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xalan/internal/utils/FeaturePropertyBase.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2013, 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
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/Constants.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/Constants.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/PropertyManager.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, 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
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XML11EntityScanner.java	Wed Jan 22 14:17:32 2014 -0800
@@ -61,14 +61,13 @@
 
 package com.sun.org.apache.xerces.internal.impl;
 
-import java.io.IOException;
-
 import com.sun.org.apache.xerces.internal.impl.msg.XMLMessageFormatter;
+import com.sun.org.apache.xerces.internal.util.XML11Char;
 import com.sun.org.apache.xerces.internal.util.XMLChar;
-import com.sun.org.apache.xerces.internal.util.XML11Char;
 import com.sun.org.apache.xerces.internal.util.XMLStringBuffer;
 import com.sun.org.apache.xerces.internal.xni.QName;
 import com.sun.org.apache.xerces.internal.xni.XMLString;
+import java.io.IOException;
 
 /**
  * Implements the entity scanner methods in
@@ -78,6 +77,7 @@
  *
  * @author Michael Glavassevich, IBM
  * @author Neil Graham, IBM
+ * @version $Id: XML11EntityScanner.java,v 1.5 2010-11-01 04:39:40 joehw Exp $
  */
 
 public class XML11EntityScanner
@@ -108,7 +108,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // peek at character
@@ -136,7 +136,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan character
@@ -148,7 +148,7 @@
             fCurrentEntity.columnNumber = 1;
             if (fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = (char)c;
-                load(1, false);
+                load(1, false, true);
             }
             if (c == '\r' && external) {
                 int cc = fCurrentEntity.ch[fCurrentEntity.position++];
@@ -183,7 +183,7 @@
     public String scanNmtoken() throws IOException {
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan nmtoken
@@ -194,6 +194,7 @@
             if (XML11Char.isXML11Name(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -206,7 +207,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -214,6 +215,7 @@
             else if (XML11Char.isXML11NameHighSurrogate(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -226,7 +228,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         --fCurrentEntity.startPosition;
                         --fCurrentEntity.position;
                         break;
@@ -240,6 +242,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -252,7 +255,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -294,7 +297,7 @@
     public String scanName() throws IOException {
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan name
@@ -305,7 +308,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 1);
                     return symbol;
@@ -316,7 +319,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     --fCurrentEntity.position;
                     --fCurrentEntity.startPosition;
                     return null;
@@ -332,7 +335,7 @@
                 fCurrentEntity.ch[0] = ch;
                 fCurrentEntity.ch[1] = ch2;
                 offset = 0;
-                if (load(2, false)) {
+                if (load(2, false, true)) {
                     fCurrentEntity.columnNumber += 2;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 2);
                     return symbol;
@@ -348,6 +351,7 @@
             if (XML11Char.isXML11Name(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -360,7 +364,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -368,6 +372,7 @@
             else if (XML11Char.isXML11NameHighSurrogate(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -380,7 +385,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         --fCurrentEntity.position;
                         --fCurrentEntity.startPosition;
                         break;
@@ -394,6 +399,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -406,7 +412,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -449,7 +455,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan name
@@ -460,7 +466,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 1);
                     return symbol;
@@ -471,7 +477,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     --fCurrentEntity.position;
                     --fCurrentEntity.startPosition;
                     return null;
@@ -487,7 +493,7 @@
                 fCurrentEntity.ch[0] = ch;
                 fCurrentEntity.ch[1] = ch2;
                 offset = 0;
-                if (load(2, false)) {
+                if (load(2, false, true)) {
                     fCurrentEntity.columnNumber += 2;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 2);
                     return symbol;
@@ -503,6 +509,7 @@
             if (XML11Char.isXML11NCName(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -515,7 +522,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -523,6 +530,7 @@
             else if (XML11Char.isXML11NameHighSurrogate(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -535,7 +543,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         --fCurrentEntity.startPosition;
                         --fCurrentEntity.position;
                         break;
@@ -549,6 +557,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -561,7 +570,7 @@
                                          fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -610,7 +619,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan qualified name
@@ -621,7 +630,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     String name = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 1);
                     qname.setValues(null, name, name, null);
@@ -633,7 +642,7 @@
             if (++fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = ch;
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     --fCurrentEntity.startPosition;
                     --fCurrentEntity.position;
                     return false;
@@ -649,7 +658,7 @@
                 fCurrentEntity.ch[0] = ch;
                 fCurrentEntity.ch[1] = ch2;
                 offset = 0;
-                if (load(2, false)) {
+                if (load(2, false, true)) {
                     fCurrentEntity.columnNumber += 2;
                     String name = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 2);
                     qname.setValues(null, name, name, null);
@@ -674,6 +683,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -689,7 +699,7 @@
                         index = index - offset;
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -697,6 +707,7 @@
             else if (XML11Char.isXML11NameHighSurrogate(ch)) {
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -712,7 +723,7 @@
                         index = index - offset;
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         sawIncompleteSurrogatePair = true;
                         --fCurrentEntity.startPosition;
                         --fCurrentEntity.position;
@@ -728,6 +739,7 @@
                 }
                 if (++fCurrentEntity.position == fCurrentEntity.count) {
                     int length = fCurrentEntity.position - offset;
+                    invokeListeners(length);
                     if (length == fCurrentEntity.ch.length) {
                         // bad luck we have to resize our buffer
                         char[] tmp = new char[fCurrentEntity.ch.length << 1];
@@ -743,7 +755,7 @@
                         index = index - offset;
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -820,11 +832,11 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
         else if (fCurrentEntity.position == fCurrentEntity.count - 1) {
             fCurrentEntity.ch[0] = fCurrentEntity.ch[fCurrentEntity.count - 1];
-            load(1, false);
+            load(1, false, true);
             fCurrentEntity.position = 0;
             fCurrentEntity.startPosition = 0;
         }
@@ -846,7 +858,7 @@
                         fCurrentEntity.baseCharOffset += (fCurrentEntity.position - fCurrentEntity.startPosition);
                         fCurrentEntity.position = newlines;
                         fCurrentEntity.startPosition = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -869,7 +881,7 @@
                         fCurrentEntity.baseCharOffset += (fCurrentEntity.position - fCurrentEntity.startPosition);
                         fCurrentEntity.position = newlines;
                         fCurrentEntity.startPosition = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -961,11 +973,11 @@
         throws IOException {
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
         else if (fCurrentEntity.position == fCurrentEntity.count - 1) {
             fCurrentEntity.ch[0] = fCurrentEntity.ch[fCurrentEntity.count - 1];
-            load(1, false);
+            load(1, false, true);
             fCurrentEntity.startPosition = 0;
             fCurrentEntity.position = 0;
         }
@@ -987,7 +999,7 @@
                         fCurrentEntity.baseCharOffset += (fCurrentEntity.position - fCurrentEntity.startPosition);
                         fCurrentEntity.position = newlines;
                         fCurrentEntity.startPosition = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -1010,7 +1022,7 @@
                         fCurrentEntity.baseCharOffset += (fCurrentEntity.position - fCurrentEntity.startPosition);
                         fCurrentEntity.position = newlines;
                         fCurrentEntity.startPosition = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -1113,7 +1125,7 @@
         do {
             // load more characters, if needed
             if (fCurrentEntity.position == fCurrentEntity.count) {
-                load(0, true);
+                load(0, true, false);
             }
 
             boolean bNextEntity = false;
@@ -1127,7 +1139,7 @@
                                0,
                                fCurrentEntity.count - fCurrentEntity.position);
 
-              bNextEntity = load(fCurrentEntity.count - fCurrentEntity.position, false);
+              bNextEntity = load(fCurrentEntity.count - fCurrentEntity.position, false, false);
               fCurrentEntity.position = 0;
               fCurrentEntity.startPosition = 0;
             }
@@ -1140,7 +1152,7 @@
                 fCurrentEntity.baseCharOffset += (fCurrentEntity.position - fCurrentEntity.startPosition);
                 fCurrentEntity.position = fCurrentEntity.count;
                 fCurrentEntity.startPosition = fCurrentEntity.count;
-                load(0,true);
+                load(0,true, false);
                 return false;
             }
 
@@ -1160,7 +1172,7 @@
                             fCurrentEntity.baseCharOffset += (fCurrentEntity.position - fCurrentEntity.startPosition);
                             fCurrentEntity.position = newlines;
                             fCurrentEntity.startPosition = newlines;
-                            if (load(newlines, false)) {
+                            if (load(newlines, false, true)) {
                                 break;
                             }
                         }
@@ -1184,7 +1196,7 @@
                             fCurrentEntity.position = newlines;
                             fCurrentEntity.startPosition = newlines;
                             fCurrentEntity.count = newlines;
-                            if (load(newlines, false)) {
+                            if (load(newlines, false, true)) {
                                 break;
                             }
                         }
@@ -1309,7 +1321,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // skip character
@@ -1335,7 +1347,7 @@
             // handle newlines
             if (fCurrentEntity.position == fCurrentEntity.count) {
                 fCurrentEntity.ch[0] = (char)cc;
-                load(1, false);
+                load(1, false, true);
             }
             int ccc = fCurrentEntity.ch[++fCurrentEntity.position];
             if (ccc == '\n' || ccc == 0x85) {
@@ -1369,7 +1381,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
 
@@ -1397,7 +1409,7 @@
                         fCurrentEntity.columnNumber = 1;
                         if (fCurrentEntity.position == fCurrentEntity.count - 1) {
                             fCurrentEntity.ch[0] = (char)c;
-                            entityChanged = load(1, true);
+                            entityChanged = load(1, true, true);
                             if (!entityChanged) {
                                 // the load change the position to be 1,
                                 // need to restore it when entity not changed
@@ -1424,7 +1436,7 @@
                     if (!entityChanged)
                         fCurrentEntity.position++;
                     if (fCurrentEntity.position == fCurrentEntity.count) {
-                        load(0, true);
+                        load(0, true, true);
 
                         if(fCurrentEntity == null){
                         return true ;
@@ -1445,7 +1457,7 @@
                     fCurrentEntity.columnNumber = 1;
                     if (fCurrentEntity.position == fCurrentEntity.count - 1) {
                         fCurrentEntity.ch[0] = (char)c;
-                        entityChanged = load(1, true);
+                        entityChanged = load(1, true, true);
                         if (!entityChanged) {
                             // the load change the position to be 1,
                             // need to restore it when entity not changed
@@ -1463,7 +1475,7 @@
                 if (!entityChanged)
                     fCurrentEntity.position++;
                 if (fCurrentEntity.position == fCurrentEntity.count) {
-                    load(0, true);
+                    load(0, true, true);
 
                     if(fCurrentEntity == null){
                         return true ;
@@ -1496,7 +1508,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, true);
         }
 
         // skip string
@@ -1508,10 +1520,11 @@
                 return false;
             }
             if (i < length - 1 && fCurrentEntity.position == fCurrentEntity.count) {
+                invokeListeners(0);
                 System.arraycopy(fCurrentEntity.ch, fCurrentEntity.count - i - 1, fCurrentEntity.ch, 0, i + 1);
                 // REVISIT: Can a string to be skipped cross an
                 //          entity boundary? -Ac
-                if (load(i + 1, false)) {
+                if (load(i + 1, false, false)) {
                     fCurrentEntity.startPosition -= i + 1;
                     fCurrentEntity.position -= i + 1;
                     return false;
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java	Wed Jan 22 14:17:32 2014 -0800
@@ -20,34 +20,28 @@
 
 package com.sun.org.apache.xerces.internal.impl;
 
-import java.io.EOFException;
-import java.io.IOException;
-import java.util.Locale;
-import java.util.Vector;
-
-import com.sun.xml.internal.stream.Entity;
-import com.sun.xml.internal.stream.XMLBufferListener;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
 
 
 import com.sun.org.apache.xerces.internal.impl.io.ASCIIReader;
 import com.sun.org.apache.xerces.internal.impl.io.UCSReader;
 import com.sun.org.apache.xerces.internal.impl.io.UTF8Reader;
-
-
 import com.sun.org.apache.xerces.internal.impl.msg.XMLMessageFormatter;
 import com.sun.org.apache.xerces.internal.util.EncodingMap;
-
 import com.sun.org.apache.xerces.internal.util.SymbolTable;
 import com.sun.org.apache.xerces.internal.util.XMLChar;
 import com.sun.org.apache.xerces.internal.util.XMLStringBuffer;
-import com.sun.org.apache.xerces.internal.xni.QName;
-import com.sun.org.apache.xerces.internal.xni.XMLString;
+import com.sun.org.apache.xerces.internal.xni.*;
 import com.sun.org.apache.xerces.internal.xni.parser.XMLComponentManager;
 import com.sun.org.apache.xerces.internal.xni.parser.XMLConfigurationException;
-import com.sun.org.apache.xerces.internal.xni.*;
+import com.sun.xml.internal.stream.Entity;
+import com.sun.xml.internal.stream.XMLBufferListener;
+import java.io.EOFException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.util.Locale;
+import java.util.Vector;
 
 /**
  * Implements the entity scanner methods.
@@ -493,8 +487,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         }
 
         // peek at character
@@ -535,8 +528,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan character
@@ -546,9 +538,8 @@
             fCurrentEntity.lineNumber++;
             fCurrentEntity.columnNumber = 1;
             if (fCurrentEntity.position == fCurrentEntity.count) {
-                invokeListeners(1);
                 fCurrentEntity.ch[0] = (char)c;
-                load(1, false);
+                load(1, false, true);
             }
             if (c == '\r' && isExternal) {
                 if (fCurrentEntity.ch[fCurrentEntity.position++] != '\n') {
@@ -593,8 +584,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan nmtoken
@@ -626,7 +616,7 @@
                             fCurrentEntity.ch, 0, length);
                 }
                 offset = 0;
-                if (load(length, false)) {
+                if (load(length, false, false)) {
                     break;
                 }
             }
@@ -673,18 +663,16 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan name
         int offset = fCurrentEntity.position;
         if (XMLChar.isNameStart(fCurrentEntity.ch[offset])) {
             if (++fCurrentEntity.position == fCurrentEntity.count) {
-                invokeListeners(1);
                 fCurrentEntity.ch[0] = fCurrentEntity.ch[offset];
                 offset = 0;
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     String symbol = fSymbolTable.addSymbol(fCurrentEntity.ch, 0, 1);
 
@@ -721,7 +709,7 @@
                                 fCurrentEntity.ch, 0, length);
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -776,8 +764,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         }
 
         // scan qualified name
@@ -789,11 +776,10 @@
 
         if (XMLChar.isNameStart(fCurrentEntity.ch[offset])) {
             if (++fCurrentEntity.position == fCurrentEntity.count) {
-                invokeListeners(1);
                 fCurrentEntity.ch[0] = fCurrentEntity.ch[offset];
                 offset = 0;
 
-                if (load(1, false)) {
+                if (load(1, false, true)) {
                     fCurrentEntity.columnNumber++;
                     //adding into symbol table.
                     //XXX We are trying to add single character in SymbolTable??????
@@ -843,7 +829,7 @@
                         index = index - offset;
                     }
                     offset = 0;
-                    if (load(length, false)) {
+                    if (load(length, false, false)) {
                         break;
                     }
                 }
@@ -918,12 +904,10 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         } else if (fCurrentEntity.position == fCurrentEntity.count - 1) {
-            invokeListeners(0);
             fCurrentEntity.ch[0] = fCurrentEntity.ch[fCurrentEntity.count - 1];
-            load(1, false);
+            load(1, false, true);
             fCurrentEntity.position = 0;
         }
 
@@ -945,9 +929,8 @@
                     fCurrentEntity.columnNumber = 1;
                     if (fCurrentEntity.position == fCurrentEntity.count) {
                         offset = 0;
-                        invokeListeners(newlines);
                         fCurrentEntity.position = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -965,9 +948,8 @@
                     fCurrentEntity.columnNumber = 1;
                     if (fCurrentEntity.position == fCurrentEntity.count) {
                         offset = 0;
-                        invokeListeners(newlines);
                         fCurrentEntity.position = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -1070,13 +1052,10 @@
         }
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         } else if (fCurrentEntity.position == fCurrentEntity.count - 1) {
-            invokeListeners(0);
             fCurrentEntity.ch[0] = fCurrentEntity.ch[fCurrentEntity.count - 1];
-
-            load(1, false);
+            load(1, false, true);
             fCurrentEntity.position = 0;
         }
 
@@ -1099,10 +1078,9 @@
                     fCurrentEntity.lineNumber++;
                     fCurrentEntity.columnNumber = 1;
                     if (fCurrentEntity.position == fCurrentEntity.count) {
-                        invokeListeners(newlines);
                         offset = 0;
                         fCurrentEntity.position = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -1121,9 +1099,8 @@
                     fCurrentEntity.columnNumber = 1;
                     if (fCurrentEntity.position == fCurrentEntity.count) {
                         offset = 0;
-                        invokeListeners(newlines);
                         fCurrentEntity.position = newlines;
-                        if (load(newlines, false)) {
+                        if (load(newlines, false, true)) {
                             break;
                         }
                     }
@@ -1142,7 +1119,7 @@
             int i=0;
             for ( i = offset; i < fCurrentEntity.position; i++) {
                 fCurrentEntity.ch[i] = '\n';
-                whiteSpaceLookup[whiteSpaceLen++]=i;
+                storeWhiteSpace(i);
             }
 
             int length = fCurrentEntity.position - offset;
@@ -1163,25 +1140,15 @@
         }
 
         // scan literal value
-        while (fCurrentEntity.position < fCurrentEntity.count) {
-            c = fCurrentEntity.ch[fCurrentEntity.position++];
+        for (; fCurrentEntity.position<fCurrentEntity.count; fCurrentEntity.position++) {
+            c = fCurrentEntity.ch[fCurrentEntity.position];
             if ((c == quote &&
-                 (!fCurrentEntity.literal || isExternal))
-                || c == '%' || !XMLChar.isContent(c)) {
-                fCurrentEntity.position--;
+                    (!fCurrentEntity.literal || isExternal)) ||
+                    c == '%' || !XMLChar.isContent(c)) {
                 break;
             }
-            if(whiteSpaceInfoNeeded){
-                if(c == 0x20 || c == 0x9){
-                    if(whiteSpaceLen < whiteSpaceLookup.length){
-                        whiteSpaceLookup[whiteSpaceLen++]= fCurrentEntity.position-1;
-                    }else{
-                        int [] tmp = new int[whiteSpaceLookup.length*2];
-                        System.arraycopy(whiteSpaceLookup,0,tmp,0,whiteSpaceLookup.length);
-                        whiteSpaceLookup = tmp;
-                        whiteSpaceLookup[whiteSpaceLen++]= fCurrentEntity.position - 1;
-                    }
-                }
+            if (whiteSpaceInfoNeeded && c == '\t') {
+                storeWhiteSpace(fCurrentEntity.position);
             }
         }
         int length = fCurrentEntity.position - offset;
@@ -1209,6 +1176,24 @@
 
     } // scanLiteral(int,XMLString):int
 
+    /**
+     * Save whitespace information. Increase the whitespace buffer by 100
+     * when needed.
+     *
+     * For XML 1.0, legal characters below 0x20 are 0x09 (TAB), 0x0A (LF) and 0x0D (CR).
+     *
+     * @param whiteSpacePos position of a whitespace in the scanner entity buffer
+     */
+    private void storeWhiteSpace(int whiteSpacePos) {
+        if (whiteSpaceLen >= whiteSpaceLookup.length) {
+            int [] tmp = new int[whiteSpaceLookup.length + 100];
+            System.arraycopy(whiteSpaceLookup, 0, tmp, 0, whiteSpaceLookup.length);
+            whiteSpaceLookup = tmp;
+        }
+
+        whiteSpaceLookup[whiteSpaceLen++] = whiteSpacePos;
+    }
+
     //CHANGED:
     /**
      * Scans a range of character data up to the specified delimiter,
@@ -1249,7 +1234,7 @@
             // load more characters, if needed
 
             if (fCurrentEntity.position == fCurrentEntity.count) {
-                load(0, true);
+                load(0, true, false);
             }
 
             boolean bNextEntity = false;
@@ -1263,7 +1248,7 @@
                                0,
                                fCurrentEntity.count - fCurrentEntity.position);
 
-              bNextEntity = load(fCurrentEntity.count - fCurrentEntity.position, false);
+              bNextEntity = load(fCurrentEntity.count - fCurrentEntity.position, false, false);
               fCurrentEntity.position = 0;
               fCurrentEntity.startPosition = 0;
             }
@@ -1276,7 +1261,7 @@
                 fCurrentEntity.baseCharOffset += (fCurrentEntity.position - fCurrentEntity.startPosition);
                 fCurrentEntity.position = fCurrentEntity.count;
                 fCurrentEntity.startPosition = fCurrentEntity.count;
-                load(0, true);
+                load(0, true, false);
                 return false;
             }
 
@@ -1298,9 +1283,8 @@
                         fCurrentEntity.columnNumber = 1;
                         if (fCurrentEntity.position == fCurrentEntity.count) {
                             offset = 0;
-                            invokeListeners(newlines);
                             fCurrentEntity.position = newlines;
-                            if (load(newlines, false)) {
+                            if (load(newlines, false, true)) {
                                 break;
                             }
                         }
@@ -1318,10 +1302,9 @@
                         fCurrentEntity.columnNumber = 1;
                         if (fCurrentEntity.position == fCurrentEntity.count) {
                             offset = 0;
-                            invokeListeners(newlines);
                             fCurrentEntity.position = newlines;
                             fCurrentEntity.count = newlines;
-                            if (load(newlines, false)) {
+                            if (load(newlines, false, true)) {
                                 break;
                             }
                         }
@@ -1422,8 +1405,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         }
 
         // skip character
@@ -1445,9 +1427,8 @@
         } else if (c == '\n' && cc == '\r' && isExternal) {
             // handle newlines
             if (fCurrentEntity.position == fCurrentEntity.count) {
-                invokeListeners(1);
                 fCurrentEntity.ch[0] = (char)cc;
-                load(1, false);
+                load(1, false, true);
             }
             fCurrentEntity.position++;
             if (fCurrentEntity.ch[fCurrentEntity.position] == '\n') {
@@ -1498,8 +1479,7 @@
         //boolean entityChanged = false;
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            invokeListeners(0);
-            load(0, true);
+            load(0, true, true);
         }
 
         //we are doing this check only in skipSpace() because it is called by
@@ -1522,9 +1502,8 @@
                     fCurrentEntity.lineNumber++;
                     fCurrentEntity.columnNumber = 1;
                     if (fCurrentEntity.position == fCurrentEntity.count - 1) {
-                        invokeListeners(0);
                         fCurrentEntity.ch[0] = (char)c;
-                        entityChanged = load(1, true);
+                        entityChanged = load(1, true, true);
                         if (!entityChanged){
                             // the load change the position to be 1,
                             // need to restore it when entity not changed
@@ -1549,8 +1528,7 @@
                 }
 
                 if (fCurrentEntity.position == fCurrentEntity.count) {
-                    invokeListeners(0);
-                    load(0, true);
+                    load(0, true, true);
 
                     //we are doing this check only in skipSpace() because it is called by
                     //fMiscDispatcher and we want the parser to exit gracefully when document
@@ -1626,7 +1604,7 @@
             if((fCurrentEntity.count - fCurrentEntity.position) < length){
                 int pos = fCurrentEntity.position;
                 invokeListeners(pos);
-                entityChanged = load(fCurrentEntity.count, changeEntity);
+                entityChanged = load(fCurrentEntity.count, changeEntity, false);
                 fCurrentEntity.position = pos;
                 if(entityChanged)break;
             }
@@ -1731,17 +1709,22 @@
      *                     the current entity in place and the entity
      *                     boundary will be signaled by the return
      *                     value.
+     * @param notify       Determine whether to notify listeners of
+     *                     the event
      *
      * @returns Returns true if the entity changed as a result of this
      *          load operation.
      */
-    final boolean load(int offset, boolean changeEntity)
+    final boolean load(int offset, boolean changeEntity, boolean notify)
     throws IOException {
         if (DEBUG_BUFFER) {
             System.out.print("(load, "+offset+": ");
             print();
             System.out.println();
         }
+        if (notify) {
+            invokeListeners(offset);
+        }
         //maintaing the count till last load
         fCurrentEntity.fTotalCountTillLastLoad = fCurrentEntity.fTotalCountTillLastLoad + fCurrentEntity.fLastCount ;
         // read characters
@@ -1778,7 +1761,7 @@
                 }
                 // handle the trailing edges
                 if (fCurrentEntity.position == fCurrentEntity.count) {
-                    load(0, true);
+                    load(0, true, false);
                 }
             }
 
@@ -2075,7 +2058,7 @@
      *
      * @param loadPos Starting position from which new data is being loaded into scanner buffer.
      */
-    private void invokeListeners(int loadPos){
+    public void invokeListeners(int loadPos){
         for(int i=0;i<listeners.size();i++){
             XMLBufferListener listener =(XMLBufferListener) listeners.get(i);
             listener.refresh(loadPos);
@@ -2108,7 +2091,7 @@
 
         // load more characters, if needed
         if (fCurrentEntity.position == fCurrentEntity.count) {
-            load(0, true);
+            load(0, true, false);
         }
 
         // skip spaces
@@ -2123,7 +2106,7 @@
                     fCurrentEntity.columnNumber = 1;
                     if (fCurrentEntity.position == fCurrentEntity.count - 1) {
                         fCurrentEntity.ch[0] = (char)c;
-                        entityChanged = load(1, true);
+                        entityChanged = load(1, true, false);
                         if (!entityChanged)
                             // the load change the position to be 1,
                             // need to restore it when entity not changed
@@ -2151,7 +2134,7 @@
                 if (!entityChanged)
                     fCurrentEntity.position++;
                 if (fCurrentEntity.position == fCurrentEntity.count) {
-                    load(0, true);
+                    load(0, true, false);
                 }
             } while (XMLChar.isSpace(c = fCurrentEntity.ch[fCurrentEntity.position]));
             if (DEBUG_BUFFER) {
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/impl/XMLScanner.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/StAXValidatorHelper.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/jaxp/validation/StAXValidatorHelper.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, 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
--- a/jaxp/src/com/sun/org/apache/xerces/internal/util/SymbolTable.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/org/apache/xerces/internal/util/SymbolTable.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/xml/internal/stream/Entity.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/xml/internal/stream/Entity.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  */
 
 /*
--- a/jaxp/src/com/sun/xml/internal/stream/StaxXMLInputSource.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/xml/internal/stream/StaxXMLInputSource.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, 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
--- a/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/xml/internal/stream/XMLEntityStorage.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, 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
--- a/jaxp/src/com/sun/xml/internal/stream/writers/WriterUtility.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/xml/internal/stream/writers/WriterUtility.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, 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
--- a/jaxp/src/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/com/sun/xml/internal/stream/writers/XMLStreamWriterImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, 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
--- a/jaxp/src/javax/xml/XMLConstants.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/javax/xml/XMLConstants.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, 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
--- a/jaxp/src/javax/xml/parsers/SAXParser.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/javax/xml/parsers/SAXParser.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, 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
--- a/jaxp/src/javax/xml/stream/XMLOutputFactory.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/javax/xml/stream/XMLOutputFactory.java	Wed Jan 22 14:17:32 2014 -0800
@@ -241,11 +241,10 @@
    * factory class name that provides implementation of the factory.
    *
    * <p>
-   * Note that this is a new method that replaces the deprecated
+   *   Note that this is a new method that replaces the deprecated
    *   {@link #newInstance(java.lang.String, java.lang.ClassLoader)
    *   newInstance(String factoryId, ClassLoader classLoader)} method.
-   * No changes in behavior are defined by this replacement method relative
-   * to the deprecated method.
+   *   The original method was incorrectly defined to return XMLInputFactory.
    * </p>
    *
    * @param factoryId             Name of the factory to find, same as
--- a/jaxp/src/javax/xml/validation/Validator.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/javax/xml/validation/Validator.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, 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
--- a/jaxp/src/javax/xml/xpath/XPathException.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/javax/xml/xpath/XPathException.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, 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
--- a/jaxp/src/javax/xml/xpath/XPathFactory.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/javax/xml/xpath/XPathFactory.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, 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
--- a/jaxp/src/org/xml/sax/helpers/NewInstance.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/org/xml/sax/helpers/NewInstance.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2001, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2013, 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
--- a/jaxp/src/org/xml/sax/helpers/ParserAdapter.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/org/xml/sax/helpers/ParserAdapter.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, 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
--- a/jaxp/src/org/xml/sax/helpers/ParserFactory.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/org/xml/sax/helpers/ParserFactory.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, 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
--- a/jaxp/src/org/xml/sax/helpers/SecuritySupport.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/org/xml/sax/helpers/SecuritySupport.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, 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
--- a/jaxp/src/org/xml/sax/helpers/XMLReaderFactory.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxp/src/org/xml/sax/helpers/XMLReaderFactory.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, 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
--- a/jaxws/.hgtags	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxws/.hgtags	Wed Jan 22 14:17:32 2014 -0800
@@ -242,3 +242,4 @@
 76a598cf50c4e1dc1fc8adc08b451943aa1a3179 jdk8-b118
 172b8e056ff259044ca48c5425d643dc8e2e05c8 jdk8-b119
 6c152deb600d8a11bc46149ace317b1c9fce1482 jdk8-b120
+32050ab53c8a8e4cb09f04b88db78258a480fb61 jdk9-b00
--- a/jaxws/.jcheck/conf	Mon Jan 20 17:16:05 2014 +0100
+++ b/jaxws/.jcheck/conf	Wed Jan 22 14:17:32 2014 -0800
@@ -1,1 +1,1 @@
-project=jdk8
+project=jdk9
--- a/jdk/.hgtags	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/.hgtags	Wed Jan 22 14:17:32 2014 -0800
@@ -243,3 +243,4 @@
 e4499a6529e8c3e762ba86f45cdd774c92a8e7bc jdk8-b119
 d31cd980e1da31fa496a359caaf1a165aeb5791a jdk8-b120
 27b384262cba51dd0fe3e3534820189b46abc8cb jdk9-b00
+3b4ac8d1b76fc6bec9815f0ab714f15b552e4c7b jdk9-b01
--- a/jdk/make/CompileDemos.gmk	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/make/CompileDemos.gmk	Wed Jan 22 14:17:32 2014 -0800
@@ -195,9 +195,6 @@
   $(JDK_OUTPUTDIR)/demo/nbproject/%: $(JDK_TOPDIR)/src/closed/share/demo/nbproject/%
 	$(call install-file)
 	$(CHMOD) -f ug+w $@
-    ifeq ($(OPENJDK_TARGET_OS), solaris)
-	  $(RM) -r $(JDK_OUTPUTDIR)/demo/nbproject/jfc/SwingApplet
-    endif
 endif
 
 ##################################################################################################
@@ -378,9 +375,16 @@
 ##################################################################################################
 
 # The netbeans project files are copied into the demo directory.
-BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%, \
+ifeq ($(OPENJDK_TARGET_OS), solaris)
+  BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%, \
+    $(JDK_OUTPUTDIR)/demo/nbproject/%, \
+    $(filter-out $(JDK_TOPDIR)/src/share/demo/nbproject/jfc/SwingApplet%, \
+    $(call CacheFind, $(JDK_TOPDIR)/src/share/demo/nbproject)))
+else
+  BUILD_DEMOS += $(patsubst $(JDK_TOPDIR)/src/share/demo/nbproject/%, \
     $(JDK_OUTPUTDIR)/demo/nbproject/%, \
     $(call CacheFind, $(JDK_TOPDIR)/src/share/demo/nbproject))
+endif
 
 $(JDK_OUTPUTDIR)/demo/nbproject/%: $(JDK_TOPDIR)/src/share/demo/nbproject/%
 	$(call install-file)
--- a/jdk/make/CreateJars.gmk	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/make/CreateJars.gmk	Wed Jan 22 14:17:32 2014 -0800
@@ -298,29 +298,6 @@
 	@$(JAVAC) -d $(@D)/../../ $(@D)/$(VERSION_JAVA_FILE)
 
 
-# Support for removing the addPropertyChangeListener and removePropertyChangeListener
-# methods from classes that only go into the profile builds.
-BEANLESS_CLASSES = $(IMAGES_OUTPUTDIR)/beanless
-
-# When there are $ characters in filenames we have some very subtle interactions between
-# make expansion and shell expansion. In this particular case $< will contain a single $ while
-# $@ will contain \$. So we have to pass $< in single-quotes to avoid shell expansion
-$(BEANLESS_CLASSES)/%: $(JDK_OUTPUTDIR)/classes/%
-	$(MKDIR) -p $(@D)
-	$(TOOL_REMOVEMETHODS) '$<' $@ addPropertyChangeListener removePropertyChangeListener
-
-CLASSES_TO_DEBEAN = \
-    java/util/logging/LogManager.class \
-    java/util/jar/Pack200\$$Packer.class \
-    java/util/jar/Pack200\$$Unpacker.class \
-    com/sun/java/util/jar/pack/PackerImpl.class \
-    com/sun/java/util/jar/pack/UnpackerImpl.class
-
-ifneq ($(PROFILE), )
-  BEANLESS_CLASSES_TARGETS := $(addprefix $(BEANLESS_CLASSES)/, $(CLASSES_TO_DEBEAN))
-endif
-
-
 RT_JAR_CREATE_OPTIONS := c0fm
 RT_JAR_UPDATE_OPTIONS := u0f
 ifeq ($(COMPRESS_JARS), true)
@@ -333,7 +310,7 @@
 $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: \
     CLASS_FILE = $(if $(PROFILE), $(strip $(foreach class, $(PROFILE_VERSION_CLASS_TARGETS), $(if $(findstring $(PROFILE), $(class)), $(class)))), NO_SUCH_FILE)
 # This is the real target
-$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE) $(PROFILE_VERSION_CLASS_TARGETS) $(BEANLESS_CLASSES_TARGETS)
+$(IMAGES_OUTPUTDIR)/lib$(PROFILE)/rt.jar: $(IMAGES_OUTPUTDIR)/lib$(PROFILE)/_the.rt.jar.contents $(RT_JAR_MANIFEST_FILE) $(PROFILE_VERSION_CLASS_TARGETS)
 	$(ECHO) Creating rt.jar $(PROFILE) Compressed=$(COMPRESS_JARS)
 	$(MKDIR) -p $(@D)
 	$(RM) $@ $@.tmp
@@ -344,8 +321,6 @@
 	  $(ECHO) Updating rt.jar $(PROFILE) && \
 	  $(CD) $(patsubst %$(VERSION_CLASS_PATH), %, $(CLASS_FILE)) && \
 	  $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(VERSION_CLASS_PATH); \
-	  $(CD) $(BEANLESS_CLASSES) && \
-	  $(JAR) $(RT_JAR_UPDATE_OPTIONS) $@.tmp $(CLASSES_TO_DEBEAN); \
 	fi
 	$(MV) $@.tmp $@
 
--- a/jdk/make/Images.gmk	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/make/Images.gmk	Wed Jan 22 14:17:32 2014 -0800
@@ -190,26 +190,6 @@
 $(foreach f,$(filter $(OVERLAY_FILTER),$(JDKJRE_BIN_LIST)), \
     $(eval $(call AddFileToCopy,$(JDK_OUTPUTDIR),$(JDK_OVERLAY_IMAGE_DIR)/jre,$f,JDKJRE_BIN_TARGETS)))
 
-ifeq ($(OPENJDK_TARGET_OS)-$(OPENJDK_TARGET_CPU_BITS),solaris-64)
-  define AddIsadirLink
-    # Param 1 - src file
-    # Param 2 - variable to add targets to
-
-    $1_LINK := $$(dir $1)$(OPENJDK_TARGET_CPU_ISADIR)/$$(notdir $1)
-
-    $$($1_LINK):
-	$(ECHO) $(LOG_INFO) Creating link $$(patsubst $(OUTPUT_ROOT)/%,%,$$@)
-	$(MKDIR) -p $$(@D)
-	$(LN) -s ../$$(@F) $$@
-
-    $2 += $$($1_LINK)
-  endef
-
-  $(foreach f,$(JRE_BIN_TARGETS),$(eval $(call AddIsadirLink,$f,JRE_BIN_ISADIR_LINK_TARGETS)))
-  $(foreach f,$(JDK_BIN_TARGETS),$(eval $(call AddIsadirLink,$f,JDK_BIN_ISADIR_LINK_TARGETS)))
-  $(foreach f,$(JDKJRE_BIN_TARGETS),$(eval $(call AddIsadirLink,$f,JDKJRE_BIN_ISADIR_LINK_TARGETS)))
-endif
-
 ################################################################################
 # /lib dir
 ifneq ($(OPENJDK_TARGET_OS), macosx)
--- a/jdk/make/Tools.gmk	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/make/Tools.gmk	Wed Jan 22 14:17:32 2014 -0800
@@ -122,10 +122,6 @@
 TOOL_CLDRCONVERTER = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \
     build.tools.cldrconverter.CLDRConverter
 
-TOOL_REMOVEMETHODS = $(JAVA) -Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
-    -cp $(JDK_OUTPUTDIR)/btclasses:$(JDK_OUTPUTDIR) \
-    build.tools.classfile.RemoveMethods
-
 TOOL_CHECKDEPS = $(JAVA) -Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
     -cp $(JDK_OUTPUTDIR)/btclasses:$(JDK_OUTPUTDIR) \
     build.tools.deps.CheckDeps
--- a/jdk/make/profile-rtjar-includes.txt	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/make/profile-rtjar-includes.txt	Wed Jan 22 14:17:32 2014 -0800
@@ -26,8 +26,8 @@
 # Included or excluded types must take one of two forms
 # - *.class to indicate all classes; or else
 # - a full single type name e.g.
-#     com/sun/security/auth/callback/DialogCallbackHandler$$1.class
-# You can not use arbitrary wildcards like DialogCallbackHandler*.class.
+#     javax/management/remote/rmi/_RMIServer_Stub.class
+# You can not use arbitrary wildcards like _RMI*.class.
 #
 # Notes:
 # - Nested types must use $$ in place of $ as $ is the make meta-character
@@ -149,11 +149,6 @@
 PROFILE_3_RTJAR_INCLUDE_TYPES :=
 
 PROFILE_3_RTJAR_EXCLUDE_TYPES := \
-    com/sun/security/auth/callback/DialogCallbackHandler$$1.class \
-    com/sun/security/auth/callback/DialogCallbackHandler$$2.class \
-    com/sun/security/auth/callback/DialogCallbackHandler$$Action.class \
-    com/sun/security/auth/callback/DialogCallbackHandler$$ConfirmationInfo.class \
-    com/sun/security/auth/callback/DialogCallbackHandler.class \
     javax/management/remote/rmi/_RMIConnectionImpl_Tie.class \
     javax/management/remote/rmi/_RMIConnection_Stub.class \
     javax/management/remote/rmi/_RMIServerImpl_Tie.class \
@@ -225,11 +220,6 @@
     sun/tools/jar
 
 FULL_JRE_RTJAR_INCLUDE_TYPES := \
-    com/sun/security/auth/callback/DialogCallbackHandler$$1.class \
-    com/sun/security/auth/callback/DialogCallbackHandler$$2.class \
-    com/sun/security/auth/callback/DialogCallbackHandler$$Action.class \
-    com/sun/security/auth/callback/DialogCallbackHandler$$ConfirmationInfo.class \
-    com/sun/security/auth/callback/DialogCallbackHandler.class \
     javax/annotation/*.class \
     javax/management/remote/rmi/_RMIConnectionImpl_Tie.class \
     javax/management/remote/rmi/_RMIConnection_Stub.class \
--- a/jdk/make/src/classes/build/tools/classfile/RemoveMethods.java	Mon Jan 20 17:16:05 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2012, 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 build.tools.classfile;
-
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.Set;
-import java.util.HashSet;
-
-import com.sun.tools.classfile.AccessFlags;
-import com.sun.tools.classfile.Attributes;
-import com.sun.tools.classfile.ClassFile;
-import com.sun.tools.classfile.ClassWriter;
-import com.sun.tools.classfile.ConstantPool;
-import com.sun.tools.classfile.Field;
-import com.sun.tools.classfile.Method;
-
-public class RemoveMethods {
-
-    public static void main(String[] args) throws Exception {
-        if (args.length < 2) {
-            System.err.println("Usage: java RemoveMethods classfile output [method...]");
-            System.exit(-1);
-        }
-
-        // class file to read
-        Path input = Paths.get(args[0]);
-
-        // class file to write, if directory then use the name of the input
-        Path output = Paths.get(args[1]);
-        if (Files.isDirectory(output))
-            output = output.resolve(input.getFileName());
-
-        // the methods to remove
-        Set<String> methodsToRemove = new HashSet<>();
-        int i = 2;
-        while (i < args.length)
-            methodsToRemove.add(args[i++]);
-
-        // read class file
-        ClassFile cf;
-        try (InputStream in = Files.newInputStream(input)) {
-             cf = ClassFile.read(in);
-        }
-
-        final int magic = cf.magic;
-        final int major_version = cf.major_version;
-        final int minor_version = cf.minor_version;
-        final ConstantPool cp = cf.constant_pool;
-        final AccessFlags access_flags = cf.access_flags;
-        final int this_class = cf.this_class;
-        final int super_class = cf.super_class;
-        final int[] interfaces = cf.interfaces;
-        final Field[] fields = cf.fields;
-        final Attributes class_attrs = cf.attributes;
-
-        // remove the requested methods, no signature check at this time
-        Method[] methods = cf.methods;
-        i = 0;
-        while (i < methods.length) {
-            Method m = methods[i];
-            String name = m.getName(cp);
-            if (methodsToRemove.contains(name)) {
-                int len = methods.length;
-                Method[] newMethods = new Method[len-1];
-                if (i > 0)
-                    System.arraycopy(methods, 0, newMethods, 0, i);
-                int after = methods.length - i - 1;
-                if (after > 0)
-                    System.arraycopy(methods, i+1, newMethods, i, after);
-                methods = newMethods;
-                String paramTypes = m.descriptor.getParameterTypes(cp);
-                System.out.format("Removed method %s%s from %s%n",
-                    name, paramTypes, cf.getName());
-                continue;
-            }
-            i++;
-        }
-
-        // TBD, prune constant pool of entries that are no longer referenced
-
-        // re-write class file
-        cf = new ClassFile(magic, minor_version, major_version, cp, access_flags,
-                this_class, super_class, interfaces, fields, methods, class_attrs);
-        try (OutputStream out = Files.newOutputStream(output)) {
-             new ClassWriter().write(cf, out);
-        }
-    }
-}
--- a/jdk/src/macosx/classes/apple/security/AppleProvider.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/macosx/classes/apple/security/AppleProvider.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2014, 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,7 +43,7 @@
 
     public AppleProvider() {
         /* We are the Apple provider */
-        super("Apple", 1.8d, info);
+        super("Apple", 1.9d, info);
 
         AccessController.<Object>doPrivileged(new java.security.PrivilegedAction<Object>() {
             public Object run() {
--- a/jdk/src/macosx/classes/sun/lwawt/LWToolkit.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/macosx/classes/sun/lwawt/LWToolkit.java	Wed Jan 22 14:17:32 2014 -0800
@@ -38,7 +38,6 @@
 import sun.awt.*;
 import sun.lwawt.macosx.*;
 import sun.print.*;
-import sun.security.util.SecurityConstants;
 
 public abstract class LWToolkit extends SunToolkit implements Runnable {
 
@@ -503,7 +502,7 @@
     public Clipboard getSystemClipboard() {
         SecurityManager security = System.getSecurityManager();
         if (security != null) {
-            security.checkPermission(SecurityConstants.AWT.ACCESS_CLIPBOARD_PERMISSION);
+            security.checkPermission(AWTPermissions.ACCESS_CLIPBOARD_PERMISSION);
         }
 
         synchronized (this) {
--- a/jdk/src/share/classes/com/sun/crypto/provider/SunJCE.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/crypto/provider/SunJCE.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, 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
@@ -104,7 +104,7 @@
 
     public SunJCE() {
         /* We are the "SunJCE" provider */
-        super("SunJCE", 1.8d, info);
+        super("SunJCE", 1.9d, info);
 
         final String BLOCK_MODES = "ECB|CBC|PCBC|CTR|CTS|CFB|OFB" +
             "|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64" +
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -26,7 +26,6 @@
 package com.sun.java.util.jar.pack;
 
 import com.sun.java.util.jar.pack.Attribute.Layout;
-import java.beans.PropertyChangeListener;
 import java.io.BufferedInputStream;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -136,23 +135,6 @@
             in.close();
         }
     }
-    /**
-     * Register a listener for changes to options.
-     * @param listener  An object to be invoked when a property is changed.
-     */
-    public void addPropertyChangeListener(PropertyChangeListener listener) {
-        props.addListener(listener);
-    }
-
-    /**
-     * Remove a listener for the PropertyChange event.
-     * @param listener  The PropertyChange listener to be removed.
-     */
-    public void removePropertyChangeListener(PropertyChangeListener listener) {
-        props.removeListener(listener);
-    }
-
-
 
     // All the worker bees.....
     // The packer worker.
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java	Wed Jan 22 14:17:32 2014 -0800
@@ -40,9 +40,6 @@
 import java.util.SortedMap;
 import java.util.TreeMap;
 import java.util.jar.Pack200;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
 
 /**
  * Control block for publishing Pack200 options to the other classes.
@@ -51,30 +48,9 @@
 final class PropMap implements SortedMap<String, String>  {
     private final TreeMap<String, String> theMap = new TreeMap<>();;
 
-    // type is erased, elements are of type java.beans.PropertyChangeListener
-    private final List<Object> listenerList = new ArrayList<>(1);
-
-    void addListener(Object listener) {
-        assert Beans.isPropertyChangeListener(listener);
-        listenerList.add(listener);
-    }
-
-    void removeListener(Object listener) {
-        assert Beans.isPropertyChangeListener(listener);
-        listenerList.remove(listener);
-    }
-
     // Override:
     public String put(String key, String value) {
         String oldValue = theMap.put(key, value);
-        if (value != oldValue && !listenerList.isEmpty()) {
-            assert Beans.isBeansPresent();
-            // Post the property change event.
-            Object event = Beans.newPropertyChangeEvent(this, key, oldValue, value);
-            for (Object listener : listenerList) {
-                Beans.invokePropertyChange(listener, event);
-            }
-        }
         return oldValue;
     }
 
@@ -341,113 +317,4 @@
     public String lastKey() {
        return theMap.lastKey();
     }
-
-    /**
-     * A class that provides access to the java.beans.PropertyChangeListener
-     * and java.beans.PropertyChangeEvent without creating a static dependency
-     * on java.beans. This class can be removed once the addPropertyChangeListener
-     * and removePropertyChangeListener methods are removed from Packer and
-     * Unpacker.
-     */
-    private static class Beans {
-        private static final Class<?> propertyChangeListenerClass =
-            getClass("java.beans.PropertyChangeListener");
-
-        private static final Class<?> propertyChangeEventClass =
-            getClass("java.beans.PropertyChangeEvent");
-
-        private static final Method propertyChangeMethod =
-            getMethod(propertyChangeListenerClass,
-                      "propertyChange",
-                      propertyChangeEventClass);
-
-        private static final Constructor<?> propertyEventCtor =
-            getConstructor(propertyChangeEventClass,
-                           Object.class,
-                           String.class,
-                           Object.class,
-                           Object.class);
-
-        private static Class<?> getClass(String name) {
-            try {
-                return Class.forName(name, true, Beans.class.getClassLoader());
-            } catch (ClassNotFoundException e) {
-                return null;
-            }
-        }
-        private static Constructor<?> getConstructor(Class<?> c, Class<?>... types) {
-            try {
-                return (c == null) ? null : c.getDeclaredConstructor(types);
-            } catch (NoSuchMethodException x) {
-                throw new AssertionError(x);
-            }
-        }
-
-        private static Method getMethod(Class<?> c, String name, Class<?>... types) {
-            try {
-                return (c == null) ? null : c.getMethod(name, types);
-            } catch (NoSuchMethodException e) {
-                throw new AssertionError(e);
-            }
-        }
-
-        /**
-         * Returns {@code true} if java.beans is present.
-         */
-        static boolean isBeansPresent() {
-            return propertyChangeListenerClass != null &&
-                   propertyChangeEventClass != null;
-        }
-
-        /**
-         * Returns {@code true} if the given object is a PropertyChangeListener
-         */
-        static boolean isPropertyChangeListener(Object obj) {
-            if (propertyChangeListenerClass == null) {
-                return false;
-            } else {
-                return propertyChangeListenerClass.isInstance(obj);
-            }
-        }
-
-        /**
-         * Returns a new PropertyChangeEvent with the given source, property
-         * name, old and new values.
-         */
-        static Object newPropertyChangeEvent(Object source, String prop,
-                                             Object oldValue, Object newValue)
-        {
-            try {
-                return propertyEventCtor.newInstance(source, prop, oldValue, newValue);
-            } catch (InstantiationException | IllegalAccessException x) {
-                throw new AssertionError(x);
-            } catch (InvocationTargetException x) {
-                Throwable cause = x.getCause();
-                if (cause instanceof Error)
-                    throw (Error)cause;
-                if (cause instanceof RuntimeException)
-                    throw (RuntimeException)cause;
-                throw new AssertionError(x);
-            }
-        }
-
-        /**
-         * Invokes the given PropertyChangeListener's propertyChange method
-         * with the given event.
-         */
-        static void invokePropertyChange(Object listener, Object ev) {
-            try {
-                propertyChangeMethod.invoke(listener, ev);
-            } catch (IllegalAccessException x) {
-                throw new AssertionError(x);
-            } catch (InvocationTargetException x) {
-                Throwable cause = x.getCause();
-                if (cause instanceof Error)
-                    throw (Error)cause;
-                if (cause instanceof RuntimeException)
-                    throw (RuntimeException)cause;
-                throw new AssertionError(x);
-            }
-        }
-    }
 }
--- a/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java	Wed Jan 22 14:17:32 2014 -0800
@@ -25,7 +25,6 @@
 
 package com.sun.java.util.jar.pack;
 
-import java.beans.PropertyChangeListener;
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -55,24 +54,6 @@
 
 public class UnpackerImpl extends TLGlobals implements Pack200.Unpacker {
 
-
-    /**
-     * Register a listener for changes to options.
-     * @param listener  An object to be invoked when a property is changed.
-     */
-    public void addPropertyChangeListener(PropertyChangeListener listener) {
-        props.addListener(listener);
-    }
-
-
-    /**
-     * Remove a listener for the PropertyChange event.
-     * @param listener  The PropertyChange listener to be removed.
-     */
-    public void removePropertyChangeListener(PropertyChangeListener listener) {
-        props.removeListener(listener);
-    }
-
     public UnpackerImpl() {}
 
 
--- a/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java	Wed Jan 22 14:17:32 2014 -0800
@@ -67,6 +67,14 @@
     private static final String JRELIB_PROPERTY_FILE_NAME = "jndi.properties";
 
     /*
+     * Internal environment property, that when set to "true", disables
+     * application resource files lookup to prevent recursion issues
+     * when validating signed JARs.
+     */
+    private static final String DISABLE_APP_RESOURCE_FILES =
+        "com.sun.naming.disable.app.resource.files";
+
+    /*
      * The standard JNDI properties that specify colon-separated lists.
      */
     private static final String[] listProperties = {
@@ -224,6 +232,13 @@
             }
         }
 
+        // Return without merging if application resource files lookup
+        // is disabled.
+        String disableAppRes = (String)env.get(DISABLE_APP_RESOURCE_FILES);
+        if (disableAppRes != null && disableAppRes.equalsIgnoreCase("true")) {
+            return env;
+        }
+
         // Merge the above with the values read from all application
         // resource files.  Colon-separated lists are concatenated.
         mergeTables((Hashtable<Object, Object>)env, getApplicationResources());
--- a/jdk/src/share/classes/com/sun/security/auth/callback/DialogCallbackHandler.java	Mon Jan 20 17:16:05 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
- * Copyright (c) 2000, 2012, 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 com.sun.security.auth.callback;
-
-/* JAAS imports */
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.ConfirmationCallback;
-import javax.security.auth.callback.NameCallback;
-import javax.security.auth.callback.PasswordCallback;
-import javax.security.auth.callback.TextOutputCallback;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-/* Java imports */
-import java.awt.Component;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import javax.swing.Box;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPasswordField;
-import javax.swing.JTextField;
-
-/**
- * <p>
- * Uses a Swing dialog window to query the user for answers to
- * authentication questions.
- * This can be used by a JAAS application to instantiate a
- * CallbackHandler
- * @see javax.security.auth.callback
- * @deprecated This class will be removed in a future release.
- */
-@jdk.Exported(false)
-@Deprecated
-public class DialogCallbackHandler implements CallbackHandler {
-
-    /* -- Fields -- */
-
-    /* The parent window, or null if using the default parent */
-    private Component parentComponent;
-    private static final int JPasswordFieldLen = 8 ;
-    private static final int JTextFieldLen = 8 ;
-
-    /* -- Methods -- */
-
-    /**
-     * Creates a callback dialog with the default parent window.
-     */
-    public DialogCallbackHandler() { }
-
-    /**
-     * Creates a callback dialog and specify the parent window.
-     *
-     * @param parentComponent the parent window -- specify <code>null</code>
-     * for the default parent
-     */
-    public DialogCallbackHandler(Component parentComponent) {
-        this.parentComponent = parentComponent;
-    }
-
-    /*
-     * An interface for recording actions to carry out if the user
-     * clicks OK for the dialog.
-     */
-    private static interface Action {
-         void perform();
-    }
-
-    /**
-     * Handles the specified set of callbacks.
-     *
-     * @param callbacks the callbacks to handle
-     * @throws UnsupportedCallbackException if the callback is not an
-     * instance  of NameCallback or PasswordCallback
-     */
-
-    public void handle(Callback[] callbacks)
-        throws UnsupportedCallbackException
-    {
-        /* Collect messages to display in the dialog */
-        final List<Object> messages = new ArrayList<>(3);
-
-        /* Collection actions to perform if the user clicks OK */
-        final List<Action> okActions = new ArrayList<>(2);
-
-        ConfirmationInfo confirmation = new ConfirmationInfo();
-
-        for (int i = 0; i < callbacks.length; i++) {
-            if (callbacks[i] instanceof TextOutputCallback) {
-                TextOutputCallback tc = (TextOutputCallback) callbacks[i];
-
-                switch (tc.getMessageType()) {
-                case TextOutputCallback.INFORMATION:
-                    confirmation.messageType = JOptionPane.INFORMATION_MESSAGE;
-                    break;
-                case TextOutputCallback.WARNING:
-                    confirmation.messageType = JOptionPane.WARNING_MESSAGE;
-                    break;
-                case TextOutputCallback.ERROR:
-                    confirmation.messageType = JOptionPane.ERROR_MESSAGE;
-                    break;
-                default:
-                    throw new UnsupportedCallbackException(
-                        callbacks[i], "Unrecognized message type");
-                }
-
-                messages.add(tc.getMessage());
-
-            } else if (callbacks[i] instanceof NameCallback) {
-                final NameCallback nc = (NameCallback) callbacks[i];
-
-                JLabel prompt = new JLabel(nc.getPrompt());
-
-                final JTextField name = new JTextField(JTextFieldLen);
-                String defaultName = nc.getDefaultName();
-                if (defaultName != null) {
-                    name.setText(defaultName);
-                }
-
-                /*
-                 * Put the prompt and name in a horizontal box,
-                 * and add that to the set of messages.
-                 */
-                Box namePanel = Box.createHorizontalBox();
-                namePanel.add(prompt);
-                namePanel.add(name);
-                messages.add(namePanel);
-
-                /* Store the name back into the callback if OK */
-                okActions.add(new Action() {
-                    public void perform() {
-                        nc.setName(name.getText());
-                    }
-                });
-
-            } else if (callbacks[i] instanceof PasswordCallback) {
-                final PasswordCallback pc = (PasswordCallback) callbacks[i];
-
-                JLabel prompt = new JLabel(pc.getPrompt());
-
-                final JPasswordField password =
-                                        new JPasswordField(JPasswordFieldLen);
-                if (!pc.isEchoOn()) {
-                    password.setEchoChar('*');
-                }
-
-                Box passwordPanel = Box.createHorizontalBox();
-                passwordPanel.add(prompt);
-                passwordPanel.add(password);
-                messages.add(passwordPanel);
-
-                okActions.add(new Action() {
-                    public void perform() {
-                        pc.setPassword(password.getPassword());
-                    }
-                });
-
-            } else if (callbacks[i] instanceof ConfirmationCallback) {
-                ConfirmationCallback cc = (ConfirmationCallback)callbacks[i];
-
-                confirmation.setCallback(cc);
-                if (cc.getPrompt() != null) {
-                    messages.add(cc.getPrompt());
-                }
-
-            } else {
-                throw new UnsupportedCallbackException(
-                    callbacks[i], "Unrecognized Callback");
-            }
-        }
-
-        /* Display the dialog */
-        int result = JOptionPane.showOptionDialog(
-            parentComponent,
-            messages.toArray(),
-            "Confirmation",                     /* title */
-            confirmation.optionType,
-            confirmation.messageType,
-            null,                               /* icon */
-            confirmation.options,               /* options */
-            confirmation.initialValue);         /* initialValue */
-
-        /* Perform the OK actions */
-        if (result == JOptionPane.OK_OPTION
-            || result == JOptionPane.YES_OPTION)
-        {
-            Iterator<Action> iterator = okActions.iterator();
-            while (iterator.hasNext()) {
-                iterator.next().perform();
-            }
-        }
-        confirmation.handleResult(result);
-    }
-
-    /*
-     * Provides assistance with translating between JAAS and Swing
-     * confirmation dialogs.
-     */
-    private static class ConfirmationInfo {
-
-        private int[] translations;
-
-        int optionType = JOptionPane.OK_CANCEL_OPTION;
-        Object[] options = null;
-        Object initialValue = null;
-
-        int messageType = JOptionPane.QUESTION_MESSAGE;
-
-        private ConfirmationCallback callback;
-
-        /* Set the confirmation callback handler */
-        void setCallback(ConfirmationCallback callback)
-            throws UnsupportedCallbackException
-        {
-            this.callback = callback;
-
-            int confirmationOptionType = callback.getOptionType();
-            switch (confirmationOptionType) {
-            case ConfirmationCallback.YES_NO_OPTION:
-                optionType = JOptionPane.YES_NO_OPTION;
-                translations = new int[] {
-                    JOptionPane.YES_OPTION, ConfirmationCallback.YES,
-                    JOptionPane.NO_OPTION, ConfirmationCallback.NO,
-                    JOptionPane.CLOSED_OPTION, ConfirmationCallback.NO
-                };
-                break;
-            case ConfirmationCallback.YES_NO_CANCEL_OPTION:
-                optionType = JOptionPane.YES_NO_CANCEL_OPTION;
-                translations = new int[] {
-                    JOptionPane.YES_OPTION, ConfirmationCallback.YES,
-                    JOptionPane.NO_OPTION, ConfirmationCallback.NO,
-                    JOptionPane.CANCEL_OPTION, ConfirmationCallback.CANCEL,
-                    JOptionPane.CLOSED_OPTION, ConfirmationCallback.CANCEL
-                };
-                break;
-            case ConfirmationCallback.OK_CANCEL_OPTION:
-                optionType = JOptionPane.OK_CANCEL_OPTION;
-                translations = new int[] {
-                    JOptionPane.OK_OPTION, ConfirmationCallback.OK,
-                    JOptionPane.CANCEL_OPTION, ConfirmationCallback.CANCEL,
-                    JOptionPane.CLOSED_OPTION, ConfirmationCallback.CANCEL
-                };
-                break;
-            case ConfirmationCallback.UNSPECIFIED_OPTION:
-                options = callback.getOptions();
-                /*
-                 * There's no way to know if the default option means
-                 * to cancel the login, but there isn't a better way
-                 * to guess this.
-                 */
-                translations = new int[] {
-                    JOptionPane.CLOSED_OPTION, callback.getDefaultOption()
-                };
-                break;
-            default:
-                throw new UnsupportedCallbackException(
-                    callback,
-                    "Unrecognized option type: " + confirmationOptionType);
-            }
-
-            int confirmationMessageType = callback.getMessageType();
-            switch (confirmationMessageType) {
-            case ConfirmationCallback.WARNING:
-                messageType = JOptionPane.WARNING_MESSAGE;
-                break;
-            case ConfirmationCallback.ERROR:
-                messageType = JOptionPane.ERROR_MESSAGE;
-                break;
-            case ConfirmationCallback.INFORMATION:
-                messageType = JOptionPane.INFORMATION_MESSAGE;
-                break;
-            default:
-                throw new UnsupportedCallbackException(
-                    callback,
-                    "Unrecognized message type: " + confirmationMessageType);
-            }
-        }
-
-
-        /* Process the result returned by the Swing dialog */
-        void handleResult(int result) {
-            if (callback == null) {
-                return;
-            }
-
-            for (int i = 0; i < translations.length; i += 2) {
-                if (translations[i] == result) {
-                    result = translations[i + 1];
-                    break;
-                }
-            }
-            callback.setSelectedIndex(result);
-        }
-    }
-}
--- a/jdk/src/share/classes/com/sun/security/sasl/Provider.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/security/sasl/Provider.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -53,7 +53,7 @@
         " server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5, NTLM)";
 
     public Provider() {
-        super("SunSASL", 1.8d, info);
+        super("SunSASL", 1.9d, info);
 
         AccessController.doPrivileged(new PrivilegedAction<Void>() {
             public Void run() {
--- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/Expr.jj	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/Expr.jj	Wed Jan 22 14:17:32 2014 -0800
@@ -539,10 +539,10 @@
 }
 
 void UnaryExpression() :
-{}
+{Token tok;}
 {
-  ( "+" | "-" ) UnaryExpression()
-                        { throw new ParseException("operation not yet supported"); }
+  ( tok = "+" | tok = "-" ) UnaryExpression()
+                { push( LValue.operation(vm, tok, pop(), frameGetter) ); }
 |
   PreIncrementExpression()
 |
@@ -566,10 +566,10 @@
 }
 
 void UnaryExpressionNotPlusMinus() :
-{}
+{Token tok;}
 {
-  ( "~" | "!" ) UnaryExpression()
-                        { throw new ParseException("operation not yet supported"); }
+  ( tok = "~" | tok = "!" ) UnaryExpression()
+                { push( LValue.operation(vm, tok, pop(), frameGetter) ); }
 |
   LOOKAHEAD( CastLookahead() )
   CastExpression()
--- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, 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,38 +23,28 @@
  * 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;
 
 import com.sun.jdi.*;
-
 import java.util.Stack;
 import java.util.List;
 import java.util.ArrayList;
 
 public class ExpressionParser implements ExpressionParserConstants {
 
-   Stack<LValue> stack = new Stack<LValue>();
+  Stack stack = new Stack();
   VirtualMachine vm = null;
   GetFrame frameGetter = null;
   private static GetFrame lastFrameGetter;
   private static LValue lastLValue;
 
   LValue peek() {
-      return stack.peek();
+    return (LValue)stack.peek();
   }
 
   LValue pop() {
-      return stack.pop();
+    return (LValue)stack.pop();
   }
 
   void push(LValue lval) {
@@ -62,7 +52,7 @@
   }
 
   public static Value getMassagedValue() throws ParseException {
-       return lastLValue.getMassagedValue(lastFrameGetter);
+        return lastLValue.getMassagedValue(lastFrameGetter);
   }
 
   public interface GetFrame {
@@ -70,14 +60,17 @@
   }
 
   public static Value evaluate(String expr, VirtualMachine vm,
-         GetFrame frameGetter) throws ParseException, InvocationException,
-         InvalidTypeException, ClassNotLoadedException,
+                               GetFrame frameGetter) throws ParseException,
+                                            InvocationException,
+                                            InvalidTypeException,
+                                            ClassNotLoadedException,
                                             IncompatibleThreadStateException {
         // TODO StringBufferInputStream is deprecated.
         java.io.InputStream in = new java.io.StringBufferInputStream(expr);
         ExpressionParser parser = new ExpressionParser(in);
         parser.vm = vm;
         parser.frameGetter = frameGetter;
+        Value value = null;
         parser.Expression();
         lastFrameGetter = frameGetter;
         lastLValue = parser.pop();
@@ -95,8 +88,8 @@
       try {
         parser = new ExpressionParser(new java.io.FileInputStream(args[0]));
       } catch (java.io.FileNotFoundException e) {
-            System.out.println("Java Parser Version 1.0.2:  File " + args[0]
-                  + " not found.");
+        System.out.println("Java Parser Version 1.0.2:  File " +
+                           args[0] + " not found.");
         return;
       }
     } else {
@@ -143,7 +136,8 @@
       jj_consume_token(-1);
       throw new ParseException();
     }
-      label_1: while (true) {
+    label_1:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case LBRACKET:
         ;
@@ -194,7 +188,8 @@
  StringBuffer sb = new StringBuffer();
     jj_consume_token(IDENTIFIER);
                  sb.append(token);
-      label_2: while (true) {
+    label_2:
+    while (true) {
       if (jj_2_1(2)) {
         ;
       } else {
@@ -202,18 +197,16 @@
       }
       jj_consume_token(DOT);
       jj_consume_token(IDENTIFIER);
-         sb.append('.');
-         sb.append(token);
-      }
-      if (true) {
-         return sb.toString();
-      }
+                                    sb.append('.'); sb.append(token);
+    }
+          {if (true) return sb.toString();}
     throw new Error("Missing return statement in function");
   }
 
   final public void NameList() throws ParseException {
     Name();
-      label_3: while (true) {
+    label_3:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case COMMA:
         ;
@@ -267,9 +260,7 @@
     PrimaryExpression();
     AssignmentOperator();
     Expression();
-      LValue exprVal = pop();
-      pop().setValue(exprVal);
-      push(exprVal);
+          LValue exprVal = pop(); pop().setValue(exprVal); push(exprVal);
   }
 
   final public void AssignmentOperator() throws ParseException {
@@ -325,18 +316,13 @@
       Expression();
       jj_consume_token(COLON);
       ConditionalExpression();
-         LValue falseBranch = pop();
-         LValue trueBranch = pop();
+                  LValue falseBranch = pop(); LValue trueBranch = pop();
                   Value cond = pop().interiorGetValue();
                   if (cond instanceof BooleanValue) {
-            push(((BooleanValue) cond).booleanValue() ? trueBranch
-                  : falseBranch);
+                        push(((BooleanValue)cond).booleanValue()?
+                                        trueBranch : falseBranch);
                   } else {
-            {
-               if (true) {
-                  throw new ParseException("Condition must be boolean");
-               }
-            }
+                        {if (true) throw new ParseException("Condition must be boolean");}
                   }
       break;
     default:
@@ -347,7 +333,8 @@
 
   final public void ConditionalOrExpression() throws ParseException {
     ConditionalAndExpression();
-      label_4: while (true) {
+    label_4:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case SC_OR:
         ;
@@ -358,17 +345,14 @@
       }
       jj_consume_token(SC_OR);
       ConditionalAndExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
     }
   }
 
   final public void ConditionalAndExpression() throws ParseException {
     InclusiveOrExpression();
-      label_5: while (true) {
+    label_5:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case SC_AND:
         ;
@@ -379,17 +363,14 @@
       }
       jj_consume_token(SC_AND);
       InclusiveOrExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
     }
   }
 
   final public void InclusiveOrExpression() throws ParseException {
     ExclusiveOrExpression();
-      label_6: while (true) {
+    label_6:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case BIT_OR:
         ;
@@ -400,17 +381,14 @@
       }
       jj_consume_token(BIT_OR);
       ExclusiveOrExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
     }
   }
 
   final public void ExclusiveOrExpression() throws ParseException {
     AndExpression();
-      label_7: while (true) {
+    label_7:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case XOR:
         ;
@@ -421,17 +399,14 @@
       }
       jj_consume_token(XOR);
       AndExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
     }
   }
 
   final public void AndExpression() throws ParseException {
     EqualityExpression();
-      label_8: while (true) {
+    label_8:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case BIT_AND:
         ;
@@ -442,18 +417,15 @@
       }
       jj_consume_token(BIT_AND);
       EqualityExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
     }
   }
 
   final public void EqualityExpression() throws ParseException {
  Token tok;
     InstanceOfExpression();
-      label_9: while (true) {
+    label_9:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case EQ:
       case NE:
@@ -487,11 +459,7 @@
     case INSTANCEOF:
       jj_consume_token(INSTANCEOF);
       Type();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
       break;
     default:
       jj_la1[14] = jj_gen;
@@ -502,7 +470,8 @@
   final public void RelationalExpression() throws ParseException {
  Token tok;
     ShiftExpression();
-      label_10: while (true) {
+    label_10:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case GT:
       case LT:
@@ -540,7 +509,8 @@
 
   final public void ShiftExpression() throws ParseException {
     AdditiveExpression();
-      label_11: while (true) {
+    label_11:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case LSHIFT:
       case RSIGNEDSHIFT:
@@ -567,18 +537,15 @@
         throw new ParseException();
       }
       AdditiveExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
     }
   }
 
   final public void AdditiveExpression() throws ParseException {
  Token tok;
     MultiplicativeExpression();
-      label_12: while (true) {
+    label_12:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case PLUS:
       case MINUS:
@@ -609,7 +576,8 @@
   final public void MultiplicativeExpression() throws ParseException {
  Token tok;
     UnaryExpression();
-      label_13: while (true) {
+    label_13:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case STAR:
       case SLASH:
@@ -642,15 +610,16 @@
   }
 
   final public void UnaryExpression() throws ParseException {
+ Token tok;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case PLUS:
     case MINUS:
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case PLUS:
-        jj_consume_token(PLUS);
+        tok = jj_consume_token(PLUS);
         break;
       case MINUS:
-        jj_consume_token(MINUS);
+        tok = jj_consume_token(MINUS);
         break;
       default:
         jj_la1[23] = jj_gen;
@@ -658,11 +627,7 @@
         throw new ParseException();
       }
       UnaryExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                  push( LValue.operation(vm, tok, pop(), frameGetter) );
       break;
     case INCR:
       PreIncrementExpression();
@@ -696,33 +661,26 @@
   final public void PreIncrementExpression() throws ParseException {
     jj_consume_token(INCR);
     PrimaryExpression();
-      {
-         if (true) {
-            throw new ParseException("operation not yet supported");
-         }
-      }
+                          {if (true) throw new ParseException("operation not yet supported");}
   }
 
   final public void PreDecrementExpression() throws ParseException {
     jj_consume_token(DECR);
     PrimaryExpression();
-      {
-         if (true) {
-            throw new ParseException("operation not yet supported");
-         }
-      }
+                          {if (true) throw new ParseException("operation not yet supported");}
   }
 
   final public void UnaryExpressionNotPlusMinus() throws ParseException {
+ Token tok;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case BANG:
     case TILDE:
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case TILDE:
-        jj_consume_token(TILDE);
+        tok = jj_consume_token(TILDE);
         break;
       case BANG:
-        jj_consume_token(BANG);
+        tok = jj_consume_token(BANG);
         break;
       default:
         jj_la1[25] = jj_gen;
@@ -730,11 +688,7 @@
         throw new ParseException();
       }
       UnaryExpression();
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                  push( LValue.operation(vm, tok, pop(), frameGetter) );
       break;
     default:
       jj_la1[26] = jj_gen;
@@ -765,10 +719,8 @@
     }
   }
 
-   // This production is to determine lookahead only. The LOOKAHEAD
-   // specifications
-   // below are not used, but they are there just to indicate that we know
-   // about
+// This production is to determine lookahead only.  The LOOKAHEAD specifications
+// below are not used, but they are there just to indicate that we know about
 // this.
   final public void CastLookahead() throws ParseException {
     if (jj_2_4(2)) {
@@ -841,11 +793,7 @@
         break;
       case DECR:
         jj_consume_token(DECR);
-            {
-               if (true) {
-                  throw new ParseException("operation not yet supported");
-               }
-            }
+                          {if (true) throw new ParseException("operation not yet supported");}
         break;
       default:
         jj_la1[30] = jj_gen;
@@ -863,7 +811,8 @@
     if (jj_2_6(2)) {
       jj_consume_token(LPAREN);
       PrimitiveType();
-         label_14: while (true) {
+      label_14:
+      while (true) {
         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
         case LBRACKET:
           ;
@@ -882,7 +831,8 @@
       case LPAREN:
         jj_consume_token(LPAREN);
         Name();
-            label_15: while (true) {
+        label_15:
+        while (true) {
           switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
           case LBRACKET:
             ;
@@ -907,7 +857,8 @@
 
   final public void PrimaryExpression() throws ParseException {
     PrimaryPrefix();
-      label_16: while (true) {
+    label_16:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case LPAREN:
       case LBRACKET:
@@ -946,11 +897,7 @@
       jj_consume_token(SUPER);
       jj_consume_token(DOT);
       jj_consume_token(IDENTIFIER);
-         {
-            if (true) {
-               throw new ParseException("operation not yet supported");
-            }
-         }
+                          {if (true) throw new ParseException("operation not yet supported");}
       break;
     case LPAREN:
       jj_consume_token(LPAREN);
@@ -968,7 +915,7 @@
   }
 
   final public void PrimarySuffix() throws ParseException {
-      List<Value> argList;
+ List argList;
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case LBRACKET:
       jj_consume_token(LBRACKET);
@@ -1046,8 +993,8 @@
     jj_consume_token(NULL);
   }
 
-   final public List<Value> Arguments() throws ParseException {
-      List<Value> argList = new ArrayList<Value>();
+  final public List Arguments() throws ParseException {
+ List argList = new ArrayList();
     jj_consume_token(LPAREN);
     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
     case FALSE:
@@ -1075,18 +1022,15 @@
       ;
     }
     jj_consume_token(RPAREN);
-      {
-         if (true) {
-            return argList;
-         }
-      }
+    {if (true) return argList;}
     throw new Error("Missing return statement in function");
   }
 
-   final public void ArgumentList(List<Value> argList) throws ParseException {
+  final public void ArgumentList(List argList) throws ParseException {
     Expression();
                 argList.add(pop().interiorGetValue());
-      label_17: while (true) {
+    label_17:
+    while (true) {
       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
       case COMMA:
         ;
@@ -1102,8 +1046,7 @@
   }
 
   final public void AllocationExpression() throws ParseException {
-      List<Value> argList;
-      String className;
+ List argList; String className;
     if (jj_2_7(2)) {
       jj_consume_token(NEW);
       PrimitiveType();
@@ -1120,11 +1063,7 @@
           break;
         case LBRACKET:
           ArrayDimensions();
-               {
-                  if (true) {
-                     throw new ParseException("operation not yet supported");
-                  }
-               }
+                          {if (true) throw new ParseException("operation not yet supported");}
           break;
         default:
           jj_la1[42] = jj_gen;
@@ -1141,11 +1080,12 @@
   }
 
 /*
-    * The second LOOKAHEAD specification below is to parse to PrimarySuffix if
-    * there is an expression between the "[...]".
+ * The second LOOKAHEAD specification below is to parse to PrimarySuffix
+ * if there is an expression between the "[...]".
  */
   final public void ArrayDimensions() throws ParseException {
-      label_18: while (true) {
+    label_18:
+    while (true) {
       jj_consume_token(LBRACKET);
       Expression();
       jj_consume_token(RBRACKET);
@@ -1155,7 +1095,8 @@
         break label_18;
       }
     }
-      label_19: while (true) {
+    label_19:
+    while (true) {
       if (jj_2_9(2)) {
         ;
       } else {
@@ -1166,2230 +1107,636 @@
     }
   }
 
-  final private boolean jj_2_1(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_1();
-    jj_save(0, xla);
-    return retval;
+  private boolean jj_2_1(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_1(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(0, xla); }
   }
 
-  final private boolean jj_2_2(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_2();
-    jj_save(1, xla);
-    return retval;
+  private boolean jj_2_2(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_2(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(1, xla); }
   }
 
-  final private boolean jj_2_3(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_3();
-    jj_save(2, xla);
-    return retval;
+  private boolean jj_2_3(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_3(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(2, xla); }
   }
 
-  final private boolean jj_2_4(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_4();
-    jj_save(3, xla);
-    return retval;
+  private boolean jj_2_4(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_4(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(3, xla); }
   }
 
-  final private boolean jj_2_5(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_5();
-    jj_save(4, xla);
-    return retval;
+  private boolean jj_2_5(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_5(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(4, xla); }
   }
 
-  final private boolean jj_2_6(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_6();
-    jj_save(5, xla);
-    return retval;
+  private boolean jj_2_6(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_6(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(5, xla); }
   }
 
-  final private boolean jj_2_7(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_7();
-    jj_save(6, xla);
-    return retval;
+  private boolean jj_2_7(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_7(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(6, xla); }
   }
 
-  final private boolean jj_2_8(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_8();
-    jj_save(7, xla);
-    return retval;
+  private boolean jj_2_8(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_8(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(7, xla); }
   }
 
-  final private boolean jj_2_9(int xla) {
-      jj_la = xla;
-      jj_lastpos = jj_scanpos = token;
-    boolean retval = !jj_3_9();
-    jj_save(8, xla);
-    return retval;
+  private boolean jj_2_9(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_9(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(8, xla); }
   }
 
-  final private boolean jj_3R_154() {
-      if (jj_scan_token(INCR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_94() {
+    if (jj_scan_token(DECR)) return true;
+    if (jj_3R_20()) return true;
     return false;
   }
 
-  final private boolean jj_3R_151() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_154()) {
-    jj_scanpos = xsp;
-         if (jj_3R_155()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_86() {
+    if (jj_3R_24()) return true;
     return false;
   }
 
-  final private boolean jj_3R_148() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3_6()) {
-    jj_scanpos = xsp;
-         if (jj_3R_150()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_93() {
+    if (jj_scan_token(INCR)) return true;
+    if (jj_3R_20()) return true;
     return false;
   }
 
-  final private boolean jj_3_6() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_23()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_91() {
+    if (jj_3R_95()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_23() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(10)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(15)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(12)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(45)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(34)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(36)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(27)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(21)) return true;
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_90() {
+    if (jj_3R_94()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_89() {
+    if (jj_3R_93()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_85() {
+    if (jj_3R_23()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_60() {
+    if (jj_3R_58()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_88() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(94)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(95)) return true;
+    }
+    if (jj_3R_83()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_83() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_88()) {
+    jj_scanpos = xsp;
+    if (jj_3R_89()) {
+    jj_scanpos = xsp;
+    if (jj_3R_90()) {
+    jj_scanpos = xsp;
+    if (jj_3R_91()) return true;
+    }
+    }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_82() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_85()) {
+    jj_scanpos = xsp;
+    if (jj_3R_86()) return true;
+    }
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_87()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_59() {
+    if (jj_3R_55()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_96() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(96)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(97)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(101)) return true;
+    }
+    }
+    if (jj_3R_83()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_80() {
+    if (jj_3R_83()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-         if (jj_3R_152()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      }
-      if (jj_scan_token(RPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_115()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+      if (jj_3R_96()) { jj_scanpos = xsp; break; }
+    }
     return false;
   }
 
-  final private boolean jj_3R_25() {
+  private boolean jj_3R_92() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_50()) {
+    if (jj_scan_token(94)) {
     jj_scanpos = xsp;
-         if (jj_3R_51()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+    if (jj_scan_token(95)) return true;
+    }
+    if (jj_3R_80()) return true;
     return false;
   }
 
-  final private boolean jj_3R_50() {
-      if (jj_3R_67()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3_8() {
+    if (jj_scan_token(LBRACKET)) return true;
+    if (jj_3R_25()) return true;
+    if (jj_scan_token(RBRACKET)) return true;
     return false;
   }
 
-  final private boolean jj_3_5() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_24()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_58() {
+    Token xsp;
+    if (jj_3_8()) return true;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3_8()) { jj_scanpos = xsp; break; }
+    }
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3_9()) { jj_scanpos = xsp; break; }
+    }
     return false;
   }
 
-  final private boolean jj_3R_149() {
-      if (jj_3R_20()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_84() {
     Token xsp;
     xsp = jj_scanpos;
-      if (jj_3R_151()) {
-         jj_scanpos = xsp;
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+    if (jj_scan_token(102)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(103)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(104)) return true;
+    }
+    }
+    if (jj_3R_78()) return true;
     return false;
   }
 
-  final private boolean jj_3R_41() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_24()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_78() {
+    if (jj_3R_80()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_92()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_54() {
+    if (jj_scan_token(NEW)) return true;
+    if (jj_3R_24()) return true;
     Token xsp;
     xsp = jj_scanpos;
     if (jj_3R_59()) {
     jj_scanpos = xsp;
-    if (jj_3R_60()) {
-    jj_scanpos = xsp;
-    if (jj_3R_61()) {
-    jj_scanpos = xsp;
-    if (jj_3R_62()) {
-    jj_scanpos = xsp;
-    if (jj_3R_63()) {
-    jj_scanpos = xsp;
-    if (jj_3R_64()) {
-    jj_scanpos = xsp;
-    if (jj_3R_65()) {
-    jj_scanpos = xsp;
-                           if (jj_3R_66()) {
-                              return true;
-                           }
-                           if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                              return false;
-                           }
-                        } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                           return false;
-                        }
-                     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                        return false;
-                     }
-                  } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                     return false;
-                  }
-               } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                  return false;
-               }
-            } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_40() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_24()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_123() {
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3_1() {
-      if (jj_scan_token(DOT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(IDENTIFIER)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3_4() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_23()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_22() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3_4()) {
-    jj_scanpos = xsp;
-    if (jj_3R_40()) {
-    jj_scanpos = xsp;
-            if (jj_3R_41()) {
-               return true;
-            }
-            if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3_3() {
-      if (jj_3R_22()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_24() {
-      if (jj_scan_token(IDENTIFIER)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3_1()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
+    if (jj_3R_60()) return true;
     }
     return false;
   }
 
-  final private boolean jj_3R_147() {
-      if (jj_scan_token(BANG)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_76() {
+    if (jj_3R_78()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_84()) { jj_scanpos = xsp; break; }
+    }
     return false;
   }
 
-  final private boolean jj_3R_142() {
-      if (jj_3R_149()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_81() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(81)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(80)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(87)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(88)) return true;
+    }
+    }
+    }
+    if (jj_3R_76()) return true;
     return false;
   }
 
-  final private boolean jj_3R_122() {
-      if (jj_3R_24()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_43() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3_7()) {
+    jj_scanpos = xsp;
+    if (jj_3R_54()) return true;
+    }
     return false;
   }
 
-  final private boolean jj_3R_49() {
-      if (jj_scan_token(DOUBLE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3_7() {
+    if (jj_scan_token(NEW)) return true;
+    if (jj_3R_23()) return true;
+    if (jj_3R_58()) return true;
     return false;
   }
 
-  final private boolean jj_3R_141() {
-      if (jj_3R_148()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_67() {
+    if (jj_scan_token(COMMA)) return true;
+    if (jj_3R_25()) return true;
     return false;
   }
 
-  final private boolean jj_3R_48() {
-      if (jj_scan_token(FLOAT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_64() {
+    if (jj_3R_25()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_67()) { jj_scanpos = xsp; break; }
+    }
     return false;
   }
 
-  final private boolean jj_3R_146() {
-      if (jj_scan_token(TILDE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_61() {
+    if (jj_3R_64()) return true;
     return false;
   }
 
-  final private boolean jj_3R_47() {
-      if (jj_scan_token(LONG)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_79() {
+    if (jj_scan_token(INSTANCEOF)) return true;
+    if (jj_3R_82()) return true;
     return false;
   }
 
-  final private boolean jj_3R_140() {
+  private boolean jj_3R_74() {
+    if (jj_3R_76()) return true;
     Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_146()) {
-    jj_scanpos = xsp;
-         if (jj_3R_147()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_115()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_81()) { jj_scanpos = xsp; break; }
+    }
     return false;
   }
 
-  final private boolean jj_3R_136() {
+  private boolean jj_3R_55() {
+    if (jj_scan_token(LPAREN)) return true;
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_140()) {
-    jj_scanpos = xsp;
-    if (jj_3R_141()) {
-    jj_scanpos = xsp;
-            if (jj_3R_142()) {
-               return true;
-            }
-            if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+    if (jj_3R_61()) jj_scanpos = xsp;
+    if (jj_scan_token(RPAREN)) return true;
     return false;
   }
 
-  final private boolean jj_3R_46() {
-      if (jj_scan_token(INT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_72() {
+    if (jj_3R_74()) return true;
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_79()) jj_scanpos = xsp;
     return false;
   }
 
-  final private boolean jj_3R_145() {
-      if (jj_scan_token(REM)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_77() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(86)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(89)) return true;
+    }
+    if (jj_3R_72()) return true;
     return false;
   }
 
-  final private boolean jj_3R_45() {
-      if (jj_scan_token(SHORT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_75() {
+    if (jj_scan_token(BIT_AND)) return true;
+    if (jj_3R_70()) return true;
     return false;
   }
 
-  final private boolean jj_3R_44() {
-      if (jj_scan_token(BYTE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_70() {
+    if (jj_3R_72()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_77()) { jj_scanpos = xsp; break; }
+    }
     return false;
   }
 
-  final private boolean jj_3R_135() {
-      if (jj_scan_token(DECR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_20()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_57() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(54)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(24)) return true;
+    }
     return false;
   }
 
-  final private boolean jj_3R_43() {
-      if (jj_scan_token(CHAR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_53() {
+    if (jj_scan_token(39)) return true;
     return false;
   }
 
-  final private boolean jj_3R_23() {
+  private boolean jj_3R_39() {
+    if (jj_3R_42()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_68() {
+    if (jj_3R_70()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_75()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_73() {
+    if (jj_scan_token(XOR)) return true;
+    if (jj_3R_68()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_52() {
+    if (jj_3R_57()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_51() {
+    if (jj_scan_token(STRING_LITERAL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_50() {
+    if (jj_scan_token(CHARACTER_LITERAL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_65() {
+    if (jj_3R_68()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_73()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_71() {
+    if (jj_scan_token(BIT_OR)) return true;
+    if (jj_3R_65()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_49() {
+    if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_42() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_42()) {
+    if (jj_3R_48()) {
     jj_scanpos = xsp;
-    if (jj_3R_43()) {
+    if (jj_3R_49()) {
     jj_scanpos = xsp;
+    if (jj_3R_50()) {
+    jj_scanpos = xsp;
+    if (jj_3R_51()) {
+    jj_scanpos = xsp;
+    if (jj_3R_52()) {
+    jj_scanpos = xsp;
+    if (jj_3R_53()) return true;
+    }
+    }
+    }
+    }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_48() {
+    if (jj_scan_token(INTEGER_LITERAL)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_62() {
+    if (jj_3R_65()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_71()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_69() {
+    if (jj_scan_token(SC_AND)) return true;
+    if (jj_3R_62()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_46() {
+    if (jj_3R_55()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_45() {
+    if (jj_scan_token(DOT)) return true;
+    if (jj_scan_token(IDENTIFIER)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_56() {
+    if (jj_3R_62()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_69()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_66() {
+    if (jj_scan_token(SC_OR)) return true;
+    if (jj_3R_56()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_44() {
+    if (jj_scan_token(LBRACKET)) return true;
+    if (jj_3R_25()) return true;
+    if (jj_scan_token(RBRACKET)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_38() {
+    Token xsp;
+    xsp = jj_scanpos;
     if (jj_3R_44()) {
     jj_scanpos = xsp;
     if (jj_3R_45()) {
     jj_scanpos = xsp;
-    if (jj_3R_46()) {
-    jj_scanpos = xsp;
-    if (jj_3R_47()) {
-    jj_scanpos = xsp;
-    if (jj_3R_48()) {
-    jj_scanpos = xsp;
-                           if (jj_3R_49()) {
-                              return true;
-                           }
-                           if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                              return false;
-                           }
-                        } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                           return false;
-                        }
-                     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                        return false;
-                     }
-                  } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                     return false;
-                  }
-               } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                  return false;
-               }
-            } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_42() {
-      if (jj_scan_token(BOOLEAN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3_9() {
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_121() {
-      if (jj_3R_23()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_144() {
-      if (jj_scan_token(SLASH)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_134() {
-      if (jj_scan_token(INCR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_20()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_114() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_121()) {
-    jj_scanpos = xsp;
-         if (jj_3R_122()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_123()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
+    if (jj_3R_46()) return true;
+    }
     }
     return false;
   }
 
-  final private boolean jj_3R_120() {
-      if (jj_scan_token(GE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_37() {
+    if (jj_3R_43()) return true;
     return false;
   }
 
-  final private boolean jj_3R_133() {
-      if (jj_scan_token(MINUS)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_27() {
+    if (jj_3R_38()) return true;
     return false;
   }
 
-  final private boolean jj_3R_127() {
-      if (jj_3R_136()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_36() {
+    if (jj_scan_token(LPAREN)) return true;
+    if (jj_3R_25()) return true;
+    if (jj_scan_token(RPAREN)) return true;
     return false;
   }
 
-  final private boolean jj_3R_126() {
-      if (jj_3R_135()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_139() {
-      if (jj_scan_token(MINUS)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_125() {
-      if (jj_3R_134()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_132() {
-      if (jj_scan_token(PLUS)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_143() {
-      if (jj_scan_token(STAR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_124() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_132()) {
-    jj_scanpos = xsp;
-         if (jj_3R_133()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_115()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_115() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_124()) {
-    jj_scanpos = xsp;
-    if (jj_3R_125()) {
-    jj_scanpos = xsp;
-    if (jj_3R_126()) {
-    jj_scanpos = xsp;
-               if (jj_3R_127()) {
-                  return true;
-               }
-               if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                  return false;
-               }
-            } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_137() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_143()) {
-    jj_scanpos = xsp;
-    if (jj_3R_144()) {
-    jj_scanpos = xsp;
-            if (jj_3R_145()) {
-               return true;
-            }
-            if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_115()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_131() {
-      if (jj_scan_token(RUNSIGNEDSHIFT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_119() {
-      if (jj_scan_token(LE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_138() {
-      if (jj_scan_token(PLUS)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_112() {
-      if (jj_3R_115()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_47() {
+    if (jj_3R_56()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-         if (jj_3R_137()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
+      if (jj_3R_66()) { jj_scanpos = xsp; break; }
     }
     return false;
   }
 
-  final private boolean jj_3R_88() {
-      if (jj_3R_86()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_104() {
+    if (jj_scan_token(LBRACKET)) return true;
+    if (jj_scan_token(RBRACKET)) return true;
     return false;
   }
 
-  final private boolean jj_3R_130() {
-      if (jj_scan_token(RSIGNEDSHIFT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_35() {
+    if (jj_scan_token(SUPER)) return true;
+    if (jj_scan_token(DOT)) return true;
+    if (jj_scan_token(IDENTIFIER)) return true;
     return false;
   }
 
-  final private boolean jj_3R_128() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_138()) {
-    jj_scanpos = xsp;
-         if (jj_3R_139()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_112()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_34() {
+    if (jj_scan_token(THIS)) return true;
     return false;
   }
 
-  final private boolean jj_3R_87() {
-      if (jj_3R_82()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_63() {
+    if (jj_scan_token(HOOK)) return true;
+    if (jj_3R_25()) return true;
+    if (jj_scan_token(COLON)) return true;
+    if (jj_3R_41()) return true;
     return false;
   }
 
-  final private boolean jj_3R_118() {
-      if (jj_scan_token(GT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_33() {
+    if (jj_3R_24()) return true;
     return false;
   }
 
-  final private boolean jj_3R_129() {
-      if (jj_scan_token(LSHIFT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_105() {
+    if (jj_scan_token(LBRACKET)) return true;
+    if (jj_scan_token(RBRACKET)) return true;
     return false;
   }
 
-  final private boolean jj_3R_116() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_129()) {
-    jj_scanpos = xsp;
-    if (jj_3R_130()) {
-    jj_scanpos = xsp;
-            if (jj_3R_131()) {
-               return true;
-            }
-            if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_108()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_32() {
+    if (jj_3R_42()) return true;
     return false;
   }
 
-  final private boolean jj_3R_108() {
-      if (jj_3R_112()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_128()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3_8() {
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_25()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_86() {
-    Token xsp;
-      if (jj_3_8()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3_8()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3_9()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_117() {
-      if (jj_scan_token(LT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_106() {
-      if (jj_3R_108()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_116()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_113() {
+  private boolean jj_3R_26() {
     Token xsp;
     xsp = jj_scanpos;
-    if (jj_3R_117()) {
-    jj_scanpos = xsp;
-    if (jj_3R_118()) {
-    jj_scanpos = xsp;
-    if (jj_3R_119()) {
-    jj_scanpos = xsp;
-               if (jj_3R_120()) {
-                  return true;
-               }
-               if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                  return false;
-               }
-            } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_106()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_111() {
-      if (jj_scan_token(NE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_109() {
-      if (jj_scan_token(INSTANCEOF)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_114()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_104() {
-      if (jj_3R_106()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_113()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_81() {
-      if (jj_scan_token(NEW)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_24()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_87()) {
-    jj_scanpos = xsp;
-         if (jj_3R_88()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3_7() {
-      if (jj_scan_token(NEW)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_23()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_86()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_70() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3_7()) {
-    jj_scanpos = xsp;
-         if (jj_3R_81()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_97() {
-      if (jj_scan_token(COMMA)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_25()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_39() {
-      if (jj_scan_token(ORASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_110() {
-      if (jj_scan_token(EQ)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_102() {
-      if (jj_3R_104()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    xsp = jj_scanpos;
-      if (jj_3R_109()) {
-         jj_scanpos = xsp;
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_107() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_110()) {
-    jj_scanpos = xsp;
-         if (jj_3R_111()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_102()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_94() {
-      if (jj_3R_25()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_97()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_89() {
-      if (jj_3R_94()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_38() {
-      if (jj_scan_token(XORASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_82() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    xsp = jj_scanpos;
-      if (jj_3R_89()) {
-         jj_scanpos = xsp;
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_105() {
-      if (jj_scan_token(BIT_AND)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_100()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_100() {
-      if (jj_3R_102()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_107()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_37() {
-      if (jj_scan_token(ANDASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_85() {
-      if (jj_scan_token(NULL)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_103() {
-      if (jj_scan_token(XOR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_98()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_98() {
-      if (jj_3R_100()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_105()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_92() {
-      if (jj_scan_token(FALSE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_36() {
-      if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_91() {
-      if (jj_scan_token(TRUE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_84() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_91()) {
-    jj_scanpos = xsp;
-         if (jj_3R_92()) {
-            return true;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_101() {
-      if (jj_scan_token(BIT_OR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_95()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_95() {
-      if (jj_3R_98()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_103()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_35() {
-      if (jj_scan_token(RSIGNEDSHIFTASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_80() {
-      if (jj_3R_85()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_66() {
-      if (jj_3R_69()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_79() {
-      if (jj_3R_84()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_78() {
-      if (jj_scan_token(STRING_LITERAL)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_99() {
-      if (jj_scan_token(SC_AND)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_90()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_90() {
-      if (jj_3R_95()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_101()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_34() {
-      if (jj_scan_token(LSHIFTASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_65() {
-      if (jj_scan_token(NEW)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_77() {
-      if (jj_scan_token(CHARACTER_LITERAL)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_76() {
-      if (jj_scan_token(FLOATING_POINT_LITERAL)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_33() {
-      if (jj_scan_token(MINUSASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_69() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_75()) {
-    jj_scanpos = xsp;
-    if (jj_3R_76()) {
-    jj_scanpos = xsp;
-    if (jj_3R_77()) {
-    jj_scanpos = xsp;
-    if (jj_3R_78()) {
-    jj_scanpos = xsp;
-    if (jj_3R_79()) {
-    jj_scanpos = xsp;
-                     if (jj_3R_80()) {
-                        return true;
-                     }
-                     if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                        return false;
-                     }
-                  } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                     return false;
-                  }
-               } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                  return false;
-               }
-            } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_75() {
-      if (jj_scan_token(INTEGER_LITERAL)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_96() {
-      if (jj_scan_token(SC_OR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_83()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_83() {
-      if (jj_3R_90()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_99()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_64() {
-      if (jj_scan_token(SUPER)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_32() {
-      if (jj_scan_token(PLUSASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_73() {
-      if (jj_3R_82()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_72() {
-      if (jj_scan_token(DOT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(IDENTIFIER)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_74() {
-      if (jj_3R_83()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_96()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-    }
-    return false;
-  }
-
-  final private boolean jj_3R_63() {
-      if (jj_scan_token(THIS)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_31() {
-      if (jj_scan_token(REMASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_58() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_71()) {
-    jj_scanpos = xsp;
-    if (jj_3R_72()) {
-    jj_scanpos = xsp;
-            if (jj_3R_73()) {
-               return true;
-            }
-            if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_71() {
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_25()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_93() {
-      if (jj_scan_token(HOOK)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_25()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(COLON)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_68()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_57() {
-      if (jj_3R_70()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_30() {
-      if (jj_scan_token(SLASHASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_27() {
-      if (jj_3R_58()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_56() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_25()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_152() {
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_55() {
-      if (jj_scan_token(SUPER)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(DOT)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(IDENTIFIER)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_29() {
-      if (jj_scan_token(STARASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_68() {
-      if (jj_3R_74()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    xsp = jj_scanpos;
-      if (jj_3R_93()) {
-         jj_scanpos = xsp;
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_54() {
-      if (jj_scan_token(THIS)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_62() {
-      if (jj_scan_token(IDENTIFIER)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_53() {
-      if (jj_3R_24()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_153() {
-      if (jj_scan_token(LBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_scan_token(RBRACKET)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_26() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_52()) {
-    jj_scanpos = xsp;
-    if (jj_3R_53()) {
-    jj_scanpos = xsp;
-    if (jj_3R_54()) {
-    jj_scanpos = xsp;
-    if (jj_3R_55()) {
-    jj_scanpos = xsp;
-    if (jj_3R_56()) {
-    jj_scanpos = xsp;
-                     if (jj_3R_57()) {
-                        return true;
-                     }
-                     if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                        return false;
-                     }
-                  } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                     return false;
-                  }
-               } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                  return false;
-               }
-            } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_52() {
-      if (jj_3R_69()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_21() {
-    Token xsp;
-    xsp = jj_scanpos;
-    if (jj_3R_28()) {
-    jj_scanpos = xsp;
-    if (jj_3R_29()) {
-    jj_scanpos = xsp;
-    if (jj_3R_30()) {
-    jj_scanpos = xsp;
-    if (jj_3R_31()) {
-    jj_scanpos = xsp;
     if (jj_3R_32()) {
     jj_scanpos = xsp;
     if (jj_3R_33()) {
@@ -3400,318 +1747,420 @@
     jj_scanpos = xsp;
     if (jj_3R_36()) {
     jj_scanpos = xsp;
-    if (jj_3R_37()) {
-    jj_scanpos = xsp;
-    if (jj_3R_38()) {
-    jj_scanpos = xsp;
-                                       if (jj_3R_39()) {
-                                          return true;
-                                       }
-                                       if (jj_la == 0
-                                             && jj_scanpos == jj_lastpos) {
-                                          return false;
-                                       }
-                                    } else if (jj_la == 0
-                                          && jj_scanpos == jj_lastpos) {
-                                       return false;
-                                    }
-                                 } else if (jj_la == 0
-                                       && jj_scanpos == jj_lastpos) {
-                                    return false;
-                                 }
-                              } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                                 return false;
-                              }
-                           } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                              return false;
-                           }
-                        } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                           return false;
-                        }
-                     } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                        return false;
-                     }
-                  } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                     return false;
-                  }
-               } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-                  return false;
-               }
-            } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-               return false;
-            }
-         } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      } else if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_28() {
-      if (jj_scan_token(ASSIGN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_61() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3_2() {
-      if (jj_3R_20()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_21()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    return false;
-  }
-
-  final private boolean jj_3R_20() {
-      if (jj_3R_26()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-    Token xsp;
-    while (true) {
-      xsp = jj_scanpos;
-         if (jj_3R_27()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
+    if (jj_3R_37()) return true;
+    }
+    }
+    }
+    }
     }
     return false;
   }
 
-  final private boolean jj_3R_60() {
-      if (jj_scan_token(BANG)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_20() {
+    if (jj_3R_26()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_27()) { jj_scanpos = xsp; break; }
+    }
     return false;
   }
 
-  final private boolean jj_3R_155() {
-      if (jj_scan_token(DECR)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_41() {
+    if (jj_3R_47()) return true;
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_63()) jj_scanpos = xsp;
     return false;
   }
 
-  final private boolean jj_3R_67() {
-      if (jj_3R_20()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_21()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_25()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_106() {
+    if (jj_scan_token(DECR)) return true;
     return false;
   }
 
-  final private boolean jj_3R_150() {
-      if (jj_scan_token(LPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_24()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_102() {
+    if (jj_scan_token(LPAREN)) return true;
+    if (jj_3R_24()) return true;
     Token xsp;
     while (true) {
       xsp = jj_scanpos;
-         if (jj_3R_153()) {
-            jj_scanpos = xsp;
-            break;
-         }
-         if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-            return false;
-         }
-      }
-      if (jj_scan_token(RPAREN)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
-      if (jj_3R_136()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+      if (jj_3R_105()) { jj_scanpos = xsp; break; }
+    }
+    if (jj_scan_token(RPAREN)) return true;
+    if (jj_3R_95()) return true;
     return false;
   }
 
-  final private boolean jj_3R_59() {
-      if (jj_scan_token(TILDE)) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_21() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(79)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(107)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(108)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(112)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(105)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(106)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(113)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(114)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(115)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(109)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(111)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(110)) return true;
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    }
     return false;
   }
 
-  final private boolean jj_3R_51() {
-      if (jj_3R_68()) {
-         return true;
-      }
-      if (jj_la == 0 && jj_scanpos == jj_lastpos) {
-         return false;
-      }
+  private boolean jj_3R_103() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(92)) {
+    jj_scanpos = xsp;
+    if (jj_3R_106()) return true;
+    }
     return false;
   }
 
+  private boolean jj_3R_100() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3_6()) {
+    jj_scanpos = xsp;
+    if (jj_3R_102()) return true;
+    }
+    return false;
+  }
+
+  private boolean jj_3_6() {
+    if (jj_scan_token(LPAREN)) return true;
+    if (jj_3R_23()) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_104()) { jj_scanpos = xsp; break; }
+    }
+    if (jj_scan_token(RPAREN)) return true;
+    if (jj_3R_83()) return true;
+    return false;
+  }
+
+  private boolean jj_3_2() {
+    if (jj_3R_20()) return true;
+    if (jj_3R_21()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_40() {
+    if (jj_3R_20()) return true;
+    if (jj_3R_21()) return true;
+    if (jj_3R_25()) return true;
+    return false;
+  }
+
+  private boolean jj_3_5() {
+    if (jj_scan_token(LPAREN)) return true;
+    if (jj_3R_24()) return true;
+    if (jj_scan_token(LBRACKET)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_101() {
+    if (jj_3R_20()) return true;
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_103()) jj_scanpos = xsp;
+    return false;
+  }
+
+  private boolean jj_3R_31() {
+    if (jj_3R_41()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_30() {
+    if (jj_3R_40()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_25() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_30()) {
+    jj_scanpos = xsp;
+    if (jj_3R_31()) return true;
+    }
+    return false;
+  }
+
+  private boolean jj_3R_29() {
+    if (jj_scan_token(LPAREN)) return true;
+    if (jj_3R_24()) return true;
+    if (jj_scan_token(RPAREN)) return true;
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(83)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(82)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(70)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(67)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(50)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(47)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(38)) {
+    jj_scanpos = xsp;
+    if (jj_3R_39()) return true;
+    }
+    }
+    }
+    }
+    }
+    }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_28() {
+    if (jj_scan_token(LPAREN)) return true;
+    if (jj_3R_24()) return true;
+    if (jj_scan_token(LBRACKET)) return true;
+    if (jj_scan_token(RBRACKET)) return true;
+    return false;
+  }
+
+  private boolean jj_3_4() {
+    if (jj_scan_token(LPAREN)) return true;
+    if (jj_3R_23()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_22() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3_4()) {
+    jj_scanpos = xsp;
+    if (jj_3R_28()) {
+    jj_scanpos = xsp;
+    if (jj_3R_29()) return true;
+    }
+    }
+    return false;
+  }
+
+  private boolean jj_3_3() {
+    if (jj_3R_22()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_99() {
+    if (jj_3R_101()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_87() {
+    if (jj_scan_token(LBRACKET)) return true;
+    if (jj_scan_token(RBRACKET)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_98() {
+    if (jj_3R_100()) return true;
+    return false;
+  }
+
+  private boolean jj_3_1() {
+    if (jj_scan_token(DOT)) return true;
+    if (jj_scan_token(IDENTIFIER)) return true;
+    return false;
+  }
+
+  private boolean jj_3_9() {
+    if (jj_scan_token(LBRACKET)) return true;
+    if (jj_scan_token(RBRACKET)) return true;
+    return false;
+  }
+
+  private boolean jj_3R_97() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(83)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(82)) return true;
+    }
+    if (jj_3R_83()) return true;
+    return false;
+  }
+
+  private boolean jj_3R_95() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_97()) {
+    jj_scanpos = xsp;
+    if (jj_3R_98()) {
+    jj_scanpos = xsp;
+    if (jj_3R_99()) return true;
+    }
+    }
+    return false;
+  }
+
+  private boolean jj_3R_24() {
+    if (jj_scan_token(IDENTIFIER)) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3_1()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  /** Generated Token Manager. */
   public ExpressionParserTokenManager token_source;
-  ASCII_UCodeESC_CharStream jj_input_stream;
-  public Token token, jj_nt;
+  JavaCharStream jj_input_stream;
+  /** Current token. */
+  public Token token;
+  /** Next token. */
+  public Token jj_nt;
   private int jj_ntk;
   private Token jj_scanpos, jj_lastpos;
   private int jj_la;
-  public boolean lookingAhead = false;
   private int jj_gen;
   final private int[] jj_la1 = new int[44];
-   final private int[] jj_la1_0 = { 0x8209400, 0x0, 0x8209400, 0x0, 0x1000000,
-         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-         0x0, 0x0, 0x0, 0x0, 0x0, 0x1000000, 0x0, 0x0, 0x1000000, 0x1000000,
-         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000000, 0x0, 0x1000000,
-         0x1000000, 0x1000000, 0x0, 0x0, 0x0, };
-   final private int[] jj_la1_1 = { 0x2014, 0x0, 0x2014, 0x0, 0x884480c0, 0x0,
-         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0,
-         0x0, 0x0, 0x0, 0x0, 0x884480c0, 0x0, 0x0, 0x884480c0, 0x884480c0, 0x0,
-         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x884480c0, 0x0, 0x88400080, 0x400000,
-         0x884480c0, 0x0, 0x0, 0x40, };
-   final private int[] jj_la1_2 = { 0x8, 0x400, 0x0, 0x2000, 0xf00c004e,
-         0x8000, 0x100000, 0x4000000, 0x8000000, 0x0, 0x0, 0x0, 0x2400000,
-         0x2400000, 0x0, 0x1830000, 0x1830000, 0x0, 0x0, 0xc0000000,
-         0xc0000000, 0x0, 0x0, 0xc0000000, 0xf00c004e, 0xc0000, 0xc0000, 0x4e,
-         0xc004e, 0x40, 0x30000000, 0x30000000, 0x400, 0x400, 0x40, 0x4440,
-         0x4e, 0x4440, 0x6, 0x0, 0xf00c004e, 0x2000, 0x440, 0x0, };
-   final private int[] jj_la1_3 = { 0x0, 0x0, 0x0, 0x0, 0x0, 0xffe00, 0x0, 0x0,
-         0x0, 0x8, 0x10, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c0, 0x1c0, 0x0, 0x0,
-         0x23, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
-         0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, };
-  final private JJExpressionParserCalls[] jj_2_rtns = new JJExpressionParserCalls[9];
+  static private int[] jj_la1_0;
+  static private int[] jj_la1_1;
+  static private int[] jj_la1_2;
+  static private int[] jj_la1_3;
+  static {
+      jj_la1_init_0();
+      jj_la1_init_1();
+      jj_la1_init_2();
+      jj_la1_init_3();
+   }
+   private static void jj_la1_init_0() {
+      jj_la1_0 = new int[] {0x8209400,0x0,0x8209400,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x1000000,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x1000000,0x1000000,0x1000000,0x0,0x0,0x0,};
+   }
+   private static void jj_la1_init_1() {
+      jj_la1_1 = new int[] {0x2014,0x0,0x2014,0x0,0x884480c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x884480c0,0x0,0x0,0x884480c0,0x884480c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x884480c0,0x0,0x88400080,0x400000,0x884480c0,0x0,0x0,0x40,};
+   }
+   private static void jj_la1_init_2() {
+      jj_la1_2 = new int[] {0x8,0x400,0x0,0x2000,0xf00c004e,0x8000,0x100000,0x4000000,0x8000000,0x0,0x0,0x0,0x2400000,0x2400000,0x0,0x1830000,0x1830000,0x0,0x0,0xc0000000,0xc0000000,0x0,0x0,0xc0000000,0xf00c004e,0xc0000,0xc0000,0x4e,0xc004e,0x40,0x30000000,0x30000000,0x400,0x400,0x40,0x4440,0x4e,0x4440,0x6,0x0,0xf00c004e,0x2000,0x440,0x0,};
+   }
+   private static void jj_la1_init_3() {
+      jj_la1_3 = new int[] {0x0,0x0,0x0,0x0,0x0,0xffe00,0x0,0x0,0x0,0x8,0x10,0x4,0x0,0x0,0x0,0x0,0x0,0x1c0,0x1c0,0x0,0x0,0x23,0x23,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+   }
+  final private JJCalls[] jj_2_rtns = new JJCalls[9];
   private boolean jj_rescan = false;
   private int jj_gc = 0;
 
+  /** Constructor with InputStream. */
   public ExpressionParser(java.io.InputStream stream) {
-    jj_input_stream = new ASCII_UCodeESC_CharStream(stream, 1, 1);
+     this(stream, null);
+  }
+  /** Constructor with InputStream and supplied encoding */
+  public ExpressionParser(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
     token_source = new ExpressionParserTokenManager(jj_input_stream);
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-      for (int i = 0; i < 44; i++) {
-         jj_la1[i] = -1;
-      }
-      for (int i = 0; i < jj_2_rtns.length; i++) {
-         jj_2_rtns[i] = new JJExpressionParserCalls();
-      }
+    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
+  /** Reinitialise. */
   public void ReInit(java.io.InputStream stream) {
+     ReInit(stream, null);
+  }
+  /** Reinitialise. */
+  public void ReInit(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  /** Constructor. */
+  public ExpressionParser(java.io.Reader stream) {
+    jj_input_stream = new JavaCharStream(stream, 1, 1);
+    token_source = new ExpressionParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  /** Reinitialise. */
+  public void ReInit(java.io.Reader stream) {
     jj_input_stream.ReInit(stream, 1, 1);
     token_source.ReInit(jj_input_stream);
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-      for (int i = 0; i < 44; i++) {
-         jj_la1[i] = -1;
-      }
-      for (int i = 0; i < jj_2_rtns.length; i++) {
-         jj_2_rtns[i] = new JJExpressionParserCalls();
-      }
+    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
+  /** Constructor with generated Token Manager. */
   public ExpressionParser(ExpressionParserTokenManager tm) {
     token_source = tm;
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-      for (int i = 0; i < 44; i++) {
-         jj_la1[i] = -1;
-      }
-      for (int i = 0; i < jj_2_rtns.length; i++) {
-         jj_2_rtns[i] = new JJExpressionParserCalls();
-      }
+    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
+  /** Reinitialise. */
   public void ReInit(ExpressionParserTokenManager tm) {
     token_source = tm;
     token = new Token();
     jj_ntk = -1;
     jj_gen = 0;
-      for (int i = 0; i < 44; i++) {
-         jj_la1[i] = -1;
-      }
-      for (int i = 0; i < jj_2_rtns.length; i++) {
-         jj_2_rtns[i] = new JJExpressionParserCalls();
-      }
+    for (int i = 0; i < 44; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
   }
 
-  final private Token jj_consume_token(int kind) throws ParseException {
+  private Token jj_consume_token(int kind) throws ParseException {
     Token oldToken;
-      if ((oldToken = token).next != null) {
-         token = token.next;
-      } else {
-         token = token.next = token_source.getNextToken();
-      }
+    if ((oldToken = token).next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
     jj_ntk = -1;
     if (token.kind == kind) {
       jj_gen++;
       if (++jj_gc > 100) {
         jj_gc = 0;
-            for (JJExpressionParserCalls jj_2_rtn : jj_2_rtns) {
-               JJExpressionParserCalls c = jj_2_rtn;
+        for (int i = 0; i < jj_2_rtns.length; i++) {
+          JJCalls c = jj_2_rtns[i];
           while (c != null) {
-                  if (c.gen < jj_gen) {
-                     c.first = null;
-                  }
+            if (c.gen < jj_gen) c.first = null;
             c = c.next;
           }
         }
@@ -3723,12 +2172,13 @@
     throw generateParseException();
   }
 
-  final private boolean jj_scan_token(int kind) {
+  static private final class LookaheadSuccess extends java.lang.Error { }
+  final private LookaheadSuccess jj_ls = new LookaheadSuccess();
+  private boolean jj_scan_token(int kind) {
     if (jj_scanpos == jj_lastpos) {
       jj_la--;
       if (jj_scanpos.next == null) {
-            jj_lastpos = jj_scanpos = jj_scanpos.next = token_source
-                  .getNextToken();
+        jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
       } else {
         jj_lastpos = jj_scanpos = jj_scanpos.next;
       }
@@ -3736,60 +2186,50 @@
       jj_scanpos = jj_scanpos.next;
     }
     if (jj_rescan) {
-         int i = 0;
-         Token tok = token;
-         while (tok != null && tok != jj_scanpos) {
-            i++;
-            tok = tok.next;
-         }
-         if (tok != null) {
-            jj_add_error_token(kind, i);
-         }
+      int i = 0; Token tok = token;
+      while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
+      if (tok != null) jj_add_error_token(kind, i);
     }
-    return (jj_scanpos.kind != kind);
+    if (jj_scanpos.kind != kind) return true;
+    if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
+    return false;
   }
 
+
+/** Get the next Token. */
   final public Token getNextToken() {
-      if (token.next != null) {
-         token = token.next;
-      } else {
-         token = token.next = token_source.getNextToken();
-      }
+    if (token.next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
     jj_ntk = -1;
     jj_gen++;
     return token;
   }
 
+/** Get the specific Token. */
   final public Token getToken(int index) {
-    Token t = lookingAhead ? jj_scanpos : token;
+    Token t = token;
     for (int i = 0; i < index; i++) {
-         if (t.next != null) {
-            t = t.next;
-         } else {
-            t = t.next = token_source.getNextToken();
-         }
+      if (t.next != null) t = t.next;
+      else t = t.next = token_source.getNextToken();
     }
     return t;
   }
 
-  final private int jj_ntk() {
-      if ((jj_nt = token.next) == null) {
+  private int jj_ntk() {
+    if ((jj_nt=token.next) == null)
       return (jj_ntk = (token.next=token_source.getNextToken()).kind);
-      } else {
+    else
       return (jj_ntk = jj_nt.kind);
   }
-   }
 
-   private java.util.Vector<int[]> jj_expentries = new java.util.Vector<int[]>();
+  private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
   private int[] jj_expentry;
   private int jj_kind = -1;
   private int[] jj_lasttokens = new int[100];
   private int jj_endpos;
 
   private void jj_add_error_token(int kind, int pos) {
-      if (pos >= 100) {
-         return;
-      }
+    if (pos >= 100) return;
     if (pos == jj_endpos + 1) {
       jj_lasttokens[jj_endpos++] = kind;
     } else if (jj_endpos != 0) {
@@ -3797,38 +2237,26 @@
       for (int i = 0; i < jj_endpos; i++) {
         jj_expentry[i] = jj_lasttokens[i];
       }
-      boolean exists = false;
-         for (java.util.Enumeration<int[]> enum_ = jj_expentries.elements(); enum_
-               .hasMoreElements();) {
-            int[] oldentry = (enum_.nextElement());
+      jj_entries_loop: for (java.util.Iterator<?> it = jj_expentries.iterator(); it.hasNext();) {
+        int[] oldentry = (int[])(it.next());
         if (oldentry.length == jj_expentry.length) {
-          exists = true;
           for (int i = 0; i < jj_expentry.length; i++) {
             if (oldentry[i] != jj_expentry[i]) {
-              exists = false;
-              break;
+              continue jj_entries_loop;
             }
           }
-               if (exists) {
-                  break;
-               }
-            }
-         }
-         if (!exists) {
-            jj_expentries.addElement(jj_expentry);
-         }
-         if (pos != 0) {
-            jj_lasttokens[(jj_endpos = pos) - 1] = kind;
-         }
+          jj_expentries.add(jj_expentry);
+          break jj_entries_loop;
+        }
+      }
+      if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
     }
   }
 
-  final public ParseException generateParseException() {
-    jj_expentries.removeAllElements();
+  /** Generate ParseException. */
+  public ParseException generateParseException() {
+    jj_expentries.clear();
     boolean[] la1tokens = new boolean[116];
-    for (int i = 0; i < 116; i++) {
-      la1tokens[i] = false;
-    }
     if (jj_kind >= 0) {
       la1tokens[jj_kind] = true;
       jj_kind = -1;
@@ -3855,7 +2283,7 @@
       if (la1tokens[i]) {
         jj_expentry = new int[1];
         jj_expentry[0] = i;
-        jj_expentries.addElement(jj_expentry);
+        jj_expentries.add(jj_expentry);
       }
     }
     jj_endpos = 0;
@@ -3863,80 +2291,60 @@
     jj_add_error_token(0, 0);
     int[][] exptokseq = new int[jj_expentries.size()][];
     for (int i = 0; i < jj_expentries.size(); i++) {
-         exptokseq[i] = jj_expentries.elementAt(i);
+      exptokseq[i] = jj_expentries.get(i);
     }
     return new ParseException(token, exptokseq, tokenImage);
   }
 
+  /** Enable tracing. */
   final public void enable_tracing() {
   }
 
+  /** Disable tracing. */
   final public void disable_tracing() {
   }
 
-  final private void jj_rescan_token() {
+  private void jj_rescan_token() {
     jj_rescan = true;
     for (int i = 0; i < 9; i++) {
-      JJExpressionParserCalls p = jj_2_rtns[i];
+    try {
+      JJCalls p = jj_2_rtns[i];
       do {
         if (p.gen > jj_gen) {
-               jj_la = p.arg;
-               jj_lastpos = jj_scanpos = p.first;
+          jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
           switch (i) {
-               case 0:
-                  jj_3_1();
-                  break;
-               case 1:
-                  jj_3_2();
-                  break;
-               case 2:
-                  jj_3_3();
-                  break;
-               case 3:
-                  jj_3_4();
-                  break;
-               case 4:
-                  jj_3_5();
-                  break;
-               case 5:
-                  jj_3_6();
-                  break;
-               case 6:
-                  jj_3_7();
-                  break;
-               case 7:
-                  jj_3_8();
-                  break;
-               case 8:
-                  jj_3_9();
-                  break;
+            case 0: jj_3_1(); break;
+            case 1: jj_3_2(); break;
+            case 2: jj_3_3(); break;
+            case 3: jj_3_4(); break;
+            case 4: jj_3_5(); break;
+            case 5: jj_3_6(); break;
+            case 6: jj_3_7(); break;
+            case 7: jj_3_8(); break;
+            case 8: jj_3_9(); break;
           }
         }
         p = p.next;
       } while (p != null);
+      } catch(LookaheadSuccess ls) { }
     }
     jj_rescan = false;
   }
 
-  final private void jj_save(int index, int xla) {
-    JJExpressionParserCalls p = jj_2_rtns[index];
+  private void jj_save(int index, int xla) {
+    JJCalls p = jj_2_rtns[index];
     while (p.gen > jj_gen) {
-         if (p.next == null) {
-            p = p.next = new JJExpressionParserCalls();
-            break;
-         }
+      if (p.next == null) { p = p.next = new JJCalls(); break; }
       p = p.next;
     }
-      p.gen = jj_gen + xla - jj_la;
-      p.first = token;
-      p.arg = xla;
+    p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
+  }
+
+  static final class JJCalls {
+    int gen;
+    Token first;
+    int arg;
+    JJCalls next;
   }
 
 }
-
-final class JJExpressionParserCalls {
-  int gen;
-  Token first;
-  int arg;
-  JJExpressionParserCalls next;
-}
--- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserConstants.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserConstants.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, 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,134 +23,243 @@
  * 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;
 
+
+/**
+ * Token literal values and constants.
+ * Generated by org.javacc.parser.OtherFilesGen#start()
+ */
 public interface ExpressionParserConstants {
 
+  /** End of File. */
   int EOF = 0;
+  /** RegularExpression Id. */
   int SINGLE_LINE_COMMENT = 6;
+  /** RegularExpression Id. */
   int FORMAL_COMMENT = 7;
+  /** RegularExpression Id. */
   int MULTI_LINE_COMMENT = 8;
+  /** RegularExpression Id. */
   int ABSTRACT = 9;
+  /** RegularExpression Id. */
   int BOOLEAN = 10;
+  /** RegularExpression Id. */
   int BREAK = 11;
+  /** RegularExpression Id. */
   int BYTE = 12;
+  /** RegularExpression Id. */
   int CASE = 13;
+  /** RegularExpression Id. */
   int CATCH = 14;
+  /** RegularExpression Id. */
   int CHAR = 15;
+  /** RegularExpression Id. */
   int CLASS = 16;
+  /** RegularExpression Id. */
   int CONST = 17;
+  /** RegularExpression Id. */
   int CONTINUE = 18;
+  /** RegularExpression Id. */
   int _DEFAULT = 19;
+  /** RegularExpression Id. */
   int DO = 20;
+  /** RegularExpression Id. */
   int DOUBLE = 21;
+  /** RegularExpression Id. */
   int ELSE = 22;
+  /** RegularExpression Id. */
   int EXTENDS = 23;
+  /** RegularExpression Id. */
   int FALSE = 24;
+  /** RegularExpression Id. */
   int FINAL = 25;
+  /** RegularExpression Id. */
   int FINALLY = 26;
+  /** RegularExpression Id. */
   int FLOAT = 27;
+  /** RegularExpression Id. */
   int FOR = 28;
+  /** RegularExpression Id. */
   int GOTO = 29;
+  /** RegularExpression Id. */
   int IF = 30;
+  /** RegularExpression Id. */
   int IMPLEMENTS = 31;
+  /** RegularExpression Id. */
   int IMPORT = 32;
+  /** RegularExpression Id. */
   int INSTANCEOF = 33;
+  /** RegularExpression Id. */
   int INT = 34;
+  /** RegularExpression Id. */
   int INTERFACE = 35;
+  /** RegularExpression Id. */
   int LONG = 36;
+  /** RegularExpression Id. */
   int NATIVE = 37;
+  /** RegularExpression Id. */
   int NEW = 38;
+  /** RegularExpression Id. */
   int NULL = 39;
+  /** RegularExpression Id. */
   int PACKAGE = 40;
+  /** RegularExpression Id. */
   int PRIVATE = 41;
+  /** RegularExpression Id. */
   int PROTECTED = 42;
+  /** RegularExpression Id. */
   int PUBLIC = 43;
+  /** RegularExpression Id. */
   int RETURN = 44;
+  /** RegularExpression Id. */
   int SHORT = 45;
+  /** RegularExpression Id. */
   int STATIC = 46;
+  /** RegularExpression Id. */
   int SUPER = 47;
+  /** RegularExpression Id. */
   int SWITCH = 48;
+  /** RegularExpression Id. */
   int SYNCHRONIZED = 49;
+  /** RegularExpression Id. */
   int THIS = 50;
+  /** RegularExpression Id. */
   int THROW = 51;
+  /** RegularExpression Id. */
   int THROWS = 52;
+  /** RegularExpression Id. */
   int TRANSIENT = 53;
+  /** RegularExpression Id. */
   int TRUE = 54;
+  /** RegularExpression Id. */
   int TRY = 55;
+  /** RegularExpression Id. */
   int VOID = 56;
+  /** RegularExpression Id. */
   int VOLATILE = 57;
+  /** RegularExpression Id. */
   int WHILE = 58;
+  /** RegularExpression Id. */
   int INTEGER_LITERAL = 59;
+  /** RegularExpression Id. */
   int DECIMAL_LITERAL = 60;
+  /** RegularExpression Id. */
   int HEX_LITERAL = 61;
+  /** RegularExpression Id. */
   int OCTAL_LITERAL = 62;
+  /** RegularExpression Id. */
   int FLOATING_POINT_LITERAL = 63;
+  /** RegularExpression Id. */
   int EXPONENT = 64;
+  /** RegularExpression Id. */
   int CHARACTER_LITERAL = 65;
+  /** RegularExpression Id. */
   int STRING_LITERAL = 66;
+  /** RegularExpression Id. */
   int IDENTIFIER = 67;
+  /** RegularExpression Id. */
   int LETTER = 68;
+  /** RegularExpression Id. */
   int DIGIT = 69;
+  /** RegularExpression Id. */
   int LPAREN = 70;
+  /** RegularExpression Id. */
   int RPAREN = 71;
+  /** RegularExpression Id. */
   int LBRACE = 72;
+  /** RegularExpression Id. */
   int RBRACE = 73;
+  /** RegularExpression Id. */
   int LBRACKET = 74;
+  /** RegularExpression Id. */
   int RBRACKET = 75;
+  /** RegularExpression Id. */
   int SEMICOLON = 76;
+  /** RegularExpression Id. */
   int COMMA = 77;
+  /** RegularExpression Id. */
   int DOT = 78;
+  /** RegularExpression Id. */
   int ASSIGN = 79;
+  /** RegularExpression Id. */
   int GT = 80;
+  /** RegularExpression Id. */
   int LT = 81;
+  /** RegularExpression Id. */
   int BANG = 82;
+  /** RegularExpression Id. */
   int TILDE = 83;
+  /** RegularExpression Id. */
   int HOOK = 84;
+  /** RegularExpression Id. */
   int COLON = 85;
+  /** RegularExpression Id. */
   int EQ = 86;
+  /** RegularExpression Id. */
   int LE = 87;
+  /** RegularExpression Id. */
   int GE = 88;
+  /** RegularExpression Id. */
   int NE = 89;
+  /** RegularExpression Id. */
   int SC_OR = 90;
+  /** RegularExpression Id. */
   int SC_AND = 91;
+  /** RegularExpression Id. */
   int INCR = 92;
+  /** RegularExpression Id. */
   int DECR = 93;
+  /** RegularExpression Id. */
   int PLUS = 94;
+  /** RegularExpression Id. */
   int MINUS = 95;
+  /** RegularExpression Id. */
   int STAR = 96;
+  /** RegularExpression Id. */
   int SLASH = 97;
+  /** RegularExpression Id. */
   int BIT_AND = 98;
+  /** RegularExpression Id. */
   int BIT_OR = 99;
+  /** RegularExpression Id. */
   int XOR = 100;
+  /** RegularExpression Id. */
   int REM = 101;
+  /** RegularExpression Id. */
   int LSHIFT = 102;
+  /** RegularExpression Id. */
   int RSIGNEDSHIFT = 103;
+  /** RegularExpression Id. */
   int RUNSIGNEDSHIFT = 104;
+  /** RegularExpression Id. */
   int PLUSASSIGN = 105;
+  /** RegularExpression Id. */
   int MINUSASSIGN = 106;
+  /** RegularExpression Id. */
   int STARASSIGN = 107;
+  /** RegularExpression Id. */
   int SLASHASSIGN = 108;
+  /** RegularExpression Id. */
   int ANDASSIGN = 109;
+  /** RegularExpression Id. */
   int ORASSIGN = 110;
+  /** RegularExpression Id. */
   int XORASSIGN = 111;
+  /** RegularExpression Id. */
   int REMASSIGN = 112;
+  /** RegularExpression Id. */
   int LSHIFTASSIGN = 113;
+  /** RegularExpression Id. */
   int RSIGNEDSHIFTASSIGN = 114;
+  /** RegularExpression Id. */
   int RUNSIGNEDSHIFTASSIGN = 115;
 
+  /** Lexical state. */
   int DEFAULT = 0;
 
+  /** Literal token values. */
   String[] tokenImage = {
     "<EOF>",
     "\" \"",
--- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java	Mon Jan 20 17:16:05 2014 +0100
+++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java	Wed Jan 22 14:17:32 2014 -0800
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, 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,38 +23,39 @@
  * 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;
+import com.sun.jdi.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
 
+/** Token Manager. */
 public class ExpressionParserTokenManager implements ExpressionParserConstants
 {
+
+  /** Debug output. */
+  public  java.io.PrintStream debugStream = System.out;
+  /** Set debug output. */
+  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
 private final int jjStopStringLiteralDfa_0(int pos, long active0, long active1)
 {
    switch (pos)
    {
       case 0:
-         if ((active1 & 0x4000L) != 0L) {
+         if ((active1 & 0x100200000000L) != 0L)
+            return 49;
+         if ((active1 & 0x4000L) != 0L)
             return 4;
-         }
          if ((active0 & 0x7fffffffffffe00L) != 0L)
          {
             jjmatchedKind = 67;
             return 28;
          }
-         if ((active1 & 0x100200000000L) != 0L) {
-            return 49;
-         }
          return -1;
       case 1:
+         if ((active0 & 0x40300000L) != 0L)
+            return 28;
          if ((active0 & 0x7ffffffbfcffe00L) != 0L)
          {
             if (jjmatchedPos != 1)
@@ -64,11 +65,10 @@
             }
             return 28;
          }
-         if ((active0 & 0x40300000L) != 0L) {
-            return 28;
-         }
          return -1;
       case 2:
+         if ((active0 & 0x80004c10000000L) != 0L)
+            return 28;
          if ((active0 & 0x77fffb3afeffe00L) != 0L)
          {
             if (jjmatchedPos != 2)
@@ -78,9 +78,6 @@
             }
             return 28;
          }
-         if ((active0 & 0x80004c10000000L) != 0L) {
-            return 28;
-         }
          return -1;
       case 3:
          if ((active0 & 0x63bff2b8faf4e00L) != 0L)
@@ -89,11 +86,12 @@
             jjmatchedPos = 3;
             return 28;
          }
-         if ((active0 & 0x14400902040b000L) != 0L) {
+         if ((active0 & 0x14400902040b000L) != 0L)
             return 28;
-         }
          return -1;
       case 4:
+         if ((active0 & 0x418a0000f034800L) != 0L)
+            return 28;
          if ((active0 & 0x2235f2b80ac0600L) != 0L)
          {
             if (jjmatchedPos != 4)
@@ -103,20 +101,16 @@
             }
             return 28;
          }
-         if ((active0 & 0x418a0000f034800L) != 0L) {
-            return 28;
-         }
          return -1;
       case 5:
+         if ((active0 & 0x11582100200000L) != 0L)
+            return 28;
          if ((active0 & 0x222070a848c0600L) != 0L)
          {
             jjmatchedKind = 67;
             jjmatchedPos = 5;
             return 28;
          }
-         if ((active0 & 0x11582100200000L) != 0L) {
-            return 28;
-         }
          return -1;
       case 6:
          if ((active0 & 0x222040a80040200L) != 0L)
@@ -125,31 +119,28 @@
             jjmatchedPos = 6;
             return 28;
          }
-         if ((active0 & 0x30004880400L) != 0L) {
+         if ((active0 & 0x30004880400L) != 0L)
             return 28;
-         }
          return -1;
       case 7:
+         if ((active0 & 0x200000000040200L) != 0L)
+            return 28;
          if ((active0 & 0x22040a80000000L) != 0L)
          {
             jjmatchedKind = 67;
             jjmatchedPos = 7;
             return 28;
          }
-         if ((active0 & 0x200000000040200L) != 0L) {
-            return 28;
-         }
          return -1;
       case 8:
+         if ((active0 & 0x20040800000000L) != 0L)
+            return 28;
          if ((active0 & 0x2000280000000L) != 0L)
          {
             jjmatchedKind = 67;
             jjmatchedPos = 8;
             return 28;
          }
-         if ((active0 & 0x20040800000000L) != 0L) {
-            return 28;
-         }
          return -1;
       case 9:
          if ((active0 & 0x2000000000000L) != 0L)
@@ -158,9 +149,8 @@
             jjmatchedPos = 9;
             return 28;
          }
-         if ((active0 & 0x280000000L) != 0L) {
+         if ((active0 & 0x280000000L) != 0L)
             return 28;
-         }
          return -1;
       case 10:
          if ((active0 & 0x2000000000000L) != 0L)
@@ -178,21 +168,13 @@
 {
    return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0, active1), pos + 1);
 }
-private final int jjStopAtPos(int pos, int kind)
+private int jjStopAtPos(int pos, int kind)
 {
    jjmatchedKind = kind;
    jjmatchedPos = pos;
    return pos + 1;
 }
-private final int jjStartNfaWithStates_0(int pos, int kind, int state)
-{
-   jjmatchedKind = kind;
-   jjmatchedPos = pos;
-   try { curChar = input_stream.readChar(); }
-   catch(java.io.IOException e) { return pos + 1; }
-   return jjMoveNfa_0(state, pos + 1);
-}
-private final int jjMoveStringLiteralDfa0_0()
+private int jjMoveStringLiteralDfa0_0()
 {
    switch(curChar)
    {
@@ -292,7 +274,7 @@
          return jjMoveNfa_0(0, 0);
    }
 }
-private final int jjMoveStringLiteralDfa1_0(long active0, long active1)
+private int jjMoveStringLiteralDfa1_0(long active0, long active1)
 {
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
@@ -302,19 +284,16 @@
    switch(curChar)
    {
       case 38:
-         if ((active1 & 0x8000000L) != 0L) {
+         if ((active1 & 0x8000000L) != 0L)
             return jjStopAtPos(1, 91);
-         }
          break;
       case 43:
-         if ((active1 & 0x10000000L) != 0L) {
+         if ((active1 & 0x10000000L) != 0L)
             return jjStopAtPos(1, 92);
-         }
          break;
       case 45:
-         if ((active1 & 0x20000000L) != 0L) {
+         if ((active1 & 0x20000000L) != 0L)
             return jjStopAtPos(1, 93);
-         }
          break;
       case 60:
          if ((active1 & 0x4000000000L) != 0L)
@@ -324,31 +303,30 @@
          }
          return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2000000000000L);
       case 61:
-         if ((active1 & 0x400000L) != 0L) {
+         if ((active1 & 0x400000L) != 0L)
             return jjStopAtPos(1, 86);
-         } else if ((active1 & 0x800000L) != 0L) {
+         else if ((active1 & 0x800000L) != 0L)
             return jjStopAtPos(1, 87);
-         } else if ((active1 & 0x1000000L) != 0L) {
+         else if ((active1 & 0x1000000L) != 0L)
             return jjStopAtPos(1, 88);
-         } else if ((active1 & 0x2000000L) != 0L) {
+         else if ((active1 & 0x2000000L) != 0L)
             return jjStopAtPos(1, 89);
-         } else if ((active1 & 0x20000000000L) != 0L) {
+         else if ((active1 & 0x20000000000L) != 0L)
             return jjStopAtPos(1, 105);
-         } else if ((active1 & 0x40000000000L) != 0L) {
+         else if ((active1 & 0x40000000000L) != 0L)
             return jjStopAtPos(1, 106);
-         } else if ((active1 & 0x80000000000L) != 0L) {
+         else if ((active1 & 0x80000000000L) != 0L)
             return jjStopAtPos(1, 107);
-         } else if ((active1 & 0x100000000000L) != 0L) {
+         else if ((active1 & 0x100000000000L) != 0L)
             return jjStopAtPos(1, 108);
-         } else if ((active1 & 0x200000000000L) != 0L) {
+         else if ((active1 & 0x200000000000L) != 0L)
             return jjStopAtPos(1, 109);
-         } else if ((active1 & 0x400000000000L) != 0L) {
+         else if ((active1 & 0x400000000000L) != 0L)
             return jjStopAtPos(1, 110);
-         } else if ((active1 & 0x800000000000L) != 0L) {
+         else if ((active1 & 0x800000000000L) != 0L)
             return jjStopAtPos(1, 111);
-         } else if ((active1 & 0x1000000000000L) != 0L) {
+         else if ((active1 & 0x1000000000000L) != 0L)
             return jjStopAtPos(1, 112);
-         }
          break;
       case 62:
          if ((active1 & 0x8000000000L) != 0L)
@@ -364,9 +342,8 @@
       case 101:
          return jjMoveStringLiteralDfa2_0(active0, 0x104000080000L, active1, 0L);
       case 102:
-         if ((active0 & 0x40000000L) != 0L) {
+         if ((active0 & 0x40000000L) != 0L)
             return jjStartNfaWithStates_0(1, 30, 28);
-         }
          break;
       case 104:
          return jjMoveStringLiteralDfa2_0(active0, 0x41c200000008000L, active1, 0L);
@@ -398,20 +375,18 @@
       case 121:
          return jjMoveStringLiteralDfa2_0(active0, 0x2000000001000L, active1, 0L);
       case 124:
-         if ((active1 & 0x4000000L) != 0L) {
+         if ((active1 & 0x4000000L) != 0L)
             return jjStopAtPos(1, 90);
-         }
          break;
       default :
          break;
    }
    return jjStartNfa_0(0, active0, active1);
 }
-private final int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
+private int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1)
 {
-   if (((active0 &= old0) | (active1 &= old1)) == 0L) {
+   if (((active0 &= old0) | (active1 &= old1)) == 0L)
       return jjStartNfa_0(0, old0, old1);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(1, active0, active1);
@@ -420,11 +395,10 @@
    switch(curChar)
    {
       case 61:
-         if ((active1 & 0x2000000000000L) != 0L) {
+         if ((active1 & 0x2000000000000L) != 0L)
             return jjStopAtPos(2, 113);
-         } else if ((active1 & 0x4000000000000L) != 0L) {
+         else if ((active1 & 0x4000000000000L) != 0L)
             return jjStopAtPos(2, 114);
-         }
          break;
       case 62:
          if ((active1 & 0x10000000000L) != 0L)
@@ -454,9 +428,8 @@
       case 112:
          return jjMoveStringLiteralDfa3_0(active0, 0x800180000000L, active1, 0L);
       case 114:
-         if ((active0 & 0x10000000L) != 0L) {
+         if ((active0 & 0x10000000L) != 0L)
             return jjStartNfaWithStates_0(2, 28, 28);
-         }
          return jjMoveStringLiteralDfa3_0(active0, 0x18000000000000L, active1, 0L);
       case 115:
          return jjMoveStringLiteralDfa3_0(active0, 0x200402200L, active1, 0L);
@@ -470,25 +443,22 @@
       case 117:
          return jjMoveStringLiteralDfa3_0(active0, 0x40000000200000L, active1, 0L);
       case 119:
-         if ((active0 & 0x4000000000L) != 0L) {
+         if ((active0 & 0x4000000000L) != 0L)
             return jjStartNfaWithStates_0(2, 38, 28);
-         }
          break;
       case 121:
-         if ((active0 & 0x80000000000000L) != 0L) {
+         if ((active0 & 0x80000000000000L) != 0L)
             return jjStartNfaWithStates_0(2, 55, 28);
-         }
          break;
       default :
          break;
    }
    return jjStartNfa_0(1, active0, active1);
 }
-private final int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1)
+private int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1)
 {
-   if (((active0 &= old0) | (active1 &= old1)) == 0L) {
+   if (((active0 &= old0) | (active1 &= old1)) == 0L)
       return jjStartNfa_0(1, old0, old1);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(2, active0, active1);
@@ -497,9 +467,8 @@
    switch(curChar)
    {
       case 61:
-         if ((active1 & 0x8000000000000L) != 0L) {
+         if ((active1 & 0x8000000000000L) != 0L)
             return jjStopAtPos(3, 115);
-         }
          break;
       case 97:
          return jjMoveStringLiteralDfa4_0(active0, 0x20000000e080800L, active1, 0L);
@@ -508,51 +477,44 @@
       case 99:
          return jjMoveStringLiteralDfa4_0(active0, 0x2000000004000L, active1, 0L);
       case 100:
-         if ((active0 & 0x100000000000000L) != 0L) {
+         if ((active0 & 0x100000000000000L) != 0L)
             return jjStartNfaWithStates_0(3, 56, 28);
-         }
          break;
       case 101:
-         if ((active0 & 0x1000L) != 0L) {
+         if ((active0 & 0x1000L) != 0L)
             return jjStartNfaWithStates_0(3, 12, 28);
-         } else if ((active0 & 0x2000L) != 0L) {
+         else if ((active0 & 0x2000L) != 0L)
             return jjStartNfaWithStates_0(3, 13, 28);
-         } else if ((active0 & 0x400000L) != 0L) {
+         else if ((active0 & 0x400000L) != 0L)
             return jjStartNfaWithStates_0(3, 22, 28);
-         } else if ((active0 & 0x40000000000000L) != 0L) {
+         else if ((active0 & 0x40000000000000L) != 0L)
             return jjStartNfaWithStates_0(3, 54, 28);
-         }
          return jjMoveStringLiteralDfa4_0(active0, 0x800800800000L, active1, 0L);
       case 103:
-         if ((active0 & 0x1000000000L) != 0L) {
+         if ((active0 & 0x1000000000L) != 0L)
             return jjStartNfaWithStates_0(3, 36, 28);
-         }
          break;
       case 105:
          return jjMoveStringLiteralDfa4_0(active0, 0x2000000000L, active1, 0L);
       case 107:
          return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1, 0L);
       case 108:
-         if ((active0 & 0x8000000000L) != 0L) {
+         if ((active0 & 0x8000000000L) != 0L)
             return jjStartNfaWithStates_0(3, 39, 28);
-         }
          return jjMoveStringLiteralDfa4_0(active0, 0x400080080000400L, active1, 0L);
       case 110:
          return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0L);
       case 111:
-         if ((active0 & 0x20000000L) != 0L) {
+         if ((active0 & 0x20000000L) != 0L)
             return jjStartNfaWithStates_0(3, 29, 28);
-         }
          return jjMoveStringLiteralDfa4_0(active0, 0x18000100000000L, active1, 0L);
       case 114:
-         if ((active0 & 0x8000L) != 0L) {
+         if ((active0 & 0x8000L) != 0L)
             return jjStartNfaWithStates_0(3, 15, 28);
-         }
          return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0L);
       case 115:
-         if ((active0 & 0x4000000000000L) != 0L) {
+         if ((active0 & 0x4000000000000L) != 0L)
             return jjStartNfaWithStates_0(3, 50, 28);
-         }
          return jjMoveStringLiteralDfa4_0(active0, 0x1030000L, active1, 0L);
       case 116:
          return jjMoveStringLiteralDfa4_0(active0, 0x1440200040200L, active1, 0L);
@@ -565,11 +527,10 @@
    }
    return jjStartNfa_0(2, active0, active1);
 }
-private final int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1)
+private int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1)
 {
-   if (((active0 &= old0) | (active1 &= old1)) == 0L) {
+   if (((active0 &= old0) | (active1 &= old1)) == 0L)
       return jjStartNfa_0(2, old0, old1);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(3, active0, 0L);
@@ -582,23 +543,20 @@
       case 99:
          return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L);
       case 101:
-         if ((active0 & 0x1000000L) != 0L) {
+         if ((active0 & 0x1000000L) != 0L)
             return jjStartNfaWithStates_0(4, 24, 28);
-         } else if ((active0 & 0x400000000000000L) != 0L) {
+         else if ((active0 & 0x400000000000000L) != 0L)
             return jjStartNfaWithStates_0(4, 58, 28);
-         }
          return jjMoveStringLiteralDfa5_0(active0, 0x40080000400L);
       case 104:
-         if ((active0 & 0x4000L) != 0L) {
+         if ((active0 & 0x4000L) != 0L)
             return jjStartNfaWithStates_0(4, 14, 28);
-         }
          return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000L);
       case 105:
          return jjMoveStringLiteralDfa5_0(active0, 0x480000040000L);
       case 107:
-         if ((active0 & 0x800L) != 0L) {
+         if ((active0 & 0x800L) != 0L)
             return jjStartNfaWithStates_0(4, 11, 28);
-         }
          break;
       case 108:
          if ((active0 & 0x2000000L) != 0L)
@@ -610,23 +568,20 @@
       case 110:
          return jjMoveStringLiteralDfa5_0(active0, 0x800000L);
       case 114:
-         if ((active0 & 0x800000000000L) != 0L) {
+         if ((active0 & 0x800000000000L) != 0L)
             return jjStartNfaWithStates_0(4, 47, 28);
-         }
          return jjMoveStringLiteralDfa5_0(active0, 0x100900000200L);
       case 115:
-         if ((active0 & 0x10000L) != 0L) {
+         if ((active0 & 0x10000L) != 0L)
             return jjStartNfaWithStates_0(4, 16, 28);
-         }
          return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L);
       case 116:
-         if ((active0 & 0x20000L) != 0L) {
+         if ((active0 & 0x20000L) != 0L)
             return jjStartNfaWithStates_0(4, 17, 28);
-         } else if ((active0 & 0x8000000L) != 0L) {
+         else if ((active0 & 0x8000000L) != 0L)
             return jjStartNfaWithStates_0(4, 27, 28);
-         } else if ((active0 & 0x200000000000L) != 0L) {
+         else if ((active0 & 0x200000000000L) != 0L)
             return jjStartNfaWithStates_0(4, 45, 28);
-         }
          return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L);
       case 117:
          return jjMoveStringLiteralDfa5_0(active0, 0x80000L);
@@ -644,11 +599,10 @@
    }
    return jjStartNfa_0(3, active0, 0L);
 }
-private final int jjMoveStringLiteralDfa5_0(long old0, long active0)
+private int jjMoveStringLiteralDfa5_0(long old0, long active0)
 {
-   if (((active0 &= old0)) == 0L) {
+   if (((active0 &= old0)) == 0L)
       return jjStartNfa_0(3, old0, 0L);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(4, active0, 0L);
@@ -659,29 +613,26 @@
       case 97:
          return jjMoveStringLiteralDfa6_0(active0, 0x600L);
       case 99:
-         if ((active0 & 0x80000000000L) != 0L) {
+         if ((active0 & 0x80000000000L) != 0L)
             return jjStartNfaWithStates_0(5, 43, 28);
-         } else if ((active0 & 0x400000000000L) != 0L) {
+         else if ((active0 & 0x400000000000L) != 0L)
             return jjStartNfaWithStates_0(5, 46, 28);
-         }
          return jjMoveStringLiteralDfa6_0(active0, 0x40000000000L);
       case 100:
          return jjMoveStringLiteralDfa6_0(active0, 0x800000L);
       case 101:
-         if ((active0 & 0x200000L) != 0L) {
+         if ((active0 & 0x200000L) != 0L)
             return jjStartNfaWithStates_0(5, 21, 28);
-         } else if ((active0 & 0x2000000000L) != 0L) {
+         else if ((active0 & 0x2000000000L) != 0L)
             return jjStartNfaWithStates_0(5, 37, 28);
-         }
          break;
       case 102:
          return jjMoveStringLiteralDfa6_0(active0, 0x800000000L);
       case 103:
          return jjMoveStringLiteralDfa6_0(active0, 0x10000000000L);
       case 104:
-         if ((active0 & 0x1000000000000L) != 0L) {
+         if ((active0 & 0x1000000000000L) != 0L)
             return jjStartNfaWithStates_0(5, 48, 28);
-         }
          break;
       case 105:
          return jjMoveStringLiteralDfa6_0(active0, 0x220000000000000L);
@@ -690,32 +641,28 @@
       case 109:
          return jjMoveStringLiteralDfa6_0(active0, 0x80000000L);
       case 110:
-         if ((active0 & 0x100000000000L) != 0L) {
+         if ((active0 & 0x100000000000L) != 0L)
             return jjStartNfaWithStates_0(5, 44, 28);
-         }
          return jjMoveStringLiteralDfa6_0(active0, 0x200040000L);
       case 114:
          return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000L);
       case 115:
-         if ((active0 & 0x10000000000000L) != 0L) {
+         if ((active0 & 0x10000000000000L) != 0L)
             return jjStartNfaWithStates_0(5, 52, 28);
-         }
          break;
       case 116:
-         if ((active0 & 0x100000000L) != 0L) {
+         if ((active0 & 0x100000000L) != 0L)
             return jjStartNfaWithStates_0(5, 32, 28);
-         }
          return jjMoveStringLiteralDfa6_0(active0, 0x20000000000L);
       default :
          break;
    }
    return jjStartNfa_0(4, active0, 0L);
 }
-private final int jjMoveStringLiteralDfa6_0(long old0, long active0)
+private int jjMoveStringLiteralDfa6_0(long old0, long active0)
 {
-   if (((active0 &= old0)) == 0L) {
+   if (((active0 &= old0)) == 0L)
       return jjStartNfa_0(4, old0, 0L);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(5, active0, 0L);
@@ -728,48 +675,42 @@
       case 99:
          return jjMoveStringLiteralDfa7_0(active0, 0x200000200L);
       case 101:
-         if ((active0 & 0x10000000000L) != 0L) {
+         if ((active0 & 0x10000000000L) != 0L)
             return jjStartNfaWithStates_0(6, 40, 28);
-         } else if ((active0 & 0x20000000000L) != 0L) {
+         else if ((active0 & 0x20000000000L) != 0L)
             return jjStartNfaWithStates_0(6, 41, 28);
-         }
          return jjMoveStringLiteralDfa7_0(active0, 0x20000080000000L);
       case 108:
          return jjMoveStringLiteralDfa7_0(active0, 0x200000000000000L);
       case 110:
-         if ((active0 & 0x400L) != 0L) {
+         if ((active0 & 0x400L) != 0L)
             return jjStartNfaWithStates_0(6, 10, 28);
-         }
          break;
       case 111:
          return jjMoveStringLiteralDfa7_0(active0, 0x2000000000000L);
       case 115:
-         if ((active0 & 0x800000L) != 0L) {
+         if ((active0 & 0x800000L) != 0L)
             return jjStartNfaWithStates_0(6, 23, 28);
-         }
          break;
       case 116:
-         if ((active0 & 0x80000L) != 0L) {
+         if ((active0 & 0x80000L) != 0L)
             return jjStartNfaWithStates_0(6, 19, 28);
-         }
          return jjMoveStringLiteralDfa7_0(active0, 0x40000000000L);
       case 117:
          return jjMoveStringLiteralDfa7_0(active0, 0x40000L);
       case 121:
-         if ((active0 & 0x4000000L) != 0L) {
+         if ((active0 & 0x4000000L) != 0L)
             return jjStartNfaWithStates_0(6, 26, 28);
-         }
          break;
       default :
          break;
    }
    return jjStartNfa_0(5, active0, 0L);
 }
-private final int jjMoveStringLiteralDfa7_0(long old0, long active0)
+private int jjMoveStringLiteralDfa7_0(long old0, long active0)
 {
-   if (((active0 &= old0)) == 0L) {
+   if (((active0 &= old0)) == 0L)
       return jjStartNfa_0(5, old0, 0L);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(6, active0, 0L);
@@ -780,29 +721,26 @@
       case 99:
          return jjMoveStringLiteralDfa8_0(active0, 0x800000000L);
       case 101:
-         if ((active0 & 0x40000L) != 0L) {
+         if ((active0 & 0x40000L) != 0L)
             return jjStartNfaWithStates_0(7, 18, 28);
-         } else if ((active0 & 0x200000000000000L) != 0L) {
+         else if ((active0 & 0x200000000000000L) != 0L)
             return jjStartNfaWithStates_0(7, 57, 28);
-         }
          return jjMoveStringLiteralDfa8_0(active0, 0x40200000000L);
       case 110:
          return jjMoveStringLiteralDfa8_0(active0, 0x22000080000000L);
       case 116:
-         if ((active0 & 0x200L) != 0L) {
+         if ((active0 & 0x200L) != 0L)
             return jjStartNfaWithStates_0(7, 9, 28);
-         }
          break;
       default :
          break;
    }
    return jjStartNfa_0(6, active0, 0L);
 }
-private final int jjMoveStringLiteralDfa8_0(long old0, long active0)
+private int jjMoveStringLiteralDfa8_0(long old0, long active0)
 {
-   if (((active0 &= old0)) == 0L) {
+   if (((active0 &= old0)) == 0L)
       return jjStartNfa_0(6, old0, 0L);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(7, active0, 0L);
@@ -811,34 +749,30 @@
    switch(curChar)
    {
       case 100:
-         if ((active0 & 0x40000000000L) != 0L) {
+         if ((active0 & 0x40000000000L) != 0L)
             return jjStartNfaWithStates_0(8, 42, 28);
-         }
          break;
       case 101:
-         if ((active0 & 0x800000000L) != 0L) {
+         if ((active0 & 0x800000000L) != 0L)
             return jjStartNfaWithStates_0(8, 35, 28);
-         }
          break;
       case 105:
          return jjMoveStringLiteralDfa9_0(active0, 0x2000000000000L);
       case 111:
          return jjMoveStringLiteralDfa9_0(active0, 0x200000000L);
       case 116:
-         if ((active0 & 0x20000000000000L) != 0L) {
+         if ((active0 & 0x20000000000000L) != 0L)
             return jjStartNfaWithStates_0(8, 53, 28);
-         }
          return jjMoveStringLiteralDfa9_0(active0, 0x80000000L);
       default :
          break;
    }
    return jjStartNfa_0(7, active0, 0L);
 }
-private final int jjMoveStringLiteralDfa9_0(long old0, long active0)
+private int jjMoveStringLiteralDfa9_0(long old0, long active0)
 {
-   if (((active0 &= old0)) == 0L) {
+   if (((active0 &= old0)) == 0L)
       return jjStartNfa_0(7, old0, 0L);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(8, active0, 0L);
@@ -847,14 +781,12 @@
    switch(curChar)
    {
       case 102:
-         if ((active0 & 0x200000000L) != 0L) {
+         if ((active0 & 0x200000000L) != 0L)
             return jjStartNfaWithStates_0(9, 33, 28);
-         }
          break;
       case 115:
-         if ((active0 & 0x80000000L) != 0L) {
+         if ((active0 & 0x80000000L) != 0L)
             return jjStartNfaWithStates_0(9, 31, 28);
-         }
          break;
       case 122:
          return jjMoveStringLiteralDfa10_0(active0, 0x2000000000000L);
@@ -863,11 +795,10 @@
    }
    return jjStartNfa_0(8, active0, 0L);
 }
-private final int jjMoveStringLiteralDfa10_0(long old0, long active0)
+private int jjMoveStringLiteralDfa10_0(long old0, long active0)
 {
-   if (((active0 &= old0)) == 0L) {
+   if (((active0 &= old0)) == 0L)
       return jjStartNfa_0(8, old0, 0L);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(9, active0, 0L);
@@ -882,11 +813,10 @@
    }
    return jjStartNfa_0(9, active0, 0L);
 }
-private final int jjMoveStringLiteralDfa11_0(long old0, long active0)
+private int jjMoveStringLiteralDfa11_0(long old0, long active0)
 {
-   if (((active0 &= old0)) == 0L) {
+   if (((active0 &= old0)) == 0L)
       return jjStartNfa_0(9, old0, 0L);
-   }
    try { curChar = input_stream.readChar(); }
    catch(java.io.IOException e) {
       jjStopStringLiteralDfa_0(10, active0, 0L);
@@ -895,44 +825,21 @@
    switch(curChar)
    {
       case 100:
-         if ((active0 & 0x2000000000000L) != 0L) {
+         if ((active0 & 0x2000000000000L) != 0L)
             return jjStartNfaWithStates_0(11, 49, 28);
-         }
          break;
       default :
          break;
    }
    return jjStartNfa_0(10, active0, 0L);
 }
-private final void jjCheckNAdd(int state)
+private int jjStartNfaWithStates_0(int pos, int kind, int state)
 {
-   if (jjrounds[state] != jjround)
-   {
-      jjstateSet[jjnewStateCnt++] = state;
-      jjrounds[state] = jjround;
-   }
-}
-private final void jjAddStates(int start, int end)
-{
-   do {
-      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
-   } while (start++ != end);
-}
-private final void jjCheckNAddTwoStates(int state1, int state2)
-{
-   jjCheckNAdd(state1);
-   jjCheckNAdd(state2);
-}
-private final void jjCheckNAddStates(int start, int end)
-{
-   do {
-      jjCheckNAdd(jjnextStates[start]);
-   } while (start++ != end);
-}
-private final void jjCheckNAddStates(int start)
-{
-   jjCheckNAdd(jjnextStates[start]);
-   jjCheckNAdd(jjnextStates[start + 1]);
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_0(state, pos + 1);
 }
 static final long[] jjbitVec0 = {
    0xfffffffffffffffeL, 0xffffffffffffffffL, 0xffffffffffffffffL, 0xffffffffffffffffL
@@ -958,7 +865,7 @@
 static final long[] jjbitVec8 = {
    0x3fffffffffffL, 0x0L, 0x0L, 0x0L
 };
-private final int jjMoveNfa_0(int startState, int curPos)
+private int jjMoveNfa_0(int startState, int curPos)
 {
    int startsAt = 0;
    jjnewStateCnt = 67;
@@ -967,388 +874,312 @@
    int kind = 0x7fffffff;
    for (;;)
    {
-      if (++jjround == 0x7fffffff) {
+      if (++jjround == 0x7fffffff)
          ReInitRounds();
-      }
       if (curChar < 64)
       {
          long l = 1L << curChar;
-         //MatchLoop
          do
          {
             switch(jjstateSet[--i])
             {
+               case 49:
+                  if (curChar == 42)
+                     jjCheckNAddTwoStates(62, 63);
+                  else if (curChar == 47)
+                     jjCheckNAddStates(0, 2);
+                  if (curChar == 42)
+                     jjstateSet[jjnewStateCnt++] = 54;
+                  break;
                case 0:
-                  if ((0x3ff000000000000L & l) != 0L) {
-                     jjCheckNAddStates(0, 6);
-                  } else if (curChar == 47) {
-                     jjAddStates(7, 9);
-                  } else if (curChar == 36)
+                  if ((0x3ff000000000000L & l) != 0L)
+                     jjCheckNAddStates(3, 9);
+                  else if (curChar == 47)
+                     jjAddStates(10, 12);
+                  else if (curChar == 36)
                   {
-                     if (kind > 67) {
+                     if (kind > 67)
                         kind = 67;
-                     }
                      jjCheckNAdd(28);
                   }
-                  else if (curChar == 34) {
-                     jjCheckNAddStates(10, 12);
-                  } else if (curChar == 39) {
-                     jjAddStates(13, 14);
-                  } else if (curChar == 46) {
+                  else if (curChar == 34)
+                     jjCheckNAddStates(13, 15);
+                  else if (curChar == 39)