changeset 331:f9a0a601f0dc

Added back files accidentally removed. Updated ChangeLog.
author Lillian Angel <langel@redhat.com>
date Wed, 07 Nov 2007 17:29:12 -0500
parents c03b4d7d5eb0
children 2a1d80a4c7b4
files ChangeLog generated/java/lang/CharacterData00.java generated/java/lang/CharacterData01.java generated/java/lang/CharacterData02.java generated/java/lang/CharacterData0E.java generated/java/lang/CharacterDataLatin1.java generated/org/omg/PortableServer/AdapterActivator.java generated/org/omg/PortableServer/AdapterActivatorOperations.java generated/org/omg/PortableServer/Current.java generated/org/omg/PortableServer/CurrentOperations.java generated/org/omg/PortableServer/CurrentPackage/NoContext.java generated/org/omg/PortableServer/CurrentPackage/NoContextHelper.java generated/org/omg/PortableServer/ForwardRequest.java generated/org/omg/PortableServer/ForwardRequestHelper.java generated/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java generated/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java generated/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java generated/org/omg/PortableServer/IdAssignmentPolicy.java generated/org/omg/PortableServer/IdAssignmentPolicyOperations.java generated/org/omg/PortableServer/IdAssignmentPolicyValue.java generated/org/omg/PortableServer/IdUniquenessPolicy.java generated/org/omg/PortableServer/IdUniquenessPolicyOperations.java generated/org/omg/PortableServer/IdUniquenessPolicyValue.java generated/org/omg/PortableServer/ImplicitActivationPolicy.java generated/org/omg/PortableServer/ImplicitActivationPolicyOperations.java generated/org/omg/PortableServer/ImplicitActivationPolicyValue.java generated/org/omg/PortableServer/LIFESPAN_POLICY_ID.java generated/org/omg/PortableServer/LifespanPolicy.java generated/org/omg/PortableServer/LifespanPolicyOperations.java generated/org/omg/PortableServer/LifespanPolicyValue.java generated/org/omg/PortableServer/POA.java generated/org/omg/PortableServer/POAManager.java generated/org/omg/PortableServer/POAManagerOperations.java generated/org/omg/PortableServer/POAManagerPackage/AdapterInactive.java generated/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java generated/org/omg/PortableServer/POAManagerPackage/State.java generated/org/omg/PortableServer/POAOperations.java generated/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java generated/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java generated/org/omg/PortableServer/POAPackage/AdapterNonExistent.java generated/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java generated/org/omg/PortableServer/POAPackage/InvalidPolicy.java generated/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java generated/org/omg/PortableServer/POAPackage/NoServant.java generated/org/omg/PortableServer/POAPackage/NoServantHelper.java generated/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java generated/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java generated/org/omg/PortableServer/POAPackage/ObjectNotActive.java generated/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java generated/org/omg/PortableServer/POAPackage/ServantAlreadyActive.java generated/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java generated/org/omg/PortableServer/POAPackage/ServantNotActive.java generated/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java generated/org/omg/PortableServer/POAPackage/WrongAdapter.java generated/org/omg/PortableServer/POAPackage/WrongAdapterHelper.java generated/org/omg/PortableServer/POAPackage/WrongPolicy.java generated/org/omg/PortableServer/POAPackage/WrongPolicyHelper.java generated/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.java generated/org/omg/PortableServer/RequestProcessingPolicy.java generated/org/omg/PortableServer/RequestProcessingPolicyOperations.java generated/org/omg/PortableServer/RequestProcessingPolicyValue.java generated/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.java generated/org/omg/PortableServer/ServantActivator.java generated/org/omg/PortableServer/ServantActivatorHelper.java generated/org/omg/PortableServer/ServantActivatorOperations.java generated/org/omg/PortableServer/ServantActivatorPOA.java generated/org/omg/PortableServer/ServantLocator.java generated/org/omg/PortableServer/ServantLocatorHelper.java generated/org/omg/PortableServer/ServantLocatorOperations.java generated/org/omg/PortableServer/ServantLocatorPOA.java generated/org/omg/PortableServer/ServantManager.java generated/org/omg/PortableServer/ServantManagerOperations.java generated/org/omg/PortableServer/ServantRetentionPolicy.java generated/org/omg/PortableServer/ServantRetentionPolicyOperations.java generated/org/omg/PortableServer/ServantRetentionPolicyValue.java generated/org/omg/PortableServer/THREAD_POLICY_ID.java generated/org/omg/PortableServer/ThreadPolicy.java generated/org/omg/PortableServer/ThreadPolicyOperations.java generated/org/omg/PortableServer/ThreadPolicyValue.java generated/org/omg/PortableServer/_ServantActivatorStub.java generated/org/omg/PortableServer/_ServantLocatorStub.java generated/sun/awt/X11/generator/sizer.32
diffstat 82 files changed, 6203 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Nov 07 17:18:01 2007 -0500
+++ b/ChangeLog	Wed Nov 07 17:29:12 2007 -0500
@@ -3,7 +3,6 @@
 	* Makefile.am: Added new patch to list.
 	* Makefile.in: Regenerate.
 	* patches/icedtea-docs.patch: New patch to build docs.
-	* generated/*: Removed files that should be ignored.
 	* .hgignore: Updated.
 
 2007-11-07  Lillian Angel  <langel@redhat.com>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/CharacterData00.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,1110 @@
+// This file was generated AUTOMATICALLY from a template file Wed Nov 07 13:33:45 EST 2007
+/*
+ * Copyright 2003-2006 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.lang;
+
+/** 
+ * The CharacterData00 class encapsulates the large tables once found in
+ * java.lang.Character
+*/
+
+class CharacterData00 extends CharacterData {
+    /* The character properties are currently encoded into 32 bits in the following manner:
+        1 bit   mirrored property
+        4 bits  directionality property
+        9 bits  signed offset used for converting case
+        1 bit   if 1, adding the signed offset converts the character to lowercase
+        1 bit   if 1, subtracting the signed offset converts the character to uppercase
+        1 bit   if 1, this character has a titlecase equivalent (possibly itself)
+        3 bits  0  may not be part of an identifier
+                1  ignorable control; may continue a Unicode identifier or Java identifier
+                2  may continue a Java identifier but not a Unicode identifier (unused)
+                3  may continue a Unicode identifier or Java identifier
+                4  is a Java whitespace character
+                5  may start or continue a Java identifier;
+                   may continue but not start a Unicode identifier (underscores)
+                6  may start or continue a Java identifier but not a Unicode identifier ($)
+                7  may start or continue a Unicode identifier or Java identifier
+                Thus:
+                   5, 6, 7 may start a Java identifier
+                   1, 2, 3, 5, 6, 7 may continue a Java identifier
+                   7 may start a Unicode identifier
+                   1, 3, 5, 7 may continue a Unicode identifier
+                   1 is ignorable within an identifier
+                   4 is Java whitespace
+        2 bits  0  this character has no numeric property
+                1  adding the digit offset to the character code and then
+                   masking with 0x1F will produce the desired numeric value
+                2  this character has a "strange" numeric value
+                3  a Java supradecimal digit: adding the digit offset to the
+                   character code, then masking with 0x1F, then adding 10
+                   will produce the desired numeric value
+        5 bits  digit offset
+        5 bits  character type
+
+        The encoding of character properties is subject to change at any time.
+     */
+
+    int getProperties(int ch) {
+        char offset = (char)ch;
+        int props = A[Y[X[offset>>5]|((offset>>1)&0xF)]|(offset&0x1)];
+        return props;
+    }
+
+    int getType(int ch) {
+        int props = getProperties(ch);
+        return (props & 0x1F);
+    }
+
+    boolean isJavaIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) >= 0x00005000);
+    }
+
+    boolean isJavaIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00003000) != 0);
+    }
+
+    boolean isUnicodeIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00007000);
+    }
+
+    boolean isUnicodeIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00001000) != 0);
+    }
+
+    boolean isIdentifierIgnorable(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00001000);
+    }
+
+    int toLowerCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00020000) != 0) {
+          if ((val & 0x07FC0000) == 0x07FC0000) {
+            switch(ch) {
+              // map the offset overflow chars
+			case 0x0130 : mapChar = 0x0069; break;
+            case 0x2126 : mapChar = 0x03C9; break;
+            case 0x212A : mapChar = 0x006B; break;
+            case 0x212B : mapChar = 0x00E5; break;
+              // map the titlecase chars with both a 1:M uppercase map
+              // and a lowercase map
+            case 0x1F88 : mapChar = 0x1F80; break;
+            case 0x1F89 : mapChar = 0x1F81; break;
+            case 0x1F8A : mapChar = 0x1F82; break;
+            case 0x1F8B : mapChar = 0x1F83; break;
+            case 0x1F8C : mapChar = 0x1F84; break;
+            case 0x1F8D : mapChar = 0x1F85; break;
+            case 0x1F8E : mapChar = 0x1F86; break;
+            case 0x1F8F : mapChar = 0x1F87; break;
+            case 0x1F98 : mapChar = 0x1F90; break;
+            case 0x1F99 : mapChar = 0x1F91; break;
+            case 0x1F9A : mapChar = 0x1F92; break;
+            case 0x1F9B : mapChar = 0x1F93; break;
+            case 0x1F9C : mapChar = 0x1F94; break;
+            case 0x1F9D : mapChar = 0x1F95; break;
+            case 0x1F9E : mapChar = 0x1F96; break;
+            case 0x1F9F : mapChar = 0x1F97; break;
+            case 0x1FA8 : mapChar = 0x1FA0; break;
+            case 0x1FA9 : mapChar = 0x1FA1; break;
+            case 0x1FAA : mapChar = 0x1FA2; break;
+            case 0x1FAB : mapChar = 0x1FA3; break;
+            case 0x1FAC : mapChar = 0x1FA4; break;
+            case 0x1FAD : mapChar = 0x1FA5; break;
+            case 0x1FAE : mapChar = 0x1FA6; break;
+            case 0x1FAF : mapChar = 0x1FA7; break;
+            case 0x1FBC : mapChar = 0x1FB3; break;
+            case 0x1FCC : mapChar = 0x1FC3; break;
+            case 0x1FFC : mapChar = 0x1FF3; break;
+              // default mapChar is already set, so no
+              // need to redo it here.
+              // default       : mapChar = ch;
+            }
+          }
+          else {
+            int offset = val << 5 >> (5+18);
+            mapChar = ch + offset;
+          }
+        }
+        return mapChar;
+    }
+
+    int toUpperCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00010000) != 0) {
+          if ((val & 0x07FC0000) == 0x07FC0000) {
+            switch(ch) {
+              // map chars with overflow offsets
+            case 0x00B5 : mapChar = 0x039C; break;
+            case 0x017F : mapChar = 0x0053; break;
+            case 0x1FBE : mapChar = 0x0399; break;
+              // map char that have both a 1:1 and 1:M map
+            case 0x1F80 : mapChar = 0x1F88; break;
+            case 0x1F81 : mapChar = 0x1F89; break;
+            case 0x1F82 : mapChar = 0x1F8A; break;
+            case 0x1F83 : mapChar = 0x1F8B; break;
+            case 0x1F84 : mapChar = 0x1F8C; break;
+            case 0x1F85 : mapChar = 0x1F8D; break;
+            case 0x1F86 : mapChar = 0x1F8E; break;
+            case 0x1F87 : mapChar = 0x1F8F; break;
+            case 0x1F90 : mapChar = 0x1F98; break;
+            case 0x1F91 : mapChar = 0x1F99; break;
+            case 0x1F92 : mapChar = 0x1F9A; break;
+            case 0x1F93 : mapChar = 0x1F9B; break;
+            case 0x1F94 : mapChar = 0x1F9C; break;
+            case 0x1F95 : mapChar = 0x1F9D; break;
+            case 0x1F96 : mapChar = 0x1F9E; break;
+            case 0x1F97 : mapChar = 0x1F9F; break;
+            case 0x1FA0 : mapChar = 0x1FA8; break;
+            case 0x1FA1 : mapChar = 0x1FA9; break;
+            case 0x1FA2 : mapChar = 0x1FAA; break;
+            case 0x1FA3 : mapChar = 0x1FAB; break;
+            case 0x1FA4 : mapChar = 0x1FAC; break;
+            case 0x1FA5 : mapChar = 0x1FAD; break;
+            case 0x1FA6 : mapChar = 0x1FAE; break;
+            case 0x1FA7 : mapChar = 0x1FAF; break;
+            case 0x1FB3 : mapChar = 0x1FBC; break;
+            case 0x1FC3 : mapChar = 0x1FCC; break;
+            case 0x1FF3 : mapChar = 0x1FFC; break;
+              // ch must have a 1:M case mapping, but we
+              // can't handle it here. Return ch.
+              // since mapChar is already set, no need
+              // to redo it here.
+              //default       : mapChar = ch;
+            }
+          }
+          else {
+            int offset = val  << 5 >> (5+18);
+            mapChar =  ch - offset;
+          }
+        }
+        return mapChar;
+    }
+
+    int toTitleCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00008000) != 0) {
+            // There is a titlecase equivalent.  Perform further checks:
+            if ((val & 0x00010000) == 0) {
+                // The character does not have an uppercase equivalent, so it must
+                // already be uppercase; so add 1 to get the titlecase form.
+                mapChar = ch + 1;
+            }
+            else if ((val & 0x00020000) == 0) {
+                // The character does not have a lowercase equivalent, so it must
+                // already be lowercase; so subtract 1 to get the titlecase form.
+                mapChar = ch - 1;
+            }
+            // else {
+            // The character has both an uppercase equivalent and a lowercase
+            // equivalent, so it must itself be a titlecase form; return it.
+            // return ch;
+            //}
+        }
+        else if ((val & 0x00010000) != 0) {
+            // This character has no titlecase equivalent but it does have an
+            // uppercase equivalent, so use that (subtract the signed case offset).
+            mapChar = toUpperCase(ch);
+        }
+        return mapChar;
+    }
+
+    int digit(int ch, int radix) {
+        int value = -1;
+        if (radix >= Character.MIN_RADIX && radix <= Character.MAX_RADIX) {
+            int val = getProperties(ch);
+            int kind = val & 0x1F;
+            if (kind == Character.DECIMAL_DIGIT_NUMBER) {
+                value = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            }
+            else if ((val & 0xC00) == 0x00000C00) {
+                // Java supradecimal digit
+                value = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            }
+        }
+        return (value < radix) ? value : -1;
+    }
+
+    int getNumericValue(int ch) {
+        int val = getProperties(ch);
+        int retval = -1;
+
+        switch (val & 0xC00) {
+        default: // cannot occur
+        case (0x00000000):         // not numeric
+            retval = -1;
+            break;
+        case (0x00000400):              // simple numeric
+            retval = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            break;
+        case (0x00000800)      :       // "strange" numeric
+            switch (ch) {
+                case 0x0BF1: retval = 100; break;         // TAMIL NUMBER ONE HUNDRED
+                case 0x0BF2: retval = 1000; break;        // TAMIL NUMBER ONE THOUSAND
+                case 0x1375: retval = 40; break;          // ETHIOPIC NUMBER FORTY
+                case 0x1376: retval = 50; break;          // ETHIOPIC NUMBER FIFTY
+                case 0x1377: retval = 60; break;          // ETHIOPIC NUMBER SIXTY
+                case 0x1378: retval = 70; break;          // ETHIOPIC NUMBER SEVENTY
+                case 0x1379: retval = 80; break;          // ETHIOPIC NUMBER EIGHTY
+                case 0x137A: retval = 90; break;          // ETHIOPIC NUMBER NINETY
+                case 0x137B: retval = 100; break;         // ETHIOPIC NUMBER HUNDRED
+                case 0x137C: retval = 10000; break;       // ETHIOPIC NUMBER TEN THOUSAND
+                case 0x215F: retval = 1; break;           // FRACTION NUMERATOR ONE
+                case 0x216C: retval = 50; break;          // ROMAN NUMERAL FIFTY
+                case 0x216D: retval = 100; break;         // ROMAN NUMERAL ONE HUNDRED
+                case 0x216E: retval = 500; break;         // ROMAN NUMERAL FIVE HUNDRED
+                case 0x216F: retval = 1000; break;        // ROMAN NUMERAL ONE THOUSAND
+                case 0x217C: retval = 50; break;          // SMALL ROMAN NUMERAL FIFTY
+                case 0x217D: retval = 100; break;         // SMALL ROMAN NUMERAL ONE HUNDRED
+                case 0x217E: retval = 500; break;         // SMALL ROMAN NUMERAL FIVE HUNDRED
+                case 0x217F: retval = 1000; break;        // SMALL ROMAN NUMERAL ONE THOUSAND
+                case 0x2180: retval = 1000; break;        // ROMAN NUMERAL ONE THOUSAND C D
+                case 0x2181: retval = 5000; break;        // ROMAN NUMERAL FIVE THOUSAND
+                case 0x2182: retval = 10000; break;       // ROMAN NUMERAL TEN THOUSAND
+
+                case 0x325C: retval = 32; break;
+
+                case 0x325D: retval = 33; break;          // CIRCLED NUMBER THIRTY THREE
+                case 0x325E: retval = 34; break;          // CIRCLED NUMBER THIRTY FOUR
+                case 0x325F: retval = 35; break;          // CIRCLED NUMBER THIRTY FIVE
+                case 0x32B1: retval = 36; break;          // CIRCLED NUMBER THIRTY SIX
+                case 0x32B2: retval = 37; break;          // CIRCLED NUMBER THIRTY SEVEN
+                case 0x32B3: retval = 38; break;          // CIRCLED NUMBER THIRTY EIGHT
+                case 0x32B4: retval = 39; break;          // CIRCLED NUMBER THIRTY NINE
+                case 0x32B5: retval = 40; break;          // CIRCLED NUMBER FORTY
+                case 0x32B6: retval = 41; break;          // CIRCLED NUMBER FORTY ONE
+                case 0x32B7: retval = 42; break;          // CIRCLED NUMBER FORTY TWO
+                case 0x32B8: retval = 43; break;          // CIRCLED NUMBER FORTY THREE
+                case 0x32B9: retval = 44; break;          // CIRCLED NUMBER FORTY FOUR
+                case 0x32BA: retval = 45; break;          // CIRCLED NUMBER FORTY FIVE
+                case 0x32BB: retval = 46; break;          // CIRCLED NUMBER FORTY SIX
+                case 0x32BC: retval = 47; break;          // CIRCLED NUMBER FORTY SEVEN
+                case 0x32BD: retval = 48; break;          // CIRCLED NUMBER FORTY EIGHT
+                case 0x32BE: retval = 49; break;          // CIRCLED NUMBER FORTY NINE
+                case 0x32BF: retval = 50; break;          // CIRCLED NUMBER FIFTY
+
+                default:       retval = -2; break;
+            }
+            break;
+        case (0x00000C00):           // Java supradecimal
+            retval = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            break;
+        }
+        return retval;
+    }
+
+    boolean isWhitespace(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00004000);
+    }
+
+    byte getDirectionality(int ch) {
+        int val = getProperties(ch);
+        byte directionality = (byte)((val & 0x78000000) >> 27);
+        if (directionality == 0xF ) {
+            switch(ch) {
+                case 0x202A :
+                    // This is the only char with LRE
+                    directionality = Character.DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING;
+                    break;
+                case 0x202B :
+                    // This is the only char with RLE
+                    directionality = Character.DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING;
+                    break;
+                case 0x202C :
+                    // This is the only char with PDF
+                    directionality = Character.DIRECTIONALITY_POP_DIRECTIONAL_FORMAT;
+                    break;
+                case 0x202D :
+                    // This is the only char with LRO
+                    directionality = Character.DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE;
+                    break;
+                case 0x202E :
+                    // This is the only char with RLO
+                    directionality = Character.DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE;
+                    break;
+                default :
+                    directionality = Character.DIRECTIONALITY_UNDEFINED;
+                    break;
+            }
+        }
+        return directionality;
+    }
+
+    boolean isMirrored(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x80000000) != 0);
+    }
+
+    int toUpperCaseEx(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00010000) != 0) {
+            if ((val & 0x07FC0000) != 0x07FC0000) {
+                int offset = val  << 5 >> (5+18);
+                mapChar =  ch - offset;
+            }
+            else {
+                switch(ch) {
+                    // map overflow characters
+                    case 0x00B5 : mapChar = 0x039C; break;
+                    case 0x017F : mapChar = 0x0053; break;
+                    case 0x1FBE : mapChar = 0x0399; break;
+                    default       : mapChar = Character.ERROR; break;
+                }
+            }
+        }
+        return mapChar;
+    }
+
+    char[] toUpperCaseCharArray(int ch) {
+        char[] upperMap = {(char)ch};
+        int location = findInCharMap(ch);
+        if (location != -1) {
+            upperMap = charMap[location][1];
+        }
+        return upperMap;
+    }
+
+
+    /**
+     * Finds the character in the uppercase mapping table.
+     *
+     * @param ch the <code>char</code> to search
+     * @return the index location ch in the table or -1 if not found
+     * @since 1.4
+     */
+     int findInCharMap(int ch) {
+        if (charMap == null || charMap.length == 0) {
+            return -1;
+        }
+        int top, bottom, current;
+        bottom = 0;
+        top = charMap.length;
+        current = top/2;
+        // invariant: top > current >= bottom && ch >= CharacterData.charMap[bottom][0]
+        while (top - bottom > 1) {
+            if (ch >= charMap[current][0][0]) {
+                bottom = current;
+            } else {
+                top = current;
+            }
+            current = (top + bottom) / 2;
+        }
+        if (ch == charMap[current][0][0]) return current;
+        else return -1;
+    }
+
+    static final CharacterData00 instance = new CharacterData00();
+    private CharacterData00() {};
+
+    // The following tables and code generated using:
+  // java GenerateCharacter -plane 0 -template ../../tools/GenerateCharacter/CharacterData00.java.template -spec ../../tools/UnicodeData/UnicodeData.txt -specialcasing ../../tools/UnicodeData/SpecialCasing.txt -o /notnfs/langel/icedtea-ecj/generated/java/lang/CharacterData00.java -string -usecharforbyte 11 4 1
+      static final char[][][] charMap;
+// The X table has 2048 entries for a total of 4096 bytes.
+
+  static final char X[] = (
+    "\000\020\040\060\100\120\140\160\200\220\240\260\300\320\340\360\200\u0100"+
+    "\u0110\u0120\u0130\u0140\u0150\u0160\u0170\u0170\u0180\u0190\u01A0\u01B0\u01C0"+
+    "\u01D0\u01E0\u01F0\u0200\200\u0210\200\u0220\u0230\u0240\u0250\u0260\u0270"+
+    "\u0280\u0290\u02A0\u02B0\u02C0\u02D0\u02E0\u02F0\u0300\u0300\u0310\u0320\u0330"+
+    "\u0340\u0350\u0360\u0300\u0370\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0380\u0390\u03A0\u03B0\u03C0\u03D0\u03E0\u03F0\u0400\u0410\u0420"+
+    "\u0430\u0440\u0450\u0460\u0470\u03C0\u0480\u0490\u04A0\u04B0\u04C0\u04D0\u04E0"+
+    "\u04F0\u0500\u0510\u0520\u0530\u0540\u0550\u0520\u0530\u0560\u0570\u0520\u0580"+
+    "\u0590\u05A0\u05B0\u05C0\u05D0\u05E0\u0360\u05F0\u0600\u0610\u0360\u0620\u0630"+
+    "\u0640\u0650\u0660\u0670\u0680\u0360\u0690\u06A0\u06B0\u0360\u0360\u06C0\u06D0"+
+    "\u06E0\u0690\u0690\u06F0\u0690\u0690\u0700\u0690\u0710\u0720\u0690\u0730\u0690"+
+    "\u0740\u0750\u0760\u0770\u0750\u0690\u0780\u0790\u0360\u0690\u0690\u07A0\u05C0"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u07B0\u07C0\u0690\u0690\u07D0\u07E0\u07F0\u0800"+
+    "\u0810\u0690\u0820\u0830\u0840\u0850\u0690\u0860\u0870\u0690\u0880\u0360\u0360"+
+    "\u0890\u08A0\u08B0\u08C0\u0360\u0360\u0360\u08D0\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u08E0\u08F0\u0900\u0910\u0360\u0360\u0360"+
+    "\u0360\200\200\200\200\u0920\200\200\u0930\u0940\u0950\u0960\u0970\u0980\u0990"+
+    "\u09A0\u09B0\u09C0\u09D0\u09E0\u09F0\u0A00\u0A10\u0A20\u0A30\u0A40\u0A50\u0A60"+
+    "\u0A70\u0A80\u0A90\u0AA0\u0AB0\u0AC0\u0AD0\u0AE0\u0AF0\u0B00\u0B10\u0B20\u0B30"+
+    "\u0B40\u0B50\u0B60\u0B70\u0B80\u0B90\u0BA0\u0360\u08D0\u0BB0\u0BC0\u0BD0\u0BE0"+
+    "\u0BF0\u0C00\u0C10\u08D0\u08D0\u08D0\u08D0\u08D0\u0C20\u0C30\u0C40\u0C50\u08D0"+
+    "\u08D0\u0C60\u0C70\u0C80\u0360\u0360\u0C90\u0CA0\u0CB0\u0CC0\u0CD0\u0CE0\u0CF0"+
+    "\u0D00\u08D0\u08D0\u08D0\u08D0\u08D0\u08D0\u08D0\u08D0\u0D10\u0D10\u0D10\u0D10"+
+    "\u0D20\u0D30\u0D40\u0D50\u0D60\u0D70\u0D80\u0D90\u0DA0\u0DB0\u0DC0\u0DD0\u0DE0"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0DF0\u08D0\u08D0\u0E00\u08D0\u08D0\u08D0\u08D0\u08D0\u08D0\u0E10\u0E20"+
+    "\u0E30\u0E40\u05C0\u0690\u0E50\u0E60\u0690\u0E70\u0E80\u0E90\u0690\u0690\u0EA0"+
+    "\u0870\u0360\u0EB0\u0EC0\u0ED0\u0EE0\u0EF0\u0ED0\u0F00\u0F10\u0F20\u0B60\u0B60"+
+    "\u0B60\u0F30\u0B60\u0B60\u0F40\u0F50\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0F60\u08D0\u08D0\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0F70\u0360\u0360\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0F80\u08D0\u0BB0\u0360"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360\u0360"+
+    "\u0360\u0360\u0360\u0360\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0F90\u0360\u0360\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0"+
+    "\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0"+
+    "\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0"+
+    "\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0"+
+    "\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0\u0FA0"+
+    "\u0FA0\u0FA0\u0FA0\u0FA0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0"+
+    "\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0FB0\u0690\u0690\u0690\u0690"+
+    "\u0690\u0690\u0690\u0690\u0690\u0FC0\u0690\u0FD0\u0360\u0360\u0360\u0360\u0FE0"+
+    "\u0FF0\u1000\u0300\u0300\u1010\u1020\u0300\u0300\u0300\u0300\u0300\u0300\u0300"+
+    "\u0300\u0300\u0300\u1030\u1040\u0300\u1050\u0300\u1060\u1070\u1080\u1090\u10A0"+
+    "\u10B0\u0300\u0300\u0300\u10C0\u10D0\040\u10E0\u10F0\u1100\u1110\u1120\u1130").toCharArray();
+
+  // The Y table has 4416 entries for a total of 8832 bytes.
+
+  static final char Y[] = (
+    "\000\000\000\000\002\004\006\000\000\000\000\000\000\000\010\004\012\014\016"+
+    "\020\022\024\026\030\032\032\032\032\032\034\036\040\042\044\044\044\044\044"+
+    "\044\044\044\044\044\044\044\046\050\052\054\056\056\056\056\056\056\056\056"+
+    "\056\056\056\056\060\062\064\000\000\066\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\070\072\072\074\076\100\102\104\106\110\112\114\116\120\122"+
+    "\124\126\126\126\126\126\126\126\126\126\126\126\130\126\126\126\132\134\134"+
+    "\134\134\134\134\134\134\134\134\134\136\134\134\134\140\142\142\142\142\142"+
+    "\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142"+
+    "\144\142\142\142\146\150\150\150\150\150\150\150\152\142\142\142\142\142\142"+
+    "\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\142\154\150"+
+    "\150\152\156\142\142\160\162\164\166\170\172\162\174\176\142\200\202\204\142"+
+    "\142\142\206\210\200\142\206\212\214\150\216\142\220\142\222\224\224\226\230"+
+    "\232\226\234\150\150\150\150\150\150\150\236\142\142\142\142\142\142\142\142"+
+    "\142\240\232\142\242\142\142\142\142\244\142\142\142\142\142\142\142\142\142"+
+    "\200\246\250\250\250\250\250\250\250\250\250\250\250\250\200\252\254\256\260"+
+    "\262\200\200\264\266\200\200\270\200\200\272\200\274\276\200\200\200\200\200"+
+    "\300\302\200\200\300\304\200\200\200\306\200\200\200\200\200\200\200\200\200"+
+    "\200\200\200\200\200\310\310\310\310\312\314\310\310\310\316\316\320\320\320"+
+    "\320\320\310\316\316\316\316\316\316\316\310\310\322\316\316\316\316\322\316"+
+    "\316\316\316\316\316\316\316\324\324\324\324\324\324\324\324\324\324\324\324"+
+    "\324\324\324\324\324\324\326\324\324\324\324\324\324\324\324\324\250\250\330"+
+    "\324\324\324\324\324\324\324\324\324\250\250\316\250\250\332\250\334\250\250"+
+    "\316\336\340\342\344\346\350\126\126\126\126\126\126\126\126\352\126\126\126"+
+    "\126\354\356\360\134\134\134\134\134\134\134\134\362\134\134\134\134\364\366"+
+    "\370\372\374\376\142\142\142\142\142\142\142\142\142\142\142\142\u0100\u0102"+
+    "\u0104\u0106\u0108\142\250\250\u010A\u010A\u010A\u010A\u010A\u010A\u010A\u010A"+
+    "\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126\134\134\134"+
+    "\134\134\134\134\134\134\134\134\134\134\134\134\134\u010C\u010C\u010C\u010C"+
+    "\u010C\u010C\u010C\u010C\142\u010E\324\u0110\u0112\142\142\142\142\142\142"+
+    "\142\142\142\142\142\u0114\150\150\150\150\150\150\u0116\142\142\142\142\142"+
+    "\142\142\142\142\142\142\142\142\142\142\142\142\142\142\250\142\250\250\250"+
+    "\142\142\142\142\142\142\142\142\250\250\250\250\250\250\250\250\250\250\250"+
+    "\250\250\250\250\250\u0118\u011A\u011A\u011A\u011A\u011A\u011A\u011A\u011A"+
+    "\u011A\u011A\u011A\u011A\u011A\u011A\u011A\u011A\u011A\u011A\u011C\u011E\u0120"+
+    "\u0120\u0120\u0122\u0124\u0124\u0124\u0124\u0124\u0124\u0124\u0124\u0124\u0124"+
+    "\u0124\u0124\u0124\u0124\u0124\u0124\u0124\u0124\u0126\u0128\u012A\250\250"+
+    "\330\324\324\324\324\324\324\324\324\330\324\324\324\324\324\324\324\324\324"+
+    "\324\324\330\324\u012C\u012C\u012E\u0110\250\250\250\250\250\u0130\u0130\u0130"+
+    "\u0130\u0130\u0130\u0130\u0130\u0130\u0130\u0130\u0130\u0130\u0132\250\250"+
+    "\u0130\u0134\u0136\250\250\250\250\250\u0138\u0138\250\250\250\250\u013A\074"+
+    "\324\324\324\250\250\u013C\250\u013C\u013E\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u0140\u0140\u0142\250\250\u0144\u0140\u0140\u0140"+
+    "\u0140\u0146\324\324\324\324\324\324\u0110\250\250\250\u0148\u0148\u0148\u0148"+
+    "\u0148\u014A\u014C\u0140\u014E\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0150"+
+    "\324\324\324\u0152\u0154\324\324\u0156\u0158\u015A\324\324\u0140\032\032\032"+
+    "\032\032\u0140\u015C\u015E\u0160\u0160\u0160\u0160\u0160\u0160\u0160\u0162"+
+    "\u0146\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\324\324\324\324\324\324\324\324\324\324\324\324\324\u0110"+
+    "\u013E\u0140\250\250\250\250\250\250\250\250\250\250\250\250\250\250\250\250"+
+    "\250\250\250\250\250\250\250\250\u0140\u0140\u0140\324\324\324\324\324\u014E"+
+    "\250\250\250\250\250\250\250\330\u0164\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\250"+
+    "\u0166\u0168\u016A\324\324\324\u0164\u0168\u016A\250\u016C\324\u0110\250\224"+
+    "\224\224\224\224\324\u0120\u016E\u016E\u016E\u016E\u016E\u0170\250\250\250"+
+    "\250\250\250\250\330\u0168\u0172\224\224\224\u0174\u0172\u0174\u0172\224\224"+
+    "\224\224\224\224\224\224\224\224\u0174\224\224\224\u0174\u0174\250\224\224"+
+    "\250\u0166\u0168\u016A\324\u0110\u0176\u0178\u0176\u016A\250\250\250\250\u0176"+
+    "\250\250\224\u0172\224\324\250\u016E\u016E\u016E\u016E\u016E\224\072\u017A"+
+    "\u017A\u017C\u017E\250\250\330\u0164\u0172\224\224\u0174\250\u0172\u0174\u0172"+
+    "\224\224\224\224\224\224\224\224\224\224\u0174\224\224\224\u0174\224\u0172"+
+    "\u0174\224\250\u0110\u0168\u016A\u0110\250\330\u0110\330\324\250\250\250\250"+
+    "\250\u0172\224\u0174\u0174\250\250\250\u016E\u016E\u016E\u016E\u016E\324\224"+
+    "\u0174\250\250\250\250\250\330\u0164\u0172\224\224\224\224\u0172\224\u0172"+
+    "\224\224\224\224\224\224\224\224\224\224\u0174\224\224\224\u0174\224\u0172"+
+    "\224\224\250\u0166\u0168\u016A\324\324\330\u0164\u0176\u016A\250\u0174\250"+
+    "\250\250\250\250\250\250\224\324\250\u016E\u016E\u016E\u016E\u016E\u0180\250"+
+    "\250\250\250\250\250\250\224\224\224\224\u0174\224\224\224\u0174\224\u0172"+
+    "\224\224\250\u0166\u016A\u016A\324\250\u0176\u0178\u0176\u016A\250\250\250"+
+    "\250\u0164\250\250\224\u0172\224\250\250\u016E\u016E\u016E\u016E\u016E\u0182"+
+    "\250\250\250\250\250\250\250\250\u0166\u0172\224\224\u0174\250\224\u0174\224"+
+    "\224\250\u0172\u0174\u0174\224\250\u0172\u0174\250\224\u0174\250\224\224\224"+
+    "\224\u0172\224\250\250\u0168\u0164\u0178\250\u0168\u0178\u0168\u016A\250\250"+
+    "\250\250\u0176\250\250\250\250\250\250\250\u0184\u016E\u016E\u016E\u016E\u0186"+
+    "\u0188\074\074\u018A\u018C\250\250\u0176\u0168\u0172\224\224\224\u0174\224"+
+    "\u0174\224\224\224\224\224\224\224\224\224\224\224\u0174\224\224\224\224\224"+
+    "\u0172\224\224\250\250\324\u0164\u0168\u0178\324\u0110\324\324\250\250\250"+
+    "\330\u0110\250\250\250\250\224\250\250\u016E\u016E\u016E\u016E\u016E\250\250"+
+    "\250\250\250\250\250\250\250\u0168\u0172\224\224\224\u0174\224\u0174\224\224"+
+    "\224\224\224\224\224\224\224\224\224\u0174\224\224\224\224\224\u0172\224\224"+
+    "\250\u0166\u018E\u0168\u0168\u0178\u0190\u0178\u0168\324\250\250\250\u0176"+
+    "\u0178\250\250\250\u0174\224\224\224\224\u0174\224\224\224\224\224\224\224"+
+    "\224\250\250\u0168\u016A\324\250\u0168\u0178\u0168\u016A\250\250\250\250\u0176"+
+    "\250\250\250\250\250\u0168\u0172\224\224\224\224\224\224\224\224\u0174\250"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\u0172\224\224\224\224\u0172"+
+    "\250\224\224\224\u0174\250\u0110\250\u0176\u0168\324\u0110\u0110\u0168\u0168"+
+    "\u0168\u0168\250\250\250\250\250\250\250\250\250\u0168\u0170\250\250\250\250"+
+    "\250\u0172\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\u016C\224\324\324\324\u0110\250\u0180\224\224"+
+    "\224\u0192\324\324\324\u0194\u0196\u0196\u0196\u0196\u0196\u0120\250\250\u0172"+
+    "\u0174\u0174\u0172\u0174\u0174\u0172\250\250\250\224\224\u0172\224\224\224"+
+    "\u0172\224\u0172\u0172\250\224\u0172\224\u016C\224\324\324\324\330\u0166\250"+
+    "\224\224\u0174\332\324\324\324\250\u0196\u0196\u0196\u0196\u0196\250\224\250"+
+    "\u0198\u019A\u0120\u0120\u0120\u0120\u0120\u0120\u0120\u019C\u019A\u019A\324"+
+    "\u019A\u019A\u019A\u019E\u019E\u019E\u019E\u019E\u01A0\u01A0\u01A0\u01A0\u01A0"+
+    "\u010E\u010E\u010E\u01A2\u01A2\u0168\224\224\224\224\u0172\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\u0174\250\250\330\324\324"+
+    "\324\324\324\324\u0164\324\324\u0194\324\224\224\250\250\324\324\324\324\330"+
+    "\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\324\u0110"+
+    "\u019A\u019A\u019A\u019A\u01A4\u019A\u019A\u017E\u01A6\250\250\250\250\250"+
+    "\250\250\250\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224"+
+    "\224\u0172\224\224\u0172\u0174\u016A\324\u0164\u0110\250\324\u016A\250\250"+
+    "\250\u019E\u019E\u019E\u019E\u019E\u0120\u0120\u0120\224\224\224\u0168\324"+
+    "\250\250\250\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372\372"+
+    "\372\372\372\250\250\250\250\250\224\224\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\u0174\u0128\250\250\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\250\250\u0172\224\u0174\250\250\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\250\250\250\224\224\224\u0174\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\u0174\u0174\224\224\250\224\224\224\u0174\u0174"+
+    "\224\224\250\224\224\224\u0174\u0174\224\224\250\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\u0174\u0174\224\224\250\224\224\224\u0174"+
+    "\u0174\224\224\250\224\224\224\u0174\224\224\224\u0174\224\224\224\224\224"+
+    "\224\224\224\224\224\224\u0174\224\224\224\224\224\224\224\224\224\224\224"+
+    "\u0174\224\224\224\224\224\224\224\224\224\u0174\250\250\u0128\u0120\u0120"+
+    "\u0120\u01A8\u01AA\u01AA\u01AA\u01AA\u01AC\u01AE\u01A0\u01A0\u01A0\u01B0\250"+
+    "\224\224\224\224\224\224\224\224\224\224\u0174\250\250\250\250\250\224\224"+
+    "\224\224\224\224\u01B2\u01B4\224\224\224\u0174\250\250\250\250\u01B6\224\224"+
+    "\224\224\224\224\224\224\224\224\224\224\u01B8\u01BA\250\224\224\224\224\224"+
+    "\u01B2\u0120\u01BC\u01BE\250\250\250\250\250\250\250\224\224\224\224\224\224"+
+    "\u0174\224\224\324\u0110\250\250\250\250\250\224\224\224\224\224\224\224\224"+
+    "\224\324\u0194\u0170\250\250\250\250\224\224\224\224\224\224\224\224\224\324"+
+    "\250\250\250\250\250\250\224\224\224\224\224\224\u0174\224\u0174\324\250\250"+
+    "\250\250\250\250\224\224\224\224\224\224\224\224\224\224\u01C0\u016A\324\324"+
+    "\324\u0168\u0168\u0168\u0168\u0164\u016A\324\324\324\324\324\u0120\u01C2\u0120"+
+    "\u01C4\u016C\250\u019E\u019E\u019E\u019E\u019E\250\250\250\u01C6\u01C6\u01C6"+
+    "\u01C6\u01C6\250\250\250\020\020\020\u01C8\020\u01CA\324\u01CC\u0196\u0196"+
+    "\u0196\u0196\u0196\250\250\250\224\u01CE\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\250\250"+
+    "\250\250\224\224\224\224\u016C\250\250\250\250\250\250\250\250\250\250\250"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\224\224\u0174\250\324\u0164"+
+    "\u0168\u016A\u01D0\u01D2\250\250\u0168\u0164\u0168\u0168\u016A\324\250\250"+
+    "\u018C\250\020\u016E\u016E\u016E\u016E\u016E\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\250\224\224\u0174\250\250\250\250\250\074\074"+
+    "\074\074\074\074\074\074\074\074\074\074\074\074\074\074\200\200\200\200\200"+
+    "\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\200\310\310"+
+    "\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310\310"+
+    "\310\310\310\310\310\310\200\200\200\200\200\250\250\250\250\250\250\250\250"+
+    "\250\250\142\142\142\142\142\142\142\142\142\142\142\u01D4\u01D4\u01D6\250"+
+    "\250\142\142\142\142\142\142\142\142\142\142\142\142\142\250\250\250\u01D8"+
+    "\u01D8\u01D8\u01D8\u01DA\u01DA\u01DA\u01DA\u01D8\u01D8\u01D8\250\u01DA\u01DA"+
+    "\u01DA\250\u01D8\u01D8\u01D8\u01D8\u01DA\u01DA\u01DA\u01DA\u01D8\u01D8\u01D8"+
+    "\u01D8\u01DA\u01DA\u01DA\u01DA\u01D8\u01D8\u01D8\250\u01DA\u01DA\u01DA\250"+
+    "\u01DC\u01DC\u01DC\u01DC\u01DE\u01DE\u01DE\u01DE\u01D8\u01D8\u01D8\u01D8\u01DA"+
+    "\u01DA\u01DA\u01DA\u01E0\u01E2\u01E2\u01E4\u01E6\u01E8\u01EA\250\u01D4\u01D4"+
+    "\u01D4\u01D4\u01EC\u01EC\u01EC\u01EC\u01D4\u01D4\u01D4\u01D4\u01EC\u01EC\u01EC"+
+    "\u01EC\u01D4\u01D4\u01D4\u01D4\u01EC\u01EC\u01EC\u01EC\u01D8\u01D4\u01EE\u01D4"+
+    "\u01DA\u01F0\u01F2\u01F4\316\u01D4\u01EE\u01D4\u01F6\u01F6\u01F2\316\u01D8"+
+    "\u01D4\250\u01D4\u01DA\u01F8\u01FA\316\u01D8\u01D4\u01FC\u01D4\u01DA\u01FE"+
+    "\u0200\316\250\u01D4\u01EE\u01D4\u0202\u0204\u01F2\u0206\u0208\u0208\u0208"+
+    "\u020A\u0208\u020C\u020E\u0210\u0212\u0212\u0212\020\u0214\u0216\u0214\u0216"+
+    "\020\020\020\020\u0218\u021A\u021A\u021C\u021E\u021E\u0220\020\u0222\u0224"+
+    "\020\u0226\u0228\020\u022A\u022C\020\020\020\020\020\u022E\u0230\u0232\250"+
+    "\250\250\u0234\u020E\u020E\250\250\250\u020E\u020E\u020E\u0236\250\110\110"+
+    "\110\u0238\u022A\u023A\u023C\u023C\u023C\u023C\u023C\u0238\u022A\u023E\250"+
+    "\250\250\250\250\250\250\250\072\072\072\072\072\072\072\072\072\250\250\250"+
+    "\250\250\250\250\250\250\250\250\250\250\250\250\324\324\324\324\324\324\u0240"+
+    "\u0112\u0154\u0112\u0154\324\324\u0110\250\250\250\250\250\250\250\250\250"+
+    "\250\074\u0242\074\u0244\074\u0246\372\200\372\u0248\u0244\074\u0244\372\372"+
+    "\074\074\074\u0242\u024A\u0242\u024C\372\u024E\372\u0244\220\224\u0250\074"+
+    "\u0252\372\036\u0254\u0256\200\200\u0258\250\250\250\u025A\122\122\122\122"+
+    "\122\122\u025C\u025C\u025C\u025C\u025C\u025C\u025E\u025E\u0260\u0260\u0260"+
+    "\u0260\u0260\u0260\u0262\u0262\u0264\u0266\250\250\250\250\250\250\u0254\u0254"+
+    "\u0268\074\074\u0254\074\074\u0268\u0258\074\u0268\074\074\074\u0268\074\074"+
+    "\074\074\074\074\074\074\074\074\074\074\074\074\074\u0254\074\u0268\u0268"+
+    "\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074\u0254\u0254\u0254"+
+    "\u0254\u0254\u0254\u026A\u026C\036\u0254\u026C\u026C\u026C\u0254\u026A\u0238"+
+    "\u026A\036\u0254\u026C\u026C\u026A\u026C\036\036\036\u0254\u026A\u026C\u026C"+
+    "\u026C\u026C\u0254\u0254\u026A\u026A\u026C\u026C\u026C\u026C\u026C\u026C\u026C"+
+    "\u026C\036\u0254\u0254\u026C\u026C\u0254\u0254\u0254\u0254\u026A\036\036\u026C"+
+    "\u026C\u026C\u026C\u0254\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C"+
+    "\u026C\u026C\u026C\u026C\u026C\u026C\036\u026A\u026C\036\u0254\u0254\036\u0254"+
+    "\u0254\u0254\u0254\u026C\u0254\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C"+
+    "\u026C\036\u0254\u0254\u026C\u0254\u0254\u0254\u0254\u026A\u026C\u026C\u0254"+
+    "\u026C\u0254\u0254\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C"+
+    "\u026C\u026C\u0254\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\074\074"+
+    "\074\074\u026C\u026C\074\074\074\074\074\074\074\074\074\074\u026C\074\074"+
+    "\074\u026E\u0270\074\074\074\074\074\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u0272\u0268\074\074\074\074\074\074\074\074\074\074\074\u0274\074\074"+
+    "\u0258\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254"+
+    "\u01A2\u0276\074\074\074\074\074\074\074\074\074\074\074\074\u018C\250\250"+
+    "\250\250\250\250\250\074\074\074\u018C\250\250\250\250\250\250\250\250\250"+
+    "\250\250\250\074\074\074\074\074\u018C\250\250\250\250\250\250\250\250\250"+
+    "\250\u0278\u0278\u0278\u0278\u0278\u0278\u0278\u0278\u0278\u0278\u027A\u027A"+
+    "\u027A\u027A\u027A\u027A\u027A\u027A\u027A\u027A\u027C\u027C\u027C\u027C\u027C"+
+    "\u027C\u027C\u027C\u027C\u027C\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u027E\u027E\u027E\u027E\u027E\u027E\u027E\u027E"+
+    "\u027E\u027E\u027E\u027E\u027E\u0280\u0280\u0280\u0280\u0280\u0280\u0280\u0280"+
+    "\u0280\u0280\u0280\u0280\u0280\u0282\u0284\u0284\u0284\u0284\u0286\u0288\u0288"+
+    "\u0288\u0288\u028A\074\074\074\074\074\074\074\074\074\074\074\u0258\074\074"+
+    "\074\074\u0258\074\074\074\074\074\074\074\074\074\074\074\074\074\074\074"+
+    "\074\074\074\074\074\074\074\074\074\074\074\074\u0254\u0254\u0254\u0254\074"+
+    "\074\074\074\074\074\074\074\074\074\074\074\u028C\074\074\074\074\074\074"+
+    "\074\074\074\074\u0258\074\074\074\074\074\074\074\250\074\074\074\074\074"+
+    "\074\074\074\074\250\250\250\250\250\250\250\074\250\250\250\250\250\250\250"+
+    "\250\250\250\250\250\250\250\250\u028C\074\u018C\074\074\250\074\074\074\074"+
+    "\074\074\074\074\074\074\074\074\074\074\u028C\074\074\074\074\074\074\074"+
+    "\074\074\074\074\074\074\074\074\074\074\u028C\u028C\074\u018C\250\u018C\074"+
+    "\074\074\u018C\u028C\074\074\074\022\022\022\022\022\022\022\u028E\u028E\u028E"+
+    "\u028E\u028E\u0290\u0290\u0290\u0290\u0290\u0292\u0292\u0292\u0292\u0292\u018C"+
+    "\250\074\074\074\074\074\074\074\074\074\074\074\074\u028C\074\074\074\074"+
+    "\074\074\u018C\250\250\250\250\250\250\250\250\u0254\u026A\u026C\036\u0254"+
+    "\u0254\u026C\036\u0254\u026C\u026C\022\022\022\250\250\u0254\u0254\u0254\u0254"+
+    "\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254"+
+    "\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u022A\u0294\u0294\u0294\u0294"+
+    "\u0294\u0294\u0294\u0294\u0294\u0294\u0296\u026A\u026C\u026C\u026C\u026C\u026C"+
+    "\u026C\u026C\u026C\u026C\u026C\u0254\u0254\u0254\u0254\036\u0254\u0254\u0254"+
+    "\u026C\u026C\u026C\u0254\u026A\u0254\u0254\u026C\u026C\036\u026C\u0254\022"+
+    "\022\036\u0254\u026A\u026A\u026C\u0254\u026C\u0254\u0254\u0254\u0254\u0254"+
+    "\u026C\u026C\u026C\u0254\022\u0254\u0254\u0254\u0254\u0254\u0254\u026C\u026C"+
+    "\u026C\u026C\u026C\u026C\u026C\u026C\u026C\036\u026C\u026C\u0254\036\036\u026A"+
+    "\u026A\u026C\036\u0254\u0254\u026C\u0254\u0254\u0254\u026C\036\u0254\u0254"+
+    "\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u0254\u026A\036\u0254\u0254"+
+    "\u0254\u0254\u0254\u026C\u0254\u0254\u026C\u026C\u026A\036\u026A\036\u0254"+
+    "\u026A\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C"+
+    "\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u0254\u026C\u026C\u026C"+
+    "\u026C\u026A\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C"+
+    "\u026C\u026C\u026C\u026C\u026C\u026C\u026C\u026C\036\u0254\u0254\036\036\u0254"+
+    "\u026C\u026C\036\u0254\u0254\u026C\036\u0254\u026A\u0254\u026A\u026C\u026C"+
+    "\u026A\u0254\074\074\074\074\074\074\074\250\250\250\250\250\250\250\250\250"+
+    "\074\074\074\074\074\074\074\074\074\074\074\074\074\u028C\074\074\074\074"+
+    "\074\074\074\074\074\074\074\074\250\250\250\250\250\250\074\074\074\074\074"+
+    "\074\074\074\074\074\074\250\250\250\250\250\250\250\250\250\250\250\250\250"+
+    "\074\074\074\074\074\074\250\250\012\020\u0298\u029A\022\022\022\022\022\074"+
+    "\022\022\022\022\u029C\u029E\u02A0\u02A2\u02A2\u02A2\u02A2\324\324\324\u02A4"+
+    "\310\310\074\u02A6\u02A8\u02AA\074\224\224\224\224\224\224\224\224\224\224"+
+    "\224\u0174\330\u02AC\u02AE\u02B0\u02B2\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224\224"+
+    "\u02B4\310\u02B0\250\250\u0172\224\224\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\u0174\250\u0172\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\u0174\u019A\u02B6\u02B6\u019A\u019A\u019A\u019A"+
+    "\u019A\250\250\250\250\250\250\250\250\224\224\224\224\224\224\224\224\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u0272\u018C\u02B8\u02B8\u02B8\u02B8\u02B8\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\250\250\250\250\250\250\u02BA\u02BC"+
+    "\u02BC\u02BC\u02BC\u02BC\122\122\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\074\u01A6\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u02BE\122\122\122\122\122\122\122\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\074\074\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u017E\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u0272\074\u0274\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\074\u019A\u019A\u019A\u019A"+
+    "\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u019A\u0272\224"+
+    "\224\224\224\224\224\224\224\224\224\224\250\250\250\250\250\224\224\224\250"+
+    "\250\250\250\250\250\250\250\250\250\250\250\250\224\224\224\224\224\224\u0174"+
+    "\250\074\074\074\074\074\074\074\074\224\224\250\250\250\250\250\250\250\250"+
+    "\250\250\250\250\250\250\u02C0\u02C0\u02C0\u02C0\u02C0\u02C0\u02C0\u02C0\u02C0"+
+    "\u02C0\u02C0\u02C0\u02C0\u02C0\u02C0\u02C0\u02C2\u02C2\u02C2\u02C2\u02C2\u02C2"+
+    "\u02C2\u02C2\u02C2\u02C2\u02C2\u02C2\u02C2\u02C2\u02C2\u02C2\224\224\224\224"+
+    "\224\224\224\250\224\224\224\224\224\224\224\224\224\224\224\224\224\u0174"+
+    "\250\250\250\250\250\250\250\250\250\250\u01D4\u01D4\u01D4\u01EE\250\250\250"+
+    "\250\250\u02C4\u01D4\u01D4\250\250\u02C6\u02C8\u0130\u0130\u0130\u0130\u02CA"+
+    "\u0130\u0130\u0130\u0130\u0130\u0130\u0132\u0130\u0130\u0132\u0132\u0130\u02C6"+
+    "\u0132\u0130\u0130\u0130\u0130\u0130\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\250\250\250\250"+
+    "\250\250\250\250\250\250\250\250\250\250\250\250\u013E\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u01A2\250\250\250\250\250\250\250\250\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\250\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\250\250\250\250\250\250\250\250\250\250\250\250\250\250\250\250\250\250\250"+
+    "\250\u0140\u0140\u0140\u0140\u0140\u0140\u02CC\250\324\324\324\324\324\324"+
+    "\324\324\250\250\250\250\250\250\250\250\324\324\250\250\250\250\250\250\u02CE"+
+    "\u02D0\u02D2\u02D4\u02D4\u02D4\u02D4\u02D4\u02D4\u02D4\u02D6\u02D8\u02D6\020"+
+    "\u0226\u02DA\034\u02DC\u02DE\020\u029C\u02D4\u02D4\u02E0\020\u02E2\u0254\u02E4"+
+    "\u02E6\u0220\250\250\u0140\u0140\u0142\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140\u0140"+
+    "\u0142\u0162\u0232\014\016\020\022\024\026\030\032\032\032\032\032\034\036"+
+    "\040\054\056\056\056\056\056\056\056\056\056\056\056\056\060\062\u022A\u022C"+
+    "\022\u0226\224\224\224\224\224\u02B0\224\224\224\224\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\224\224\224\310\224\224\224\224\224\224"+
+    "\224\224\224\224\224\224\224\224\224\u0174\250\224\224\224\250\224\224\224"+
+    "\250\224\224\224\250\224\u0174\250\072\u02E8\u018A\u02EA\u0258\u0254\u0268"+
+    "\u018C\250\250\250\250\u0162\u020E\074\250").toCharArray();
+
+  // The A table has 748 entries for a total of 2992 bytes.
+
+  static final int A[] = new int[748];
+  static final String A_DATA =
+    "\u4800\u100F\u4800\u100F\u4800\u100F\u5800\u400F\u5000\u400F\u5800\u400F\u6000"+
+    "\u400F\u5000\u400F\u5000\u400F\u5000\u400F\u6000\u400C\u6800\030\u6800\030"+
+    "\u2800\030\u2800\u601A\u2800\030\u6800\030\u6800\030\uE800\025\uE800\026\u6800"+
+    "\030\u2800\031\u3800\030\u2800\024\u3800\030\u2000\030\u1800\u3609\u1800\u3609"+
+    "\u3800\030\u6800\030\uE800\031\u6800\031\uE800\031\u6800\030\u6800\030\202"+
+    "\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\uE800\025\u6800\030\uE800\026\u6800\033"+
+    "\u6800\u5017\u6800\033\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\uE800\025\u6800"+
+    "\031\uE800\026\u6800\031\u4800\u100F\u4800\u100F\u5000\u100F\u3800\014\u6800"+
+    "\030\u2800\u601A\u2800\u601A\u6800\034\u6800\034\u6800\033\u6800\034\000\u7002"+
+    "\uE800\035\u6800\031\u6800\u1010\u6800\034\u6800\033\u2800\034\u2800\031\u1800"+
+    "\u060B\u1800\u060B\u6800\033\u07FD\u7002\u6800\034\u6800\030\u6800\033\u1800"+
+    "\u050B\000\u7002\uE800\036\u6800\u080B\u6800\u080B\u6800\u080B\u6800\030\202"+
+    "\u7001\202\u7001\202\u7001\u6800\031\202\u7001\u07FD\u7002\201\u7002\201\u7002"+
+    "\201\u7002\u6800\031\201\u7002\u061D\u7002\006\u7001\005\u7002\u07FF\uF001"+
+    "\u03A1\u7002\000\u7002\006\u7001\005\u7002\006\u7001\005\u7002\u07FD\u7002"+
+    "\u061E\u7001\006\u7001\000\u7002\u034A\u7001\u033A\u7001\006\u7001\005\u7002"+
+    "\u0336\u7001\u0336\u7001\006\u7001\005\u7002\000\u7002\u013E\u7001\u032A\u7001"+
+    "\u032E\u7001\006\u7001\u033E\u7001\u067D\u7002\u034E\u7001\u0346\u7001\000"+
+    "\u7002\000\u7002\u034E\u7001\u0356\u7001\u05F9\u7002\u035A\u7001\u036A\u7001"+
+    "\006\u7001\005\u7002\u036A\u7001\005\u7002\u0366\u7001\u0366\u7001\006\u7001"+
+    "\005\u7002\u036E\u7001\000\u7002\000\u7005\000\u7002\u0721\u7002\000\u7005"+
+    "\000\u7005\012\uF001\007\uF003\011\uF002\012\uF001\007\uF003\011\uF002\011"+
+    "\uF002\006\u7001\005\u7002\u013D\u7002\u07FD\u7002\012\uF001\u067E\u7001\u0722"+
+    "\u7001\u05FA\u7001\000\u7002\000\u7002\u7800\000\u7800\000\u7800\000\000\u7002"+
+    "\u0349\u7002\u0339\u7002\000\u7002\u0335\u7002\u0335\u7002\000\u7002\u0329"+
+    "\u7002\000\u7002\u032D\u7002\u0335\u7002\000\u7002\000\u7002\u033D\u7002\u0345"+
+    "\u7002\u034D\u7002\000\u7002\u034D\u7002\u0355\u7002\000\u7002\000\u7002\u0359"+
+    "\u7002\u0369\u7002\000\u7002\000\u7002\u0369\u7002\u0365\u7002\u0365\u7002"+
+    "\u036D\u7002\000\u7002\000\u7004\000\u7004\000\u7004\u6800\u7004\u6800\u7004"+
+    "\000\u7004\u6800\033\u6800\033\u6800\u7004\u6800\u7004\000\u7004\u6800\033"+
+    "\u4000\u3006\u4000\u3006\u4000\u3006\u46B1\u3006\u7800\000\u4000\u3006\000"+
+    "\u7004\u7800\000\u6800\030\u7800\000\232\u7001\u6800\030\226\u7001\226\u7001"+
+    "\226\u7001\u7800\000\u0102\u7001\u7800\000\376\u7001\376\u7001\u07FD\u7002"+
+    "\202\u7001\u7800\000\202\u7001\231\u7002\225\u7002\225\u7002\225\u7002\u07FD"+
+    "\u7002\201\u7002\175\u7002\201\u7002\u0101\u7002\375\u7002\375\u7002\u7800"+
+    "\000\371\u7002\345\u7002\000\u7001\000\u7001\000\u7001\275\u7002\331\u7002"+
+    "\000\u7002\u0159\u7002\u0141\u7002\u07E5\u7002\000\u7002\u0712\u7001\u0181"+
+    "\u7002\u6800\031\006\u7001\005\u7002\u07E6\u7001\u0142\u7001\u0142\u7001\u0141"+
+    "\u7002\u0141\u7002\000\034\u4000\u3006\u4000\u3006\u7800\000\u4000\007\u4000"+
+    "\007\000\u7001\006\u7001\005\u7002\u7800\000\u7800\000\302\u7001\302\u7001"+
+    "\302\u7001\302\u7001\u7800\000\u7800\000\000\u7004\000\030\000\030\u7800\000"+
+    "\301\u7002\301\u7002\301\u7002\301\u7002\u07FD\u7002\u7800\000\000\030\u6800"+
+    "\024\u7800\000\u0800\030\u4000\u3006\u4000\u3006\u0800\030\u0800\u7005\u0800"+
+    "\u7005\u0800\u7005\u7800\000\u0800\u7005\u0800\030\u0800\030\u7800\000\u1000"+
+    "\u1010\u1000\u1010\u3800\030\u1000\030\u7800\000\u1000\030\u7800\000\u1000"+
+    "\u7005\u1000\u7005\u1000\u7005\u1000\u7005\u7800\000\u1000\u7004\u1000\u7005"+
+    "\u1000\u7005\u4000\u3006\u3000\u3409\u3000\u3409\u2800\030\u3000\030\u3000"+
+    "\030\u1000\030\u4000\u3006\u1000\u7005\u1000\030\u1000\u7005\u4000\u3006\u1000"+
+    "\u1010\u4000\007\u4000\u3006\u4000\u3006\u1000\u7004\u1000\u7004\u4000\u3006"+
+    "\u4000\u3006\u6800\034\u1000\u7005\u1000\034\u1000\034\u1000\u7005\u1000\030"+
+    "\u1000\030\u7800\000\u4800\u1010\u4000\u3006\000\u3008\u4000\u3006\000\u7005"+
+    "\000\u3008\000\u3008\000\u3008\u4000\u3006\000\u7005\u4000\u3006\000\u3749"+
+    "\000\u3749\000\030\u7800\000\u7800\000\000\u7005\000\u7005\u7800\000\u7800"+
+    "\000\000\u3008\000\u3008\u7800\000\000\u05AB\000\u05AB\000\013\000\u06EB\000"+
+    "\034\u7800\000\u7800\000\u2800\u601A\000\034\000\u7005\u7800\000\000\u3749"+
+    "\000\u074B\000\u080B\000\u080B\u6800\034\u6800\034\u2800\u601A\u6800\034\u7800"+
+    "\000\000\u3008\000\u3006\000\u3006\000\u3008\000\u7004\u4000\u3006\u4000\u3006"+
+    "\000\030\000\u3609\000\u3609\000\u7005\000\034\000\034\000\034\000\030\000"+
+    "\034\000\u3409\000\u3409\000\u080B\000\u080B\u6800\025\u6800\026\u4000\u3006"+
+    "\000\034\u7800\000\000\034\000\030\000\u3709\000\u3709\000\u3709\000\u070B"+
+    "\000\u042B\000\u054B\000\u080B\000\u080B\u7800\000\000\u7005\000\030\000\030"+
+    "\000\u7005\u6000\u400C\000\u7005\000\u7005\u6800\025\u6800\026\u7800\000\000"+
+    "\u746A\000\u746A\000\u746A\u7800\000\000\u1010\000\u1010\000\030\000\u7004"+
+    "\000\030\u2800\u601A\u6800\u060B\u6800\u060B\u6800\024\u6800\030\u6800\030"+
+    "\u4000\u3006\u6000\u400C\u7800\000\000\u7005\000\u7004\u4000\u3006\u4000\u3008"+
+    "\u4000\u3008\u4000\u3008\u07FD\u7002\u07FD\u7002\u07FD\u7002\355\u7002\u07E1"+
+    "\u7002\u07E1\u7002\u07E2\u7001\u07E2\u7001\u07FD\u7002\u07E1\u7002\u7800\000"+
+    "\u07E2\u7001\u06D9\u7002\u06D9\u7002\u06A9\u7002\u06A9\u7002\u0671\u7002\u0671"+
+    "\u7002\u0601\u7002\u0601\u7002\u0641\u7002\u0641\u7002\u0609\u7002\u0609\u7002"+
+    "\u07FF\uF003\u07FF\uF003\u07FD\u7002\u7800\000\u06DA\u7001\u06DA\u7001\u07FF"+
+    "\uF003\u6800\033\u07FD\u7002\u6800\033\u06AA\u7001\u06AA\u7001\u0672\u7001"+
+    "\u0672\u7001\u7800\000\u6800\033\u07FD\u7002\u07E5\u7002\u0642\u7001\u0642"+
+    "\u7001\u07E6\u7001\u6800\033\u0602\u7001\u0602\u7001\u060A\u7001\u060A\u7001"+
+    "\u6800\033\u7800\000\u6000\u400C\u6000\u400C\u6000\u400C\u6000\014\u6000\u400C"+
+    "\u4800\u400C\u4800\u1010\u4800\u1010\000\u1010\u0800\u1010\u6800\024\u6800"+
+    "\024\u6800\035\u6800\036\u6800\025\u6800\035\u6000\u400D\u5000\u400E\u7800"+
+    "\u1010\u7800\u1010\u7800\u1010\u6000\014\u2800\030\u2800\030\u2800\030\u6800"+
+    "\030\u6800\030\uE800\035\uE800\036\u6800\030\u6800\030\u6800\u5017\u6800\u5017"+
+    "\u6800\030\u6800\031\uE800\025\uE800\026\u6800\030\u6800\031\u6800\030\u6800"+
+    "\u5017\u7800\000\u7800\000\u6800\030\u7800\000\u6000\u400C\u1800\u060B\000"+
+    "\u7002\u2800\031\u2800\031\uE800\026\000\u7002\u1800\u040B\u1800\u040B\uE800"+
+    "\026\u7800\000\u4000\u3006\u4000\007\000\u7001\u6800\034\u6800\034\000\u7001"+
+    "\000\u7002\000\u7001\000\u7001\000\u7002\u07FE\u7001\u6800\034\u07FE\u7001"+
+    "\u07FE\u7001\u2800\034\000\u7002\000\u7005\000\u7002\u7800\000\000\u7002\u6800"+
+    "\031\u6800\031\u6800\031\000\u7001\u6800\034\u6800\031\u7800\000\u6800\u080B"+
+    "\102\u742A\102\u742A\102\u780A\102\u780A\101\u762A\101\u762A\101\u780A\101"+
+    "\u780A\000\u780A\000\u780A\000\u780A\000\u700A\u6800\031\u6800\034\u6800\031"+
+    "\uE800\031\uE800\031\uE800\031\u6800\034\uE800\025\uE800\026\u6800\034\000"+
+    "\034\u6800\034\u6800\034\000\034\u6800\030\u6800\034\u1800\u042B\u1800\u042B"+
+    "\u1800\u05AB\u1800\u05AB\u1800\u072B\u1800\u072B\152\034\152\034\151\034\151"+
+    "\034\u1800\u06CB\u6800\u040B\u6800\u040B\u6800\u040B\u6800\u040B\u6800\u058B"+
+    "\u6800\u058B\u6800\u058B\u6800\u058B\u6800\u042B\u7800\000\u6800\034\u6800"+
+    "\u056B\u6800\u056B\u6800\u042B\u6800\u042B\u6800\u06EB\u6800\u06EB\uE800\026"+
+    "\uE800\025\uE800\026\u6800\031\u6800\034\000\u7004\000\u7005\000\u772A\u6800"+
+    "\024\u6800\025\u6800\026\u6800\026\u6800\034\000\u740A\000\u740A\000\u740A"+
+    "\u6800\024\000\u7004\000\u764A\000\u776A\000\u748A\000\u7004\000\u7005\u6800"+
+    "\030\u4000\u3006\u6800\033\u6800\033\000\u7004\000\u7004\000\u7005\u6800\024"+
+    "\000\u7005\000\u7005\u6800\u5017\000\u05EB\000\u05EB\000\u042B\000\u042B\u6800"+
+    "\034\u6800\u048B\u6800\u048B\u6800\u048B\000\034\u6800\u080B\000\023\000\023"+
+    "\000\022\000\022\u7800\000\u07FD\u7002\u7800\000\u0800\u7005\u4000\u3006\u0800"+
+    "\u7005\u0800\u7005\u2800\031\u1000\u601A\u6800\034\u6800\030\u6800\024\u6800"+
+    "\024\u6800\u5017\u6800\u5017\u6800\025\u6800\026\u6800\025\u6800\026\u6800"+
+    "\030\u6800\030\u6800\025\u6800\u5017\u6800\u5017\u3800\030\u7800\000\u6800"+
+    "\030\u3800\030\u6800\026\u2800\030\u2800\031\u2800\024\u6800\031\u7800\000"+
+    "\u6800\030\u2800\u601A\u6800\031\u6800\033\u2800\u601A\u7800\000";
+
+  // In all, the character property tables require 15920 bytes.
+
+    static {
+            charMap = new char[][][] {
+        { {'\u00DF'}, {'\u0053', '\u0053', } },
+        { {'\u0130'}, {'\u0130', } },
+        { {'\u0149'}, {'\u02BC', '\u004E', } },
+        { {'\u01F0'}, {'\u004A', '\u030C', } },
+        { {'\u0390'}, {'\u0399', '\u0308', '\u0301', } },
+        { {'\u03B0'}, {'\u03A5', '\u0308', '\u0301', } },
+        { {'\u0587'}, {'\u0535', '\u0552', } },
+        { {'\u1E96'}, {'\u0048', '\u0331', } },
+        { {'\u1E97'}, {'\u0054', '\u0308', } },
+        { {'\u1E98'}, {'\u0057', '\u030A', } },
+        { {'\u1E99'}, {'\u0059', '\u030A', } },
+        { {'\u1E9A'}, {'\u0041', '\u02BE', } },
+        { {'\u1F50'}, {'\u03A5', '\u0313', } },
+        { {'\u1F52'}, {'\u03A5', '\u0313', '\u0300', } },
+        { {'\u1F54'}, {'\u03A5', '\u0313', '\u0301', } },
+        { {'\u1F56'}, {'\u03A5', '\u0313', '\u0342', } },
+        { {'\u1F80'}, {'\u1F08', '\u0399', } },
+        { {'\u1F81'}, {'\u1F09', '\u0399', } },
+        { {'\u1F82'}, {'\u1F0A', '\u0399', } },
+        { {'\u1F83'}, {'\u1F0B', '\u0399', } },
+        { {'\u1F84'}, {'\u1F0C', '\u0399', } },
+        { {'\u1F85'}, {'\u1F0D', '\u0399', } },
+        { {'\u1F86'}, {'\u1F0E', '\u0399', } },
+        { {'\u1F87'}, {'\u1F0F', '\u0399', } },
+        { {'\u1F88'}, {'\u1F08', '\u0399', } },
+        { {'\u1F89'}, {'\u1F09', '\u0399', } },
+        { {'\u1F8A'}, {'\u1F0A', '\u0399', } },
+        { {'\u1F8B'}, {'\u1F0B', '\u0399', } },
+        { {'\u1F8C'}, {'\u1F0C', '\u0399', } },
+        { {'\u1F8D'}, {'\u1F0D', '\u0399', } },
+        { {'\u1F8E'}, {'\u1F0E', '\u0399', } },
+        { {'\u1F8F'}, {'\u1F0F', '\u0399', } },
+        { {'\u1F90'}, {'\u1F28', '\u0399', } },
+        { {'\u1F91'}, {'\u1F29', '\u0399', } },
+        { {'\u1F92'}, {'\u1F2A', '\u0399', } },
+        { {'\u1F93'}, {'\u1F2B', '\u0399', } },
+        { {'\u1F94'}, {'\u1F2C', '\u0399', } },
+        { {'\u1F95'}, {'\u1F2D', '\u0399', } },
+        { {'\u1F96'}, {'\u1F2E', '\u0399', } },
+        { {'\u1F97'}, {'\u1F2F', '\u0399', } },
+        { {'\u1F98'}, {'\u1F28', '\u0399', } },
+        { {'\u1F99'}, {'\u1F29', '\u0399', } },
+        { {'\u1F9A'}, {'\u1F2A', '\u0399', } },
+        { {'\u1F9B'}, {'\u1F2B', '\u0399', } },
+        { {'\u1F9C'}, {'\u1F2C', '\u0399', } },
+        { {'\u1F9D'}, {'\u1F2D', '\u0399', } },
+        { {'\u1F9E'}, {'\u1F2E', '\u0399', } },
+        { {'\u1F9F'}, {'\u1F2F', '\u0399', } },
+        { {'\u1FA0'}, {'\u1F68', '\u0399', } },
+        { {'\u1FA1'}, {'\u1F69', '\u0399', } },
+        { {'\u1FA2'}, {'\u1F6A', '\u0399', } },
+        { {'\u1FA3'}, {'\u1F6B', '\u0399', } },
+        { {'\u1FA4'}, {'\u1F6C', '\u0399', } },
+        { {'\u1FA5'}, {'\u1F6D', '\u0399', } },
+        { {'\u1FA6'}, {'\u1F6E', '\u0399', } },
+        { {'\u1FA7'}, {'\u1F6F', '\u0399', } },
+        { {'\u1FA8'}, {'\u1F68', '\u0399', } },
+        { {'\u1FA9'}, {'\u1F69', '\u0399', } },
+        { {'\u1FAA'}, {'\u1F6A', '\u0399', } },
+        { {'\u1FAB'}, {'\u1F6B', '\u0399', } },
+        { {'\u1FAC'}, {'\u1F6C', '\u0399', } },
+        { {'\u1FAD'}, {'\u1F6D', '\u0399', } },
+        { {'\u1FAE'}, {'\u1F6E', '\u0399', } },
+        { {'\u1FAF'}, {'\u1F6F', '\u0399', } },
+        { {'\u1FB2'}, {'\u1FBA', '\u0399', } },
+        { {'\u1FB3'}, {'\u0391', '\u0399', } },
+        { {'\u1FB4'}, {'\u0386', '\u0399', } },
+        { {'\u1FB6'}, {'\u0391', '\u0342', } },
+        { {'\u1FB7'}, {'\u0391', '\u0342', '\u0399', } },
+        { {'\u1FBC'}, {'\u0391', '\u0399', } },
+        { {'\u1FC2'}, {'\u1FCA', '\u0399', } },
+        { {'\u1FC3'}, {'\u0397', '\u0399', } },
+        { {'\u1FC4'}, {'\u0389', '\u0399', } },
+        { {'\u1FC6'}, {'\u0397', '\u0342', } },
+        { {'\u1FC7'}, {'\u0397', '\u0342', '\u0399', } },
+        { {'\u1FCC'}, {'\u0397', '\u0399', } },
+        { {'\u1FD2'}, {'\u0399', '\u0308', '\u0300', } },
+        { {'\u1FD3'}, {'\u0399', '\u0308', '\u0301', } },
+        { {'\u1FD6'}, {'\u0399', '\u0342', } },
+        { {'\u1FD7'}, {'\u0399', '\u0308', '\u0342', } },
+        { {'\u1FE2'}, {'\u03A5', '\u0308', '\u0300', } },
+        { {'\u1FE3'}, {'\u03A5', '\u0308', '\u0301', } },
+        { {'\u1FE4'}, {'\u03A1', '\u0313', } },
+        { {'\u1FE6'}, {'\u03A5', '\u0342', } },
+        { {'\u1FE7'}, {'\u03A5', '\u0308', '\u0342', } },
+        { {'\u1FF2'}, {'\u1FFA', '\u0399', } },
+        { {'\u1FF3'}, {'\u03A9', '\u0399', } },
+        { {'\u1FF4'}, {'\u038F', '\u0399', } },
+        { {'\u1FF6'}, {'\u03A9', '\u0342', } },
+        { {'\u1FF7'}, {'\u03A9', '\u0342', '\u0399', } },
+        { {'\u1FFC'}, {'\u03A9', '\u0399', } },
+        { {'\uFB00'}, {'\u0046', '\u0046', } },
+        { {'\uFB01'}, {'\u0046', '\u0049', } },
+        { {'\uFB02'}, {'\u0046', '\u004C', } },
+        { {'\uFB03'}, {'\u0046', '\u0046', '\u0049', } },
+        { {'\uFB04'}, {'\u0046', '\u0046', '\u004C', } },
+        { {'\uFB05'}, {'\u0053', '\u0054', } },
+        { {'\uFB06'}, {'\u0053', '\u0054', } },
+        { {'\uFB13'}, {'\u0544', '\u0546', } },
+        { {'\uFB14'}, {'\u0544', '\u0535', } },
+        { {'\uFB15'}, {'\u0544', '\u053B', } },
+        { {'\uFB16'}, {'\u054E', '\u0546', } },
+        { {'\uFB17'}, {'\u0544', '\u053D', } },
+    };
+        { // THIS CODE WAS AUTOMATICALLY CREATED BY GenerateCharacter:
+            char[] data = A_DATA.toCharArray();
+            assert (data.length == (748 * 2));
+            int i = 0, j = 0;
+            while (i < (748 * 2)) {
+                int entry = data[i++] << 16;
+                A[j++] = entry | data[i++];
+            }
+        }
+
+    }        
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/CharacterData01.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,453 @@
+// This file was generated AUTOMATICALLY from a template file Wed Nov 07 13:33:46 EST 2007
+/*
+ * Copyright 2003-2006 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.lang;
+
+/** The CharacterData class encapsulates the large tables once found in
+ *  java.lang.Character. 
+ */
+
+class CharacterData01 extends CharacterData {
+    /* The character properties are currently encoded into 32 bits in the following manner:
+        1 bit   mirrored property
+        4 bits  directionality property
+        9 bits  signed offset used for converting case
+        1 bit   if 1, adding the signed offset converts the character to lowercase
+        1 bit   if 1, subtracting the signed offset converts the character to uppercase
+        1 bit   if 1, this character has a titlecase equivalent (possibly itself)
+        3 bits  0  may not be part of an identifier
+                1  ignorable control; may continue a Unicode identifier or Java identifier
+                2  may continue a Java identifier but not a Unicode identifier (unused)
+                3  may continue a Unicode identifier or Java identifier
+                4  is a Java whitespace character
+                5  may start or continue a Java identifier;
+                   may continue but not start a Unicode identifier (underscores)
+                6  may start or continue a Java identifier but not a Unicode identifier ($)
+                7  may start or continue a Unicode identifier or Java identifier
+                Thus:
+                   5, 6, 7 may start a Java identifier
+                   1, 2, 3, 5, 6, 7 may continue a Java identifier
+                   7 may start a Unicode identifier
+                   1, 3, 5, 7 may continue a Unicode identifier
+                   1 is ignorable within an identifier
+                   4 is Java whitespace
+        2 bits  0  this character has no numeric property
+                1  adding the digit offset to the character code and then
+                   masking with 0x1F will produce the desired numeric value
+                2  this character has a "strange" numeric value
+                3  a Java supradecimal digit: adding the digit offset to the
+                   character code, then masking with 0x1F, then adding 10
+                   will produce the desired numeric value
+        5 bits  digit offset
+        5 bits  character type
+
+        The encoding of character properties is subject to change at any time.
+     */
+
+    int getProperties(int ch) {
+        char offset = (char)ch;
+        int props = A[Y[(X[offset>>5]<<4)|((offset>>1)&0xF)]|(offset&0x1)];
+        return props;
+    }
+
+    int getType(int ch) {
+        int props = getProperties(ch);
+        return (props & 0x1F);
+    }
+
+    boolean isJavaIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) >= 0x00005000);
+    }
+
+    boolean isJavaIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00003000) != 0);
+    }
+
+    boolean isUnicodeIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00007000);
+    }
+
+    boolean isUnicodeIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00001000) != 0);
+    }
+
+    boolean isIdentifierIgnorable(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00001000);
+    }
+
+    int toLowerCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00020000) != 0) {
+            int offset = val << 5 >> (5+18);
+            mapChar = ch + offset;
+        }
+        return  mapChar;
+    }
+
+    int toUpperCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00010000) != 0) {
+            int offset = val  << 5 >> (5+18);
+            mapChar =  ch - offset;
+        }
+        return  mapChar;
+    }
+
+    int toTitleCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00008000) != 0) {
+            // There is a titlecase equivalent.  Perform further checks:
+            if ((val & 0x00010000) == 0) {
+                // The character does not have an uppercase equivalent, so it must
+                // already be uppercase; so add 1 to get the titlecase form.
+                mapChar = ch + 1;
+            }
+            else if ((val & 0x00020000) == 0) {
+                // The character does not have a lowercase equivalent, so it must
+                // already be lowercase; so subtract 1 to get the titlecase form.
+                mapChar = ch - 1;
+            }
+            // else {
+            // The character has both an uppercase equivalent and a lowercase
+            // equivalent, so it must itself be a titlecase form; return it.
+            // return ch;
+            //}
+        }
+        else if ((val & 0x00010000) != 0) {
+            // This character has no titlecase equivalent but it does have an
+            // uppercase equivalent, so use that (subtract the signed case offset).
+            mapChar = toUpperCase(ch);
+        }
+        return  mapChar;
+    }
+
+    int digit(int ch, int radix) {
+        int value = -1;
+        if (radix >= Character.MIN_RADIX && radix <= Character.MAX_RADIX) {
+            int val = getProperties(ch);
+            int kind = val & 0x1F;
+            if (kind == Character.DECIMAL_DIGIT_NUMBER) {
+                value = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            }
+            else if ((val & 0xC00) == 0x00000C00) {
+                // Java supradecimal digit
+                value = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            }
+        }
+        return (value < radix) ? value : -1;
+    }
+
+    int getNumericValue(int ch) {
+        int val = getProperties(ch);
+        int retval = -1;
+
+        switch (val & 0xC00) {
+        default: // cannot occur
+        case (0x00000000):         // not numeric
+            retval = -1;
+            break;
+        case (0x00000400):              // simple numeric
+            retval = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            break;
+        case (0x00000800)      :       // "strange" numeric
+            switch(ch) {
+            case 0x10113: retval = 40; break;      // AEGEAN NUMBER FORTY
+            case 0x10114: retval = 50; break;      // AEGEAN NUMBER FIFTY
+            case 0x10115: retval = 60; break;      // AEGEAN NUMBER SIXTY
+            case 0x10116: retval = 70; break;      // AEGEAN NUMBER SEVENTY
+            case 0x10117: retval = 80; break;      // AEGEAN NUMBER EIGHTY
+            case 0x10118: retval = 90; break;      // AEGEAN NUMBER NINETY
+            case 0x10119: retval = 100; break;     // AEGEAN NUMBER ONE HUNDRED
+            case 0x1011A: retval = 200; break;     // AEGEAN NUMBER TWO HUNDRED
+            case 0x1011B: retval = 300; break;     // AEGEAN NUMBER THREE HUNDRED
+            case 0x1011C: retval = 400; break;     // AEGEAN NUMBER FOUR HUNDRED
+            case 0x1011D: retval = 500; break;     // AEGEAN NUMBER FIVE HUNDRED
+            case 0x1011E: retval = 600; break;     // AEGEAN NUMBER SIX HUNDRED
+            case 0x1011F: retval = 700; break;     // AEGEAN NUMBER SEVEN HUNDRED
+            case 0x10120: retval = 800; break;     // AEGEAN NUMBER EIGHT HUNDRED
+            case 0x10121: retval = 900; break;     // AEGEAN NUMBER NINE HUNDRED
+            case 0x10122: retval = 1000; break;    // AEGEAN NUMBER ONE THOUSAND
+            case 0x10123: retval = 2000; break;    // AEGEAN NUMBER TWO THOUSAND
+            case 0x10124: retval = 3000; break;    // AEGEAN NUMBER THREE THOUSAND
+            case 0x10125: retval = 4000; break;    // AEGEAN NUMBER FOUR THOUSAND
+            case 0x10126: retval = 5000; break;    // AEGEAN NUMBER FIVE THOUSAND
+            case 0x10127: retval = 6000; break;    // AEGEAN NUMBER SIX THOUSAND
+            case 0x10128: retval = 7000; break;    // AEGEAN NUMBER SEVEN THOUSAND
+            case 0x10129: retval = 8000; break;    // AEGEAN NUMBER EIGHT THOUSAND
+            case 0x1012A: retval = 9000; break;    // AEGEAN NUMBER NINE THOUSAND
+            case 0x1012B: retval = 10000; break;   // AEGEAN NUMBER TEN THOUSAND
+            case 0x1012C: retval = 20000; break;   // AEGEAN NUMBER TWENTY THOUSAND
+            case 0x1012D: retval = 30000; break;   // AEGEAN NUMBER THIRTY THOUSAND
+            case 0x1012E: retval = 40000; break;   // AEGEAN NUMBER FORTY THOUSAND
+            case 0x1012F: retval = 50000; break;   // AEGEAN NUMBER FIFTY THOUSAND
+            case 0x10130: retval = 60000; break;   // AEGEAN NUMBER SIXTY THOUSAND
+            case 0x10131: retval = 70000; break;   // AEGEAN NUMBER SEVENTY THOUSAND
+            case 0x10132: retval = 80000; break;   // AEGEAN NUMBER EIGHTY THOUSAND
+            case 0x10133: retval = 90000; break;   // AEGEAN NUMBER NINETY THOUSAND
+            case 0x10323: retval = 50; break;      // OLD ITALIC NUMERAL FIFTY
+            default: retval = -2; break;
+            }
+            
+            break;
+        case (0x00000C00):           // Java supradecimal
+            retval = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            break;
+        }
+        return retval;
+    }
+
+    boolean isWhitespace(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00004000);
+    }
+
+    byte getDirectionality(int ch) {
+        int val = getProperties(ch);
+        byte directionality = (byte)((val & 0x78000000) >> 27);
+        if (directionality == 0xF ) {
+            directionality = Character.DIRECTIONALITY_UNDEFINED;
+        }
+        return directionality;
+    }
+
+    boolean isMirrored(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x80000000) != 0);
+    }
+
+    static final CharacterData instance = new CharacterData01();
+    private CharacterData01() {};
+
+    // The following tables and code generated using:
+  // java GenerateCharacter -plane 1 -template ../../tools/GenerateCharacter/CharacterData01.java.template -spec ../../tools/UnicodeData/UnicodeData.txt -specialcasing ../../tools/UnicodeData/SpecialCasing.txt -o /notnfs/langel/icedtea-ecj/generated/java/lang/CharacterData01.java -string -usecharforbyte 11 4 1
+  // The X table has 2048 entries for a total of 4096 bytes.
+
+  static final char X[] = (
+    "\000\001\002\003\004\004\004\005\006\007\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\010\011\012\003\013\003\003\003\014\015\016\004\017\020"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\021\022\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\023\023\023\023\023\023\023\024"+
+    "\023\025\023\026\027\030\031\003\003\003\003\003\003\003\003\003\032\032\033"+
+    "\003\003\003\003\003\034\035\036\037\040\041\042\043\044\045\046\047\050\034"+
+    "\035\051\037\052\053\054\043\055\056\057\060\061\062\063\064\065\066\067\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003"+
+    "\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003").toCharArray();
+
+  // The Y table has 896 entries for a total of 1792 bytes.
+
+  static final char Y[] = (
+    "\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\004\000\000\000\000\000\000\000\000\000\004\000\002\000\000\000\000\000\000"+
+    "\000\006\000\000\000\000\000\000\000\006\006\006\006\006\006\006\006\006\006"+
+    "\006\006\006\006\006\006\006\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\006"+
+    "\006\010\012\006\014\016\016\016\016\020\022\024\024\024\024\024\024\024\024"+
+    "\024\024\024\024\024\024\024\024\006\026\030\030\030\030\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\004\032\034\006\006\006\006\006\006"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\036\006\006\006\006\006"+
+    "\006\006\006\006\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\040\042\042\042\042\042\042\042\042\042\042\042\042\042\042\042\042\042"+
+    "\042\042\042\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044"+
+    "\044\044\044\044\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\006\046\046\046\046\046\006\006\006\006\006"+
+    "\006\006\006\006\006\006\050\050\050\006\052\050\050\050\050\050\050\050\050"+
+    "\050\050\050\050\050\050\050\050\050\050\050\050\050\050\054\052\006\052\054"+
+    "\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030"+
+    "\030\030\030\030\030\030\030\030\006\006\006\006\006\030\030\030\012\006\030"+
+    "\030\030\030\030\030\030\030\030\030\030\030\030\056\060\062\030\056\064\064"+
+    "\066\070\070\070\072\062\062\062\074\076\062\062\062\030\030\030\030\030\030"+
+    "\030\030\030\030\030\030\030\030\030\062\062\030\030\030\030\030\030\030\030"+
+    "\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\030\006\100\100"+
+    "\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100\100"+
+    "\100\100\100\100\100\100\102\006\006\006\006\104\104\104\104\104\104\104\104"+
+    "\104\104\104\104\104\106\106\106\106\106\106\106\106\106\106\106\106\106\104"+
+    "\104\104\104\104\104\104\104\104\104\104\104\104\106\106\106\110\106\106\106"+
+    "\106\106\106\106\106\106\104\104\104\104\104\104\104\104\104\104\104\104\104"+
+    "\106\106\106\106\106\106\106\106\106\106\106\106\106\112\104\006\112\114\112"+
+    "\114\104\112\104\104\104\104\106\106\116\116\106\106\106\116\106\106\106\106"+
+    "\106\104\104\104\104\104\104\104\104\104\104\104\104\104\106\106\106\106\106"+
+    "\106\106\106\106\106\106\106\106\104\114\104\112\114\104\104\104\112\104\104"+
+    "\104\112\106\106\106\106\106\106\106\106\106\106\106\106\106\104\114\104\112"+
+    "\104\104\112\112\006\104\104\104\112\106\106\106\106\106\106\106\106\106\106"+
+    "\106\106\106\104\104\104\104\104\104\104\104\104\104\104\104\104\106\106\106"+
+    "\106\106\106\106\106\106\106\106\106\106\104\104\104\104\104\104\104\106\106"+
+    "\106\106\106\106\106\106\106\104\106\106\106\106\106\106\106\106\106\106\106"+
+    "\106\106\104\104\104\104\104\104\104\104\104\104\104\104\104\106\106\106\106"+
+    "\106\106\106\106\106\106\106\106\106\104\104\104\104\104\104\104\104\106\106"+
+    "\006\006\104\104\104\104\104\104\104\104\104\104\104\104\120\106\106\106\106"+
+    "\106\106\106\106\106\106\106\106\122\106\106\106\104\104\104\104\104\104\104"+
+    "\104\104\104\104\104\120\106\106\106\106\106\106\106\106\106\106\106\106\122"+
+    "\106\106\106\104\104\104\104\104\104\104\104\104\104\104\104\120\106\106\106"+
+    "\106\106\106\106\106\106\106\106\106\122\106\106\106\104\104\104\104\104\104"+
+    "\104\104\104\104\104\104\120\106\106\106\106\106\106\106\106\106\106\106\106"+
+    "\122\106\106\106\104\104\104\104\104\104\104\104\104\104\104\104\120\106\106"+
+    "\106\106\106\106\106\106\106\106\106\106\122\106\106\106\006\006\124\124\124"+
+    "\124\124\126\126\126\126\126\130\130\130\130\130\132\132\132\132\132\134\134"+
+    "\134\134\134").toCharArray();
+
+  // The A table has 94 entries for a total of 376 bytes.
+
+  static final int A[] = new int[94];
+  static final String A_DATA =
+    "\000\u7005\000\u7005\u7800\000\000\u7005\000\u7005\u7800\000\u7800\000\u7800"+
+    "\000\000\030\u6800\030\000\034\u7800\000\u7800\000\000\u074B\000\u074B\000"+
+    "\u074B\000\u074B\000\u046B\000\u058B\000\u080B\000\u080B\000\u080B\u7800\000"+
+    "\000\034\000\034\000\034\000\u042B\000\u048B\000\u050B\000\u080B\000\u700A"+
+    "\u7800\000\u7800\000\000\030\242\u7001\242\u7001\241\u7002\241\u7002\000\u3409"+
+    "\000\u3409\u0800\u7005\u0800\u7005\u0800\u7005\u7800\000\u7800\000\u0800\u7005"+
+    "\000\034\000\u3008\000\u3008\u4000\u3006\u4000\u3006\u4000\u3006\000\u3008"+
+    "\000\u3008\000\u3008\u4800\u1010\u4800\u1010\u4800\u1010\u4800\u1010\u4000"+
+    "\u3006\u4000\u3006\000\034\000\034\u4000\u3006\u6800\034\u6800\034\u6800\034"+
+    "\u7800\000\000\u7001\000\u7001\000\u7002\000\u7002\000\u7002\u7800\000\000"+
+    "\u7001\u7800\000\u7800\000\000\u7001\u7800\000\000\u7002\000\u7001\000\031"+
+    "\000\u7002\000\031\u1800\u3649\u1800\u3649\u1800\u3509\u1800\u3509\u1800\u37C9"+
+    "\u1800\u37C9\u1800\u3689\u1800\u3689\u1800\u3549\u1800\u3549";
+
+  // In all, the character property tables require 6264 bytes.
+
+    static {
+                { // THIS CODE WAS AUTOMATICALLY CREATED BY GenerateCharacter:
+            char[] data = A_DATA.toCharArray();
+            assert (data.length == (94 * 2));
+            int i = 0, j = 0;
+            while (i < (94 * 2)) {
+                int entry = data[i++] << 16;
+                A[j++] = entry | data[i++];
+            }
+        }
+
+    }        
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/CharacterData02.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,357 @@
+// This file was generated AUTOMATICALLY from a template file Wed Nov 07 13:33:46 EST 2007
+/*
+ * Copyright 2003-2006 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.lang;
+
+/** The CharacterData class encapsulates the large tables found in
+    Java.lang.Character. */
+
+class CharacterData02 extends CharacterData {
+    /* The character properties are currently encoded into 32 bits in the following manner:
+        1 bit   mirrored property
+        4 bits  directionality property
+        9 bits  signed offset used for converting case
+        1 bit   if 1, adding the signed offset converts the character to lowercase
+        1 bit   if 1, subtracting the signed offset converts the character to uppercase
+        1 bit   if 1, this character has a titlecase equivalent (possibly itself)
+        3 bits  0  may not be part of an identifier
+                1  ignorable control; may continue a Unicode identifier or Java identifier
+                2  may continue a Java identifier but not a Unicode identifier (unused)
+                3  may continue a Unicode identifier or Java identifier
+                4  is a Java whitespace character
+                5  may start or continue a Java identifier;
+                   may continue but not start a Unicode identifier (underscores)
+                6  may start or continue a Java identifier but not a Unicode identifier ($)
+                7  may start or continue a Unicode identifier or Java identifier
+                Thus:
+                   5, 6, 7 may start a Java identifier
+                   1, 2, 3, 5, 6, 7 may continue a Java identifier
+                   7 may start a Unicode identifier
+                   1, 3, 5, 7 may continue a Unicode identifier
+                   1 is ignorable within an identifier
+                   4 is Java whitespace
+        2 bits  0  this character has no numeric property
+                1  adding the digit offset to the character code and then
+                   masking with 0x1F will produce the desired numeric value
+                2  this character has a "strange" numeric value
+                3  a Java supradecimal digit: adding the digit offset to the
+                   character code, then masking with 0x1F, then adding 10
+                   will produce the desired numeric value
+        5 bits  digit offset
+        5 bits  character type
+
+        The encoding of character properties is subject to change at any time.
+     */
+
+    int getProperties(int ch) {
+		char offset = (char)ch;
+        int props = A[Y[X[offset>>5]|((offset>>1)&0xF)]|(offset&0x1)];
+        return props;
+    }
+
+    int getType(int ch) {
+        int props = getProperties(ch);
+        return (props & 0x1F);
+    }
+
+    boolean isJavaIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) >= 0x00005000);
+    }
+
+    boolean isJavaIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00003000) != 0);
+    }
+
+    boolean isUnicodeIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00007000);
+    }
+
+    boolean isUnicodeIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00001000) != 0);
+    }
+
+    boolean isIdentifierIgnorable(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00001000);
+    }
+
+    int toLowerCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00020000) != 0) {
+            int offset = val << 5 >> (5+18);
+            mapChar = ch + offset;
+        }
+        return mapChar;
+    }
+
+    int toUpperCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00010000) != 0) {
+            int offset = val  << 5 >> (5+18);
+            mapChar =  ch - offset;
+        }
+        return mapChar;
+    }
+
+    int toTitleCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00008000) != 0) {
+            // There is a titlecase equivalent.  Perform further checks:
+            if ((val & 0x00010000) == 0) {
+                // The character does not have an uppercase equivalent, so it must
+                // already be uppercase; so add 1 to get the titlecase form.
+                mapChar = ch + 1;
+            }
+            else if ((val & 0x00020000) == 0) {
+                // The character does not have a lowercase equivalent, so it must
+                // already be lowercase; so subtract 1 to get the titlecase form.
+                mapChar = ch - 1;
+            }
+            // else {
+            // The character has both an uppercase equivalent and a lowercase
+            // equivalent, so it must itself be a titlecase form; return it.
+            // return ch;
+            //}
+        }
+        else if ((val & 0x00010000) != 0) {
+            // This character has no titlecase equivalent but it does have an
+            // uppercase equivalent, so use that (subtract the signed case offset).
+            mapChar = toUpperCase(ch);
+        }
+        return mapChar;
+    }
+
+    int digit(int ch, int radix) {
+        int value = -1;
+        if (radix >= Character.MIN_RADIX && radix <= Character.MAX_RADIX) {
+            int val = getProperties(ch);
+            int kind = val & 0x1F;
+            if (kind == Character.DECIMAL_DIGIT_NUMBER) {
+                value = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            }
+            else if ((val & 0xC00) == 0x00000C00) {
+                // Java supradecimal digit
+                value = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            }
+        }
+        return (value < radix) ? value : -1;
+    }
+
+    int getNumericValue(int ch) {
+        int val = getProperties(ch);
+        int retval = -1;
+
+        switch (val & 0xC00) {
+        default: // cannot occur
+        case (0x00000000):         // not numeric
+            retval = -1;
+            break;
+        case (0x00000400):              // simple numeric
+            retval = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            break;
+        case (0x00000800)      :       // "strange" numeric
+            retval = -2;
+            break;
+        case (0x00000C00):           // Java supradecimal
+            retval = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            break;
+        }
+        return retval;
+    }
+
+    boolean isWhitespace(int ch) {
+        return (getProperties(ch) & 0x00007000) == 0x00004000;
+    }
+
+    byte getDirectionality(int ch) {
+        int val = getProperties(ch);
+        byte directionality = (byte)((val & 0x78000000) >> 27);
+        if (directionality == 0xF ) {
+	        directionality = Character.DIRECTIONALITY_UNDEFINED;
+        }
+        return directionality;
+    }
+
+    boolean isMirrored(int ch) {
+        return (getProperties(ch) & 0x80000000) != 0;
+    }
+
+    static final CharacterData instance = new CharacterData02();
+    private CharacterData02() {};
+
+    // The following tables and code generated using:
+  // java GenerateCharacter -plane 2 -template ../../tools/GenerateCharacter/CharacterData02.java.template -spec ../../tools/UnicodeData/UnicodeData.txt -specialcasing ../../tools/UnicodeData/SpecialCasing.txt -o /notnfs/langel/icedtea-ecj/generated/java/lang/CharacterData02.java -string -usecharforbyte 11 4 1
+  // The X table has 2048 entries for a total of 4096 bytes.
+
+  static final char X[] = (
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\020\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\060\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040").toCharArray();
+
+  // The Y table has 64 entries for a total of 128 bytes.
+
+  static final char Y[] = (
+    "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\000\000\002\004\004\004\004\004\004\004\004\004\004"+
+    "\004\004\004\004\004\004\004\004\004\004\000\000\000\000\000\000\000\000\000"+
+    "\000\000\000\000\000\000\004").toCharArray();
+
+  // The A table has 6 entries for a total of 24 bytes.
+
+  static final int A[] = new int[6];
+  static final String A_DATA =
+    "\000\u7005\000\u7005\000\u7005\u7800\000\u7800\000\u7800\000";
+
+  // In all, the character property tables require 4248 bytes.
+
+    static {
+                { // THIS CODE WAS AUTOMATICALLY CREATED BY GenerateCharacter:
+            char[] data = A_DATA.toCharArray();
+            assert (data.length == (6 * 2));
+            int i = 0, j = 0;
+            while (i < (6 * 2)) {
+                int entry = data[i++] << 16;
+                A[j++] = entry | data[i++];
+            }
+        }
+
+    }        
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/CharacterData0E.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,361 @@
+// This file was generated AUTOMATICALLY from a template file Wed Nov 07 13:33:46 EST 2007
+/*
+ * Copyright 2003-2006 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.lang;
+
+/** The CharacterData class encapsulates the large tables found in
+    Java.lang.Character. */
+
+class CharacterData0E extends CharacterData {
+    /* The character properties are currently encoded into 32 bits in the following manner:
+        1 bit   mirrored property
+        4 bits  directionality property
+        9 bits  signed offset used for converting case
+        1 bit   if 1, adding the signed offset converts the character to lowercase
+        1 bit   if 1, subtracting the signed offset converts the character to uppercase
+        1 bit   if 1, this character has a titlecase equivalent (possibly itself)
+        3 bits  0  may not be part of an identifier
+                1  ignorable control; may continue a Unicode identifier or Java identifier
+                2  may continue a Java identifier but not a Unicode identifier (unused)
+                3  may continue a Unicode identifier or Java identifier
+                4  is a Java whitespace character
+                5  may start or continue a Java identifier;
+                   may continue but not start a Unicode identifier (underscores)
+                6  may start or continue a Java identifier but not a Unicode identifier ($)
+                7  may start or continue a Unicode identifier or Java identifier
+                Thus:
+                   5, 6, 7 may start a Java identifier
+                   1, 2, 3, 5, 6, 7 may continue a Java identifier
+                   7 may start a Unicode identifier
+                   1, 3, 5, 7 may continue a Unicode identifier
+                   1 is ignorable within an identifier
+                   4 is Java whitespace
+        2 bits  0  this character has no numeric property
+                1  adding the digit offset to the character code and then
+                   masking with 0x1F will produce the desired numeric value
+                2  this character has a "strange" numeric value
+                3  a Java supradecimal digit: adding the digit offset to the
+                   character code, then masking with 0x1F, then adding 10
+                   will produce the desired numeric value
+        5 bits  digit offset
+        5 bits  character type
+
+        The encoding of character properties is subject to change at any time.
+     */
+
+    int getProperties(int ch) {
+		char offset = (char)ch;
+        int props = A[Y[X[offset>>5]|((offset>>1)&0xF)]|(offset&0x1)];
+        return props;
+    }
+
+    int getType(int ch) {
+        int props = getProperties(ch);
+        return (props & 0x1F);
+    }
+
+    boolean isJavaIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) >= 0x00005000);
+    }
+
+    boolean isJavaIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00003000) != 0);
+    }
+
+    boolean isUnicodeIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00007000);
+    }
+
+    boolean isUnicodeIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00001000) != 0);
+    }
+
+    boolean isIdentifierIgnorable(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00001000);
+    }
+
+    int toLowerCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00020000) != 0) {
+            int offset = val << 5 >> (5+18);
+            mapChar = ch + offset;
+        }
+        return mapChar;
+    }
+
+    int toUpperCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00010000) != 0) {
+            int offset = val  << 5 >> (5+18);
+            mapChar =  ch - offset;
+        }
+        return mapChar;
+    }
+
+    int toTitleCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00008000) != 0) {
+            // There is a titlecase equivalent.  Perform further checks:
+            if ((val & 0x00010000) == 0) {
+                // The character does not have an uppercase equivalent, so it must
+                // already be uppercase; so add 1 to get the titlecase form.
+                mapChar = ch + 1;
+            }
+            else if ((val & 0x00020000) == 0) {
+                // The character does not have a lowercase equivalent, so it must
+                // already be lowercase; so subtract 1 to get the titlecase form.
+                mapChar = ch - 1;
+            }
+            // else {
+            // The character has both an uppercase equivalent and a lowercase
+            // equivalent, so it must itself be a titlecase form; return it.
+            // return ch;
+            //}
+        }
+        else if ((val & 0x00010000) != 0) {
+            // This character has no titlecase equivalent but it does have an
+            // uppercase equivalent, so use that (subtract the signed case offset).
+            mapChar = toUpperCase(ch);
+        }
+        return mapChar;
+    }
+
+    int digit(int ch, int radix) {
+        int value = -1;
+        if (radix >= Character.MIN_RADIX && radix <= Character.MAX_RADIX) {
+            int val = getProperties(ch);
+            int kind = val & 0x1F;
+            if (kind == Character.DECIMAL_DIGIT_NUMBER) {
+                value = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            }
+            else if ((val & 0xC00) == 0x00000C00) {
+                // Java supradecimal digit
+                value = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            }
+        }
+        return (value < radix) ? value : -1;
+    }
+
+    int getNumericValue(int ch) {
+        int val = getProperties(ch);
+        int retval = -1;
+
+        switch (val & 0xC00) {
+        default: // cannot occur
+        case (0x00000000):         // not numeric
+            retval = -1;
+            break;
+        case (0x00000400):              // simple numeric
+            retval = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            break;
+        case (0x00000800)      :       // "strange" numeric
+            retval = -2;
+            break;
+        case (0x00000C00):           // Java supradecimal
+            retval = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            break;
+        }
+        return retval;
+    }
+
+    boolean isWhitespace(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00004000);
+    }
+
+    byte getDirectionality(int ch) {
+        int val = getProperties(ch);
+        byte directionality = (byte)((val & 0x78000000) >> 27);
+        if (directionality == 0xF ) {
+	        directionality = Character.DIRECTIONALITY_UNDEFINED;
+        }
+        return directionality;
+    }
+
+    boolean isMirrored(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x80000000) != 0);
+    }
+
+    static final CharacterData instance = new CharacterData0E();
+    private CharacterData0E() {};
+
+    // The following tables and code generated using:
+  // java GenerateCharacter -plane 14 -template ../../tools/GenerateCharacter/CharacterData0E.java.template -spec ../../tools/UnicodeData/UnicodeData.txt -specialcasing ../../tools/UnicodeData/SpecialCasing.txt -o /notnfs/langel/icedtea-ecj/generated/java/lang/CharacterData0E.java -string -usecharforbyte 11 4 1
+  // The X table has 2048 entries for a total of 4096 bytes.
+
+  static final char X[] = (
+    "\000\020\020\020\040\040\040\040\060\060\060\060\060\060\060\100\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040"+
+    "\040\040\040\040\040\040\040\040\040\040\040\040\040\040\040").toCharArray();
+
+  // The Y table has 80 entries for a total of 160 bytes.
+
+  static final char Y[] = (
+    "\000\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002\004\004\004"+
+    "\004\004\004\004\004\004\004\004\004\004\004\004\004\002\002\002\002\002\002"+
+    "\002\002\002\002\002\002\002\002\002\002\006\006\006\006\006\006\006\006\006"+
+    "\006\006\006\006\006\006\006\006\006\006\006\006\006\006\006\002\002\002\002"+
+    "\002\002\002\002").toCharArray();
+
+  // The A table has 8 entries for a total of 32 bytes.
+
+  static final int A[] = new int[8];
+  static final String A_DATA =
+    "\u7800\000\u4800\u1010\u7800\000\u7800\000\u4800\u1010\u4800\u1010\u4000\u3006"+
+    "\u4000\u3006";
+
+  // In all, the character property tables require 4288 bytes.
+
+    static {
+                { // THIS CODE WAS AUTOMATICALLY CREATED BY GenerateCharacter:
+            char[] data = A_DATA.toCharArray();
+            assert (data.length == (8 * 2));
+            int i = 0, j = 0;
+            while (i < (8 * 2)) {
+                int entry = data[i++] << 16;
+                A[j++] = entry | data[i++];
+            }
+        }
+
+    }        
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/CharacterDataLatin1.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,287 @@
+// This file was generated AUTOMATICALLY from a template file Wed Nov 07 13:33:45 EST 2007
+/*
+ * Copyright 2002-2006 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package java.lang;
+
+/** The CharacterData class encapsulates the large tables found in
+    Java.lang.Character. */
+
+class CharacterDataLatin1 extends CharacterData {
+
+    /* The character properties are currently encoded into 32 bits in the following manner:
+        1 bit   mirrored property
+        4 bits  directionality property
+        9 bits  signed offset used for converting case
+        1 bit   if 1, adding the signed offset converts the character to lowercase
+        1 bit   if 1, subtracting the signed offset converts the character to uppercase
+        1 bit   if 1, this character has a titlecase equivalent (possibly itself)
+        3 bits  0  may not be part of an identifier
+                1  ignorable control; may continue a Unicode identifier or Java identifier
+                2  may continue a Java identifier but not a Unicode identifier (unused)
+                3  may continue a Unicode identifier or Java identifier
+                4  is a Java whitespace character
+                5  may start or continue a Java identifier;
+                   may continue but not start a Unicode identifier (underscores)
+                6  may start or continue a Java identifier but not a Unicode identifier ($)
+                7  may start or continue a Unicode identifier or Java identifier
+                Thus:
+                   5, 6, 7 may start a Java identifier
+                   1, 2, 3, 5, 6, 7 may continue a Java identifier
+                   7 may start a Unicode identifier
+                   1, 3, 5, 7 may continue a Unicode identifier
+                   1 is ignorable within an identifier
+                   4 is Java whitespace
+        2 bits  0  this character has no numeric property
+                1  adding the digit offset to the character code and then
+                   masking with 0x1F will produce the desired numeric value
+                2  this character has a "strange" numeric value
+                3  a Java supradecimal digit: adding the digit offset to the
+                   character code, then masking with 0x1F, then adding 10
+                   will produce the desired numeric value
+        5 bits  digit offset
+        5 bits  character type
+
+        The encoding of character properties is subject to change at any time.
+     */
+
+    int getProperties(int ch) {
+		char offset = (char)ch;
+        int props = A[offset];
+        return props;
+    }
+
+    int getType(int ch) {
+        int props = getProperties(ch);
+        return (props & 0x1F);
+    }
+
+    boolean isJavaIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) >= 0x00005000);
+    }
+
+    boolean isJavaIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00003000) != 0);
+    }
+
+    boolean isUnicodeIdentifierStart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00007000);
+    }
+
+    boolean isUnicodeIdentifierPart(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00001000) != 0);
+    }
+
+    boolean isIdentifierIgnorable(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00001000);
+    }
+
+    int toLowerCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if (((val & 0x00020000) != 0) && 
+                ((val & 0x07FC0000) != 0x07FC0000)) { 
+            int offset = val << 5 >> (5+18);
+            mapChar = ch + offset;
+        }
+        return mapChar;
+    }
+
+    int toUpperCase(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00010000) != 0) {
+            if ((val & 0x07FC0000) != 0x07FC0000) {
+                int offset = val  << 5 >> (5+18);
+                mapChar =  ch - offset;
+            } else if (ch == 0x00B5) {
+                mapChar = 0x039C;
+            }
+        }
+        return mapChar;
+    }
+
+    int toTitleCase(int ch) {
+        return toUpperCase(ch);
+    }
+
+    int digit(int ch, int radix) {
+        int value = -1;
+        if (radix >= Character.MIN_RADIX && radix <= Character.MAX_RADIX) {
+            int val = getProperties(ch);
+            int kind = val & 0x1F;
+            if (kind == Character.DECIMAL_DIGIT_NUMBER) {
+                value = ch + ((val & 0x3E0) >> 5) & 0x1F;
+            }
+            else if ((val & 0xC00) == 0x00000C00) {
+                // Java supradecimal digit
+                value = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+            }
+        }
+        return (value < radix) ? value : -1;
+    }
+
+    int getNumericValue(int ch) {
+        int val = getProperties(ch);
+        int retval = -1;
+
+        switch (val & 0xC00) {
+            default: // cannot occur
+            case (0x00000000):         // not numeric
+                retval = -1;
+                break;
+            case (0x00000400):              // simple numeric
+                retval = ch + ((val & 0x3E0) >> 5) & 0x1F;
+                break;
+            case (0x00000800)      :       // "strange" numeric
+                 retval = -2; 
+                 break;
+            case (0x00000C00):           // Java supradecimal
+                retval = (ch + ((val & 0x3E0) >> 5) & 0x1F) + 10;
+                break;
+        }
+        return retval;
+    }
+
+    boolean isWhitespace(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x00007000) == 0x00004000);
+    }
+
+    byte getDirectionality(int ch) {
+        int val = getProperties(ch);
+        byte directionality = (byte)((val & 0x78000000) >> 27);
+
+        if (directionality == 0xF ) {
+            directionality = -1;
+        }
+        return directionality;
+    }
+
+    boolean isMirrored(int ch) {
+        int props = getProperties(ch);
+        return ((props & 0x80000000) != 0);
+    }
+
+    int toUpperCaseEx(int ch) {
+        int mapChar = ch;
+        int val = getProperties(ch);
+
+        if ((val & 0x00010000) != 0) {
+            if ((val & 0x07FC0000) != 0x07FC0000) {
+                int offset = val  << 5 >> (5+18);
+                mapChar =  ch - offset;
+            }
+            else {
+                switch(ch) {
+                    // map overflow characters
+                    case 0x00B5 : mapChar = 0x039C; break;
+                    default       : mapChar = Character.ERROR; break;
+                }
+            }
+        }
+        return mapChar;
+    }
+
+    static char[] sharpsMap = new char[] {'S', 'S'};
+
+    char[] toUpperCaseCharArray(int ch) {
+        char[] upperMap = {(char)ch};
+        if (ch == 0x00DF) {
+            upperMap = sharpsMap;
+        }
+        return upperMap;
+    }
+
+    static final CharacterDataLatin1 instance = new CharacterDataLatin1();
+    private CharacterDataLatin1() {};
+
+    // The following tables and code generated using:
+  // java GenerateCharacter -template ../../tools/GenerateCharacter/CharacterDataLatin1.java.template -spec ../../tools/UnicodeData/UnicodeData.txt -specialcasing ../../tools/UnicodeData/SpecialCasing.txt -o /notnfs/langel/icedtea-ecj/generated/java/lang/CharacterDataLatin1.java -string -usecharforbyte -latin1 8
+  // The A table has 256 entries for a total of 1024 bytes.
+
+  static final int A[] = new int[256];
+  static final String A_DATA =
+    "\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800"+
+    "\u100F\u4800\u100F\u4800\u100F\u5800\u400F\u5000\u400F\u5800\u400F\u6000\u400F"+
+    "\u5000\u400F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800"+
+    "\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F"+
+    "\u4800\u100F\u4800\u100F\u5000\u400F\u5000\u400F\u5000\u400F\u5800\u400F\u6000"+
+    "\u400C\u6800\030\u6800\030\u2800\030\u2800\u601A\u2800\030\u6800\030\u6800"+
+    "\030\uE800\025\uE800\026\u6800\030\u2800\031\u3800\030\u2800\024\u3800\030"+
+    "\u2000\030\u1800\u3609\u1800\u3609\u1800\u3609\u1800\u3609\u1800\u3609\u1800"+
+    "\u3609\u1800\u3609\u1800\u3609\u1800\u3609\u1800\u3609\u3800\030\u6800\030"+
+    "\uE800\031\u6800\031\uE800\031\u6800\030\u6800\030\202\u7FE1\202\u7FE1\202"+
+    "\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1"+
+    "\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202"+
+    "\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1\202\u7FE1"+
+    "\202\u7FE1\uE800\025\u6800\030\uE800\026\u6800\033\u6800\u5017\u6800\033\201"+
+    "\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2"+
+    "\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201"+
+    "\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2\201\u7FE2"+
+    "\201\u7FE2\201\u7FE2\201\u7FE2\uE800\025\u6800\031\uE800\026\u6800\031\u4800"+
+    "\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u5000\u100F"+
+    "\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800"+
+    "\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F"+
+    "\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800"+
+    "\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F\u4800\u100F"+
+    "\u3800\014\u6800\030\u2800\u601A\u2800\u601A\u2800\u601A\u2800\u601A\u6800"+
+    "\034\u6800\034\u6800\033\u6800\034\000\u7002\uE800\035\u6800\031\u6800\u1010"+
+    "\u6800\034\u6800\033\u2800\034\u2800\031\u1800\u060B\u1800\u060B\u6800\033"+
+    "\u07FD\u7002\u6800\034\u6800\030\u6800\033\u1800\u050B\000\u7002\uE800\036"+
+    "\u6800\u080B\u6800\u080B\u6800\u080B\u6800\030\202\u7001\202\u7001\202\u7001"+
+    "\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001\202"+
+    "\u7001\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001"+
+    "\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001\u6800\031\202\u7001\202"+
+    "\u7001\202\u7001\202\u7001\202\u7001\202\u7001\202\u7001\u07FD\u7002\201\u7002"+
+    "\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201"+
+    "\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002"+
+    "\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\u6800"+
+    "\031\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002\201\u7002"+
+    "\u061D\u7002";
+
+  // In all, the character property tables require 1024 bytes.
+
+    static {
+                { // THIS CODE WAS AUTOMATICALLY CREATED BY GenerateCharacter:
+            char[] data = A_DATA.toCharArray();
+            assert (data.length == (256 * 2));
+            int i = 0, j = 0;
+            while (i < (256 * 2)) {
+                int entry = data[i++] << 16;
+                A[j++] = entry | data[i++];
+            }
+        }
+
+    }        
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/AdapterActivator.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,21 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/AdapterActivator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * An adapter activator supplies a POA with the ability 
+	 * to create child POAs on demand, as a side-effect of 
+	 * receiving a request that names the child POA 
+	 * (or one of its children), or when find_POA is called 
+	 * with an activate parameter value of TRUE.
+	 */
+public interface AdapterActivator extends AdapterActivatorOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface AdapterActivator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/AdapterActivatorOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,36 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/AdapterActivatorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * An adapter activator supplies a POA with the ability 
+	 * to create child POAs on demand, as a side-effect of 
+	 * receiving a request that names the child POA 
+	 * (or one of its children), or when find_POA is called 
+	 * with an activate parameter value of TRUE.
+	 */
+public interface AdapterActivatorOperations 
+{
+
+  /**
+  	 * This operation is invoked when the ORB receives 
+  	 * a request for an object reference that identifies 
+  	 * a target POA that does not exist. The ORB invokes 
+  	 * this operation once for each POA that must be 
+  	 * created in order for the target POA to exist.
+  	 * @param parent indicates the parent POA for the POA
+  	 *               that needs to be created.
+  	 * @param name identifies the name of the POA relative to
+  	 *             the parent.
+  	 * @return returns TRUE if the POA was created or FALSE
+  	 *         otherwise.
+  	 */
+  boolean unknown_adapter (org.omg.PortableServer.POA parent, String name);
+} // interface AdapterActivatorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/Current.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,32 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/Current.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The PortableServer::Current interface, derived from 
+	 * CORBA::Current, provides method implementations with 
+	 * access to the identity of the object on which the 
+	 * method was invoked. The Current interface is provided 
+	 * to support servants that implement multiple objects, 
+	 * but can be used within the context of POA-dispatched 
+	 * method invocations on any servant. To provide location 
+	 * transparency, ORBs are required to support use of 
+	 * Current in the context of both locally and remotely 
+	 * invoked operations. An instance of Current can be 
+	 * obtained by the application by issuing the 
+	 * CORBA::ORB::resolve_initial_references("POACurrent") 
+	 * operation. Thereafter, it can be used within the 
+	 * context of a method dispatched by the POA to obtain 
+	 * the POA and ObjectId that identify the object on 
+	 * which that operation was invoked.
+	 */
+public interface Current extends CurrentOperations, org.omg.CORBA.Current, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Current
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/CurrentOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,56 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/CurrentOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The PortableServer::Current interface, derived from 
+	 * CORBA::Current, provides method implementations with 
+	 * access to the identity of the object on which the 
+	 * method was invoked. The Current interface is provided 
+	 * to support servants that implement multiple objects, 
+	 * but can be used within the context of POA-dispatched 
+	 * method invocations on any servant. To provide location 
+	 * transparency, ORBs are required to support use of 
+	 * Current in the context of both locally and remotely 
+	 * invoked operations. An instance of Current can be 
+	 * obtained by the application by issuing the 
+	 * CORBA::ORB::resolve_initial_references("POACurrent") 
+	 * operation. Thereafter, it can be used within the 
+	 * context of a method dispatched by the POA to obtain 
+	 * the POA and ObjectId that identify the object on 
+	 * which that operation was invoked.
+	 */
+public interface CurrentOperations  extends org.omg.CORBA.CurrentOperations
+{
+
+  /**
+  	 * Returns reference to the POA implementing the 
+  	 * object in whose context it is called. 
+  	 *
+  	 * @return The poa implementing the object
+  	 * 
+  	 * @exception NoContext is raised when the operation is
+  	 *            outside the context of a POA-dispatched 
+  	 *            operation
+  	 */
+  org.omg.PortableServer.POA get_POA () throws org.omg.PortableServer.CurrentPackage.NoContext;
+
+  /** 
+  	 * Returns the ObjectId identifying the object in 
+  	 * whose context it is called. 
+  	 *
+  	 * @return the ObjectId of the object
+  	 *
+  	 * @exception NoContext is raised when the operation
+  	 * is called outside the context of a POA-dispatched 
+  	 * operation.
+  	 */
+  byte[] get_object_id () throws org.omg.PortableServer.CurrentPackage.NoContext;
+} // interface CurrentOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/CurrentPackage/NoContext.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.CurrentPackage;
+
+
+/**
+* org/omg/PortableServer/CurrentPackage/NoContext.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class NoContext extends org.omg.CORBA.UserException
+{
+
+  public NoContext ()
+  {
+    super(NoContextHelper.id());
+  } // ctor
+
+
+  public NoContext (String $reason)
+  {
+    super(NoContextHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class NoContext
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/CurrentPackage/NoContextHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.CurrentPackage;
+
+
+/**
+* org/omg/PortableServer/CurrentPackage/NoContextHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class NoContextHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/Current/NoContext:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.CurrentPackage.NoContext that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.CurrentPackage.NoContext extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.CurrentPackage.NoContextHelper.id (), "NoContext", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.CurrentPackage.NoContext read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.CurrentPackage.NoContext value = new org.omg.PortableServer.CurrentPackage.NoContext ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.CurrentPackage.NoContext value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ForwardRequest.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,33 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ForwardRequest.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class ForwardRequest extends org.omg.CORBA.UserException
+{
+  public org.omg.CORBA.Object forward_reference = null;
+
+  public ForwardRequest ()
+  {
+    super(ForwardRequestHelper.id());
+  } // ctor
+
+  public ForwardRequest (org.omg.CORBA.Object _forward_reference)
+  {
+    super(ForwardRequestHelper.id());
+    forward_reference = _forward_reference;
+  } // ctor
+
+
+  public ForwardRequest (String $reason, org.omg.CORBA.Object _forward_reference)
+  {
+    super(ForwardRequestHelper.id() + "  " + $reason);
+    forward_reference = _forward_reference;
+  } // ctor
+
+} // class ForwardRequest
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ForwardRequestHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,79 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ForwardRequestHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class ForwardRequestHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/ForwardRequest:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.ForwardRequest that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.ForwardRequest extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [1];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ObjectHelper.type ();
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "forward_reference",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.ForwardRequestHelper.id (), "ForwardRequest", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.ForwardRequest read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.ForwardRequest value = new org.omg.PortableServer.ForwardRequest ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.forward_reference = org.omg.CORBA.ObjectHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.ForwardRequest value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    org.omg.CORBA.ObjectHelper.write (ostream, value.forward_reference);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ID_ASSIGNMENT_POLICY_ID.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public interface ID_ASSIGNMENT_POLICY_ID
+{
+
+  /**
+  	 * The value representing ID_ASSIGNMENT_POLICY_ID.
+  	 */
+  public static final int value = (int)(19L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ID_UNIQUENESS_POLICY_ID.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public interface ID_UNIQUENESS_POLICY_ID
+{
+
+  /**
+  	 * The value representing ID_UNIQUENESS_POLICY_ID.
+  	 */
+  public static final int value = (int)(18L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/IMPLICIT_ACTIVATION_POLICY_ID.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public interface IMPLICIT_ACTIVATION_POLICY_ID
+{
+
+  /**
+  	 * The value representing IMPLICIT_ACTIVATION_POLICY_ID.
+  	 */
+  public static final int value = (int)(20L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/IdAssignmentPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,19 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/IdAssignmentPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * IdAssignmentPolicy specifies whether Object Ids in 
+	 * the created POA are generated by the application or 
+	 * by the ORB. The default is SYSTEM_ID.
+	 */
+public interface IdAssignmentPolicy extends IdAssignmentPolicyOperations, org.omg.CORBA.Policy, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface IdAssignmentPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/IdAssignmentPolicyOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,24 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/IdAssignmentPolicyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * IdAssignmentPolicy specifies whether Object Ids in 
+	 * the created POA are generated by the application or 
+	 * by the ORB. The default is SYSTEM_ID.
+	 */
+public interface IdAssignmentPolicyOperations  extends org.omg.CORBA.PolicyOperations
+{
+
+  /**
+  	 * specifies the policy value
+  	 */
+  org.omg.PortableServer.IdAssignmentPolicyValue value ();
+} // interface IdAssignmentPolicyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/IdAssignmentPolicyValue.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,50 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/IdAssignmentPolicyValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The IdAssignmentPolicyValue can have the following
+	 * values. USER_ID - Objects created with that POA are 
+	 * assigned Object Ids only by the application. 
+	 *  SYSTEM_ID - Objects created with that POA are 
+	 * assigned Object Ids only by the POA. If the POA also 
+	 * has the PERSISTENT policy, assigned Object Ids must 
+	 * be unique across all instantiations of the same POA.
+	 */
+public class IdAssignmentPolicyValue implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 2;
+  private static org.omg.PortableServer.IdAssignmentPolicyValue[] __array = new org.omg.PortableServer.IdAssignmentPolicyValue [__size];
+
+  public static final int _USER_ID = 0;
+  public static final org.omg.PortableServer.IdAssignmentPolicyValue USER_ID = new org.omg.PortableServer.IdAssignmentPolicyValue(_USER_ID);
+  public static final int _SYSTEM_ID = 1;
+  public static final org.omg.PortableServer.IdAssignmentPolicyValue SYSTEM_ID = new org.omg.PortableServer.IdAssignmentPolicyValue(_SYSTEM_ID);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.IdAssignmentPolicyValue from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected IdAssignmentPolicyValue (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class IdAssignmentPolicyValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/IdUniquenessPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,19 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/IdUniquenessPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The IdUniquenessPolicy specifies whether the servants 
+	 * activated in the created POA must have unique object i
+	 * identities. The default is UNIQUE_ID.
+	 */
+public interface IdUniquenessPolicy extends IdUniquenessPolicyOperations, org.omg.CORBA.Policy, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface IdUniquenessPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/IdUniquenessPolicyOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,24 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/IdUniquenessPolicyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The IdUniquenessPolicy specifies whether the servants 
+	 * activated in the created POA must have unique object i
+	 * identities. The default is UNIQUE_ID.
+	 */
+public interface IdUniquenessPolicyOperations  extends org.omg.CORBA.PolicyOperations
+{
+
+  /**
+  	 * specifies the policy value
+  	 */
+  org.omg.PortableServer.IdUniquenessPolicyValue value ();
+} // interface IdUniquenessPolicyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/IdUniquenessPolicyValue.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,48 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/IdUniquenessPolicyValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * IdUniquenessPolicyValue can have the following values.
+	 * UNIQUE_ID - Servants activated with that POA support 
+	 * exactly one Object Id.  MULTIPLE_ID - a servant 
+	 * activated with that POA may support one or more 
+	 * Object Ids.
+	 */
+public class IdUniquenessPolicyValue implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 2;
+  private static org.omg.PortableServer.IdUniquenessPolicyValue[] __array = new org.omg.PortableServer.IdUniquenessPolicyValue [__size];
+
+  public static final int _UNIQUE_ID = 0;
+  public static final org.omg.PortableServer.IdUniquenessPolicyValue UNIQUE_ID = new org.omg.PortableServer.IdUniquenessPolicyValue(_UNIQUE_ID);
+  public static final int _MULTIPLE_ID = 1;
+  public static final org.omg.PortableServer.IdUniquenessPolicyValue MULTIPLE_ID = new org.omg.PortableServer.IdUniquenessPolicyValue(_MULTIPLE_ID);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.IdUniquenessPolicyValue from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected IdUniquenessPolicyValue (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class IdUniquenessPolicyValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ImplicitActivationPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ImplicitActivationPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * This policy specifies whether implicit activation 
+	 * of servants is supported in the created POA.
+	 */
+public interface ImplicitActivationPolicy extends ImplicitActivationPolicyOperations, org.omg.CORBA.Policy, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ImplicitActivationPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ImplicitActivationPolicyOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,23 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ImplicitActivationPolicyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * This policy specifies whether implicit activation 
+	 * of servants is supported in the created POA.
+	 */
+public interface ImplicitActivationPolicyOperations  extends org.omg.CORBA.PolicyOperations
+{
+
+  /**
+  	 * specifies the policy value
+  	 */
+  org.omg.PortableServer.ImplicitActivationPolicyValue value ();
+} // interface ImplicitActivationPolicyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ImplicitActivationPolicyValue.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,50 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ImplicitActivationPolicyValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * ImplicitActivationPolicyValue has the following
+	 * semantics.
+	 * IMPLICIT_ACTIVATION to indicate implicit activation
+	 * of servants.  This requires SYSTEM_ID and RETAIN 
+	 * policies to be set.
+	 * NO_IMPLICIT_ACTIVATION to indicate no implicit 
+	 * servant activation.
+	 */
+public class ImplicitActivationPolicyValue implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 2;
+  private static org.omg.PortableServer.ImplicitActivationPolicyValue[] __array = new org.omg.PortableServer.ImplicitActivationPolicyValue [__size];
+
+  public static final int _IMPLICIT_ACTIVATION = 0;
+  public static final org.omg.PortableServer.ImplicitActivationPolicyValue IMPLICIT_ACTIVATION = new org.omg.PortableServer.ImplicitActivationPolicyValue(_IMPLICIT_ACTIVATION);
+  public static final int _NO_IMPLICIT_ACTIVATION = 1;
+  public static final org.omg.PortableServer.ImplicitActivationPolicyValue NO_IMPLICIT_ACTIVATION = new org.omg.PortableServer.ImplicitActivationPolicyValue(_NO_IMPLICIT_ACTIVATION);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.ImplicitActivationPolicyValue from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected ImplicitActivationPolicyValue (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class ImplicitActivationPolicyValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/LIFESPAN_POLICY_ID.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/LIFESPAN_POLICY_ID.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public interface LIFESPAN_POLICY_ID
+{
+
+  /**
+  	 * The value representing LIFESPAN_POLICY_ID.
+  	 */
+  public static final int value = (int)(17L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/LifespanPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,19 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/LifespanPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The LifespanPolicy specifies the lifespan of the 
+	 * objects implemented in the created POA. The default 
+	 * is TRANSIENT.
+	 */
+public interface LifespanPolicy extends LifespanPolicyOperations, org.omg.CORBA.Policy, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface LifespanPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/LifespanPolicyOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,24 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/LifespanPolicyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The LifespanPolicy specifies the lifespan of the 
+	 * objects implemented in the created POA. The default 
+	 * is TRANSIENT.
+	 */
+public interface LifespanPolicyOperations  extends org.omg.CORBA.PolicyOperations
+{
+
+  /**
+  	 * specifies the policy value
+  	 */
+  org.omg.PortableServer.LifespanPolicyValue value ();
+} // interface LifespanPolicyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/LifespanPolicyValue.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,49 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/LifespanPolicyValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The LifespanPolicyValue can have the following values.
+	 * TRANSIENT - The objects implemented in the POA 
+	 * cannot outlive the POA instance in which they are 
+	 * first created. 
+	 * PERSISTENT - The objects implemented in the POA can 
+	 * outlive the process in which they are first created. 
+	 */
+public class LifespanPolicyValue implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 2;
+  private static org.omg.PortableServer.LifespanPolicyValue[] __array = new org.omg.PortableServer.LifespanPolicyValue [__size];
+
+  public static final int _TRANSIENT = 0;
+  public static final org.omg.PortableServer.LifespanPolicyValue TRANSIENT = new org.omg.PortableServer.LifespanPolicyValue(_TRANSIENT);
+  public static final int _PERSISTENT = 1;
+  public static final org.omg.PortableServer.LifespanPolicyValue PERSISTENT = new org.omg.PortableServer.LifespanPolicyValue(_PERSISTENT);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.LifespanPolicyValue from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected LifespanPolicyValue (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class LifespanPolicyValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POA.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,24 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/POA.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * A POA object manages the implementation of a 
+	 * collection of objects. The POA supports a name space 
+	 * for the objects, which are identified by Object Ids. 
+	 * A POA also provides a name space for POAs. A POA is 
+	 * created as a child of an existing POA, which forms a 
+	 * hierarchy starting with the root POA. A POA object 
+	 * must not be exported to other processes, or 
+	 * externalized with ORB::object_to_string.
+	 */
+public interface POA extends POAOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface POA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAManager.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,20 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/POAManager.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * Each POA object has an associated POAManager object. 
+	 * A POA manager may be associated with one or more 
+	 * POA objects. A POA manager encapsulates the processing 
+	 * state of the POAs it is associated with.
+	 */
+public interface POAManager extends POAManagerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface POAManager
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAManagerOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,78 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/POAManagerOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * Each POA object has an associated POAManager object. 
+	 * A POA manager may be associated with one or more 
+	 * POA objects. A POA manager encapsulates the processing 
+	 * state of the POAs it is associated with.
+	 */
+public interface POAManagerOperations 
+{
+
+  /**
+  	 * This operation changes the state of the POA manager 
+  	 * to active, causing associated POAs to start processing
+  	 * requests.
+  	 * @exception AdapterInactive is raised if the operation is
+  	 *            invoked on the POAManager in inactive state.
+  	 */
+  void activate () throws org.omg.PortableServer.POAManagerPackage.AdapterInactive;
+
+  /**
+  	 * This operation changes the state of the POA manager 
+  	 * to holding, causing associated POAs to queue incoming
+  	 * requests.
+  	 * @param wait_for_completion if FALSE, the operation 
+  	 *            returns immediately after changing state.  
+  	 *            If TRUE, it waits for all active requests 
+  	 *            to complete. 
+  	 * @exception AdapterInactive is raised if the operation is
+  	 *            invoked on the POAManager in inactive state.
+  	 */
+  void hold_requests (boolean wait_for_completion) throws org.omg.PortableServer.POAManagerPackage.AdapterInactive;
+
+  /**
+  	 * This operation changes the state of the POA manager 
+  	 * to discarding. This causes associated POAs to discard
+  	 * incoming requests.
+  	 * @param wait_for_completion if FALSE, the operation 
+  	 *            returns immediately after changing state.  
+  	 *            If TRUE, it waits for all active requests 
+  	 *            to complete. 
+  	 * @exception AdapterInactive is raised if the operation is
+  	 *            invoked on the POAManager in inactive state.
+  	 */
+  void discard_requests (boolean wait_for_completion) throws org.omg.PortableServer.POAManagerPackage.AdapterInactive;
+
+  /**
+  	 * This operation changes the state of the POA manager 
+  	 * to inactive, causing associated POAs to reject the
+  	 * requests that have not begun executing as well as
+  	 * as any new requests.
+  	 * @param etherealize_objects a flag to indicate whether
+  	 *        to invoke the etherealize operation of the
+  	 *        associated servant manager for all active 
+  	 *        objects.
+  	 * @param wait_for_completion if FALSE, the operation 
+  	 *            returns immediately after changing state.  
+  	 *            If TRUE, it waits for all active requests 
+  	 *            to complete. 
+  	 * @exception AdapterInactive is raised if the operation is
+  	 *            invoked on the POAManager in inactive state.
+  	 */
+  void deactivate (boolean etherealize_objects, boolean wait_for_completion) throws org.omg.PortableServer.POAManagerPackage.AdapterInactive;
+
+  /**
+  	 * This operation returns the state of the POA manager.
+  	 */
+  org.omg.PortableServer.POAManagerPackage.State get_state ();
+} // interface POAManagerOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAManagerPackage/AdapterInactive.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAManagerPackage;
+
+
+/**
+* org/omg/PortableServer/POAManagerPackage/AdapterInactive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class AdapterInactive extends org.omg.CORBA.UserException
+{
+
+  public AdapterInactive ()
+  {
+    super(AdapterInactiveHelper.id());
+  } // ctor
+
+
+  public AdapterInactive (String $reason)
+  {
+    super(AdapterInactiveHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class AdapterInactive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAManagerPackage;
+
+
+/**
+* org/omg/PortableServer/POAManagerPackage/AdapterInactiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class AdapterInactiveHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POAManager/AdapterInactive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAManagerPackage.AdapterInactive that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAManagerPackage.AdapterInactive extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAManagerPackage.AdapterInactiveHelper.id (), "AdapterInactive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAManagerPackage.AdapterInactive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAManagerPackage.AdapterInactive value = new org.omg.PortableServer.POAManagerPackage.AdapterInactive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAManagerPackage.AdapterInactive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAManagerPackage/State.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,48 @@
+package org.omg.PortableServer.POAManagerPackage;
+
+
+/**
+* org/omg/PortableServer/POAManagerPackage/State.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * Specifies the states for the POAManager
+	 */
+public class State implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 4;
+  private static org.omg.PortableServer.POAManagerPackage.State[] __array = new org.omg.PortableServer.POAManagerPackage.State [__size];
+
+  public static final int _HOLDING = 0;
+  public static final org.omg.PortableServer.POAManagerPackage.State HOLDING = new org.omg.PortableServer.POAManagerPackage.State(_HOLDING);
+  public static final int _ACTIVE = 1;
+  public static final org.omg.PortableServer.POAManagerPackage.State ACTIVE = new org.omg.PortableServer.POAManagerPackage.State(_ACTIVE);
+  public static final int _DISCARDING = 2;
+  public static final org.omg.PortableServer.POAManagerPackage.State DISCARDING = new org.omg.PortableServer.POAManagerPackage.State(_DISCARDING);
+  public static final int _INACTIVE = 3;
+  public static final org.omg.PortableServer.POAManagerPackage.State INACTIVE = new org.omg.PortableServer.POAManagerPackage.State(_INACTIVE);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.POAManagerPackage.State from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected State (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class State
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,467 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/POAOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * A POA object manages the implementation of a 
+	 * collection of objects. The POA supports a name space 
+	 * for the objects, which are identified by Object Ids. 
+	 * A POA also provides a name space for POAs. A POA is 
+	 * created as a child of an existing POA, which forms a 
+	 * hierarchy starting with the root POA. A POA object 
+	 * must not be exported to other processes, or 
+	 * externalized with ORB::object_to_string.
+	 */
+public interface POAOperations 
+{
+
+  /**
+  	 * This operation creates a new POA as a child of the 
+  	 * target POA.
+  	 * @param adapter_name identifies the new POA with 
+  	 *        respect to other POAs with the same parent POA.
+  	 * @param a_POAManager specifies the POA Manager to be
+  	 *        associated with the new POA.
+  	 * @param policies specifies policy objects to be 
+  	 *        associated with the POA to control its behavior.
+  	 * @exception AdapterAlreadyExists specifies that the
+  	 *            target POA already has a child POA with 
+  	 *            the specified name.
+  	 * @exception InvalidPolicy is raised if any of the
+  	 *            policy objects are not valid for the ORB,
+  	 *            or are in conflict, or require an 
+  	 *            administrative action that has not been
+  	 *            performed.
+  	 */
+  org.omg.PortableServer.POA create_POA (String adapter_name, org.omg.PortableServer.POAManager a_POAManager, org.omg.CORBA.Policy[] policies) throws org.omg.PortableServer.POAPackage.AdapterAlreadyExists, org.omg.PortableServer.POAPackage.InvalidPolicy;
+
+  /**
+  	 * If the target POA is the parent of a child POA with 
+  	 * the specified name (relative to the target POA), that 
+  	 * child POA is returned. 
+  	 * @param adapter_name POA name to be found.
+  	 * @param activate_it  if a POA with the specified 
+  	 *        name does not exist and the value of 
+  	 *        the activate_it parameter is TRUE, the target 
+  	 *        POA's AdapterActivator, if one exists, 
+  	 *        is invoked.
+  	 * @return POA if one exists or is activated by the
+  	 *         AdapterActivator.
+  	 * @return AdapterNonExistent is raised if POA with
+  	 *         a specified name cannot be found or
+  	 *         activated using AdapaterActivator.
+  	 */
+  org.omg.PortableServer.POA find_POA (String adapter_name, boolean activate_it) throws org.omg.PortableServer.POAPackage.AdapterNonExistent;
+
+  /**
+  	 * This operation destroys the POA and all descendant 
+  	 * POAs. All descendant POAs are destroyed (recursively) 
+  	 * before the destruction of the containing POA. The POA 
+  	 * so destroyed (that is, the POA with its name) may be 
+  	 * re-created later in the same process.
+  	 * @param etherealize_objects flag to indicate whether
+  	 *        etherealize operation on servant manager needs
+  	 *        to be called.
+  	 * @param wait_for_completion flag to indicate whether
+  	 *        POA and its children need to wait for active
+  	 *        requests and the etherealization to complete.
+  	 *
+  	 */
+  void destroy (boolean etherealize_objects, boolean wait_for_completion);
+
+  /**
+  	 * These operations each return a reference to a policy 
+  	 * object with the specified value.
+  	 * @param value policy type
+  	 * @return ThreadPolcy Object
+  	 */
+  org.omg.PortableServer.ThreadPolicy create_thread_policy (org.omg.PortableServer.ThreadPolicyValue value);
+
+  /**
+  	 * These operations each return a reference to a policy 
+  	 * object with the specified value.
+  	 * @param value policy type
+  	 * @return LifespanPolicy Object.
+  	 */
+  org.omg.PortableServer.LifespanPolicy create_lifespan_policy (org.omg.PortableServer.LifespanPolicyValue value);
+
+  /**
+  	 * These operations each return a reference to a policy 
+  	 * object with the specified value.
+  	 * @param value policy type
+  	 * @return IdUniquenessPolicy Object.
+  	 */
+  org.omg.PortableServer.IdUniquenessPolicy create_id_uniqueness_policy (org.omg.PortableServer.IdUniquenessPolicyValue value);
+
+  /**
+  	 * These operations each return a reference to a policy 
+  	 * object with the specified value. 
+  	 * @param value policy type
+  	 * @return IdAssignmentPolicy Object.
+  	 */
+  org.omg.PortableServer.IdAssignmentPolicy create_id_assignment_policy (org.omg.PortableServer.IdAssignmentPolicyValue value);
+
+  /**
+  	 * These operations each return a reference to a policy 
+  	 * object with the specified value. 
+  	 * @param value policy type
+  	 * @return ImplicitActivationPolicy Object.
+  	 */
+  org.omg.PortableServer.ImplicitActivationPolicy create_implicit_activation_policy (org.omg.PortableServer.ImplicitActivationPolicyValue value);
+
+  /**
+  	 * These operations each return a reference to a policy 
+  	 * object with the specified value.
+  	 * @param value policy type
+  	 * @return ServantRetentionPolicy Object.
+  	 */
+  org.omg.PortableServer.ServantRetentionPolicy create_servant_retention_policy (org.omg.PortableServer.ServantRetentionPolicyValue value);
+
+  /**
+  	 * These operations each return a reference to a policy 
+  	 * object with the specified value. 
+  	 * @param value policy type
+  	 * @return RequestProcessingPolicy Object.
+  	 */
+  org.omg.PortableServer.RequestProcessingPolicy create_request_processing_policy (org.omg.PortableServer.RequestProcessingPolicyValue value);
+
+  /**
+  	 * This attribute identifies the POA relative to its 
+  	 * parent. This name is assigned when the POA is created.
+  	 */
+  String the_name ();
+
+  /**
+  	 * This attribute identifies the parent of the POA. 
+  	 * The parent of the root POA is null. 
+  	 */
+  org.omg.PortableServer.POA the_parent ();
+
+  /**
+  	 * This attribute identifies the current set of all 
+  	 * child POAs of the POA. The set of child POAs 
+  	 * includes only the POA's immediate children, and 
+  	 * not their descendants.
+  	 */
+  org.omg.PortableServer.POA[] the_children ();
+
+  /**
+  	 * This attribute identifies the POA manager 
+  	 * associated with the POA.
+  	 */
+  org.omg.PortableServer.POAManager the_POAManager ();
+
+  /**
+  	 * This attribute identifies the adapter activator 
+  	 * associated with the POA.
+  	 */
+  org.omg.PortableServer.AdapterActivator the_activator ();
+
+  /**
+  	 * This attribute identifies the adapter activator 
+  	 * associated with the POA.
+  	 */
+  void the_activator (org.omg.PortableServer.AdapterActivator newThe_activator);
+
+  /**
+  	 *
+  	 * If the ServantRetentionPolicy of the POA is RETAIN, 
+  	 * then the ServantManager argument (imgr) shall support 
+  	 * the ServantActivator interface. For a NON_RETAIN policy,
+  	 * the ServantManager shall support the ServantLocator 
+  	 * interface. If the argument is nil, or does not support 
+  	 * the required interface, then the OBJ_ADAPTER 
+  	 * exception is raised.
+  	 * @return ServantManager associated with a POA or null if
+  	 *         none exists.
+  	 * @exception WrongPolicy raised if the 
+  	 *            USE_SERVANT_MANAGER policy is not specified.
+  	 */
+  org.omg.PortableServer.ServantManager get_servant_manager () throws org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 *
+  	 * This operation sets the default servant manager 
+  	 * associated with the POA. This operation may only be 
+  	 * invoked once after a POA has been created. Attempting 
+  	 * to set the servant manager after one has already 
+  	 * been set will result in the BAD_INV_ORDER exception 
+  	 * being raised.
+  	 * @param imgr servant manager to be used as a default.
+  	 * @exception WrongPolicy raised if the 
+  	 *            USE_SERVANT_MANAGER policy is not specified.
+  	 */
+  void set_servant_manager (org.omg.PortableServer.ServantManager imgr) throws org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * This operation returns the default servant associated 
+  	 * with the POA. 
+  	 * @return p_servant default servant associated with a POA.
+  	 * @exception NoServant raised if no default servant is
+  	 *            associated with the POA.
+  	 * @exception WrongPolicy raised if the 
+  	 *            USE_DEFAULT_SERVANT policy is not specified.
+  	 */
+  org.omg.PortableServer.Servant get_servant () throws org.omg.PortableServer.POAPackage.NoServant, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 *
+  	 * This operation registers the specified servant with 
+  	 * the POA as the default servant. This servant will 
+  	 * be used for all requests for which no servant is 
+  	 * found in the Active Object Map.
+  	 * @param p_servant servant to be used as a default.
+  	 * @exception WrongPolicy raised if the 
+  	 *            USE_DEFAULT_SERVANT policy is not specified.
+  	 */
+  void set_servant (org.omg.PortableServer.Servant p_servant) throws org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 *
+  	 * This operation generates an Object Id and enters 
+  	 * the Object Id and the specified servant in the 
+  	 * Active Object Map.
+  	 * @param p_servant servant to be associated with an
+  	 *            object to be activated.
+  	 * @return POA generated object id.
+  	 * @exception ServantAlreadyActive is raised if the
+  	 *            POA has UNIQUE_ID policy and servant is
+  	 *            is already in the Active Object Map.
+  	 * @exception WrongPolicy raised if the SYSTEM_ID and 
+  	 *            RETAIN policies are not specified.
+  	 */
+  byte[] activate_object (org.omg.PortableServer.Servant p_servant) throws org.omg.PortableServer.POAPackage.ServantAlreadyActive, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+           * This operation enters an association between the 
+  	 * specified Object Id and the specified servant in the 
+  	 * Active Object Map.
+  	 * @param id object id for the object to be activated.
+  	 * @param p_servant servant to be associated with the
+  	 *                  object.
+  	 * @exception ServantAlreadyActive raised if the POA 
+  	 *            has the UNIQUE_ID policy and the servant 
+  	 *            is already in the Active Object Map.
+  	 * @exception ObjectAlreadyActive raised if the object is
+  	 *            already active in the POA.
+           * @exception WrongPolicy raised if the RETAIN policy is
+           *            is not specified.
+           */
+  void activate_object_with_id (byte[] id, org.omg.PortableServer.Servant p_servant) throws org.omg.PortableServer.POAPackage.ServantAlreadyActive, org.omg.PortableServer.POAPackage.ObjectAlreadyActive, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 *
+  	 * This operation causes the ObjectId specified in the 
+  	 * oid parameter to be deactivated. An ObjectId which 
+  	 * has been deactivated continues to process requests 
+  	 * until there are no active requests for that ObjectId. 
+  	 * A deactivated ObjectId is removed from the Active 
+  	 * Object Map when all requests executing for that 
+  	 * ObjectId have completed. 
+  	 * @param oid Object Id for the object to be deactivated.
+  	 * @exception ObjectNotActive if the object with the
+  	 *            specified oid is not in the Active Object
+  	 *            Map.
+  	 * @exception WrongPolicy raised if the RETAIN policy is
+  	 *            is not specified.
+  	 */
+  void deactivate_object (byte[] oid) throws org.omg.PortableServer.POAPackage.ObjectNotActive, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * This operation creates an object reference that 
+  	 * encapsulates a POA-generated Object Id value and 
+  	 * the specified interface repository id. 
+  	 *
+  	 * @param intf rep id for creating an object reference.
+  	 * @return object reference created using intf.
+  	 * @exception WrongPolicy if SYSTEM_ID policy is not 
+  	 *            specified.
+  	 */
+  org.omg.CORBA.Object create_reference (String intf) throws org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * This operation creates an object reference that 
+  	 * encapsulates the specified Object Id and interface 
+  	 * repository Id values. It does not cause an activation 
+  	 * to take place. The resulting reference may be passed 
+  	 * to clients, so that subsequent requests on those 
+  	 * references will cause the object to be activated 
+  	 * if necessary, or the default servant used, depending 
+  	 * on the applicable policies. 
+  	 * @param oid object id for creating an objref
+  	 * @param intf rep id for creating an objref
+  	 * @return object reference created using oid and intf
+  	 * @exception BAD_PARAM is raised if the POA has the 
+  	 *             SYSTEM_ID policy and it detects that the 
+  	 *             Object Id value was not generated by the 
+  	 *             system or for this POA.
+  	 */
+  org.omg.CORBA.Object create_reference_with_id (byte[] oid, String intf);
+
+  /**
+  	 * This operation has four possible behaviors. 
+  	 * 1. If the POA has the UNIQUE_ID policy and the 
+  	 * specified servant is active, the Object Id associated 
+  	 * with that servant is returned.
+  	 * 2. If the POA has the IMPLICIT_ACTIVATION policy and 
+  	 * either the POA has the MULTIPLE_ID policy or the 
+  	 * specified servant is not active, the servant is 
+  	 * activated using a POA-generated Object Id and the 
+  	 * Interface Id associated with the servant, and that 
+  	 * Object Id is returned. 
+  	 * 3. If the POA has the USE_DEFAULT_SERVANT policy, 
+  	 * the servant specified is the default servant, and the 
+  	 * operation is being invoked in the context of executing 
+  	 * a request on the default servant, then the ObjectId 
+  	 * associated with the current invocation is returned. 
+  	 * 4. Otherwise, the ServantNotActive exception is raised.
+  	 *
+  	 * @param p_servant servant for which the object disi returned.
+  	 * @return object id associated with the servant.
+  	 * @exception ServantNotActive if the above rules and
+  	 *            policy combination is not met. 
+  	 * @exception WrongPolicy if the USE_DEFAULT_SERVANT policy
+  	 *            or a combination of the RETAIN policy and 
+  	 *            either the UNIQUE_ID or IMPLICIT_ACTIVATION 
+  	 *            policies are not present. 
+  	 */
+  byte[] servant_to_id (org.omg.PortableServer.Servant p_servant) throws org.omg.PortableServer.POAPackage.ServantNotActive, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * This operation requires the RETAIN policy and either 
+  	 * the UNIQUE_ID or IMPLICIT_ACTIVATION policies if 
+  	 * invoked outside the context of an operation dispatched 
+  	 * by this POA. It has four possible behaviors.
+  	 * 1. If the POA has both the RETAIN and the 
+  	 * UNIQUE_ID policy and the specified servant is active, 
+  	 * an object reference encapsulating the information used 
+  	 * to activate the servant is returned. 
+  	 * 2. If the POA has both the RETAIN and the 
+  	 * IMPLICIT_ACTIVATION policy and either the POA has the 
+  	 * MULTIPLE_ID policy or the specified servant is not 
+  	 * active, the servant is activated using a POA-generated 
+  	 * Object Id and the Interface Id associated with the 
+  	 * servant, and a corresponding object reference is 
+  	 * returned. 
+  	 * 3. If the operation was invoked in the context of 
+  	 * executing a request on the specified servant, the 
+  	 * reference associated with the current invocation 
+  	 * is returned. 
+  	 * 4. Otherwise, the ServantNotActive exception is raised.
+  	 *
+  	 * @param p_servant servant for which the object reference
+  	 *                  needs to be obtained.
+  	 * @return object reference associated with the servant.
+  	 * @exception WrongPolicy if the operation is not invoked 
+  	 *            in the context of executing a request on 
+  	 *            the specified servant and the required 
+  	 *            policies are not present.
+  	 * @exception ServantNotActive if the above specified
+  	 *            policies and rules are not met.
+  	 */
+  org.omg.CORBA.Object servant_to_reference (org.omg.PortableServer.Servant p_servant) throws org.omg.PortableServer.POAPackage.ServantNotActive, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * If the POA has the RETAIN policy and the specified 
+  	 * object is present in the Active Object Map, this 
+  	 * operation returns the servant associated with that 
+  	 * object in the Active Object Map. Otherwise, if the 
+  	 * POA has the USE_DEFAULT_SERVANT policy and a default 
+  	 * servant has been registered with the POA, this 
+  	 * operation returns the default servant. If the object 
+  	 * reference was not created by this POA, 
+  	 * the WrongAdapter exception is raised. (OMG Issue
+  	 * on inconsistency with the POA.IDL.
+  	 *
+  	 * @param reference object reference for which the
+  	 *                  servant is returned.
+  	 * @return servant associated with the reference.
+  	 * @exception WrongPolicy if neither the RETAIN policy or 
+  	 *            the USE_DEFAULT_SERVANT policy is present. 
+  	 * @exception ObjectNotActive if the servant is not
+  	 *            present in the Active Object Map (for RETAIN)
+  	 *            or no default servant is registered (for
+  	 *            USE_DEFAULT_POLICY).
+  	 * @exception WrongAdapter if reference was not created by
+  	 *	      this POA instance.
+  	 */
+  org.omg.PortableServer.Servant reference_to_servant (org.omg.CORBA.Object reference) throws org.omg.PortableServer.POAPackage.ObjectNotActive, org.omg.PortableServer.POAPackage.WrongPolicy, org.omg.PortableServer.POAPackage.WrongAdapter;
+
+  /**
+  	 * This operation returns the Object Id value 
+  	 * encapsulated by the specified reference. This 
+  	 * operation is valid only if the reference was created 
+  	 * by the POA on which the operation is being performed. 
+  	 * The object denoted by the reference does not have 
+  	 * to be active for this operation to succeed.
+  	 *
+  	 * @param reference the object reference from which the
+  	 *                  object id needs to be returned.
+  	 * @return object id encapsulated in the reference.
+  	 * @exception WrongAdapter if the reference was not 
+  	 *            created by the POA specified in the 
+  	 *            reference.
+  	 * @exception WrongPolicy declared to allow future 
+  	 *            extensions. 
+  	 *
+  	 */
+  byte[] reference_to_id (org.omg.CORBA.Object reference) throws org.omg.PortableServer.POAPackage.WrongAdapter, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * If the POA has the RETAIN policy and the specified 
+  	 * ObjectId is in the Active Object Map, this operation 
+  	 * returns the servant associated with that object in 
+  	 * the Active Object Map. Otherwise, if the POA has 
+  	 * the USE_DEFAULT_SERVANT policy and a default servant 
+  	 * has been registered with the POA, this operation 
+  	 * returns the default servant. 
+  	 *
+  	 * @param oid object id for the which the servant is
+  	 *            returned.
+  	 * @return servant associated with oid.
+  	 * @exception ObjectNotActive is raised if ObjectId is
+  	 *            is not in the Active Object Map (for RETAIN
+  	 *            policy), or no default servant is registered
+  	 *            (for USE_DEFAULT_SERVANT policy).
+  	 *
+  	 * @exception WrongPolicy is raised if the RETAIN policy
+  	 *                        or the USE_DEFAULT_SERVANT 
+  	 *                        policy is not present. 
+  	 */
+  org.omg.PortableServer.Servant id_to_servant (byte[] oid) throws org.omg.PortableServer.POAPackage.ObjectNotActive, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * If an object with the specified Object Id value is 
+  	 * currently active, a reference encapsulating the 
+  	 * information used to activate the object is returned. 
+  	 *
+  	 * @param oid id of the object for which the
+  	 *                 reference is returned.
+  	 * @return the object reference 
+  	 *
+  	 * @exception ObjectNotActive if the Object Id value 
+  	 *             is not active in the POA.
+  	 * @exception WrongPolicy if the RETAIN policy is not 
+  	 *             present.
+  	 */
+  org.omg.CORBA.Object id_to_reference (byte[] oid) throws org.omg.PortableServer.POAPackage.ObjectNotActive, org.omg.PortableServer.POAPackage.WrongPolicy;
+
+  /**
+  	 * This returns the unique id of the POA in the process in which it 
+  	 * is created.  It is for use by portable interceptors.
+  	 * <p>
+  	 * This id is guaranteed unique for the life span of the POA in the
+  	 * process.  For persistent POAs, this means that if a POA is created 
+  	 * in the same path with the same name as another POA, these POAs 
+  	 * are identical and, therefore, have the same id.  For transient 
+  	 * POAs, each POA is unique.
+  	 */
+  byte[] id ();
+} // interface POAOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/AdapterAlreadyExists.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class AdapterAlreadyExists extends org.omg.CORBA.UserException
+{
+
+  public AdapterAlreadyExists ()
+  {
+    super(AdapterAlreadyExistsHelper.id());
+  } // ctor
+
+
+  public AdapterAlreadyExists (String $reason)
+  {
+    super(AdapterAlreadyExistsHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class AdapterAlreadyExists
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/AdapterAlreadyExistsHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class AdapterAlreadyExistsHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/AdapterAlreadyExists:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.AdapterAlreadyExists that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.AdapterAlreadyExists extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.AdapterAlreadyExistsHelper.id (), "AdapterAlreadyExists", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.AdapterAlreadyExists read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.AdapterAlreadyExists value = new org.omg.PortableServer.POAPackage.AdapterAlreadyExists ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.AdapterAlreadyExists value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/AdapterNonExistent.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/AdapterNonExistent.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class AdapterNonExistent extends org.omg.CORBA.UserException
+{
+
+  public AdapterNonExistent ()
+  {
+    super(AdapterNonExistentHelper.id());
+  } // ctor
+
+
+  public AdapterNonExistent (String $reason)
+  {
+    super(AdapterNonExistentHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class AdapterNonExistent
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/AdapterNonExistentHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class AdapterNonExistentHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/AdapterNonExistent:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.AdapterNonExistent that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.AdapterNonExistent extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.AdapterNonExistentHelper.id (), "AdapterNonExistent", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.AdapterNonExistent read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.AdapterNonExistent value = new org.omg.PortableServer.POAPackage.AdapterNonExistent ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.AdapterNonExistent value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/InvalidPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,33 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/InvalidPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class InvalidPolicy extends org.omg.CORBA.UserException
+{
+  public short index = (short)0;
+
+  public InvalidPolicy ()
+  {
+    super(InvalidPolicyHelper.id());
+  } // ctor
+
+  public InvalidPolicy (short _index)
+  {
+    super(InvalidPolicyHelper.id());
+    index = _index;
+  } // ctor
+
+
+  public InvalidPolicy (String $reason, short _index)
+  {
+    super(InvalidPolicyHelper.id() + "  " + $reason);
+    index = _index;
+  } // ctor
+
+} // class InvalidPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,79 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/InvalidPolicyHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class InvalidPolicyHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/InvalidPolicy:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.InvalidPolicy that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.InvalidPolicy extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [1];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ushort);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "index",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.InvalidPolicyHelper.id (), "InvalidPolicy", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.InvalidPolicy read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.InvalidPolicy value = new org.omg.PortableServer.POAPackage.InvalidPolicy ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.index = istream.read_ushort ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.InvalidPolicy value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_ushort (value.index);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/NoServant.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/NoServant.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class NoServant extends org.omg.CORBA.UserException
+{
+
+  public NoServant ()
+  {
+    super(NoServantHelper.id());
+  } // ctor
+
+
+  public NoServant (String $reason)
+  {
+    super(NoServantHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class NoServant
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/NoServantHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/NoServantHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class NoServantHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/NoServant:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.NoServant that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.NoServant extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.NoServantHelper.id (), "NoServant", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.NoServant read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.NoServant value = new org.omg.PortableServer.POAPackage.NoServant ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.NoServant value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ObjectAlreadyActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class ObjectAlreadyActive extends org.omg.CORBA.UserException
+{
+
+  public ObjectAlreadyActive ()
+  {
+    super(ObjectAlreadyActiveHelper.id());
+  } // ctor
+
+
+  public ObjectAlreadyActive (String $reason)
+  {
+    super(ObjectAlreadyActiveHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class ObjectAlreadyActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ObjectAlreadyActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class ObjectAlreadyActiveHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/ObjectAlreadyActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.ObjectAlreadyActive that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.ObjectAlreadyActive extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.ObjectAlreadyActiveHelper.id (), "ObjectAlreadyActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.ObjectAlreadyActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.ObjectAlreadyActive value = new org.omg.PortableServer.POAPackage.ObjectAlreadyActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.ObjectAlreadyActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ObjectNotActive.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ObjectNotActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class ObjectNotActive extends org.omg.CORBA.UserException
+{
+
+  public ObjectNotActive ()
+  {
+    super(ObjectNotActiveHelper.id());
+  } // ctor
+
+
+  public ObjectNotActive (String $reason)
+  {
+    super(ObjectNotActiveHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class ObjectNotActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ObjectNotActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class ObjectNotActiveHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/ObjectNotActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.ObjectNotActive that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.ObjectNotActive extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.ObjectNotActiveHelper.id (), "ObjectNotActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.ObjectNotActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.ObjectNotActive value = new org.omg.PortableServer.POAPackage.ObjectNotActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.ObjectNotActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ServantAlreadyActive.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ServantAlreadyActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class ServantAlreadyActive extends org.omg.CORBA.UserException
+{
+
+  public ServantAlreadyActive ()
+  {
+    super(ServantAlreadyActiveHelper.id());
+  } // ctor
+
+
+  public ServantAlreadyActive (String $reason)
+  {
+    super(ServantAlreadyActiveHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class ServantAlreadyActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ServantAlreadyActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class ServantAlreadyActiveHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/ServantAlreadyActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.ServantAlreadyActive that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.ServantAlreadyActive extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.ServantAlreadyActiveHelper.id (), "ServantAlreadyActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.ServantAlreadyActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.ServantAlreadyActive value = new org.omg.PortableServer.POAPackage.ServantAlreadyActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.ServantAlreadyActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ServantNotActive.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ServantNotActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class ServantNotActive extends org.omg.CORBA.UserException
+{
+
+  public ServantNotActive ()
+  {
+    super(ServantNotActiveHelper.id());
+  } // ctor
+
+
+  public ServantNotActive (String $reason)
+  {
+    super(ServantNotActiveHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class ServantNotActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/ServantNotActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class ServantNotActiveHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/ServantNotActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.ServantNotActive that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.ServantNotActive extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.ServantNotActiveHelper.id (), "ServantNotActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.ServantNotActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.ServantNotActive value = new org.omg.PortableServer.POAPackage.ServantNotActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.ServantNotActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/WrongAdapter.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/WrongAdapter.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class WrongAdapter extends org.omg.CORBA.UserException
+{
+
+  public WrongAdapter ()
+  {
+    super(WrongAdapterHelper.id());
+  } // ctor
+
+
+  public WrongAdapter (String $reason)
+  {
+    super(WrongAdapterHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class WrongAdapter
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/WrongAdapterHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/WrongAdapterHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class WrongAdapterHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/WrongAdapter:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.WrongAdapter that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.WrongAdapter extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.WrongAdapterHelper.id (), "WrongAdapter", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.WrongAdapter read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.WrongAdapter value = new org.omg.PortableServer.POAPackage.WrongAdapter ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.WrongAdapter value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/WrongPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/WrongPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public final class WrongPolicy extends org.omg.CORBA.UserException
+{
+
+  public WrongPolicy ()
+  {
+    super(WrongPolicyHelper.id());
+  } // ctor
+
+
+  public WrongPolicy (String $reason)
+  {
+    super(WrongPolicyHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class WrongPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/POAPackage/WrongPolicyHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,72 @@
+package org.omg.PortableServer.POAPackage;
+
+
+/**
+* org/omg/PortableServer/POAPackage/WrongPolicyHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+abstract public class WrongPolicyHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/POA/WrongPolicy:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.POAPackage.WrongPolicy that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.POAPackage.WrongPolicy extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  private static boolean __active = false;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      synchronized (org.omg.CORBA.TypeCode.class)
+      {
+        if (__typeCode == null)
+        {
+          if (__active)
+          {
+            return org.omg.CORBA.ORB.init().create_recursive_tc ( _id );
+          }
+          __active = true;
+          org.omg.CORBA.StructMember[] _members0 = new org.omg.CORBA.StructMember [0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableServer.POAPackage.WrongPolicyHelper.id (), "WrongPolicy", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.POAPackage.WrongPolicy read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableServer.POAPackage.WrongPolicy value = new org.omg.PortableServer.POAPackage.WrongPolicy ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.POAPackage.WrongPolicy value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/REQUEST_PROCESSING_POLICY_ID.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public interface REQUEST_PROCESSING_POLICY_ID
+{
+
+  /**
+  	 * The value representing REQUEST_PROCESSING_POLICY_ID.
+  	 */
+  public static final int value = (int)(22L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/RequestProcessingPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,19 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/RequestProcessingPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * This policy specifies how requests are processed by 
+	 * the created POA.  The default is 
+	 * USE_ACTIVE_OBJECT_MAP_ONLY.
+	 */
+public interface RequestProcessingPolicy extends RequestProcessingPolicyOperations, org.omg.CORBA.Policy, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface RequestProcessingPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/RequestProcessingPolicyOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,24 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/RequestProcessingPolicyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * This policy specifies how requests are processed by 
+	 * the created POA.  The default is 
+	 * USE_ACTIVE_OBJECT_MAP_ONLY.
+	 */
+public interface RequestProcessingPolicyOperations  extends org.omg.CORBA.PolicyOperations
+{
+
+  /**
+  	 * specifies the policy value
+  	 */
+  org.omg.PortableServer.RequestProcessingPolicyValue value ();
+} // interface RequestProcessingPolicyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/RequestProcessingPolicyValue.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,61 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/RequestProcessingPolicyValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The RequestProcessingPolicyValue can have the following
+	 * values.  USE_ACTIVE_OBJECT_MAP_ONLY - If the Object Id 
+	 * is not found in the Active Object Map, 
+	 * an OBJECT_NOT_EXIST exception is returned to the 
+	 * client. The RETAIN policy is also required.
+	 * USE_DEFAULT_SERVANT - If the Object Id is not found in 
+	 * the Active Object Map or the NON_RETAIN policy is 
+	 * present, and a default servant has been registered 
+	 * with the POA using the set_servant operation, 
+	 * the request is dispatched to the default servant. 
+	 * USE_SERVANT_MANAGER - If the Object Id is not found 
+	 * in the Active Object Map or the NON_RETAIN policy 
+	 * is present, and a servant manager has been registered 
+	 * with the POA using the set_servant_manager operation, 
+	 * the servant manager is given the opportunity to 
+	 * locate a servant or raise an exception. 
+	 */
+public class RequestProcessingPolicyValue implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 3;
+  private static org.omg.PortableServer.RequestProcessingPolicyValue[] __array = new org.omg.PortableServer.RequestProcessingPolicyValue [__size];
+
+  public static final int _USE_ACTIVE_OBJECT_MAP_ONLY = 0;
+  public static final org.omg.PortableServer.RequestProcessingPolicyValue USE_ACTIVE_OBJECT_MAP_ONLY = new org.omg.PortableServer.RequestProcessingPolicyValue(_USE_ACTIVE_OBJECT_MAP_ONLY);
+  public static final int _USE_DEFAULT_SERVANT = 1;
+  public static final org.omg.PortableServer.RequestProcessingPolicyValue USE_DEFAULT_SERVANT = new org.omg.PortableServer.RequestProcessingPolicyValue(_USE_DEFAULT_SERVANT);
+  public static final int _USE_SERVANT_MANAGER = 2;
+  public static final org.omg.PortableServer.RequestProcessingPolicyValue USE_SERVANT_MANAGER = new org.omg.PortableServer.RequestProcessingPolicyValue(_USE_SERVANT_MANAGER);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.RequestProcessingPolicyValue from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected RequestProcessingPolicyValue (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class RequestProcessingPolicyValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/SERVANT_RETENTION_POLICY_ID.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public interface SERVANT_RETENTION_POLICY_ID
+{
+
+  /**
+  	 * The value representing SERVANT_RETENTION_POLICY_ID.
+  	 */
+  public static final int value = (int)(21L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantActivator.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantActivator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the RETAIN policy it uses servant 
+	 * managers that are ServantActivators. 
+	 */
+public interface ServantActivator extends ServantActivatorOperations, org.omg.PortableServer.ServantManager, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ServantActivator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantActivatorHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,90 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantActivatorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the RETAIN policy it uses servant 
+	 * managers that are ServantActivators. 
+	 */
+abstract public class ServantActivatorHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/ServantActivator:2.3";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.ServantActivator that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.ServantActivator extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.omg.PortableServer.ServantActivatorHelper.id (), "ServantActivator");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.ServantActivator read (org.omg.CORBA.portable.InputStream istream)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.ServantActivator value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.PortableServer.ServantActivator narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableServer.ServantActivator)
+      return (org.omg.PortableServer.ServantActivator)obj;
+    else if (!obj._is_a (id ()))
+      throw new org.omg.CORBA.BAD_PARAM ();
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.PortableServer._ServantActivatorStub stub = new org.omg.PortableServer._ServantActivatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.PortableServer.ServantActivator unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableServer.ServantActivator)
+      return (org.omg.PortableServer.ServantActivator)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.PortableServer._ServantActivatorStub stub = new org.omg.PortableServer._ServantActivatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantActivatorOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,60 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantActivatorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the RETAIN policy it uses servant 
+	 * managers that are ServantActivators. 
+	 */
+public interface ServantActivatorOperations  extends org.omg.PortableServer.ServantManagerOperations
+{
+
+  /**
+  	 * This operation is invoked by the POA whenever the 
+  	 * POA receives a request for an object that is not 
+  	 * currently active, assuming the POA has the 
+  	 * USE_SERVANT_MANAGER and RETAIN policies.
+  	 * @param oid object Id associated with the object on 
+  	 *            the request was made.
+  	 * @param adapter object reference for the POA in which
+  	 *                the object is being activated.
+  	 * @return Servant corresponding to oid is created or 
+  	 *         located by the user supplied servant manager.
+  	 * @exception ForwardRequest to indicate to the ORB 
+  	 *            that it is responsible for delivering 
+  	 *            the current request and subsequent 
+  	 *            requests to the object denoted in the 
+  	 *            forward_reference member of the exception.
+  	 */
+  org.omg.PortableServer.Servant incarnate (byte[] oid, org.omg.PortableServer.POA adapter) throws org.omg.PortableServer.ForwardRequest;
+
+  /**
+  	 * This operation is invoked whenever a servant for 
+  	 * an object is deactivated, assuming the POA has 
+  	 * the USE_SERVANT_MANAGER and RETAIN policies.
+  	 * @param oid object Id associated with the object 
+  	 *            being deactivated.
+  	 * @param adapter object reference for the POA in which
+  	 *                the object was active.
+  	 * @param serv contains reference to the servant
+  	 *        associated with the object being deactivated.
+  	 * @param cleanup_in_progress if TRUE indicates that
+  	 *        destroy or deactivate is called with 
+  	 *        etherealize_objects param of TRUE.  FALSE
+  	 *        indicates that etherealize was called due to
+  	 *        other reasons.
+  	 * @param remaining_activations indicates whether the
+  	 *        Servant Manager can destroy a servant.  If
+  	 *        set to TRUE, the Servant Manager should wait
+  	 *        until all invocations in progress have
+  	 *        completed.
+  	 */
+  void etherealize (byte[] oid, org.omg.PortableServer.POA adapter, org.omg.PortableServer.Servant serv, boolean cleanup_in_progress, boolean remaining_activations);
+} // interface ServantActivatorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantActivatorPOA.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,59 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantActivatorPOA.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the RETAIN policy it uses servant 
+	 * managers that are ServantActivators. 
+	 */
+public abstract class ServantActivatorPOA extends org.omg.PortableServer.Servant
+ implements org.omg.PortableServer.ServantActivatorOperations, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("incarnate", new java.lang.Integer (0));
+    _methods.put ("etherealize", new java.lang.Integer (1));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    throw new org.omg.CORBA.BAD_OPERATION();
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/PortableServer/ServantActivator:2.3", 
+    "IDL:omg.org/PortableServer/ServantManager:1.0"};
+
+  public String[] _all_interfaces (org.omg.PortableServer.POA poa, byte[] objectId)
+  {
+    return (String[])__ids.clone ();
+  }
+
+  public ServantActivator _this() 
+  {
+    return ServantActivatorHelper.narrow(
+    super._this_object());
+  }
+
+  public ServantActivator _this(org.omg.CORBA.ORB orb) 
+  {
+    return ServantActivatorHelper.narrow(
+    super._this_object(orb));
+  }
+
+
+} // class ServantActivatorPOA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantLocator.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,32 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantLocator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the NON_RETAIN policy it uses servant 
+	 * managers that are ServantLocators. Because the POA 
+	 * knows that the servant returned by this servant 
+	 * manager will be used only for a single request, 
+	 * it can supply extra information to the servant 
+	 * manager's operations and the servant manager's pair 
+	 * of operations may be able to cooperate to do 
+	 * something different than a ServantActivator. 
+	 * When the POA uses the ServantLocator interface, 
+	 * immediately after performing the operation invocation 
+	 * on the servant returned by preinvoke, the POA will 
+	 * invoke postinvoke on the servant manager, passing the 
+	 * ObjectId value and the Servant value as parameters 
+	 * (among others). This feature may be used to force 
+	 * every request for objects associated with a POA to 
+	 * be mediated by the servant manager.
+	 */
+public interface ServantLocator extends ServantLocatorOperations, org.omg.PortableServer.ServantManager, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ServantLocator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantLocatorHelper.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,104 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantLocatorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the NON_RETAIN policy it uses servant 
+	 * managers that are ServantLocators. Because the POA 
+	 * knows that the servant returned by this servant 
+	 * manager will be used only for a single request, 
+	 * it can supply extra information to the servant 
+	 * manager's operations and the servant manager's pair 
+	 * of operations may be able to cooperate to do 
+	 * something different than a ServantActivator. 
+	 * When the POA uses the ServantLocator interface, 
+	 * immediately after performing the operation invocation 
+	 * on the servant returned by preinvoke, the POA will 
+	 * invoke postinvoke on the servant manager, passing the 
+	 * ObjectId value and the Servant value as parameters 
+	 * (among others). This feature may be used to force 
+	 * every request for objects associated with a POA to 
+	 * be mediated by the servant manager.
+	 */
+abstract public class ServantLocatorHelper
+{
+  private static String  _id = "IDL:omg.org/PortableServer/ServantLocator:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableServer.ServantLocator that)
+  {
+    org.omg.CORBA.portable.OutputStream out = a.create_output_stream ();
+    a.type (type ());
+    write (out, that);
+    a.read_value (out.create_input_stream (), type ());
+  }
+
+  public static org.omg.PortableServer.ServantLocator extract (org.omg.CORBA.Any a)
+  {
+    return read (a.create_input_stream ());
+  }
+
+  private static org.omg.CORBA.TypeCode __typeCode = null;
+  synchronized public static org.omg.CORBA.TypeCode type ()
+  {
+    if (__typeCode == null)
+    {
+      __typeCode = org.omg.CORBA.ORB.init ().create_interface_tc (org.omg.PortableServer.ServantLocatorHelper.id (), "ServantLocator");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableServer.ServantLocator read (org.omg.CORBA.portable.InputStream istream)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableServer.ServantLocator value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.PortableServer.ServantLocator narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableServer.ServantLocator)
+      return (org.omg.PortableServer.ServantLocator)obj;
+    else if (!obj._is_a (id ()))
+      throw new org.omg.CORBA.BAD_PARAM ();
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.PortableServer._ServantLocatorStub stub = new org.omg.PortableServer._ServantLocatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.PortableServer.ServantLocator unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableServer.ServantLocator)
+      return (org.omg.PortableServer.ServantLocator)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.PortableServer._ServantLocatorStub stub = new org.omg.PortableServer._ServantLocatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantLocatorOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,67 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantLocatorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the NON_RETAIN policy it uses servant 
+	 * managers that are ServantLocators. Because the POA 
+	 * knows that the servant returned by this servant 
+	 * manager will be used only for a single request, 
+	 * it can supply extra information to the servant 
+	 * manager's operations and the servant manager's pair 
+	 * of operations may be able to cooperate to do 
+	 * something different than a ServantActivator. 
+	 * When the POA uses the ServantLocator interface, 
+	 * immediately after performing the operation invocation 
+	 * on the servant returned by preinvoke, the POA will 
+	 * invoke postinvoke on the servant manager, passing the 
+	 * ObjectId value and the Servant value as parameters 
+	 * (among others). This feature may be used to force 
+	 * every request for objects associated with a POA to 
+	 * be mediated by the servant manager.
+	 */
+public interface ServantLocatorOperations  extends org.omg.PortableServer.ServantManagerOperations
+{
+
+  /**
+  	 * This operations is used to get a servant that will be
+  	 * used to process the request that caused preinvoke to
+  	 * be called.
+  	 * @param oid the object id associated with object on
+  	 *            which the request was made. 
+  	 * @param adapter the reference for POA in which the
+  	 *                object is being activated.
+  	 * @param operation the operation name.
+  	 * @param the_cookie  an opaque value that can be set
+  	 *                    by the servant manager to be used
+  	 *                    during postinvoke.
+  	 * @return Servant used to process incoming request.
+  	 * @exception ForwardRequest to indicate to the ORB 
+  	 *            that it is responsible for delivering 
+  	 *            the current request and subsequent 
+  	 *            requests to the object denoted in the 
+  	 *            forward_reference member of the exception.
+  	 */
+  org.omg.PortableServer.Servant preinvoke (byte[] oid, org.omg.PortableServer.POA adapter, String operation, org.omg.PortableServer.ServantLocatorPackage.CookieHolder the_cookie) throws org.omg.PortableServer.ForwardRequest;
+
+  /**
+  	 * This operation is invoked whenener a servant completes
+  	 * a request.
+  	 * @param oid the object id ssociated with object on which
+  	 *            the request was made.
+  	 * @param adapter the reference for POA in which the
+  	 *                object was active.
+  	 * @param the_cookie  an opaque value that contains
+  	 *                    the data set by preinvoke.
+  	 * @param the_servant reference to the servant that is
+  	 *                    associated with the object.
+  	 */
+  void postinvoke (byte[] oid, org.omg.PortableServer.POA adapter, String operation, java.lang.Object the_cookie, org.omg.PortableServer.Servant the_servant);
+} // interface ServantLocatorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantLocatorPOA.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,73 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantLocatorPOA.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the NON_RETAIN policy it uses servant 
+	 * managers that are ServantLocators. Because the POA 
+	 * knows that the servant returned by this servant 
+	 * manager will be used only for a single request, 
+	 * it can supply extra information to the servant 
+	 * manager's operations and the servant manager's pair 
+	 * of operations may be able to cooperate to do 
+	 * something different than a ServantActivator. 
+	 * When the POA uses the ServantLocator interface, 
+	 * immediately after performing the operation invocation 
+	 * on the servant returned by preinvoke, the POA will 
+	 * invoke postinvoke on the servant manager, passing the 
+	 * ObjectId value and the Servant value as parameters 
+	 * (among others). This feature may be used to force 
+	 * every request for objects associated with a POA to 
+	 * be mediated by the servant manager.
+	 */
+public abstract class ServantLocatorPOA extends org.omg.PortableServer.Servant
+ implements org.omg.PortableServer.ServantLocatorOperations, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("preinvoke", new java.lang.Integer (0));
+    _methods.put ("postinvoke", new java.lang.Integer (1));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    throw new org.omg.CORBA.BAD_OPERATION();
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/PortableServer/ServantLocator:1.0", 
+    "IDL:omg.org/PortableServer/ServantManager:1.0"};
+
+  public String[] _all_interfaces (org.omg.PortableServer.POA poa, byte[] objectId)
+  {
+    return (String[])__ids.clone ();
+  }
+
+  public ServantLocator _this() 
+  {
+    return ServantLocatorHelper.narrow(
+    super._this_object());
+  }
+
+  public ServantLocator _this(org.omg.CORBA.ORB orb) 
+  {
+    return ServantLocatorHelper.narrow(
+    super._this_object(orb));
+  }
+
+
+} // class ServantLocatorPOA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantManager.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantManager.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * A servant manager supplies a POA with the ability 
+	 * to activate objects on demand when the POA receives 
+	 * a request targeted at an inactive object. A servant 
+	 * manager is registered with a POA as a callback object, 
+	 * to be invoked by the POA when necessary.
+	 * ServantManagers can either be ServantActivators or
+	 * ServantLocators. A ServantManager object must be 
+	 * local to the process containing the POA objects 
+	 * it is registered with.
+	 */
+public interface ServantManager extends ServantManagerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ServantManager
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantManagerOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,25 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantManagerOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * A servant manager supplies a POA with the ability 
+	 * to activate objects on demand when the POA receives 
+	 * a request targeted at an inactive object. A servant 
+	 * manager is registered with a POA as a callback object, 
+	 * to be invoked by the POA when necessary.
+	 * ServantManagers can either be ServantActivators or
+	 * ServantLocators. A ServantManager object must be 
+	 * local to the process containing the POA objects 
+	 * it is registered with.
+	 */
+public interface ServantManagerOperations 
+{
+} // interface ServantManagerOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantRetentionPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantRetentionPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * This policy specifies whether the created POA retains 
+	 * active servants in an Active Object Map. 
+	 */
+public interface ServantRetentionPolicy extends ServantRetentionPolicyOperations, org.omg.CORBA.Policy, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ServantRetentionPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantRetentionPolicyOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,23 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantRetentionPolicyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * This policy specifies whether the created POA retains 
+	 * active servants in an Active Object Map. 
+	 */
+public interface ServantRetentionPolicyOperations  extends org.omg.CORBA.PolicyOperations
+{
+
+  /**
+  	 * specifies the policy value
+  	 */
+  org.omg.PortableServer.ServantRetentionPolicyValue value ();
+} // interface ServantRetentionPolicyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ServantRetentionPolicyValue.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,49 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ServantRetentionPolicyValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * ServantRetentionPolicyValue can have the following 
+	 * values. RETAIN - to indicate that the POA will retain 
+	 * active servants in its Active Object Map. 
+	 * NON_RETAIN - to indicate Servants are not retained by 
+	 * the POA. If no ServantRetentionPolicy is specified at 
+	 * POA creation, the default is RETAIN.
+	 */
+public class ServantRetentionPolicyValue implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 2;
+  private static org.omg.PortableServer.ServantRetentionPolicyValue[] __array = new org.omg.PortableServer.ServantRetentionPolicyValue [__size];
+
+  public static final int _RETAIN = 0;
+  public static final org.omg.PortableServer.ServantRetentionPolicyValue RETAIN = new org.omg.PortableServer.ServantRetentionPolicyValue(_RETAIN);
+  public static final int _NON_RETAIN = 1;
+  public static final org.omg.PortableServer.ServantRetentionPolicyValue NON_RETAIN = new org.omg.PortableServer.ServantRetentionPolicyValue(_NON_RETAIN);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.ServantRetentionPolicyValue from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected ServantRetentionPolicyValue (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class ServantRetentionPolicyValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/THREAD_POLICY_ID.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,18 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/THREAD_POLICY_ID.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+public interface THREAD_POLICY_ID
+{
+
+  /**
+  	 * The value representing THREAD_POLICY_ID.
+  	 */
+  public static final int value = (int)(16L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ThreadPolicy.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,19 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ThreadPolicy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The ThreadPolicy specifies the threading model 
+	 * used with the created POA. The default is 
+	 * ORB_CTRL_MODEL.
+	 */
+public interface ThreadPolicy extends ThreadPolicyOperations, org.omg.CORBA.Policy, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ThreadPolicy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ThreadPolicyOperations.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,24 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ThreadPolicyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The ThreadPolicy specifies the threading model 
+	 * used with the created POA. The default is 
+	 * ORB_CTRL_MODEL.
+	 */
+public interface ThreadPolicyOperations  extends org.omg.CORBA.PolicyOperations
+{
+
+  /**
+  	 * specifies the policy value
+  	 */
+  org.omg.PortableServer.ThreadPolicyValue value ();
+} // interface ThreadPolicyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/ThreadPolicyValue.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,48 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/ThreadPolicyValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * The ThreadPolicyValue can have the following values.
+	 * ORB_CTRL_MODEL - The ORB is responsible for assigning 
+	 * requests for an ORB- controlled POA to threads. 
+	 * SINGLE_THREAD_MODEL - Requests for a single-threaded 
+	 * POA are processed sequentially. 
+	 */
+public class ThreadPolicyValue implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 2;
+  private static org.omg.PortableServer.ThreadPolicyValue[] __array = new org.omg.PortableServer.ThreadPolicyValue [__size];
+
+  public static final int _ORB_CTRL_MODEL = 0;
+  public static final org.omg.PortableServer.ThreadPolicyValue ORB_CTRL_MODEL = new org.omg.PortableServer.ThreadPolicyValue(_ORB_CTRL_MODEL);
+  public static final int _SINGLE_THREAD_MODEL = 1;
+  public static final org.omg.PortableServer.ThreadPolicyValue SINGLE_THREAD_MODEL = new org.omg.PortableServer.ThreadPolicyValue(_SINGLE_THREAD_MODEL);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.PortableServer.ThreadPolicyValue from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected ThreadPolicyValue (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class ThreadPolicyValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/_ServantActivatorStub.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,112 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/_ServantActivatorStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the RETAIN policy it uses servant 
+	 * managers that are ServantActivators. 
+	 */
+public class _ServantActivatorStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.PortableServer.ServantActivator
+{
+  final public static java.lang.Class _opsClass = ServantActivatorOperations.class;
+
+
+
+  /**
+  	 * This operation is invoked by the POA whenever the 
+  	 * POA receives a request for an object that is not 
+  	 * currently active, assuming the POA has the 
+  	 * USE_SERVANT_MANAGER and RETAIN policies.
+  	 * @param oid object Id associated with the object on 
+  	 *            the request was made.
+  	 * @param adapter object reference for the POA in which
+  	 *                the object is being activated.
+  	 * @return Servant corresponding to oid is created or 
+  	 *         located by the user supplied servant manager.
+  	 * @exception ForwardRequest to indicate to the ORB 
+  	 *            that it is responsible for delivering 
+  	 *            the current request and subsequent 
+  	 *            requests to the object denoted in the 
+  	 *            forward_reference member of the exception.
+  	 */
+  public org.omg.PortableServer.Servant incarnate (byte[] oid, org.omg.PortableServer.POA adapter) throws org.omg.PortableServer.ForwardRequest
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("incarnate", _opsClass);
+      ServantActivatorOperations  $self = (ServantActivatorOperations) $so.servant;
+
+      try {
+         return $self.incarnate (oid, adapter);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // incarnate
+
+
+  /**
+  	 * This operation is invoked whenever a servant for 
+  	 * an object is deactivated, assuming the POA has 
+  	 * the USE_SERVANT_MANAGER and RETAIN policies.
+  	 * @param oid object Id associated with the object 
+  	 *            being deactivated.
+  	 * @param adapter object reference for the POA in which
+  	 *                the object was active.
+  	 * @param serv contains reference to the servant
+  	 *        associated with the object being deactivated.
+  	 * @param cleanup_in_progress if TRUE indicates that
+  	 *        destroy or deactivate is called with 
+  	 *        etherealize_objects param of TRUE.  FALSE
+  	 *        indicates that etherealize was called due to
+  	 *        other reasons.
+  	 * @param remaining_activations indicates whether the
+  	 *        Servant Manager can destroy a servant.  If
+  	 *        set to TRUE, the Servant Manager should wait
+  	 *        until all invocations in progress have
+  	 *        completed.
+  	 */
+  public void etherealize (byte[] oid, org.omg.PortableServer.POA adapter, org.omg.PortableServer.Servant serv, boolean cleanup_in_progress, boolean remaining_activations)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("etherealize", _opsClass);
+      ServantActivatorOperations  $self = (ServantActivatorOperations) $so.servant;
+
+      try {
+         $self.etherealize (oid, adapter, serv, cleanup_in_progress, remaining_activations);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // etherealize
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/PortableServer/ServantActivator:2.3", 
+    "IDL:omg.org/PortableServer/ServantManager:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+  private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+  {
+     String str = s.readUTF ();
+     String[] args = null;
+     java.util.Properties props = null;
+     org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+     org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+     _set_delegate (delegate);
+  }
+
+  private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+  {
+     String[] args = null;
+     java.util.Properties props = null;
+     String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+     s.writeUTF (str);
+  }
+} // class _ServantActivatorStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/_ServantLocatorStub.java	Wed Nov 07 17:29:12 2007 -0500
@@ -0,0 +1,119 @@
+package org.omg.PortableServer;
+
+
+/**
+* org/omg/PortableServer/_ServantLocatorStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableServer/poa.idl
+* Wednesday, November 7, 2007 1:15:49 PM EST
+*/
+
+
+/**
+	 * When the POA has the NON_RETAIN policy it uses servant 
+	 * managers that are ServantLocators. Because the POA 
+	 * knows that the servant returned by this servant 
+	 * manager will be used only for a single request, 
+	 * it can supply extra information to the servant 
+	 * manager's operations and the servant manager's pair 
+	 * of operations may be able to cooperate to do 
+	 * something different than a ServantActivator. 
+	 * When the POA uses the ServantLocator interface, 
+	 * immediately after performing the operation invocation 
+	 * on the servant returned by preinvoke, the POA will 
+	 * invoke postinvoke on the servant manager, passing the 
+	 * ObjectId value and the Servant value as parameters 
+	 * (among others). This feature may be used to force 
+	 * every request for objects associated with a POA to 
+	 * be mediated by the servant manager.
+	 */
+public class _ServantLocatorStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.PortableServer.ServantLocator
+{
+  final public static java.lang.Class _opsClass = ServantLocatorOperations.class;
+
+
+
+  /**
+  	 * This operations is used to get a servant that will be
+  	 * used to process the request that caused preinvoke to
+  	 * be called.
+  	 * @param oid the object id associated with object on
+  	 *            which the request was made. 
+  	 * @param adapter the reference for POA in which the
+  	 *                object is being activated.
+  	 * @param operation the operation name.
+  	 * @param the_cookie  an opaque value that can be set
+  	 *                    by the servant manager to be used
+  	 *                    during postinvoke.
+  	 * @return Servant used to process incoming request.
+  	 * @exception ForwardRequest to indicate to the ORB 
+  	 *            that it is responsible for delivering 
+  	 *            the current request and subsequent 
+  	 *            requests to the object denoted in the 
+  	 *            forward_reference member of the exception.
+  	 */
+  public org.omg.PortableServer.Servant preinvoke (byte[] oid, org.omg.PortableServer.POA adapter, String operation, org.omg.PortableServer.ServantLocatorPackage.CookieHolder the_cookie) throws org.omg.PortableServer.ForwardRequest
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("preinvoke", _opsClass);
+      ServantLocatorOperations  $self = (ServantLocatorOperations) $so.servant;
+
+      try {
+         return $self.preinvoke (oid, adapter, operation, the_cookie);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // preinvoke
+
+
+  /**
+  	 * This operation is invoked whenener a servant completes
+  	 * a request.
+  	 * @param oid the object id ssociated with object on which
+  	 *            the request was made.
+  	 * @param adapter the reference for POA in which the
+  	 *                object was active.
+  	 * @param the_cookie  an opaque value that contains
+  	 *                    the data set by preinvoke.
+  	 * @param the_servant reference to the servant that is
+  	 *                    associated with the object.
+  	 */
+  public void postinvoke (byte[] oid, org.omg.PortableServer.POA adapter, String operation, java.lang.Object the_cookie, org.omg.PortableServer.Servant the_servant)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("postinvoke", _opsClass);
+      ServantLocatorOperations  $self = (ServantLocatorOperations) $so.servant;
+
+      try {
+         $self.postinvoke (oid, adapter, operation, the_cookie, the_servant);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // postinvoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/PortableServer/ServantLocator:1.0", 
+    "IDL:omg.org/PortableServer/ServantManager:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+  private void readObject (java.io.ObjectInputStream s) throws java.io.IOException
+  {
+     String str = s.readUTF ();
+     String[] args = null;
+     java.util.Properties props = null;
+     org.omg.CORBA.Object obj = org.omg.CORBA.ORB.init (args, props).string_to_object (str);
+     org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl) obj)._get_delegate ();
+     _set_delegate (delegate);
+  }
+
+  private void writeObject (java.io.ObjectOutputStream s) throws java.io.IOException
+  {
+     String[] args = null;
+     java.util.Properties props = null;
+     String str = org.omg.CORBA.ORB.init (args, props).object_to_string (this);
+     s.writeUTF (str);
+  }
+} // class _ServantLocatorStub
Binary file generated/sun/awt/X11/generator/sizer.32 has changed