changeset 0:2854b9795934

Initial IcedTea 1.0 work.
author mjw@icedtea.classpath.org
date Thu, 07 Jun 2007 13:53:29 +0000
parents
children 6cc1aad76341
files AUTHORS COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS README acinclude.m4 aclocal.m4 config.guess config.sub configure configure.ac generated/com/sun/accessibility/internal/resources/accessibility.java generated/com/sun/accessibility/internal/resources/accessibility_de.java generated/com/sun/accessibility/internal/resources/accessibility_es.java generated/com/sun/accessibility/internal/resources/accessibility_fr.java generated/com/sun/accessibility/internal/resources/accessibility_it.java generated/com/sun/accessibility/internal/resources/accessibility_ja.java generated/com/sun/accessibility/internal/resources/accessibility_ko.java generated/com/sun/accessibility/internal/resources/accessibility_sv.java generated/com/sun/accessibility/internal/resources/accessibility_zh_CN.java generated/com/sun/accessibility/internal/resources/accessibility_zh_HK.java generated/com/sun/accessibility/internal/resources/accessibility_zh_TW.java generated/com/sun/corba/se/PortableActivationIDL/Activator.java generated/com/sun/corba/se/PortableActivationIDL/ActivatorHelper.java generated/com/sun/corba/se/PortableActivationIDL/ActivatorHolder.java generated/com/sun/corba/se/PortableActivationIDL/ActivatorOperations.java generated/com/sun/corba/se/PortableActivationIDL/BadServerDefinition.java generated/com/sun/corba/se/PortableActivationIDL/BadServerDefinitionHelper.java generated/com/sun/corba/se/PortableActivationIDL/BadServerDefinitionHolder.java generated/com/sun/corba/se/PortableActivationIDL/EndPointInfo.java generated/com/sun/corba/se/PortableActivationIDL/EndPointInfoHelper.java generated/com/sun/corba/se/PortableActivationIDL/EndPointInfoHolder.java generated/com/sun/corba/se/PortableActivationIDL/EndpointInfoListHelper.java generated/com/sun/corba/se/PortableActivationIDL/EndpointInfoListHolder.java generated/com/sun/corba/se/PortableActivationIDL/IIOP_CLEAR_TEXT.java generated/com/sun/corba/se/PortableActivationIDL/InitialNameService.java generated/com/sun/corba/se/PortableActivationIDL/InitialNameServiceHelper.java generated/com/sun/corba/se/PortableActivationIDL/InitialNameServiceHolder.java generated/com/sun/corba/se/PortableActivationIDL/InitialNameServiceOperations.java generated/com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBound.java generated/com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBoundHelper.java generated/com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBoundHolder.java generated/com/sun/corba/se/PortableActivationIDL/InvalidORBid.java generated/com/sun/corba/se/PortableActivationIDL/InvalidORBidHelper.java generated/com/sun/corba/se/PortableActivationIDL/InvalidORBidHolder.java generated/com/sun/corba/se/PortableActivationIDL/Locator.java generated/com/sun/corba/se/PortableActivationIDL/LocatorHelper.java generated/com/sun/corba/se/PortableActivationIDL/LocatorHolder.java generated/com/sun/corba/se/PortableActivationIDL/LocatorOperations.java generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORB.java generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORBHelper.java generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORBHolder.java generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerType.java generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerTypeHelper.java generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerTypeHolder.java generated/com/sun/corba/se/PortableActivationIDL/NoSuchEndPoint.java generated/com/sun/corba/se/PortableActivationIDL/NoSuchEndPointHelper.java generated/com/sun/corba/se/PortableActivationIDL/NoSuchEndPointHolder.java generated/com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegistered.java generated/com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegisteredHelper.java generated/com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegisteredHolder.java generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfo.java generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoHelper.java generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoHolder.java generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoListHelper.java generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoListHolder.java generated/com/sun/corba/se/PortableActivationIDL/ORBProxy.java generated/com/sun/corba/se/PortableActivationIDL/ORBProxyHelper.java generated/com/sun/corba/se/PortableActivationIDL/ORBProxyHolder.java generated/com/sun/corba/se/PortableActivationIDL/ORBProxyOperations.java generated/com/sun/corba/se/PortableActivationIDL/ORBidListHelper.java generated/com/sun/corba/se/PortableActivationIDL/ORBidListHolder.java generated/com/sun/corba/se/PortableActivationIDL/Repository.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryHelper.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryHolder.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryOperations.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/AppNamesHelper.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/AppNamesHolder.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDef.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDefHelper.java generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDefHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyActive.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyActiveHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyActiveHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalled.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalledHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalledHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegistered.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegisteredHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegisteredHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalled.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalledHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalledHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerHeldDown.java generated/com/sun/corba/se/PortableActivationIDL/ServerHeldDownHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerHeldDownHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerIdsHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerIdsHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerManager.java generated/com/sun/corba/se/PortableActivationIDL/ServerManagerHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerManagerHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerManagerOperations.java generated/com/sun/corba/se/PortableActivationIDL/ServerNotActive.java generated/com/sun/corba/se/PortableActivationIDL/ServerNotActiveHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerNotActiveHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerNotRegistered.java generated/com/sun/corba/se/PortableActivationIDL/ServerNotRegisteredHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerNotRegisteredHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerProxy.java generated/com/sun/corba/se/PortableActivationIDL/ServerProxyHelper.java generated/com/sun/corba/se/PortableActivationIDL/ServerProxyHolder.java generated/com/sun/corba/se/PortableActivationIDL/ServerProxyOperations.java generated/com/sun/corba/se/PortableActivationIDL/TCPPortHelper.java generated/com/sun/corba/se/PortableActivationIDL/_ActivatorImplBase.java generated/com/sun/corba/se/PortableActivationIDL/_ActivatorStub.java generated/com/sun/corba/se/PortableActivationIDL/_InitialNameServiceImplBase.java generated/com/sun/corba/se/PortableActivationIDL/_InitialNameServiceStub.java generated/com/sun/corba/se/PortableActivationIDL/_LocatorImplBase.java generated/com/sun/corba/se/PortableActivationIDL/_LocatorStub.java generated/com/sun/corba/se/PortableActivationIDL/_ORBProxyImplBase.java generated/com/sun/corba/se/PortableActivationIDL/_ORBProxyStub.java generated/com/sun/corba/se/PortableActivationIDL/_RepositoryImplBase.java generated/com/sun/corba/se/PortableActivationIDL/_RepositoryStub.java generated/com/sun/corba/se/PortableActivationIDL/_ServerManagerImplBase.java generated/com/sun/corba/se/PortableActivationIDL/_ServerManagerStub.java generated/com/sun/corba/se/PortableActivationIDL/_ServerProxyImplBase.java generated/com/sun/corba/se/PortableActivationIDL/_ServerProxyStub.java generated/com/sun/corba/se/impl/logging/ActivationSystemException.java generated/com/sun/corba/se/impl/logging/ActivationSystemException.resource generated/com/sun/corba/se/impl/logging/IORSystemException.java generated/com/sun/corba/se/impl/logging/IORSystemException.resource generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.resource generated/com/sun/corba/se/impl/logging/LogStrings.properties generated/com/sun/corba/se/impl/logging/NamingSystemException.java generated/com/sun/corba/se/impl/logging/NamingSystemException.resource generated/com/sun/corba/se/impl/logging/OMGSystemException.java generated/com/sun/corba/se/impl/logging/OMGSystemException.resource generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.resource generated/com/sun/corba/se/impl/logging/POASystemException.java generated/com/sun/corba/se/impl/logging/POASystemException.resource generated/com/sun/corba/se/impl/logging/UtilSystemException.java generated/com/sun/corba/se/impl/logging/UtilSystemException.resource generated/com/sun/corba/se/spi/activation/Activator.java generated/com/sun/corba/se/spi/activation/ActivatorHelper.java generated/com/sun/corba/se/spi/activation/ActivatorHolder.java generated/com/sun/corba/se/spi/activation/ActivatorOperations.java generated/com/sun/corba/se/spi/activation/BadServerDefinition.java generated/com/sun/corba/se/spi/activation/BadServerDefinitionHelper.java generated/com/sun/corba/se/spi/activation/BadServerDefinitionHolder.java generated/com/sun/corba/se/spi/activation/EndPointInfo.java generated/com/sun/corba/se/spi/activation/EndPointInfoHelper.java generated/com/sun/corba/se/spi/activation/EndPointInfoHolder.java generated/com/sun/corba/se/spi/activation/EndpointInfoListHelper.java generated/com/sun/corba/se/spi/activation/EndpointInfoListHolder.java generated/com/sun/corba/se/spi/activation/IIOP_CLEAR_TEXT.java generated/com/sun/corba/se/spi/activation/InitialNameService.java generated/com/sun/corba/se/spi/activation/InitialNameServiceHelper.java generated/com/sun/corba/se/spi/activation/InitialNameServiceHolder.java generated/com/sun/corba/se/spi/activation/InitialNameServiceOperations.java generated/com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBound.java generated/com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBoundHelper.java generated/com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBoundHolder.java generated/com/sun/corba/se/spi/activation/InvalidORBid.java generated/com/sun/corba/se/spi/activation/InvalidORBidHelper.java generated/com/sun/corba/se/spi/activation/InvalidORBidHolder.java generated/com/sun/corba/se/spi/activation/Locator.java generated/com/sun/corba/se/spi/activation/LocatorHelper.java generated/com/sun/corba/se/spi/activation/LocatorHolder.java generated/com/sun/corba/se/spi/activation/LocatorOperations.java generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocation.java generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationHelper.java generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationHolder.java generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORB.java generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORBHelper.java generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORBHolder.java generated/com/sun/corba/se/spi/activation/NoSuchEndPoint.java generated/com/sun/corba/se/spi/activation/NoSuchEndPointHelper.java generated/com/sun/corba/se/spi/activation/NoSuchEndPointHolder.java generated/com/sun/corba/se/spi/activation/ORBAlreadyRegistered.java generated/com/sun/corba/se/spi/activation/ORBAlreadyRegisteredHelper.java generated/com/sun/corba/se/spi/activation/ORBAlreadyRegisteredHolder.java generated/com/sun/corba/se/spi/activation/ORBPortInfo.java generated/com/sun/corba/se/spi/activation/ORBPortInfoHelper.java generated/com/sun/corba/se/spi/activation/ORBPortInfoHolder.java generated/com/sun/corba/se/spi/activation/ORBPortInfoListHelper.java generated/com/sun/corba/se/spi/activation/ORBPortInfoListHolder.java generated/com/sun/corba/se/spi/activation/ORBidHelper.java generated/com/sun/corba/se/spi/activation/ORBidListHelper.java generated/com/sun/corba/se/spi/activation/ORBidListHolder.java generated/com/sun/corba/se/spi/activation/POANameHelper.java generated/com/sun/corba/se/spi/activation/POANameHolder.java generated/com/sun/corba/se/spi/activation/Repository.java generated/com/sun/corba/se/spi/activation/RepositoryHelper.java generated/com/sun/corba/se/spi/activation/RepositoryHolder.java generated/com/sun/corba/se/spi/activation/RepositoryOperations.java generated/com/sun/corba/se/spi/activation/RepositoryPackage/ServerDef.java generated/com/sun/corba/se/spi/activation/RepositoryPackage/ServerDefHelper.java generated/com/sun/corba/se/spi/activation/RepositoryPackage/ServerDefHolder.java generated/com/sun/corba/se/spi/activation/RepositoryPackage/StringSeqHelper.java generated/com/sun/corba/se/spi/activation/RepositoryPackage/StringSeqHolder.java generated/com/sun/corba/se/spi/activation/Server.java generated/com/sun/corba/se/spi/activation/ServerAlreadyActive.java generated/com/sun/corba/se/spi/activation/ServerAlreadyActiveHelper.java generated/com/sun/corba/se/spi/activation/ServerAlreadyActiveHolder.java generated/com/sun/corba/se/spi/activation/ServerAlreadyInstalled.java generated/com/sun/corba/se/spi/activation/ServerAlreadyInstalledHelper.java generated/com/sun/corba/se/spi/activation/ServerAlreadyInstalledHolder.java generated/com/sun/corba/se/spi/activation/ServerAlreadyRegistered.java generated/com/sun/corba/se/spi/activation/ServerAlreadyRegisteredHelper.java generated/com/sun/corba/se/spi/activation/ServerAlreadyRegisteredHolder.java generated/com/sun/corba/se/spi/activation/ServerAlreadyUninstalled.java generated/com/sun/corba/se/spi/activation/ServerAlreadyUninstalledHelper.java generated/com/sun/corba/se/spi/activation/ServerAlreadyUninstalledHolder.java generated/com/sun/corba/se/spi/activation/ServerHeldDown.java generated/com/sun/corba/se/spi/activation/ServerHeldDownHelper.java generated/com/sun/corba/se/spi/activation/ServerHeldDownHolder.java generated/com/sun/corba/se/spi/activation/ServerHelper.java generated/com/sun/corba/se/spi/activation/ServerHolder.java generated/com/sun/corba/se/spi/activation/ServerIdHelper.java generated/com/sun/corba/se/spi/activation/ServerIdsHelper.java generated/com/sun/corba/se/spi/activation/ServerIdsHolder.java generated/com/sun/corba/se/spi/activation/ServerManager.java generated/com/sun/corba/se/spi/activation/ServerManagerHelper.java generated/com/sun/corba/se/spi/activation/ServerManagerHolder.java generated/com/sun/corba/se/spi/activation/ServerManagerOperations.java generated/com/sun/corba/se/spi/activation/ServerNotActive.java generated/com/sun/corba/se/spi/activation/ServerNotActiveHelper.java generated/com/sun/corba/se/spi/activation/ServerNotActiveHolder.java generated/com/sun/corba/se/spi/activation/ServerNotRegistered.java generated/com/sun/corba/se/spi/activation/ServerNotRegisteredHelper.java generated/com/sun/corba/se/spi/activation/ServerNotRegisteredHolder.java generated/com/sun/corba/se/spi/activation/ServerOperations.java generated/com/sun/corba/se/spi/activation/TCPPortHelper.java generated/com/sun/corba/se/spi/activation/_ActivatorImplBase.java generated/com/sun/corba/se/spi/activation/_ActivatorStub.java generated/com/sun/corba/se/spi/activation/_InitialNameServiceImplBase.java generated/com/sun/corba/se/spi/activation/_InitialNameServiceStub.java generated/com/sun/corba/se/spi/activation/_LocatorImplBase.java generated/com/sun/corba/se/spi/activation/_LocatorStub.java generated/com/sun/corba/se/spi/activation/_RepositoryImplBase.java generated/com/sun/corba/se/spi/activation/_RepositoryStub.java generated/com/sun/corba/se/spi/activation/_ServerImplBase.java generated/com/sun/corba/se/spi/activation/_ServerManagerImplBase.java generated/com/sun/corba/se/spi/activation/_ServerManagerStub.java generated/com/sun/corba/se/spi/activation/_ServerStub.java generated/com/sun/java/swing/plaf/gtk/resources/gtk.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_de.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_es.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_fr.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_it.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_ja.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_ko.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_sv.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_zh_HK.java generated/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.java generated/com/sun/java/swing/plaf/motif/resources/motif.java generated/com/sun/java/swing/plaf/motif/resources/motif_de.java generated/com/sun/java/swing/plaf/motif/resources/motif_es.java generated/com/sun/java/swing/plaf/motif/resources/motif_fr.java generated/com/sun/java/swing/plaf/motif/resources/motif_it.java generated/com/sun/java/swing/plaf/motif/resources/motif_ja.java generated/com/sun/java/swing/plaf/motif/resources/motif_ko.java generated/com/sun/java/swing/plaf/motif/resources/motif_sv.java generated/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.java generated/com/sun/java/swing/plaf/motif/resources/motif_zh_HK.java generated/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.java generated/com/sun/java/swing/plaf/windows/resources/windows.java generated/com/sun/java/swing/plaf/windows/resources/windows_de.java generated/com/sun/java/swing/plaf/windows/resources/windows_es.java generated/com/sun/java/swing/plaf/windows/resources/windows_fr.java generated/com/sun/java/swing/plaf/windows/resources/windows_it.java generated/com/sun/java/swing/plaf/windows/resources/windows_ja.java generated/com/sun/java/swing/plaf/windows/resources/windows_ko.java generated/com/sun/java/swing/plaf/windows/resources/windows_sv.java generated/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.java generated/com/sun/java/swing/plaf/windows/resources/windows_zh_HK.java generated/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.java generated/com/sun/swing/internal/plaf/basic/resources/basic.java generated/com/sun/swing/internal/plaf/basic/resources/basic_de.java generated/com/sun/swing/internal/plaf/basic/resources/basic_es.java generated/com/sun/swing/internal/plaf/basic/resources/basic_fr.java generated/com/sun/swing/internal/plaf/basic/resources/basic_it.java generated/com/sun/swing/internal/plaf/basic/resources/basic_ja.java generated/com/sun/swing/internal/plaf/basic/resources/basic_ko.java generated/com/sun/swing/internal/plaf/basic/resources/basic_sv.java generated/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.java generated/com/sun/swing/internal/plaf/basic/resources/basic_zh_HK.java generated/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.java generated/com/sun/swing/internal/plaf/metal/resources/metal.java generated/com/sun/swing/internal/plaf/metal/resources/metal_de.java generated/com/sun/swing/internal/plaf/metal/resources/metal_es.java generated/com/sun/swing/internal/plaf/metal/resources/metal_fr.java generated/com/sun/swing/internal/plaf/metal/resources/metal_it.java generated/com/sun/swing/internal/plaf/metal/resources/metal_ja.java generated/com/sun/swing/internal/plaf/metal/resources/metal_ko.java generated/com/sun/swing/internal/plaf/metal/resources/metal_sv.java generated/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.java generated/com/sun/swing/internal/plaf/metal/resources/metal_zh_HK.java generated/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.java generated/com/sun/swing/internal/plaf/synth/resources/synth.java generated/com/sun/swing/internal/plaf/synth/resources/synth_de.java generated/com/sun/swing/internal/plaf/synth/resources/synth_es.java generated/com/sun/swing/internal/plaf/synth/resources/synth_fr.java generated/com/sun/swing/internal/plaf/synth/resources/synth_it.java generated/com/sun/swing/internal/plaf/synth/resources/synth_ja.java generated/com/sun/swing/internal/plaf/synth/resources/synth_ko.java generated/com/sun/swing/internal/plaf/synth/resources/synth_sv.java generated/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.java generated/com/sun/swing/internal/plaf/synth/resources/synth_zh_HK.java generated/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.java generated/com/sun/tools/apt/resources/apt.java generated/com/sun/tools/apt/resources/apt_ja.java generated/com/sun/tools/apt/resources/apt_zh_CN.java generated/com/sun/tools/doclets/formats/html/resources/standard.java generated/com/sun/tools/doclets/formats/html/resources/standard_ja.java generated/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.java generated/com/sun/tools/doclets/internal/toolkit/resources/doclets.java generated/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.java generated/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.java generated/com/sun/tools/javac/resources/compiler.java generated/com/sun/tools/javac/resources/compiler_ja.java generated/com/sun/tools/javac/resources/compiler_zh_CN.java generated/com/sun/tools/javac/resources/javac.java generated/com/sun/tools/javac/resources/javac_ja.java generated/com/sun/tools/javac/resources/javac_zh_CN.java generated/com/sun/tools/javac/resources/legacy.java generated/com/sun/tools/javac/resources/version.java generated/com/sun/tools/javadoc/resources/javadoc.java generated/com/sun/tools/javadoc/resources/javadoc_ja.java generated/com/sun/tools/javadoc/resources/javadoc_zh_CN.java generated/com/sun/tools/jdi/JDWP.java generated/com/sun/tools/jdi/resources/jdi.java generated/com/sun/tools/jdi/resources/jdi_ja.java generated/com/sun/tools/jdi/resources/jdi_zh_CN.java 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/java/lang/CharacterDataPrivateUse.java generated/java/lang/CharacterDataUndefined.java generated/java/lang/UNIXProcess.java generated/java/nio/ByteBuffer.java generated/java/nio/ByteBufferAsCharBufferB.java generated/java/nio/ByteBufferAsCharBufferL.java generated/java/nio/ByteBufferAsCharBufferRB.java generated/java/nio/ByteBufferAsCharBufferRL.java generated/java/nio/ByteBufferAsDoubleBufferB.java generated/java/nio/ByteBufferAsDoubleBufferL.java generated/java/nio/ByteBufferAsDoubleBufferRB.java generated/java/nio/ByteBufferAsDoubleBufferRL.java generated/java/nio/ByteBufferAsFloatBufferB.java generated/java/nio/ByteBufferAsFloatBufferL.java generated/java/nio/ByteBufferAsFloatBufferRB.java generated/java/nio/ByteBufferAsFloatBufferRL.java generated/java/nio/ByteBufferAsIntBufferB.java generated/java/nio/ByteBufferAsIntBufferL.java generated/java/nio/ByteBufferAsIntBufferRB.java generated/java/nio/ByteBufferAsIntBufferRL.java generated/java/nio/ByteBufferAsLongBufferB.java generated/java/nio/ByteBufferAsLongBufferL.java generated/java/nio/ByteBufferAsLongBufferRB.java generated/java/nio/ByteBufferAsLongBufferRL.java generated/java/nio/ByteBufferAsShortBufferB.java generated/java/nio/ByteBufferAsShortBufferL.java generated/java/nio/ByteBufferAsShortBufferRB.java generated/java/nio/ByteBufferAsShortBufferRL.java generated/java/nio/CharBuffer.java generated/java/nio/DirectByteBuffer.java generated/java/nio/DirectByteBufferR.java generated/java/nio/DirectCharBufferRS.java generated/java/nio/DirectCharBufferRU.java generated/java/nio/DirectCharBufferS.java generated/java/nio/DirectCharBufferU.java generated/java/nio/DirectDoubleBufferRS.java generated/java/nio/DirectDoubleBufferRU.java generated/java/nio/DirectDoubleBufferS.java generated/java/nio/DirectDoubleBufferU.java generated/java/nio/DirectFloatBufferRS.java generated/java/nio/DirectFloatBufferRU.java generated/java/nio/DirectFloatBufferS.java generated/java/nio/DirectFloatBufferU.java generated/java/nio/DirectIntBufferRS.java generated/java/nio/DirectIntBufferRU.java generated/java/nio/DirectIntBufferS.java generated/java/nio/DirectIntBufferU.java generated/java/nio/DirectLongBufferRS.java generated/java/nio/DirectLongBufferRU.java generated/java/nio/DirectLongBufferS.java generated/java/nio/DirectLongBufferU.java generated/java/nio/DirectShortBufferRS.java generated/java/nio/DirectShortBufferRU.java generated/java/nio/DirectShortBufferS.java generated/java/nio/DirectShortBufferU.java generated/java/nio/DoubleBuffer.java generated/java/nio/FloatBuffer.java generated/java/nio/HeapByteBuffer.java generated/java/nio/HeapByteBufferR.java generated/java/nio/HeapCharBuffer.java generated/java/nio/HeapCharBufferR.java generated/java/nio/HeapDoubleBuffer.java generated/java/nio/HeapDoubleBufferR.java generated/java/nio/HeapFloatBuffer.java generated/java/nio/HeapFloatBufferR.java generated/java/nio/HeapIntBuffer.java generated/java/nio/HeapIntBufferR.java generated/java/nio/HeapLongBuffer.java generated/java/nio/HeapLongBufferR.java generated/java/nio/HeapShortBuffer.java generated/java/nio/HeapShortBufferR.java generated/java/nio/IntBuffer.java generated/java/nio/LongBuffer.java generated/java/nio/ShortBuffer.java generated/java/nio/charset/CharsetDecoder.java generated/java/nio/charset/CharsetEncoder.java generated/java/util/CurrencyData.java generated/javax/management/remote/rmi/RMIConnectionImpl_Stub.java generated/javax/management/remote/rmi/RMIServerImpl_Stub.java generated/org/omg/CORBA/ParameterMode.java generated/org/omg/CORBA/ParameterModeHelper.java generated/org/omg/CORBA/ParameterModeHolder.java generated/org/omg/CORBA/PolicyErrorCodeHelper.java generated/org/omg/CORBA/PolicyErrorHelper.java generated/org/omg/CORBA/PolicyErrorHolder.java generated/org/omg/CORBA/StringSeqHelper.java generated/org/omg/CORBA/StringSeqHolder.java generated/org/omg/CORBA/WStringSeqHelper.java generated/org/omg/CORBA/WStringSeqHolder.java generated/org/omg/CosNaming/Binding.java generated/org/omg/CosNaming/BindingHelper.java generated/org/omg/CosNaming/BindingHolder.java generated/org/omg/CosNaming/BindingIterator.java generated/org/omg/CosNaming/BindingIteratorHelper.java generated/org/omg/CosNaming/BindingIteratorHolder.java generated/org/omg/CosNaming/BindingIteratorOperations.java generated/org/omg/CosNaming/BindingIteratorPOA.java generated/org/omg/CosNaming/BindingListHelper.java generated/org/omg/CosNaming/BindingListHolder.java generated/org/omg/CosNaming/BindingType.java generated/org/omg/CosNaming/BindingTypeHelper.java generated/org/omg/CosNaming/BindingTypeHolder.java generated/org/omg/CosNaming/IstringHelper.java generated/org/omg/CosNaming/NameComponent.java generated/org/omg/CosNaming/NameComponentHelper.java generated/org/omg/CosNaming/NameComponentHolder.java generated/org/omg/CosNaming/NameHelper.java generated/org/omg/CosNaming/NameHolder.java generated/org/omg/CosNaming/NamingContext.java generated/org/omg/CosNaming/NamingContextExt.java generated/org/omg/CosNaming/NamingContextExtHelper.java generated/org/omg/CosNaming/NamingContextExtHolder.java generated/org/omg/CosNaming/NamingContextExtOperations.java generated/org/omg/CosNaming/NamingContextExtPOA.java generated/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java generated/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.java generated/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java generated/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java generated/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java generated/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java generated/org/omg/CosNaming/NamingContextHelper.java generated/org/omg/CosNaming/NamingContextHolder.java generated/org/omg/CosNaming/NamingContextOperations.java generated/org/omg/CosNaming/NamingContextPOA.java generated/org/omg/CosNaming/NamingContextPackage/AlreadyBound.java generated/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java generated/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.java generated/org/omg/CosNaming/NamingContextPackage/CannotProceed.java generated/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java generated/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.java generated/org/omg/CosNaming/NamingContextPackage/InvalidName.java generated/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java generated/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.java generated/org/omg/CosNaming/NamingContextPackage/NotEmpty.java generated/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java generated/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.java generated/org/omg/CosNaming/NamingContextPackage/NotFound.java generated/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java generated/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.java generated/org/omg/CosNaming/NamingContextPackage/NotFoundReason.java generated/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java generated/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java generated/org/omg/CosNaming/_BindingIteratorStub.java generated/org/omg/CosNaming/_NamingContextExtStub.java generated/org/omg/CosNaming/_NamingContextStub.java generated/org/omg/Dynamic/Parameter.java generated/org/omg/DynamicAny/AnySeqHelper.java generated/org/omg/DynamicAny/DynAny.java generated/org/omg/DynamicAny/DynAnyFactory.java generated/org/omg/DynamicAny/DynAnyFactoryHelper.java generated/org/omg/DynamicAny/DynAnyFactoryOperations.java generated/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java generated/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java generated/org/omg/DynamicAny/DynAnyHelper.java generated/org/omg/DynamicAny/DynAnyOperations.java generated/org/omg/DynamicAny/DynAnyPackage/InvalidValue.java generated/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java generated/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java generated/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java generated/org/omg/DynamicAny/DynAnySeqHelper.java generated/org/omg/DynamicAny/DynArray.java generated/org/omg/DynamicAny/DynArrayHelper.java generated/org/omg/DynamicAny/DynArrayOperations.java generated/org/omg/DynamicAny/DynEnum.java generated/org/omg/DynamicAny/DynEnumHelper.java generated/org/omg/DynamicAny/DynEnumOperations.java generated/org/omg/DynamicAny/DynFixed.java generated/org/omg/DynamicAny/DynFixedHelper.java generated/org/omg/DynamicAny/DynFixedOperations.java generated/org/omg/DynamicAny/DynSequence.java generated/org/omg/DynamicAny/DynSequenceHelper.java generated/org/omg/DynamicAny/DynSequenceOperations.java generated/org/omg/DynamicAny/DynStruct.java generated/org/omg/DynamicAny/DynStructHelper.java generated/org/omg/DynamicAny/DynStructOperations.java generated/org/omg/DynamicAny/DynUnion.java generated/org/omg/DynamicAny/DynUnionHelper.java generated/org/omg/DynamicAny/DynUnionOperations.java generated/org/omg/DynamicAny/DynValue.java generated/org/omg/DynamicAny/DynValueBox.java generated/org/omg/DynamicAny/DynValueBoxOperations.java generated/org/omg/DynamicAny/DynValueCommon.java generated/org/omg/DynamicAny/DynValueCommonOperations.java generated/org/omg/DynamicAny/DynValueHelper.java generated/org/omg/DynamicAny/DynValueOperations.java generated/org/omg/DynamicAny/FieldNameHelper.java generated/org/omg/DynamicAny/NameDynAnyPair.java generated/org/omg/DynamicAny/NameDynAnyPairHelper.java generated/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java generated/org/omg/DynamicAny/NameValuePair.java generated/org/omg/DynamicAny/NameValuePairHelper.java generated/org/omg/DynamicAny/NameValuePairSeqHelper.java generated/org/omg/DynamicAny/_DynAnyFactoryStub.java generated/org/omg/DynamicAny/_DynAnyStub.java generated/org/omg/DynamicAny/_DynArrayStub.java generated/org/omg/DynamicAny/_DynEnumStub.java generated/org/omg/DynamicAny/_DynFixedStub.java generated/org/omg/DynamicAny/_DynSequenceStub.java generated/org/omg/DynamicAny/_DynStructStub.java generated/org/omg/DynamicAny/_DynUnionStub.java generated/org/omg/DynamicAny/_DynValueStub.java generated/org/omg/IOP/CodeSets.java generated/org/omg/IOP/Codec.java generated/org/omg/IOP/CodecFactory.java generated/org/omg/IOP/CodecFactoryHelper.java generated/org/omg/IOP/CodecFactoryOperations.java generated/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java generated/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java generated/org/omg/IOP/CodecOperations.java generated/org/omg/IOP/CodecPackage/FormatMismatch.java generated/org/omg/IOP/CodecPackage/FormatMismatchHelper.java generated/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java generated/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java generated/org/omg/IOP/CodecPackage/TypeMismatch.java generated/org/omg/IOP/CodecPackage/TypeMismatchHelper.java generated/org/omg/IOP/ComponentIdHelper.java generated/org/omg/IOP/ENCODING_CDR_ENCAPS.java generated/org/omg/IOP/Encoding.java generated/org/omg/IOP/ExceptionDetailMessage.java generated/org/omg/IOP/IOR.java generated/org/omg/IOP/IORHelper.java generated/org/omg/IOP/IORHolder.java generated/org/omg/IOP/MultipleComponentProfileHelper.java generated/org/omg/IOP/MultipleComponentProfileHolder.java generated/org/omg/IOP/ProfileIdHelper.java generated/org/omg/IOP/RMICustomMaxStreamFormat.java generated/org/omg/IOP/ServiceContext.java generated/org/omg/IOP/ServiceContextHelper.java generated/org/omg/IOP/ServiceContextHolder.java generated/org/omg/IOP/ServiceContextListHelper.java generated/org/omg/IOP/ServiceContextListHolder.java generated/org/omg/IOP/ServiceIdHelper.java generated/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.java generated/org/omg/IOP/TAG_CODE_SETS.java generated/org/omg/IOP/TAG_INTERNET_IOP.java generated/org/omg/IOP/TAG_JAVA_CODEBASE.java generated/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.java generated/org/omg/IOP/TAG_ORB_TYPE.java generated/org/omg/IOP/TAG_POLICIES.java generated/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.java generated/org/omg/IOP/TaggedComponent.java generated/org/omg/IOP/TaggedComponentHelper.java generated/org/omg/IOP/TaggedComponentHolder.java generated/org/omg/IOP/TaggedProfile.java generated/org/omg/IOP/TaggedProfileHelper.java generated/org/omg/IOP/TaggedProfileHolder.java generated/org/omg/IOP/TransactionService.java generated/org/omg/Messaging/SYNC_WITH_TRANSPORT.java generated/org/omg/Messaging/SyncScopeHelper.java generated/org/omg/PortableInterceptor/ACTIVE.java generated/org/omg/PortableInterceptor/AdapterManagerIdHelper.java generated/org/omg/PortableInterceptor/AdapterNameHelper.java generated/org/omg/PortableInterceptor/AdapterStateHelper.java generated/org/omg/PortableInterceptor/ClientRequestInfo.java generated/org/omg/PortableInterceptor/ClientRequestInfoOperations.java generated/org/omg/PortableInterceptor/ClientRequestInterceptor.java generated/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java generated/org/omg/PortableInterceptor/Current.java generated/org/omg/PortableInterceptor/CurrentHelper.java generated/org/omg/PortableInterceptor/CurrentOperations.java generated/org/omg/PortableInterceptor/DISCARDING.java generated/org/omg/PortableInterceptor/ForwardRequest.java generated/org/omg/PortableInterceptor/ForwardRequestHelper.java generated/org/omg/PortableInterceptor/HOLDING.java generated/org/omg/PortableInterceptor/INACTIVE.java generated/org/omg/PortableInterceptor/IORInfo.java generated/org/omg/PortableInterceptor/IORInfoOperations.java generated/org/omg/PortableInterceptor/IORInterceptor.java generated/org/omg/PortableInterceptor/IORInterceptorOperations.java generated/org/omg/PortableInterceptor/IORInterceptor_3_0.java generated/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java generated/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java generated/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.java generated/org/omg/PortableInterceptor/Interceptor.java generated/org/omg/PortableInterceptor/InterceptorOperations.java generated/org/omg/PortableInterceptor/InvalidSlot.java generated/org/omg/PortableInterceptor/InvalidSlotHelper.java generated/org/omg/PortableInterceptor/LOCATION_FORWARD.java generated/org/omg/PortableInterceptor/NON_EXISTENT.java generated/org/omg/PortableInterceptor/ORBIdHelper.java generated/org/omg/PortableInterceptor/ORBInitInfo.java generated/org/omg/PortableInterceptor/ORBInitInfoOperations.java generated/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java generated/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java generated/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java generated/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java generated/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java generated/org/omg/PortableInterceptor/ORBInitializer.java generated/org/omg/PortableInterceptor/ORBInitializerOperations.java generated/org/omg/PortableInterceptor/ObjectIdHelper.java generated/org/omg/PortableInterceptor/ObjectReferenceFactory.java generated/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java generated/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java generated/org/omg/PortableInterceptor/ObjectReferenceTemplate.java generated/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java generated/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java generated/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java generated/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java generated/org/omg/PortableInterceptor/PolicyFactory.java generated/org/omg/PortableInterceptor/PolicyFactoryOperations.java generated/org/omg/PortableInterceptor/RequestInfo.java generated/org/omg/PortableInterceptor/RequestInfoOperations.java generated/org/omg/PortableInterceptor/SUCCESSFUL.java generated/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.java generated/org/omg/PortableInterceptor/ServerIdHelper.java generated/org/omg/PortableInterceptor/ServerRequestInfo.java generated/org/omg/PortableInterceptor/ServerRequestInfoOperations.java generated/org/omg/PortableInterceptor/ServerRequestInterceptor.java generated/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java generated/org/omg/PortableInterceptor/TRANSPORT_RETRY.java generated/org/omg/PortableInterceptor/UNKNOWN.java generated/org/omg/PortableInterceptor/USER_EXCEPTION.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/DebugHelper.java generated/sun/awt/X11/AwtGraphicsConfigData.java generated/sun/awt/X11/AwtScreenData.java generated/sun/awt/X11/ColorData.java generated/sun/awt/X11/ColorEntry.java generated/sun/awt/X11/Depth.java generated/sun/awt/X11/PropMwmHints.java generated/sun/awt/X11/Screen.java generated/sun/awt/X11/ScreenFormat.java generated/sun/awt/X11/Visual.java generated/sun/awt/X11/XAWTIcon32_java_icon16_png.java generated/sun/awt/X11/XAWTIcon32_java_icon24_png.java generated/sun/awt/X11/XAWTIcon32_java_icon32_png.java generated/sun/awt/X11/XAWTIcon32_java_icon48_png.java generated/sun/awt/X11/XAWTIcon64_java_icon16_png.java generated/sun/awt/X11/XAWTIcon64_java_icon24_png.java generated/sun/awt/X11/XAWTIcon64_java_icon32_png.java generated/sun/awt/X11/XAWTIcon64_java_icon48_png.java generated/sun/awt/X11/XAnyEvent.java generated/sun/awt/X11/XArc.java generated/sun/awt/X11/XButtonEvent.java generated/sun/awt/X11/XChar2b.java generated/sun/awt/X11/XCharStruct.java generated/sun/awt/X11/XCirculateEvent.java generated/sun/awt/X11/XCirculateRequestEvent.java generated/sun/awt/X11/XClassHint.java generated/sun/awt/X11/XClientMessageEvent.java generated/sun/awt/X11/XColor.java generated/sun/awt/X11/XColormapEvent.java generated/sun/awt/X11/XComposeStatus.java generated/sun/awt/X11/XConfigureEvent.java generated/sun/awt/X11/XConfigureRequestEvent.java generated/sun/awt/X11/XCreateWindowEvent.java generated/sun/awt/X11/XCrossingEvent.java generated/sun/awt/X11/XDestroyWindowEvent.java generated/sun/awt/X11/XErrorEvent.java generated/sun/awt/X11/XEvent.java generated/sun/awt/X11/XExposeEvent.java generated/sun/awt/X11/XExtCodes.java generated/sun/awt/X11/XExtData.java generated/sun/awt/X11/XFocusChangeEvent.java generated/sun/awt/X11/XFontProp.java generated/sun/awt/X11/XFontSetExtents.java generated/sun/awt/X11/XFontStruct.java generated/sun/awt/X11/XGCValues.java generated/sun/awt/X11/XGraphicsExposeEvent.java generated/sun/awt/X11/XGravityEvent.java generated/sun/awt/X11/XHostAddress.java generated/sun/awt/X11/XIMCallback.java generated/sun/awt/X11/XIMHotKeyTrigger.java generated/sun/awt/X11/XIMHotKeyTriggers.java generated/sun/awt/X11/XIMPreeditCaretCallbackStruct.java generated/sun/awt/X11/XIMPreeditDrawCallbackStruct.java generated/sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java generated/sun/awt/X11/XIMStatusDrawCallbackStruct.java generated/sun/awt/X11/XIMStringConversionCallbackStruct.java generated/sun/awt/X11/XIMStringConversionText.java generated/sun/awt/X11/XIMStyles.java generated/sun/awt/X11/XIMText.java generated/sun/awt/X11/XIMValuesList.java generated/sun/awt/X11/XIconSize.java generated/sun/awt/X11/XImage.java generated/sun/awt/X11/XKeyEvent.java generated/sun/awt/X11/XKeyboardControl.java generated/sun/awt/X11/XKeyboardState.java generated/sun/awt/X11/XKeymapEvent.java generated/sun/awt/X11/XMapEvent.java generated/sun/awt/X11/XMapRequestEvent.java generated/sun/awt/X11/XMappingEvent.java generated/sun/awt/X11/XModifierKeymap.java generated/sun/awt/X11/XMotionEvent.java generated/sun/awt/X11/XNoExposeEvent.java generated/sun/awt/X11/XOMCharSetList.java generated/sun/awt/X11/XOMFontInfo.java generated/sun/awt/X11/XOMOrientation.java generated/sun/awt/X11/XPixmapFormatValues.java generated/sun/awt/X11/XPoint.java generated/sun/awt/X11/XPropertyEvent.java generated/sun/awt/X11/XRectangle.java generated/sun/awt/X11/XReparentEvent.java generated/sun/awt/X11/XResizeRequestEvent.java generated/sun/awt/X11/XSegment.java generated/sun/awt/X11/XSelectionClearEvent.java generated/sun/awt/X11/XSelectionEvent.java generated/sun/awt/X11/XSelectionRequestEvent.java generated/sun/awt/X11/XSetWindowAttributes.java generated/sun/awt/X11/XSizeHints.java generated/sun/awt/X11/XStandardColormap.java generated/sun/awt/X11/XTextItem.java generated/sun/awt/X11/XTextItem16.java generated/sun/awt/X11/XTextProperty.java generated/sun/awt/X11/XTimeCoord.java generated/sun/awt/X11/XUnmapEvent.java generated/sun/awt/X11/XVisibilityEvent.java generated/sun/awt/X11/XVisualInfo.java generated/sun/awt/X11/XWMHints.java generated/sun/awt/X11/XWindowAttributes.java generated/sun/awt/X11/XWindowChanges.java generated/sun/awt/X11/XdbeSwapInfo.java generated/sun/awt/X11/XmbTextItem.java generated/sun/awt/X11/XwcTextItem.java generated/sun/awt/X11/awtImageData.java generated/sun/awt/resources/awt.java generated/sun/awt/resources/awt_de.java generated/sun/awt/resources/awt_es.java generated/sun/awt/resources/awt_fr.java generated/sun/awt/resources/awt_it.java generated/sun/awt/resources/awt_ja.java generated/sun/awt/resources/awt_ko.java generated/sun/awt/resources/awt_sv.java generated/sun/awt/resources/awt_zh_CN.java generated/sun/awt/resources/awt_zh_HK.java generated/sun/awt/resources/awt_zh_TW.java generated/sun/management/resources/agent.java generated/sun/management/resources/agent_de.java generated/sun/management/resources/agent_es.java generated/sun/management/resources/agent_fr.java generated/sun/management/resources/agent_it.java generated/sun/management/resources/agent_ja.java generated/sun/management/resources/agent_ko.java generated/sun/management/resources/agent_sv.java generated/sun/management/resources/agent_zh_CN.java generated/sun/management/resources/agent_zh_HK.java generated/sun/management/resources/agent_zh_TW.java generated/sun/misc/Version.java generated/sun/nio/cs/StandardCharsets.java generated/sun/print/resources/serviceui.java generated/sun/print/resources/serviceui_de.java generated/sun/print/resources/serviceui_es.java generated/sun/print/resources/serviceui_fr.java generated/sun/print/resources/serviceui_it.java generated/sun/print/resources/serviceui_ja.java generated/sun/print/resources/serviceui_ko.java generated/sun/print/resources/serviceui_sv.java generated/sun/print/resources/serviceui_zh_CN.java generated/sun/print/resources/serviceui_zh_HK.java generated/sun/print/resources/serviceui_zh_TW.java generated/sun/tools/jar/resources/jar.java generated/sun/tools/jar/resources/jar_de.java generated/sun/tools/jar/resources/jar_es.java generated/sun/tools/jar/resources/jar_fr.java generated/sun/tools/jar/resources/jar_it.java generated/sun/tools/jar/resources/jar_ja.java generated/sun/tools/jar/resources/jar_ko.java generated/sun/tools/jar/resources/jar_sv.java generated/sun/tools/jar/resources/jar_zh_CN.java generated/sun/tools/jar/resources/jar_zh_HK.java generated/sun/tools/jar/resources/jar_zh_TW.java generated/sun/tools/jconsole/Version.java generated/sun/util/CoreResourceBundleControl.java generated/sun/util/LocaleDataMetaInfo.java generated/sun/util/logging/resources/logging.java generated/sun/util/logging/resources/logging_de.java generated/sun/util/logging/resources/logging_es.java generated/sun/util/logging/resources/logging_fr.java generated/sun/util/logging/resources/logging_it.java generated/sun/util/logging/resources/logging_ja.java generated/sun/util/logging/resources/logging_ko.java generated/sun/util/logging/resources/logging_sv.java generated/sun/util/logging/resources/logging_zh_CN.java generated/sun/util/logging/resources/logging_zh_HK.java generated/sun/util/logging/resources/logging_zh_TW.java icedtea-copy-plugs.patch icedtea-ecj-bootstrap.patch icedtea-lesstif.patch install-sh javac.in javap.in jce/gnu/classpath/debug/Component.java jce/gnu/classpath/debug/PreciseFilter.java jce/gnu/classpath/debug/Simple1LineFormatter.java jce/gnu/classpath/debug/SystemLogger.java jce/gnu/classpath/debug/TeeInputStream.java jce/gnu/classpath/debug/TeeOutputStream.java jce/gnu/classpath/debug/TeeReader.java jce/gnu/classpath/debug/TeeWriter.java jce/gnu/java/security/Configuration.java jce/gnu/java/security/Engine.java jce/gnu/java/security/OID.java jce/gnu/java/security/PolicyFile.java jce/gnu/java/security/Properties.java jce/gnu/java/security/Registry.java jce/gnu/java/security/Requires.java jce/gnu/java/security/action/GetPropertyAction.java jce/gnu/java/security/action/GetSecurityPropertyAction.java jce/gnu/java/security/action/SetAccessibleAction.java jce/gnu/java/security/der/BitString.java jce/gnu/java/security/der/DER.java jce/gnu/java/security/der/DEREncodingException.java jce/gnu/java/security/der/DERReader.java jce/gnu/java/security/der/DERValue.java jce/gnu/java/security/der/DERWriter.java jce/gnu/java/security/x509/Util.java jce/javax/crypto/BadPaddingException.java jce/javax/crypto/Cipher.java jce/javax/crypto/CipherInputStream.java jce/javax/crypto/CipherOutputStream.java jce/javax/crypto/CipherSpi.java jce/javax/crypto/EncryptedPrivateKeyInfo.java jce/javax/crypto/ExemptionMechanism.java jce/javax/crypto/ExemptionMechanismException.java jce/javax/crypto/ExemptionMechanismSpi.java jce/javax/crypto/IllegalBlockSizeException.java jce/javax/crypto/KeyAgreement.java jce/javax/crypto/KeyAgreementSpi.java jce/javax/crypto/KeyGenerator.java jce/javax/crypto/KeyGeneratorSpi.java jce/javax/crypto/Mac.java jce/javax/crypto/MacSpi.java jce/javax/crypto/NoSuchPaddingException.java jce/javax/crypto/NullCipher.java jce/javax/crypto/NullCipherImpl.java jce/javax/crypto/SealedObject.java jce/javax/crypto/SecretKey.java jce/javax/crypto/SecretKeyFactory.java jce/javax/crypto/SecretKeyFactorySpi.java jce/javax/crypto/ShortBufferException.java jce/javax/crypto/interfaces/DHKey.java jce/javax/crypto/interfaces/DHPrivateKey.java jce/javax/crypto/interfaces/DHPublicKey.java jce/javax/crypto/interfaces/PBEKey.java jce/javax/crypto/spec/DESKeySpec.java jce/javax/crypto/spec/DESedeKeySpec.java jce/javax/crypto/spec/DHGenParameterSpec.java jce/javax/crypto/spec/DHParameterSpec.java jce/javax/crypto/spec/DHPrivateKeySpec.java jce/javax/crypto/spec/DHPublicKeySpec.java jce/javax/crypto/spec/IvParameterSpec.java jce/javax/crypto/spec/OAEPParameterSpec.java jce/javax/crypto/spec/PBEKeySpec.java jce/javax/crypto/spec/PBEParameterSpec.java jce/javax/crypto/spec/PSource.java jce/javax/crypto/spec/RC2ParameterSpec.java jce/javax/crypto/spec/RC5ParameterSpec.java jce/javax/crypto/spec/SecretKeySpec.java jce/sun/security/internal/interfaces/TlsMasterSecret.java jce/sun/security/internal/spec/TlsKeyMaterialParameterSpec.java jce/sun/security/internal/spec/TlsKeyMaterialSpec.java jce/sun/security/internal/spec/TlsMasterSecretParameterSpec.java jce/sun/security/internal/spec/TlsPrfParameterSpec.java jce/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java missing rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java rt/com/sun/jmx/snmp/SnmpDefinitions.java rt/com/sun/jmx/snmp/SnmpOid.java rt/com/sun/jmx/snmp/SnmpOidRecord.java rt/com/sun/jmx/snmp/SnmpOidTable.java rt/com/sun/jmx/snmp/SnmpOidTableSupport.java rt/com/sun/jmx/snmp/SnmpParameters.java rt/com/sun/jmx/snmp/SnmpPduPacket.java rt/com/sun/jmx/snmp/SnmpPeer.java rt/com/sun/jmx/snmp/SnmpSession.java rt/com/sun/jmx/snmp/SnmpTimeticks.java rt/com/sun/jmx/snmp/SnmpVarBind.java rt/com/sun/jmx/snmp/SnmpVarBindList.java rt/com/sun/jmx/snmp/agent/AcmChecker.java rt/com/sun/jmx/snmp/daemon/SnmpInformRequest.java rt/com/sun/media/sound/AbstractPlayer.java rt/com/sun/media/sound/AutoConnectSequencer.java rt/com/sun/media/sound/DataPusher.java rt/com/sun/media/sound/DirectAudioDevice.java rt/com/sun/media/sound/DirectAudioDeviceProvider.java rt/com/sun/media/sound/HeadspaceMixer.java rt/com/sun/media/sound/HeadspaceSoundbank.java rt/com/sun/media/sound/JDK13Services.java rt/com/sun/media/sound/JavaSoundAudioClip.java rt/com/sun/media/sound/MidiInDevice.java rt/com/sun/media/sound/MidiInDeviceProvider.java rt/com/sun/media/sound/MidiOutDevice.java rt/com/sun/media/sound/MidiOutDeviceProvider.java rt/com/sun/media/sound/MidiUtils.java rt/com/sun/media/sound/MixerClip.java rt/com/sun/media/sound/MixerMidiChannel.java rt/com/sun/media/sound/MixerSequencer.java rt/com/sun/media/sound/MixerSourceLine.java rt/com/sun/media/sound/MixerSynth.java rt/com/sun/media/sound/MixerThread.java rt/com/sun/media/sound/Platform.java rt/com/sun/media/sound/PortMixer.java rt/com/sun/media/sound/PortMixerProvider.java rt/com/sun/media/sound/ReferenceCountingDevice.java rt/com/sun/media/sound/SimpleInputDevice.java rt/com/sun/media/sound/SimpleInputDeviceProvider.java rt/com/sun/media/sound/Toolkit.java rt/com/sun/script/javascript/ClassShutter.java rt/com/sun/script/javascript/Context.java rt/com/sun/script/javascript/ContextFactory.java rt/com/sun/script/javascript/Function.java rt/com/sun/script/javascript/ImporterTopLevel.java rt/com/sun/script/javascript/JavaScriptException.java rt/com/sun/script/javascript/LazilyLoadedCtor.java rt/com/sun/script/javascript/NativeArray.java rt/com/sun/script/javascript/NativeJavaClass.java rt/com/sun/script/javascript/NativeJavaObject.java rt/com/sun/script/javascript/RhinoException.java rt/com/sun/script/javascript/Script.java rt/com/sun/script/javascript/ScriptRuntime.java rt/com/sun/script/javascript/Scriptable.java rt/com/sun/script/javascript/ScriptableObject.java rt/com/sun/script/javascript/Undefined.java rt/com/sun/script/javascript/WrapFactory.java rt/gnu/java/awt/BitMaskExtent.java rt/gnu/java/awt/Buffers.java rt/gnu/java/awt/color/CieXyzConverter.java rt/gnu/java/awt/color/ClutProfileConverter.java rt/gnu/java/awt/color/ColorLookUpTable.java rt/gnu/java/awt/color/ColorSpaceConverter.java rt/gnu/java/awt/color/GrayProfileConverter.java rt/gnu/java/awt/color/GrayScaleConverter.java rt/gnu/java/awt/color/LinearRGBConverter.java rt/gnu/java/awt/color/ProfileHeader.java rt/gnu/java/awt/color/PyccConverter.java rt/gnu/java/awt/color/RgbProfileConverter.java rt/gnu/java/awt/color/SrgbConverter.java rt/gnu/java/awt/color/TagEntry.java rt/gnu/java/awt/color/ToneReproductionCurve.java rt/java/awt/color/CMMException.java rt/java/awt/color/ColorSpace.java rt/java/awt/color/ICC_ColorSpace.java rt/java/awt/color/ICC_Profile.java rt/java/awt/color/ICC_ProfileGray.java rt/java/awt/color/ICC_ProfileRGB.java rt/java/awt/image/BandedSampleModel.java rt/java/awt/image/ColorConvertOp.java rt/java/awt/image/ComponentSampleModel.java rt/java/awt/image/DataBuffer.java rt/java/awt/image/DataBufferByte.java rt/java/awt/image/DataBufferInt.java rt/java/awt/image/DataBufferShort.java rt/java/awt/image/DataBufferUShort.java rt/java/awt/image/MultiPixelPackedSampleModel.java rt/java/awt/image/Raster.java rt/java/awt/image/RenderedImage.java rt/java/awt/image/SampleModel.java rt/java/awt/image/SinglePixelPackedSampleModel.java rt/java/awt/image/WritableRaster.java rt/java/awt/image/WritableRenderedImage.java rt/java/awt/image/renderable/ContextualRenderedImageFactory.java rt/java/awt/image/renderable/RenderContext.java rt/java/awt/image/renderable/RenderableImage.java rt/java/awt/image/renderable/RenderableImageOp.java rt/java/awt/image/renderable/RenderableImageProducer.java rt/java/awt/image/renderable/RenderedImageFactory.java rt/javax/script/Synchronizer.java rt/javax/script/Wrapper.java rt/sun/dc/path/FastPathProducer.java rt/sun/dc/path/PathConsumer.java rt/sun/dc/path/PathException.java rt/sun/dc/pr/PRException.java rt/sun/dc/pr/PathDasher.java rt/sun/dc/pr/PathStroker.java rt/sun/dc/pr/Rasterizer.java rt/sun/org/mozilla/internal/NativeJavaArray.java
diffstat 1083 files changed, 183567 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/AUTHORS	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+The following people have made contibutions to this project.
+Please keep this list in alpabetical order.
+
+Lillian Angel <langel@redhat.com>
+Tania Bento <tbento@redhat.com>
+Thomas Fitzsimmons <fitzsim@redhat.com>
+Kyle Galloway <kgallowa@redhat.com>
+Francis Kung <fkung@redhat.com>
+
+This project also includes code from the following projects:
+
+GNU Classpath <http://www.gnu.org/software/classpath/>
+OpenJDK <http://openjdk.java.net/>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/COPYING	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+     51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program 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 for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/INSTALL	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+Building IcedTea
+================
+
+For convenience we've provided make targets that automatically
+download, extract and patch the source code from openjdk.java.net, in
+a default location.
+
+To build IcedTea, do:
+
+./configure
+make
+
+There is currently no install target.
+
+The build requirements are as follows:
+
+GNU libgcj 4.1.2
+Eclipse Java Compiler 3.2.1
+CUPS
+libX11
+lesstif
+patch
+sed
+unzip
+md5sum
+wget
+
+See ./configure --help if you need to override defaults.
+
+IcedTea ends up in openjdk/control/build/linux-i586 or
+openjdk/control/build/linux-amd64 when the build completes.
+
+Building IcedTea with IcedTea
+-----------------------------
+
+To perform a full bootstrap, do:
+
+./configure
+make bootstrap
+
+The bootstrap target builds IcedTea against ecj running on libgcj
+first then uses the result of that build to build IcedTea again.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.am	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,401 @@
+EXTRA_DIST = rt jce generated $(ICEDTEA_PATCHES) $(ICEDTEA_ECJ_PATCH)
+
+OPENJDK_URL = http://www.java.net/download/openjdk/40ec4ed263a6dfce13b8cf18fa046058/jdk7/promoted/b12/
+
+OPENJDK_SRC_ZIP = openjdk-7-ea-src-b12-06_may_2007.zip
+
+OPENJDK_MD5SUM = c6b0ebe02022dda481285b63cd2af5ae
+
+ICEDTEA_PATCHES = \
+	icedtea-copy-plugs.patch \
+	icedtea-lesstif.patch
+
+ICEDTEA_ECJ_PATCH = \
+	icedtea-ecj-bootstrap.patch
+
+ICEDTEA_BUILD_DIR = \
+	$(abs_top_srcdir)/openjdk/control/build/linux-$(BUILD_ARCH_DIR)/
+
+ICEDTEA_JCE = \
+	$(abs_top_srcdir)/openjdk/control/build/linux-$(BUILD_ARCH_DIR)/lib/jce.jar
+
+ICEDTEA_RT = \
+	$(abs_top_srcdir)/bootstrap/jdk1.7.0/jre/lib/rt.jar
+
+ICEDTEA_CLS_DIR = \
+	$(abs_top_srcdir)/openjdk/control/build/linux-$(BUILD_ARCH_DIR)/classes
+
+ICEDTEA_ENDORSED_DIR = \
+	$(abs_top_srcdir)/bootstrap/jdk1.6.0/lib/endorsed
+
+ICEDTEA_ENV = \
+	"LANG=C" \
+	"PATH=/usr/bin:/bin:/usr/sbin:/sbin" \
+	"ALT_BOOTDIR=$(abs_top_srcdir)/bootstrap/jdk1.6.0" \
+	"ALT_CLOSED_JDK_IMPORT_PATH=$(abs_top_srcdir)/bootstrap/jdk1.7.0" \
+	"BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \
+	"LIBGCJ_JAR=$(LIBGCJ_JAR)" \
+	"ICEDTEA_JCE=$(ICEDTEA_JCE)" \
+	"ICEDTEA_RT=$(ICEDTEA_RT)" \
+	"ICEDTEA_BUILD_DIR=$(ICEDTEA_BUILD_DIR)" \
+	"ICEDTEA_CLS_DIR=$(ICEDTEA_CLS_DIR)" \
+	"ICEDTEA_ENDORSED_DIR=$(ICEDTEA_ENDORSED_DIR)" \
+	"ENDORSED=-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \
+	"BOOTCLASSPATH_CLS_RT=-bootclasspath $(ICEDTEA_CLS_DIR):$(ICEDTEA_RT)" \
+	"BOOTCLASSPATH_CLS=-bootclasspath $(ICEDTEA_CLS_DIR)" \
+	"BOOTCLASSPATH_RT_LIBGCJ=-bootclasspath $(ICEDTEA_RT):$(LIBGCJ_JAR)" \
+	"CLASSPATH= " \
+	"JAVA_HOME= " 
+
+ICEDTEA_COPY_DIRS = \
+	rt/com/sun/jdi \
+	rt/com/sun/jdi/connect \
+	rt/com/sun/jdi/connect/spi \
+	rt/com/sun/jdi/event \
+	rt/com/sun/jdi/request \
+	rt/java/util
+
+ICEDTEA_COPY_SRC = \
+	com/sun/jdi/AbsentInformationException.java \
+	com/sun/jdi/Accessible.java \
+	com/sun/jdi/ArrayReference.java \
+	com/sun/jdi/ArrayType.java \
+	com/sun/jdi/BooleanType.java \
+	com/sun/jdi/BooleanValue.java \
+	com/sun/jdi/Bootstrap.java \
+	com/sun/jdi/ByteType.java \
+	com/sun/jdi/ByteValue.java \
+	com/sun/jdi/CharType.java \
+	com/sun/jdi/CharValue.java \
+	com/sun/jdi/ClassLoaderReference.java \
+	com/sun/jdi/ClassNotLoadedException.java \
+	com/sun/jdi/ClassNotPreparedException.java \
+	com/sun/jdi/ClassObjectReference.java \
+	com/sun/jdi/ClassType.java \
+	com/sun/jdi/connect/AttachingConnector.java \
+	com/sun/jdi/connect/Connector.java \
+	com/sun/jdi/connect/IllegalConnectorArgumentsException.java \
+	com/sun/jdi/connect/LaunchingConnector.java \
+	com/sun/jdi/connect/ListeningConnector.java \
+	com/sun/jdi/connect/spi/ClosedConnectionException.java \
+	com/sun/jdi/connect/spi/Connection.java \
+	com/sun/jdi/connect/spi/TransportService.java \
+	com/sun/jdi/connect/Transport.java \
+	com/sun/jdi/connect/TransportTimeoutException.java \
+	com/sun/jdi/connect/VMStartException.java \
+	com/sun/jdi/DoubleType.java \
+	com/sun/jdi/DoubleValue.java \
+	com/sun/jdi/event/AccessWatchpointEvent.java \
+	com/sun/jdi/event/BreakpointEvent.java \
+	com/sun/jdi/event/ClassPrepareEvent.java \
+	com/sun/jdi/event/ClassUnloadEvent.java \
+	com/sun/jdi/event/EventIterator.java \
+	com/sun/jdi/event/Event.java \
+	com/sun/jdi/event/EventQueue.java \
+	com/sun/jdi/event/EventSet.java \
+	com/sun/jdi/event/ExceptionEvent.java \
+	com/sun/jdi/event/LocatableEvent.java \
+	com/sun/jdi/event/MethodEntryEvent.java \
+	com/sun/jdi/event/MethodExitEvent.java \
+	com/sun/jdi/event/ModificationWatchpointEvent.java \
+	com/sun/jdi/event/MonitorContendedEnteredEvent.java \
+	com/sun/jdi/event/MonitorContendedEnterEvent.java \
+	com/sun/jdi/event/MonitorWaitedEvent.java \
+	com/sun/jdi/event/MonitorWaitEvent.java \
+	com/sun/jdi/event/StepEvent.java \
+	com/sun/jdi/event/ThreadDeathEvent.java \
+	com/sun/jdi/event/ThreadStartEvent.java \
+	com/sun/jdi/event/VMDeathEvent.java \
+	com/sun/jdi/event/VMDisconnectEvent.java \
+	com/sun/jdi/event/VMStartEvent.java \
+	com/sun/jdi/event/WatchpointEvent.java \
+	com/sun/jdi/Field.java \
+	com/sun/jdi/FloatType.java \
+	com/sun/jdi/FloatValue.java \
+	com/sun/jdi/IncompatibleThreadStateException.java \
+	com/sun/jdi/InconsistentDebugInfoException.java \
+	com/sun/jdi/IntegerType.java \
+	com/sun/jdi/IntegerValue.java \
+	com/sun/jdi/InterfaceType.java \
+	com/sun/jdi/InternalException.java \
+	com/sun/jdi/InvalidCodeIndexException.java \
+	com/sun/jdi/InvalidLineNumberException.java \
+	com/sun/jdi/InvalidStackFrameException.java \
+	com/sun/jdi/InvalidTypeException.java \
+	com/sun/jdi/InvocationException.java \
+	com/sun/jdi/JDIPermission.java \
+	com/sun/jdi/LocalVariable.java \
+	com/sun/jdi/Locatable.java \
+	com/sun/jdi/Location.java \
+	com/sun/jdi/LongType.java \
+	com/sun/jdi/LongValue.java \
+	com/sun/jdi/Method.java \
+	com/sun/jdi/Mirror.java \
+	com/sun/jdi/MonitorInfo.java \
+	com/sun/jdi/NativeMethodException.java \
+	com/sun/jdi/ObjectCollectedException.java \
+	com/sun/jdi/ObjectReference.java \
+	com/sun/jdi/PathSearchingVirtualMachine.java \
+	com/sun/jdi/PrimitiveType.java \
+	com/sun/jdi/PrimitiveValue.java \
+	com/sun/jdi/ReferenceType.java \
+	com/sun/jdi/request/AccessWatchpointRequest.java \
+	com/sun/jdi/request/BreakpointRequest.java \
+	com/sun/jdi/request/ClassPrepareRequest.java \
+	com/sun/jdi/request/ClassUnloadRequest.java \
+	com/sun/jdi/request/DuplicateRequestException.java \
+	com/sun/jdi/request/EventRequest.java \
+	com/sun/jdi/request/EventRequestManager.java \
+	com/sun/jdi/request/ExceptionRequest.java \
+	com/sun/jdi/request/InvalidRequestStateException.java \
+	com/sun/jdi/request/MethodEntryRequest.java \
+	com/sun/jdi/request/MethodExitRequest.java \
+	com/sun/jdi/request/ModificationWatchpointRequest.java \
+	com/sun/jdi/request/MonitorContendedEnteredRequest.java \
+	com/sun/jdi/request/MonitorContendedEnterRequest.java \
+	com/sun/jdi/request/MonitorWaitedRequest.java \
+	com/sun/jdi/request/MonitorWaitRequest.java \
+	com/sun/jdi/request/StepRequest.java \
+	com/sun/jdi/request/ThreadDeathRequest.java \
+	com/sun/jdi/request/ThreadStartRequest.java \
+	com/sun/jdi/request/VMDeathRequest.java \
+	com/sun/jdi/request/WatchpointRequest.java \
+	com/sun/jdi/ShortType.java \
+	com/sun/jdi/ShortValue.java \
+	com/sun/jdi/StackFrame.java \
+	com/sun/jdi/StringReference.java \
+	com/sun/jdi/ThreadGroupReference.java \
+	com/sun/jdi/ThreadReference.java \
+	com/sun/jdi/TypeComponent.java \
+	com/sun/jdi/Type.java \
+	com/sun/jdi/Value.java \
+	com/sun/jdi/VirtualMachine.java \
+	com/sun/jdi/VirtualMachineManager.java \
+	com/sun/jdi/VMCannotBeModifiedException.java \
+	com/sun/jdi/VMDisconnectedException.java \
+	com/sun/jdi/VMMismatchException.java \
+	com/sun/jdi/VMOutOfMemoryException.java \
+	com/sun/jdi/VoidType.java \
+	com/sun/jdi/VoidValue.java \
+	java/util/Observer.java
+
+if FOUND_ECJ
+  JCOMPILER = $(ECJ) -nowarn
+else
+  if FOUND_JAVAC
+    JCOMPILER = $(JAVAC)
+  endif
+endif
+
+copy: extract
+	mkdir -p $(ICEDTEA_COPY_DIRS)
+	for f in $(ICEDTEA_COPY_SRC) ; \
+	do \
+	  cp -f openjdk/j2se/src/share/classes/$$f rt/$$f ; \
+	done
+
+uncopy:
+	for f in $(ICEDTEA_COPY_SRC) ; \
+	do \
+	  rm -f rt/$$f ; \
+	done
+	for d in $(ICEDTEA_COPY_DIRS) ; \
+	do \
+	  if test -d $$d ; \
+	  then \
+	    rmdir --ignore-fail-on-non-empty -p $(ICEDTEA_COPY_DIRS) ; \
+	  fi ; \
+	done
+
+patch: extract
+	for p in $(ICEDTEA_PATCHES) ; \
+	do \
+	  if $(PATCH) -p0 --dry-run -s -t -f < $$p > /dev/null; \
+	  then \
+	    $(PATCH) -p0 < $$p ; \
+	  else \
+	    : ; \
+	  fi ; \
+	done
+
+unpatch: unpatchecj
+	for p in $(ICEDTEA_PATCHES) ; \
+	do \
+	  if $(PATCH) -p0 -R --dry-run -s -t -f < $$p > /dev/null ; \
+	  then \
+	    $(PATCH) -p0 -R < $$p ; \
+	  else \
+	    : ; \
+	  fi ; \
+	done
+
+patchecj: patch
+	if $(PATCH) -p0 --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) > /dev/null ; \
+	then \
+	  $(PATCH) -p0 < $(ICEDTEA_ECJ_PATCH) ; \
+	fi
+
+unpatchecj:
+	if $(PATCH) -p0 -R --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) > /dev/null ; \
+	then \
+	  $(PATCH) -p0 -R < $(ICEDTEA_ECJ_PATCH) ; \
+	fi
+
+extract: download
+	if test -d openjdk; \
+	then \
+	  : ; \
+	else \
+	  $(UNZIP) -q $(OPENJDK_SRC_ZIP) ; \
+	fi
+
+unextract:
+	rm -rf openjdk
+
+download:
+	if echo "$(OPENJDK_MD5SUM)  $(OPENJDK_SRC_ZIP)" | $(MD5SUM) --check; \
+	then \
+	  : ; \
+	else \
+	  rm -f $(OPENJDK_SRC_ZIP) ; \
+	  $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) ; \
+	fi
+
+undownload:
+	rm -f $(OPENJDK_SRC_ZIP)
+
+clobber: extract
+	$(MAKE) \
+	  $(ICEDTEA_ENV) \
+	  -C openjdk/control/make clobber
+
+env:
+	@echo 'export $(ICEDTEA_ENV)'
+
+boot:
+	mkdir -p bootstrap/jdk1.6.0/bin
+	mkdir -p bootstrap/jdk1.6.0/lib/endorsed
+	ln -sf $(JAVA) bootstrap/jdk1.6.0/bin/java
+	ln -sf $(JAVAH) bootstrap/jdk1.6.0/bin/javah
+	ln -sf $(RMIC) bootstrap/jdk1.6.0/bin/rmic
+	ln -sf $(JAR) bootstrap/jdk1.6.0/bin/jar
+	cp -f javac bootstrap/jdk1.6.0/bin/javac
+	cp -f javap bootstrap/jdk1.6.0/bin/javap
+	ln -sf $(ENDORSED_JARS) bootstrap/jdk1.6.0/lib/endorsed
+
+icedteaboot: all unboot
+	cp -a openjdk/control/build/linux-$(BUILD_ARCH_DIR)/j2sdk-image \
+	  bootstrap/jdk1.6.0
+
+unboot:
+	rm -rf bootstrap/jdk1.6.0
+
+plugs: lib/rt/rt.jar lib/jce/jce.jar
+	mkdir -p bootstrap/jdk1.7.0/jre/lib/$(INSTALL_ARCH_DIR)
+	for l in libdcpr.so libjsoundalsa.so libjsound.so libt2k.so ; \
+	do \
+	  echo | $(CC) -shared -fPIC \
+	    -o bootstrap/jdk1.7.0/jre/lib/$(INSTALL_ARCH_DIR)/$$l \
+	    -Wl,-soname,libjawt.so -xc - ; \
+	done
+	mkdir -p bootstrap/jdk1.7.0/jre/lib/ext
+	$(JAR) cf bootstrap/jdk1.7.0/jre/lib/ext/sunjce_provider.jar
+	mkdir -p bootstrap/jdk1.7.0/jre/lib/security
+	$(JAR) cf bootstrap/jdk1.7.0/jre/lib/security/local_policy.jar
+	$(JAR) cf bootstrap/jdk1.7.0/jre/lib/security/US_export_policy.jar
+	cp -f lib/rt/rt.jar bootstrap/jdk1.7.0/jre/lib
+	cp -f lib/jce/jce.jar bootstrap/jdk1.7.0/jre/lib
+
+unplugs:
+	rm -rf bootstrap/jdk1.7.0
+
+icedtea:
+	$(MAKE) \
+	  $(ICEDTEA_ENV) \
+	  -C openjdk/control/make
+	@echo "IcedTea is served:" openjdk/control/build/linux-$(BUILD_ARCH_DIR)
+
+bootstrap: icedteaboot unpatchecj clobber
+	$(MAKE) \
+	  $(ICEDTEA_ENV) \
+	  -C openjdk/control/make
+	@echo "IcedTea re-served:" openjdk/control/build/linux-$(BUILD_ARCH_DIR)
+
+all-local: boot plugs patch patchecj icedtea
+
+clean-local:
+	rm -rf lib
+	rm -f rt-classes
+	rm -f jce-classes
+	rm -f generated/java/nio/*Exception.java
+	rm -f generated/java/nio/channels/*Exception.java
+	rm -f generated/java/nio/charset/*Exception.java
+	rm -f generated/sun/nio/ch/*Exception.java
+	rm -f generated/sun/util/resources/*
+
+distclean-local: uncopy unplugs unboot unextract
+
+lib/rt/rt.jar: rt-generate-sources rt-compile-classes copy
+	cd lib/rt ; \
+	  $(JAR) cf rt.jar com gnu java javax sun
+
+rt-classes: copy rt-generate-sources
+	cd rt ; \
+	  find . -name '*.java' -print > ../rt-classes
+
+rt-compile-classes: rt-classes
+	mkdir -p lib/rt
+	cd rt ; \
+	  $(JCOMPILER) -d ../lib/rt -bootclasspath '' -source 1.6 \
+	    -sourcepath $(OPENJDK_SRC_DIR)/j2se/src/share/classes:$(OPENJDK_SRC_DIR)/j2se/src/solaris/classes:../generated:../jce \
+	    @../rt-classes
+
+rt-generate-sources: patch
+	mkdir -p generated/java/nio/channels
+	mkdir -p generated/java/nio/charset
+	mkdir -p generated/sun/nio/ch
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/java/nio/channels/exceptions \
+	  generated/java/nio/channels
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/java/nio/charset/exceptions \
+	  generated/java/nio/charset
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/java/nio/exceptions \
+	  generated/java/nio
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/sun/nio/ch/exceptions \
+	  generated/sun/nio/ch
+	mkdir -p lib
+	cd $(OPENJDK_SRC_DIR)/j2se/make/tools/CompileProperties; \
+	  $(JCOMPILER) -d ../../../../../lib -1.5 CompileProperties.java
+	mkdir -p generated/sun/util/resources
+	cd lib ; \
+	  for FILE in `ls $(OPENJDK_SRC_DIR)/j2se/src/share/classes/sun/util/resources/*.properties`; do \
+	    export TMPVAR=$${FILE/%.properties/.java} ; \
+	    $(JAVA) -classpath . CompileProperties $$FILE \
+	      ../generated/sun/util/resources/$${TMPVAR##*/} \
+	      LocaleNamesBundle ; \
+	  done
+
+jce-classes:
+	cd jce ; \
+	  find . -name '*.java' -print > ../jce-classes
+
+jce-compile-classes: jce-classes rt-classes
+	mkdir -p lib/jce
+	cd jce ; \
+	  $(JCOMPILER) -d ../lib/jce -source 1.6 -bootclasspath '' \
+	    -classpath ../lib/rt @../jce-classes
+
+lib/jce/jce.jar: jce-compile-classes
+	cd lib/jce ; \
+	  $(JAR) cf jce.jar gnu javax sun
+
+install:
+
+.PHONY: \
+	copy uncopy patch unpatch patchecj unpatchecj extract unextract \
+	download undownload clobber env boot icedteaboot unboot plugs unplugs \
+	icedtea bootstrap rt-compile-classes rt-generate-sources \
+	jce-compile-classes
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.in	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,838 @@
+# Makefile.in generated by automake 1.10 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/javac.in $(srcdir)/javap.in \
+	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
+	config.guess config.sub install-sh missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_CLEAN_FILES = javac javap
+SOURCES =
+DIST_SOURCES =
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d $(distdir) \
+    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr $(distdir); }; }
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_ARCH_DIR = @BUILD_ARCH_DIR@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
+EGREP = @EGREP@
+ENDORSED_JARS = @ENDORSED_JARS@
+EXEEXT = @EXEEXT@
+FIND = @FIND@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_ARCH_DIR = @INSTALL_ARCH_DIR@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAH = @JAVAH@
+LDFLAGS = @LDFLAGS@
+LIBGCJ_JAR = @LIBGCJ_JAR@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MD5SUM = @MD5SUM@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+OPENJDK_SRC_DIR = @OPENJDK_SRC_DIR@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATCH = @PATCH@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RMIC = @RMIC@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+UNZIP = @UNZIP@
+VERSION = @VERSION@
+WGET = @WGET@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+find = @find@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = rt jce generated $(ICEDTEA_PATCHES) $(ICEDTEA_ECJ_PATCH)
+OPENJDK_URL = http://www.java.net/download/openjdk/40ec4ed263a6dfce13b8cf18fa046058/jdk7/promoted/b12/
+OPENJDK_SRC_ZIP = openjdk-7-ea-src-b12-06_may_2007.zip
+OPENJDK_MD5SUM = c6b0ebe02022dda481285b63cd2af5ae
+ICEDTEA_PATCHES = \
+	icedtea-copy-plugs.patch \
+	icedtea-lesstif.patch
+
+ICEDTEA_ECJ_PATCH = \
+	icedtea-ecj-bootstrap.patch
+
+ICEDTEA_BUILD_DIR = \
+	$(abs_top_srcdir)/openjdk/control/build/linux-$(BUILD_ARCH_DIR)/
+
+ICEDTEA_JCE = \
+	$(abs_top_srcdir)/openjdk/control/build/linux-$(BUILD_ARCH_DIR)/lib/jce.jar
+
+ICEDTEA_RT = \
+	$(abs_top_srcdir)/bootstrap/jdk1.7.0/jre/lib/rt.jar
+
+ICEDTEA_CLS_DIR = \
+	$(abs_top_srcdir)/openjdk/control/build/linux-$(BUILD_ARCH_DIR)/classes
+
+ICEDTEA_ENDORSED_DIR = \
+	$(abs_top_srcdir)/bootstrap/jdk1.6.0/lib/endorsed
+
+ICEDTEA_ENV = \
+	"LANG=C" \
+	"PATH=/usr/bin:/bin:/usr/sbin:/sbin" \
+	"ALT_BOOTDIR=$(abs_top_srcdir)/bootstrap/jdk1.6.0" \
+	"ALT_CLOSED_JDK_IMPORT_PATH=$(abs_top_srcdir)/bootstrap/jdk1.7.0" \
+	"BUILD_ARCH_DIR=$(BUILD_ARCH_DIR)" \
+	"LIBGCJ_JAR=$(LIBGCJ_JAR)" \
+	"ICEDTEA_JCE=$(ICEDTEA_JCE)" \
+	"ICEDTEA_RT=$(ICEDTEA_RT)" \
+	"ICEDTEA_BUILD_DIR=$(ICEDTEA_BUILD_DIR)" \
+	"ICEDTEA_CLS_DIR=$(ICEDTEA_CLS_DIR)" \
+	"ICEDTEA_ENDORSED_DIR=$(ICEDTEA_ENDORSED_DIR)" \
+	"ENDORSED=-Djava.endorsed.dirs=$(ICEDTEA_ENDORSED_DIR)" \
+	"BOOTCLASSPATH_CLS_RT=-bootclasspath $(ICEDTEA_CLS_DIR):$(ICEDTEA_RT)" \
+	"BOOTCLASSPATH_CLS=-bootclasspath $(ICEDTEA_CLS_DIR)" \
+	"BOOTCLASSPATH_RT_LIBGCJ=-bootclasspath $(ICEDTEA_RT):$(LIBGCJ_JAR)" \
+	"CLASSPATH= " \
+	"JAVA_HOME= " 
+
+ICEDTEA_COPY_DIRS = \
+	rt/com/sun/jdi \
+	rt/com/sun/jdi/connect \
+	rt/com/sun/jdi/connect/spi \
+	rt/com/sun/jdi/event \
+	rt/com/sun/jdi/request \
+	rt/java/util
+
+ICEDTEA_COPY_SRC = \
+	com/sun/jdi/AbsentInformationException.java \
+	com/sun/jdi/Accessible.java \
+	com/sun/jdi/ArrayReference.java \
+	com/sun/jdi/ArrayType.java \
+	com/sun/jdi/BooleanType.java \
+	com/sun/jdi/BooleanValue.java \
+	com/sun/jdi/Bootstrap.java \
+	com/sun/jdi/ByteType.java \
+	com/sun/jdi/ByteValue.java \
+	com/sun/jdi/CharType.java \
+	com/sun/jdi/CharValue.java \
+	com/sun/jdi/ClassLoaderReference.java \
+	com/sun/jdi/ClassNotLoadedException.java \
+	com/sun/jdi/ClassNotPreparedException.java \
+	com/sun/jdi/ClassObjectReference.java \
+	com/sun/jdi/ClassType.java \
+	com/sun/jdi/connect/AttachingConnector.java \
+	com/sun/jdi/connect/Connector.java \
+	com/sun/jdi/connect/IllegalConnectorArgumentsException.java \
+	com/sun/jdi/connect/LaunchingConnector.java \
+	com/sun/jdi/connect/ListeningConnector.java \
+	com/sun/jdi/connect/spi/ClosedConnectionException.java \
+	com/sun/jdi/connect/spi/Connection.java \
+	com/sun/jdi/connect/spi/TransportService.java \
+	com/sun/jdi/connect/Transport.java \
+	com/sun/jdi/connect/TransportTimeoutException.java \
+	com/sun/jdi/connect/VMStartException.java \
+	com/sun/jdi/DoubleType.java \
+	com/sun/jdi/DoubleValue.java \
+	com/sun/jdi/event/AccessWatchpointEvent.java \
+	com/sun/jdi/event/BreakpointEvent.java \
+	com/sun/jdi/event/ClassPrepareEvent.java \
+	com/sun/jdi/event/ClassUnloadEvent.java \
+	com/sun/jdi/event/EventIterator.java \
+	com/sun/jdi/event/Event.java \
+	com/sun/jdi/event/EventQueue.java \
+	com/sun/jdi/event/EventSet.java \
+	com/sun/jdi/event/ExceptionEvent.java \
+	com/sun/jdi/event/LocatableEvent.java \
+	com/sun/jdi/event/MethodEntryEvent.java \
+	com/sun/jdi/event/MethodExitEvent.java \
+	com/sun/jdi/event/ModificationWatchpointEvent.java \
+	com/sun/jdi/event/MonitorContendedEnteredEvent.java \
+	com/sun/jdi/event/MonitorContendedEnterEvent.java \
+	com/sun/jdi/event/MonitorWaitedEvent.java \
+	com/sun/jdi/event/MonitorWaitEvent.java \
+	com/sun/jdi/event/StepEvent.java \
+	com/sun/jdi/event/ThreadDeathEvent.java \
+	com/sun/jdi/event/ThreadStartEvent.java \
+	com/sun/jdi/event/VMDeathEvent.java \
+	com/sun/jdi/event/VMDisconnectEvent.java \
+	com/sun/jdi/event/VMStartEvent.java \
+	com/sun/jdi/event/WatchpointEvent.java \
+	com/sun/jdi/Field.java \
+	com/sun/jdi/FloatType.java \
+	com/sun/jdi/FloatValue.java \
+	com/sun/jdi/IncompatibleThreadStateException.java \
+	com/sun/jdi/InconsistentDebugInfoException.java \
+	com/sun/jdi/IntegerType.java \
+	com/sun/jdi/IntegerValue.java \
+	com/sun/jdi/InterfaceType.java \
+	com/sun/jdi/InternalException.java \
+	com/sun/jdi/InvalidCodeIndexException.java \
+	com/sun/jdi/InvalidLineNumberException.java \
+	com/sun/jdi/InvalidStackFrameException.java \
+	com/sun/jdi/InvalidTypeException.java \
+	com/sun/jdi/InvocationException.java \
+	com/sun/jdi/JDIPermission.java \
+	com/sun/jdi/LocalVariable.java \
+	com/sun/jdi/Locatable.java \
+	com/sun/jdi/Location.java \
+	com/sun/jdi/LongType.java \
+	com/sun/jdi/LongValue.java \
+	com/sun/jdi/Method.java \
+	com/sun/jdi/Mirror.java \
+	com/sun/jdi/MonitorInfo.java \
+	com/sun/jdi/NativeMethodException.java \
+	com/sun/jdi/ObjectCollectedException.java \
+	com/sun/jdi/ObjectReference.java \
+	com/sun/jdi/PathSearchingVirtualMachine.java \
+	com/sun/jdi/PrimitiveType.java \
+	com/sun/jdi/PrimitiveValue.java \
+	com/sun/jdi/ReferenceType.java \
+	com/sun/jdi/request/AccessWatchpointRequest.java \
+	com/sun/jdi/request/BreakpointRequest.java \
+	com/sun/jdi/request/ClassPrepareRequest.java \
+	com/sun/jdi/request/ClassUnloadRequest.java \
+	com/sun/jdi/request/DuplicateRequestException.java \
+	com/sun/jdi/request/EventRequest.java \
+	com/sun/jdi/request/EventRequestManager.java \
+	com/sun/jdi/request/ExceptionRequest.java \
+	com/sun/jdi/request/InvalidRequestStateException.java \
+	com/sun/jdi/request/MethodEntryRequest.java \
+	com/sun/jdi/request/MethodExitRequest.java \
+	com/sun/jdi/request/ModificationWatchpointRequest.java \
+	com/sun/jdi/request/MonitorContendedEnteredRequest.java \
+	com/sun/jdi/request/MonitorContendedEnterRequest.java \
+	com/sun/jdi/request/MonitorWaitedRequest.java \
+	com/sun/jdi/request/MonitorWaitRequest.java \
+	com/sun/jdi/request/StepRequest.java \
+	com/sun/jdi/request/ThreadDeathRequest.java \
+	com/sun/jdi/request/ThreadStartRequest.java \
+	com/sun/jdi/request/VMDeathRequest.java \
+	com/sun/jdi/request/WatchpointRequest.java \
+	com/sun/jdi/ShortType.java \
+	com/sun/jdi/ShortValue.java \
+	com/sun/jdi/StackFrame.java \
+	com/sun/jdi/StringReference.java \
+	com/sun/jdi/ThreadGroupReference.java \
+	com/sun/jdi/ThreadReference.java \
+	com/sun/jdi/TypeComponent.java \
+	com/sun/jdi/Type.java \
+	com/sun/jdi/Value.java \
+	com/sun/jdi/VirtualMachine.java \
+	com/sun/jdi/VirtualMachineManager.java \
+	com/sun/jdi/VMCannotBeModifiedException.java \
+	com/sun/jdi/VMDisconnectedException.java \
+	com/sun/jdi/VMMismatchException.java \
+	com/sun/jdi/VMOutOfMemoryException.java \
+	com/sun/jdi/VoidType.java \
+	com/sun/jdi/VoidValue.java \
+	java/util/Observer.java
+
+@FOUND_ECJ_FALSE@JCOMPILER = $(JAVAC)
+@FOUND_ECJ_TRUE@JCOMPILER = $(ECJ) -nowarn
+all: all-am
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
+	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu  Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+javac: $(top_builddir)/config.status $(srcdir)/javac.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+javap: $(top_builddir)/config.status $(srcdir)/javap.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d $(distdir) || mkdir $(distdir)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	    fi; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r $(distdir)
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && cd $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@cd $(distuninstallcheck_dir) \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-am
+all-am: Makefile all-local
+installdirs:
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-local mostlyclean-am
+
+distclean: distclean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-info: install-info-am
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-ps: install-ps-am
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local am--refresh check check-am clean \
+	clean-generic clean-local dist dist-all dist-bzip2 dist-gzip \
+	dist-shar dist-tarZ dist-zip distcheck distclean \
+	distclean-generic distclean-local distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-ps install-ps-am \
+	install-strip installcheck installcheck-am installdirs \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+
+@FOUND_ECJ_FALSE@  if FOUND_JAVAC
+@FOUND_ECJ_FALSE@  endif
+
+copy: extract
+	mkdir -p $(ICEDTEA_COPY_DIRS)
+	for f in $(ICEDTEA_COPY_SRC) ; \
+	do \
+	  cp -f openjdk/j2se/src/share/classes/$$f rt/$$f ; \
+	done
+
+uncopy:
+	for f in $(ICEDTEA_COPY_SRC) ; \
+	do \
+	  rm -f rt/$$f ; \
+	done
+	for d in $(ICEDTEA_COPY_DIRS) ; \
+	do \
+	  if test -d $$d ; \
+	  then \
+	    rmdir --ignore-fail-on-non-empty -p $(ICEDTEA_COPY_DIRS) ; \
+	  fi ; \
+	done
+
+patch: extract
+	for p in $(ICEDTEA_PATCHES) ; \
+	do \
+	  if $(PATCH) -p0 --dry-run -s -t -f < $$p > /dev/null; \
+	  then \
+	    $(PATCH) -p0 < $$p ; \
+	  else \
+	    : ; \
+	  fi ; \
+	done
+
+unpatch: unpatchecj
+	for p in $(ICEDTEA_PATCHES) ; \
+	do \
+	  if $(PATCH) -p0 -R --dry-run -s -t -f < $$p > /dev/null ; \
+	  then \
+	    $(PATCH) -p0 -R < $$p ; \
+	  else \
+	    : ; \
+	  fi ; \
+	done
+
+patchecj: patch
+	if $(PATCH) -p0 --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) > /dev/null ; \
+	then \
+	  $(PATCH) -p0 < $(ICEDTEA_ECJ_PATCH) ; \
+	fi
+
+unpatchecj:
+	if $(PATCH) -p0 -R --dry-run -s -t -f < $(ICEDTEA_ECJ_PATCH) > /dev/null ; \
+	then \
+	  $(PATCH) -p0 -R < $(ICEDTEA_ECJ_PATCH) ; \
+	fi
+
+extract: download
+	if test -d openjdk; \
+	then \
+	  : ; \
+	else \
+	  $(UNZIP) -q $(OPENJDK_SRC_ZIP) ; \
+	fi
+
+unextract:
+	rm -rf openjdk
+
+download:
+	if echo "$(OPENJDK_MD5SUM)  $(OPENJDK_SRC_ZIP)" | $(MD5SUM) --check; \
+	then \
+	  : ; \
+	else \
+	  rm -f $(OPENJDK_SRC_ZIP) ; \
+	  $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) ; \
+	fi
+
+undownload:
+	rm -f $(OPENJDK_SRC_ZIP)
+
+clobber: extract
+	$(MAKE) \
+	  $(ICEDTEA_ENV) \
+	  -C openjdk/control/make clobber
+
+env:
+	@echo 'export $(ICEDTEA_ENV)'
+
+boot:
+	mkdir -p bootstrap/jdk1.6.0/bin
+	mkdir -p bootstrap/jdk1.6.0/lib/endorsed
+	ln -sf $(JAVA) bootstrap/jdk1.6.0/bin/java
+	ln -sf $(JAVAH) bootstrap/jdk1.6.0/bin/javah
+	ln -sf $(RMIC) bootstrap/jdk1.6.0/bin/rmic
+	ln -sf $(JAR) bootstrap/jdk1.6.0/bin/jar
+	cp -f javac bootstrap/jdk1.6.0/bin/javac
+	cp -f javap bootstrap/jdk1.6.0/bin/javap
+	ln -sf $(ENDORSED_JARS) bootstrap/jdk1.6.0/lib/endorsed
+
+icedteaboot: all unboot
+	cp -a openjdk/control/build/linux-$(BUILD_ARCH_DIR)/j2sdk-image \
+	  bootstrap/jdk1.6.0
+
+unboot:
+	rm -rf bootstrap/jdk1.6.0
+
+plugs: lib/rt/rt.jar lib/jce/jce.jar
+	mkdir -p bootstrap/jdk1.7.0/jre/lib/$(INSTALL_ARCH_DIR)
+	for l in libdcpr.so libjsoundalsa.so libjsound.so libt2k.so ; \
+	do \
+	  echo | $(CC) -shared -fPIC \
+	    -o bootstrap/jdk1.7.0/jre/lib/$(INSTALL_ARCH_DIR)/$$l \
+	    -Wl,-soname,libjawt.so -xc - ; \
+	done
+	mkdir -p bootstrap/jdk1.7.0/jre/lib/ext
+	$(JAR) cf bootstrap/jdk1.7.0/jre/lib/ext/sunjce_provider.jar
+	mkdir -p bootstrap/jdk1.7.0/jre/lib/security
+	$(JAR) cf bootstrap/jdk1.7.0/jre/lib/security/local_policy.jar
+	$(JAR) cf bootstrap/jdk1.7.0/jre/lib/security/US_export_policy.jar
+	cp -f lib/rt/rt.jar bootstrap/jdk1.7.0/jre/lib
+	cp -f lib/jce/jce.jar bootstrap/jdk1.7.0/jre/lib
+
+unplugs:
+	rm -rf bootstrap/jdk1.7.0
+
+icedtea:
+	$(MAKE) \
+	  $(ICEDTEA_ENV) \
+	  -C openjdk/control/make
+	@echo "IcedTea is served:" openjdk/control/build/linux-$(BUILD_ARCH_DIR)
+
+bootstrap: icedteaboot unpatchecj clobber
+	$(MAKE) \
+	  $(ICEDTEA_ENV) \
+	  -C openjdk/control/make
+	@echo "IcedTea re-served:" openjdk/control/build/linux-$(BUILD_ARCH_DIR)
+
+all-local: boot plugs patch patchecj icedtea
+
+clean-local:
+	rm -rf lib
+	rm -f rt-classes
+	rm -f jce-classes
+	rm -f generated/java/nio/*Exception.java
+	rm -f generated/java/nio/channels/*Exception.java
+	rm -f generated/java/nio/charset/*Exception.java
+	rm -f generated/sun/nio/ch/*Exception.java
+	rm -f generated/sun/util/resources/*
+
+distclean-local: uncopy unplugs unboot unextract
+
+lib/rt/rt.jar: rt-generate-sources rt-compile-classes copy
+	cd lib/rt ; \
+	  $(JAR) cf rt.jar com gnu java javax sun
+
+rt-classes: copy rt-generate-sources
+	cd rt ; \
+	  find . -name '*.java' -print > ../rt-classes
+
+rt-compile-classes: rt-classes
+	mkdir -p lib/rt
+	cd rt ; \
+	  $(JCOMPILER) -d ../lib/rt -bootclasspath '' -source 1.6 \
+	    -sourcepath $(OPENJDK_SRC_DIR)/j2se/src/share/classes:$(OPENJDK_SRC_DIR)/j2se/src/solaris/classes:../generated:../jce \
+	    @../rt-classes
+
+rt-generate-sources: patch
+	mkdir -p generated/java/nio/channels
+	mkdir -p generated/java/nio/charset
+	mkdir -p generated/sun/nio/ch
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/java/nio/channels/exceptions \
+	  generated/java/nio/channels
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/java/nio/charset/exceptions \
+	  generated/java/nio/charset
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/java/nio/exceptions \
+	  generated/java/nio
+	$(SHELL) $(OPENJDK_SRC_DIR)/j2se/make/java/nio/genExceptions.sh \
+	  $(OPENJDK_SRC_DIR)/j2se/src/share/classes/sun/nio/ch/exceptions \
+	  generated/sun/nio/ch
+	mkdir -p lib
+	cd $(OPENJDK_SRC_DIR)/j2se/make/tools/CompileProperties; \
+	  $(JCOMPILER) -d ../../../../../lib -1.5 CompileProperties.java
+	mkdir -p generated/sun/util/resources
+	cd lib ; \
+	  for FILE in `ls $(OPENJDK_SRC_DIR)/j2se/src/share/classes/sun/util/resources/*.properties`; do \
+	    export TMPVAR=$${FILE/%.properties/.java} ; \
+	    $(JAVA) -classpath . CompileProperties $$FILE \
+	      ../generated/sun/util/resources/$${TMPVAR##*/} \
+	      LocaleNamesBundle ; \
+	  done
+
+jce-classes:
+	cd jce ; \
+	  find . -name '*.java' -print > ../jce-classes
+
+jce-compile-classes: jce-classes rt-classes
+	mkdir -p lib/jce
+	cd jce ; \
+	  $(JCOMPILER) -d ../lib/jce -source 1.6 -bootclasspath '' \
+	    -classpath ../lib/rt @../jce-classes
+
+lib/jce/jce.jar: jce-compile-classes
+	cd lib/jce ; \
+	  $(JAR) cf jce.jar gnu javax sun
+
+install:
+
+.PHONY: \
+	copy uncopy patch unpatch patchecj unpatchecj extract unextract \
+	download undownload clobber env boot icedteaboot unboot plugs unplugs \
+	icedtea bootstrap rt-compile-classes rt-generate-sources \
+	jce-compile-classes
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+IcedTea
+=======
+
+The IcedTea project provides a harness to build the source code from
+openjdk.java.net using Free Software tools and dependencies.
+
+IcedTea addreses two problems: it eliminates the build requirement on
+proprietary build tools and it provides replacements for the
+"encumbered binary plugs".
+
+These plugs are described at http://openjdk.java.net: "Not all of the
+source code that makes up the JDK is available under an open-source
+license. In order to build an OpenJDK binary from source code, you
+must first download and install one or more of the following files
+from which the build process will copy over 'binary plugs' for these
+encumbered components."
+
+This project uses code from GNU Classpath, code generated during a
+build of the openjdk.java.net source code, and stub code written by
+Red Hat, to provide Free Software replacements for these encumbered
+binary plugs.
+
+IcedTea also provides build scripts and patches that allow the source
+code from openjdk.java.net to be built with ecj running on libgcj or
+with IcedTea itself.
+
+See INSTALL for build instructions.
+
+How the Stub Replacements were Produced
+---------------------------------------
+
+To produce the plug replacements, we began by satisfying as many
+undefined references as possible using code from a completed build of
+the source code from openjdk.java.net.  Then we supplemented the
+resultant tree with more replacement code from GNU Classpath.
+Following that, we fixed each remaining build error by creating the
+simplest possible stub code.
+
+A Note about the Generated Code
+-------------------------------
+
+Some of the code generated from sources from openjdk.java.net, and
+required to build these plug replacements, is of questionable
+licensing (that is, Sun likely forgot to change some headers).  These
+files are:
+
+ - generated/java/nio/*Exception.java
+ - generated/java/nio/channel/*Exception.java
+ - generated/java/nio/charset/*Exception.java
+ - generated/sun/nio/cs/*Exception.java
+ - generated/sun/util/resources/*
+
+To be on the safe side, these files are not distributed in IcedTea,
+but will be generated from the source code downloaded from
+openjdk.java.net, as needed during the build.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/acinclude.m4	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,348 @@
+AC_DEFUN([SET_ARCH_DIRS],
+[
+  case "${host}" in
+    x86_64-*-*)
+      BUILD_ARCH_DIR=amd64
+      INSTALL_ARCH_DIR=amd64
+      ;;
+    *)
+      BUILD_ARCH_DIR=i586
+      INSTALL_ARCH_DIR=i386
+      ;;
+  esac
+  AC_SUBST(BUILD_ARCH_DIR)
+  AC_SUBST(INSTALL_ARCH_DIR)
+])
+
+AC_DEFUN([FIND_JAVAC],
+[
+  user_specified_javac=
+
+  CLASSPATH_WITH_ECJ
+  CLASSPATH_WITH_JAVAC
+
+  if test "x${user_specified_javac}" = x; then
+    AM_CONDITIONAL(FOUND_ECJ, test "x${ECJ}" != x)
+    AM_CONDITIONAL(FOUND_JAVAC, test "x${JAVAC}" != x)
+  else
+    AM_CONDITIONAL(FOUND_ECJ, test "x${user_specified_javac}" = xecj)
+    AM_CONDITIONAL(FOUND_JAVAC, test "x${user_specified_javac}" = xjavac)
+  fi
+
+  if test "x${ECJ}" = x && test "x${JAVAC}" = x && test "x${user_specified_javac}" != xecj; then
+      AC_MSG_ERROR([cannot find javac, try --with-ecj])
+  fi
+])
+
+AC_DEFUN([CLASSPATH_WITH_ECJ],
+[
+  AC_ARG_WITH([ecj],
+	      [AS_HELP_STRING(--with-ecj,bytecode compilation with ecj)],
+  [
+    if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
+      CLASSPATH_CHECK_ECJ(${withval})
+    else
+      if test "x${withval}" != xno; then
+        CLASSPATH_CHECK_ECJ
+      fi
+    fi
+    user_specified_javac=ecj
+  ],
+  [ 
+    CLASSPATH_CHECK_ECJ
+  ])
+  AC_SUBST(ECJ)
+])
+
+AC_DEFUN([CLASSPATH_CHECK_ECJ],
+[
+  if test "x$1" != x; then
+    if test -f "$1"; then
+      ECJ="$1"
+    else
+      AC_PATH_PROG(ECJ, "$1")
+    fi
+  else
+    AC_PATH_PROG(ECJ, "ecj")
+  fi
+])
+
+AC_DEFUN([CLASSPATH_WITH_JAVAC],
+[
+  AC_ARG_WITH([javac],
+	      [AS_HELP_STRING(--with-javac,bytecode compilation with javac)],
+  [
+    if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
+      CLASSPATH_CHECK_JAVAC(${withval})
+    else
+      if test "x${withval}" != xno; then
+        CLASSPATH_CHECK_JAVAC
+      fi
+    fi
+    user_specified_javac=javac
+  ],
+  [ 
+    CLASSPATH_CHECK_JAVAC
+  ])
+  AC_SUBST(JAVAC)
+])
+
+AC_DEFUN([CLASSPATH_CHECK_JAVAC],
+[
+  if test "x$1" != x; then
+    if test -f "$1"; then
+      JAVAC="$1"
+    else
+      AC_PATH_PROG(JAVAC, "$1")
+    fi
+  else
+    AC_PATH_PROG(JAVAC, "javac")
+  fi
+])
+
+AC_DEFUN([FIND_JAVA],
+[
+  AC_ARG_WITH([java],
+              [AS_HELP_STRING(--with-java,specify location of the 1.5 java vm)],
+  [
+    if test -f "${withval}"; then
+      AC_MSG_CHECKING(java)
+      JAVA="${withval}"
+      AC_MSG_RESULT(${withval})
+    else
+      AC_PATH_PROG(JAVA, "${withval}")
+    fi
+  ],
+  [
+    JAVA=
+  ])
+  if test -z "${JAVA}"; then
+    AC_PATH_PROG(JAVA, "gij")
+  fi
+  if test -z "${JAVA}"; then
+    AC_PATH_PROG(JAVA, "java")
+  fi
+  if test -z "${JAVA}"; then
+    AC_MSG_ERROR("A 1.5-compatible Java VM is required.")
+  fi
+  AC_SUBST(JAVA)
+])
+
+AC_DEFUN([WITH_OPENJDK_SRC_DIR],
+[
+  AC_MSG_CHECKING(openjdk sources)
+  AC_ARG_WITH([openjdk-src-dir],
+              [AS_HELP_STRING(--with-openjdk-src-dir,specify the location of the openjdk sources)],
+  [
+    OPENJDK_SRC_DIR=${withval}
+    AC_MSG_RESULT(${withval})
+    conditional_with_openjdk_sources=true
+  ],
+  [ 
+    conditional_with_openjdk_sources=false
+    OPENJDK_SRC_DIR=`pwd`/openjdk
+    AC_MSG_RESULT(${OPENJDK_SRC_DIR})
+  ])
+  AC_SUBST(OPENJDK_SRC_DIR)
+  AM_CONDITIONAL(GNU_CLASSLIB_FOUND, test "x${conditional_with_openjdk_sources}" = xtrue)
+])
+
+AC_DEFUN([FIND_ECJ_JAR],
+[
+  AC_ARG_WITH([ecj-jar],
+              [AS_HELP_STRING(--with-ecj-jar,specify location of the ECJ jar)],
+  [
+    if test -f "${withval}"; then
+      AC_MSG_CHECKING(ecj jar)
+      ECJ_JAR="${withval}"
+      AC_MSG_RESULT(${withval})
+    fi
+  ],
+  [
+    ECJ_JAR=
+  ])
+  if test -z "${ECJ_JAR}"; then
+    AC_MSG_CHECKING(for eclipse-ecj.jar)
+    if test -e "/usr/share/java/eclipse-ecj.jar"; then
+      ECJ_JAR=/usr/share/java/eclipse-ecj.jar
+      AC_MSG_RESULT(${ECJ_JAR})
+    else
+      AC_MSG_RESULT(no)
+    fi
+  fi
+  if test -z "${ECJ_JAR}"; then
+    AC_MSG_ERROR("A ECJ jar was not found.")
+  fi
+  AC_SUBST(ECJ_JAR)
+])
+
+AC_DEFUN([FIND_LIBGCJ_JAR],
+[
+  AC_ARG_WITH([libgcj-jar],
+              [AS_HELP_STRING(--with-libgcj-jar,specify location of the libgcj jar)],
+  [
+    if test -f "${withval}"; then
+      AC_MSG_CHECKING(libgcj jar)
+      LIBGCJ_JAR="${withval}"
+      AC_MSG_RESULT(${withval})
+    fi
+  ],
+  [
+    LIBGCJ_JAR=
+  ])
+  if test -z "${LIBGCJ_JAR}"; then
+    AC_MSG_CHECKING(for libgcj-4.1.2.jar)
+    if test -e "/usr/share/java/libgcj-4.1.2.jar"; then
+      LIBGCJ_JAR=/usr/share/java/libgcj-4.1.2.jar
+      AC_MSG_RESULT(${LIBGCJ_JAR})
+    else
+      AC_MSG_RESULT(no)
+    fi
+  fi
+  if test -z "${LIBGCJ_JAR}"; then
+    AC_MSG_ERROR("A LIBGCJ jar was not found.")
+  fi
+  AC_SUBST(LIBGCJ_JAR)
+])
+
+AC_DEFUN([FIND_JAVAH],
+[
+  AC_ARG_WITH([javah],
+              [AS_HELP_STRING(--with-javah,specify location of the javah)],
+  [
+    if test -f "${withval}"; then
+      AC_MSG_CHECKING(javah)
+      JAVAH="${withval}"
+      AC_MSG_RESULT(${withval})
+    else
+      AC_PATH_PROG(JAVAH, "${withval}")
+    fi
+  ],
+  [
+    JAVAH=
+  ])
+  if test -z "${JAVAH}"; then
+    AC_PATH_PROG(JAVAH, "gjavah")
+  fi
+  if test -z "${JAVAH}"; then
+    AC_PATH_PROG(JAVAH, "javah")
+  fi
+  if test -z "${JAVAH}"; then
+    AC_MSG_ERROR("javah was not found.")
+  fi
+  AC_SUBST(JAVAH)
+])
+
+AC_DEFUN([FIND_JAR],
+[
+  AC_ARG_WITH([jar],
+              [AS_HELP_STRING(--with-jar,specify location of the jar)],
+  [
+    if test -f "${withval}"; then
+      AC_MSG_CHECKING(jar)
+      JAR="${withval}"
+      AC_MSG_RESULT(${withval})
+    else
+      AC_PATH_PROG(JAR, "${withval}")
+    fi
+  ],
+  [
+    JAR=
+  ])
+  if test -z "${JAR}"; then
+    AC_PATH_PROG(JAR, "gjar")
+  fi
+  if test -z "${JAR}"; then
+    AC_PATH_PROG(JAR, "jar")
+  fi
+  if test -z "${JAR}"; then
+    AC_MSG_ERROR("jar was not found.")
+  fi
+  AC_SUBST(JAR)
+])
+
+AC_DEFUN([FIND_RMIC],
+[
+  AC_ARG_WITH([rmic],
+              [AS_HELP_STRING(--with-rmic,specify location of the rmic)],
+  [
+    if test -f "${withval}"; then
+      AC_MSG_CHECKING(rmic)
+      RMIC="${withval}"
+      AC_MSG_RESULT(${withval})
+    else
+      AC_PATH_PROG(RMIC, "${withval}")
+    fi
+  ],
+  [
+    RMIC=
+  ])
+  if test -z "${RMIC}"; then
+    AC_PATH_PROG(RMIC, "grmic")
+  fi
+  if test -z "${RMIC}"; then
+    AC_PATH_PROG(RMIC, "rmic")
+  fi
+  if test -z "${RMIC}"; then
+    AC_MSG_ERROR("rmic was not found.")
+  fi
+  AC_SUBST(RMIC)
+])
+
+AC_DEFUN([FIND_ENDORSED_JARS],
+[
+  AC_ARG_WITH([endorsed-dir],
+              [AS_HELP_STRING(--with-endorsed-dir,specify directory of endorsed jars (xalan-j2.jar, xalan-j2-serializer.jar, xerces-j2.jar))],
+  [
+    if test -f "${withval}/xalan-j2.jar"; then
+      if test -f "${withval}/xalan-j2-serializer.jar"; then
+        if test -f "${withval}/xerces-j2.jar"; then
+          AC_MSG_CHECKING(endorsed jars dir)
+          ENDORSED_JARS="${withval}"
+          AC_MSG_RESULT(${withval})
+        fi
+      fi
+    fi
+  ],
+  [
+    ENDORSED_JARS=
+  ])
+  if test -z "${ENDORSED_JARS}"; then
+    AC_MSG_CHECKING(for endorsed jars dir)
+    if test -f "/usr/share/java/xalan-j2.jar"; then
+      if test -f "/usr/share/java/xalan-j2-serializer.jar"; then
+        if test -f "/usr/share/java/xerces-j2.jar"; then
+          ENDORSED_JARS="/usr/share/java/xalan-j2.jar /usr/share/java/xalan-j2-serializer.jar /usr/share/java/xerces-j2.jar"
+          AC_MSG_RESULT(/usr/share/java)
+        fi
+      fi
+    fi
+    if test -z "${ENDORSED_JARS}"; then
+      AC_MSG_RESULT(missing)
+    fi
+  fi
+  if test -z "${ENDORSED_JARS}"; then
+    AC_MSG_ERROR("A directory containing required jars (xalan-j2.jar, xalan-j2-serializer.jar, xerces-j2.jar) was not found.")
+  fi
+  AC_SUBST(ENDORSED_JARS)
+])
+
+AC_DEFUN([CHECK_HEADERS],
+[
+  AC_CHECK_HEADER(cups/cups.h,[],[AC_MSG_ERROR("CUPS headers were not found.")])
+  AC_CHECK_HEADER(cups/ppd.h,[],[AC_MSG_ERROR("libXt headers were not found.")])
+  AC_CHECK_HEADER(sys/asoundlib.h,[],[AC_MSG_ERROR("ALSA headers were not found.")])
+  AC_CHECK_HEADER(X11/X.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(X11/Xlib.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(X11/Xutil.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(X11/Intrinsic.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(X11/Xproto.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(X11/Shell.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(X11/StringDefs.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(X11/extensions/Print.h,[],[AC_MSG_ERROR("libXp headers were not found.")])
+  AC_CHECK_HEADER(Xm/DropSMgr.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(Xm/Xm.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(Xm/XmP.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(Xm/Display.h,[],[AC_MSG_ERROR("X headers were not found.")])
+  AC_CHECK_HEADER(Xm/DropSMgr.h,[],[AC_MSG_ERROR("X headers were not found.")])
+])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/aclocal.m4	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,880 @@
+# generated automatically by aclocal 1.10 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_if(m4_PACKAGE_VERSION, [2.61],,
+[m4_fatal([this file was generated for autoconf 2.61.
+You have another version of autoconf.  If you want to use that,
+you should regenerate the build system entirely.], [63])])
+
+# Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.10'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.10], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.10])dnl
+_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # Grep'ing the whole file is not good either: AIX grep has a line
+  # limit of 2048, but all sed's we know have understand at least 4000.
+  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+    dirpart=`AS_DIRNAME("$mf")`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`AS_DIRNAME(["$file"])`
+    AS_MKDIR_P([$dirpart/$fdir])
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.60])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+	      		     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                  [_AM_DEPENDENCIES(CC)],
+                  [define([AC_PROG_CC],
+                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                  [_AM_DEPENDENCIES(CXX)],
+                  [define([AC_PROG_CXX],
+                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                  [_AM_DEPENDENCIES(OBJC)],
+                  [define([AC_PROG_OBJC],
+                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $1 | $1:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config.guess	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1532 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
+
+timestamp='2007-01-15'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+if [ "${UNAME_SYSTEM}" = "Linux" ] ; then
+	eval $set_cc_for_build
+	cat << EOF > $dummy.c
+	#include <features.h>
+	#ifdef __UCLIBC__
+	# ifdef __UCLIBC_CONFIG_VERSION__
+	LIBC=uclibc __UCLIBC_CONFIG_VERSION__
+	# else
+	LIBC=uclibc
+	# endif
+	#else
+	LIBC=gnu
+	#endif
+EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
+fi
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep __ELF__ >/dev/null
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:SunOS:5.*:*)
+	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[45])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep __LP64__ >/dev/null
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-unknown-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:BSD/OS:*:*)
+	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+	exit ;;
+    *:FreeBSD:*:*)
+	case ${UNAME_MACHINE} in
+	    pc98)
+		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    amd64)
+		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	    *)
+		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	esac
+	exit ;;
+    i*:CYGWIN*:*)
+	echo ${UNAME_MACHINE}-pc-cygwin
+	exit ;;
+    *:MINGW*:*)
+	echo ${UNAME_MACHINE}-pc-mingw32
+	exit ;;
+    i*:windows32*:*)
+    	# uname -m includes "-pc" on this system.
+    	echo ${UNAME_MACHINE}-mingw32
+	exit ;;
+    i*:PW*:*)
+	echo ${UNAME_MACHINE}-pc-pw32
+	exit ;;
+    x86:Interix*:[3456]*)
+	echo i586-pc-interix${UNAME_RELEASE}
+	exit ;;
+    EM64T:Interix*:[3456]* | authenticamd:Interix*:[3456]*)
+	echo x86_64-unknown-interix${UNAME_RELEASE}
+	exit ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+	echo i${UNAME_MACHINE}-pc-mks
+	exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+	# UNAME_MACHINE based on the output of uname instead of i386?
+	echo i586-pc-interix
+	exit ;;
+    i*:UWIN*:*)
+	echo ${UNAME_MACHINE}-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-unknown-cygwin
+	exit ;;
+    p*:CYGWIN*:*)
+	echo powerpcle-unknown-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	exit ;;
+    i*86:Minix:*:*)
+	echo ${UNAME_MACHINE}-pc-minix
+	exit ;;
+    arm*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    avr32*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    cris:Linux:*:*)
+	echo cris-axis-linux-${LIBC}
+	exit ;;
+    crisv32:Linux:*:*)
+	echo crisv32-axis-linux-${LIBC}
+	exit ;;
+    frv:Linux:*:*)
+    	echo frv-unknown-linux-${LIBC}
+	exit ;;
+    ia64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m32r*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    m68*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    mips:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mipsel
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	;;
+    mips64:Linux:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#undef CPU
+	#undef mips64
+	#undef mips64el
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	CPU=mips64el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	CPU=mips64
+	#else
+	CPU=
+	#endif
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^CPU/{
+		s: ::g
+		p
+	    }'`"
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
+	;;
+    or32:Linux:*:*)
+	echo or32-unknown-linux-${LIBC}
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-${LIBC}
+	exit ;;
+    alpha:Linux:*:*)
+	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
+	esac
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-${LIBC}
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo ${UNAME_MACHINE}-ibm-linux
+	exit ;;
+    sh64*:Linux:*:*)
+    	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sh*:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    vax:Linux:*:*)
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
+	exit ;;
+    x86_64:Linux:*:*)
+	echo x86_64-unknown-linux-${LIBC}
+	exit ;;
+    xtensa:Linux:*:*)
+    	echo xtensa-unknown-linux-${LIBC}
+	exit ;;
+    i*86:Linux:*:*)
+	# The BFD linker knows what the default object file format is, so
+	# first see if it will tell us. cd to the root directory to prevent
+	# problems with other programs or directories called `ld' in the path.
+	# Set LC_ALL=C to ensure ld outputs messages in English.
+	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+			 | sed -ne '/supported targets:/!d
+				    s/[ 	][ 	]*/ /g
+				    s/.*supported targets: *//
+				    s/ .*//
+				    p'`
+        case "$ld_supported_targets" in
+	  elf32-i386)
+		TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
+		;;
+	  a.out-i386-linux)
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout"
+		exit ;;
+	  coff-i386)
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}coff"
+		exit ;;
+	  "")
+		# Either a pre-BFD a.out linker (linux-gnuoldld) or
+		# one that does not give us useful --help.
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld"
+		exit ;;
+	esac
+	# This should get integrated into the C code below, but now we hack
+	if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
+	# Determine whether the default compiler is a.out or elf
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <features.h>
+	#ifdef __ELF__
+	# ifdef __GLIBC__
+	#  if __GLIBC__ >= 2
+	LIBC=gnu
+	#  else
+	LIBC=gnulibc1
+	#  endif
+	# else
+	LIBC=gnulibc1
+	# endif
+	#else
+	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+	LIBC=gnu
+	#else
+	LIBC=gnuaout
+	#endif
+	#endif
+	#ifdef __dietlibc__
+	LIBC=dietlibc
+	#endif
+EOF
+	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+	    /^LIBC/{
+		s: ::g
+		p
+	    }'`"
+	test x"${LIBC}" != x && {
+		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+		exit
+	}
+	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+	;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo ${UNAME_MACHINE}-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo ${UNAME_MACHINE}-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo ${UNAME_MACHINE}-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo ${UNAME_MACHINE}-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+	echo i386-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    i*86:*DOS:*:*)
+	echo ${UNAME_MACHINE}-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+	else
+		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case `/bin/uname -X | grep "^Machine"` in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+	else
+		echo ${UNAME_MACHINE}-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i386.
+	echo i386-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+	echo powerpc-unknown-lynxos${UNAME_RELEASE}
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv${UNAME_RELEASE}
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=`(uname -p) 2>/dev/null`
+		echo ${UNAME_MACHINE}-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <hewes@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo ${UNAME_MACHINE}-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux${UNAME_RELEASE}
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if [ -d /usr/nec ]; then
+	        echo mips-nec-sysv${UNAME_RELEASE}
+	else
+	        echo mips-unknown-sysv${UNAME_RELEASE}
+	fi
+        exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux${UNAME_RELEASE}
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux${UNAME_RELEASE}
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Rhapsody:*:*)
+	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+	case $UNAME_PROCESSOR in
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=`uname -p`
+	if test "$UNAME_PROCESSOR" = "x86"; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk${UNAME_RELEASE}
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	if test "$cputype" = "386"; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo ${UNAME_MACHINE}-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+	exit ;;
+    *:DragonFly:*:*)
+	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+	exit ;;
+    *:*VMS:*:*)
+    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	case "${UNAME_MACHINE}" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+	exit ;;
+    i*86:rdos:*:*)
+	echo ${UNAME_MACHINE}-pc-rdos
+	exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+	  ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+	printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+	printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+	echo c1-convex-bsd
+	exit ;;
+    c2*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    c34*)
+	echo c34-convex-bsd
+	exit ;;
+    c38*)
+	echo c38-convex-bsd
+	exit ;;
+    c4*)
+	echo c4-convex-bsd
+	exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+and
+  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config.sub	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1640 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
+#   Inc.
+
+timestamp='2007-01-18'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program 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 for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+	-sun*os*)
+		# Prevent following clause from handling this invalid input.
+		;;
+	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+	-apple | -axis | -knuth | -cray)
+		os=
+		basic_machine=$1
+		;;
+	-sim | -cisco | -oki | -wec | -winbond)
+		os=
+		basic_machine=$1
+		;;
+	-scout)
+		;;
+	-wrs)
+		os=-vxworks
+		basic_machine=$1
+		;;
+	-chorusos*)
+		os=-chorusos
+		basic_machine=$1
+		;;
+ 	-chorusrdb)
+ 		os=-chorusrdb
+		basic_machine=$1
+ 		;;
+	-hiux*)
+		os=-hiuxwe2
+		;;
+	-sco6)
+		os=-sco5v6
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5)
+		os=-sco3.2v5
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco4)
+		os=-sco3.2v4
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2.[4-9]*)
+		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco3.2v[4-9]*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco5v6*)
+		# Don't forget version if it is 3.2v4 or newer.
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-sco*)
+		os=-sco3.2v2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-udk*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-isc)
+		os=-isc2.2
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-clix*)
+		basic_machine=clipper-intergraph
+		;;
+	-isc*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+		;;
+	-lynx*)
+		os=-lynxos
+		;;
+	-ptx*)
+		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+		;;
+	-windowsnt*)
+		os=`echo $os | sed -e 's/windowsnt/winnt/'`
+		;;
+	-psos*)
+		os=-psos
+		;;
+	-mint | -mint[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+	# Recognize the basic CPU types without company name.
+	# Some are omitted here because they have special meanings below.
+	1750a | 580 \
+	| a29k \
+	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+	| am33_2.0 \
+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+	| bfin \
+	| c4x | clipper \
+	| d10v | d30v | dlx | dsp16xx | dvp \
+	| fido | fr30 | frv \
+	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| i370 | i860 | i960 | ia64 \
+	| ip2k | iq2000 \
+	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+	| maxq | mb | microblaze | mcore | mep \
+	| mips | mipsbe | mipseb | mipsel | mipsle \
+	| mips16 \
+	| mips64 | mips64el \
+	| mips64vr | mips64vrel \
+	| mips64orion | mips64orionel \
+	| mips64vr4100 | mips64vr4100el \
+	| mips64vr4300 | mips64vr4300el \
+	| mips64vr5000 | mips64vr5000el \
+	| mips64vr5900 | mips64vr5900el \
+	| mipsisa32 | mipsisa32el \
+	| mipsisa32r2 | mipsisa32r2el \
+	| mipsisa64 | mipsisa64el \
+	| mipsisa64r2 | mipsisa64r2el \
+	| mipsisa64sb1 | mipsisa64sb1el \
+	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipstx39 | mipstx39el \
+	| mn10200 | mn10300 \
+	| mt \
+	| msp430 \
+	| nios | nios2 \
+	| ns16k | ns32k \
+	| or32 \
+	| pdp10 | pdp11 | pj | pjl \
+	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| pyramid \
+	| score \
+	| sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+	| sh64 | sh64le \
+	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+	| spu | strongarm \
+	| tahoe | thumb | tic4x | tic80 | tron \
+	| v850 | v850e \
+	| we32k \
+	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| z8k)
+		basic_machine=$basic_machine-unknown
+		;;
+	m6811 | m68hc11 | m6812 | m68hc12)
+		# Motorola 68HC11/12.
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+		;;
+	ms1)
+		basic_machine=mt-unknown
+		;;
+
+	# We use `pc' rather than `unknown'
+	# because (1) that's what they normally are, and
+	# (2) the word "unknown" tends to confuse beginning users.
+	i*86 | x86_64)
+	  basic_machine=$basic_machine-pc
+	  ;;
+	# Object if more than one company name word.
+	*-*-*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+	# Recognize the basic CPU types with company name.
+	580-* \
+	| a29k-* \
+	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+	| avr-* | avr32-* \
+	| bfin-* | bs2000-* \
+	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+	| clipper-* | craynv-* | cydra-* \
+	| d10v-* | d30v-* | dlx-* \
+	| elxsi-* \
+	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+	| h8300-* | h8500-* \
+	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| i*86-* | i860-* | i960-* | ia64-* \
+	| ip2k-* | iq2000-* \
+	| m32c-* | m32r-* | m32rle-* \
+	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* \
+	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+	| mips16-* \
+	| mips64-* | mips64el-* \
+	| mips64vr-* | mips64vrel-* \
+	| mips64orion-* | mips64orionel-* \
+	| mips64vr4100-* | mips64vr4100el-* \
+	| mips64vr4300-* | mips64vr4300el-* \
+	| mips64vr5000-* | mips64vr5000el-* \
+	| mips64vr5900-* | mips64vr5900el-* \
+	| mipsisa32-* | mipsisa32el-* \
+	| mipsisa32r2-* | mipsisa32r2el-* \
+	| mipsisa64-* | mipsisa64el-* \
+	| mipsisa64r2-* | mipsisa64r2el-* \
+	| mipsisa64sb1-* | mipsisa64sb1el-* \
+	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipstx39-* | mipstx39el-* \
+	| mmix-* \
+	| mt-* \
+	| msp430-* \
+	| nios-* | nios2-* \
+	| none-* | np1-* | ns16k-* | ns32k-* \
+	| orion-* \
+	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| pyramid-* \
+	| romp-* | rs6000-* \
+	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]a*eb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+	| sparclite-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+	| tahoe-* | thumb-* \
+	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+	| tron-* \
+	| v850-* | v850e-* | vax-* \
+	| we32k-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| xstormy16-* | xtensa-* \
+	| ymp-* \
+	| z8k-*)
+		;;
+	# Recognize the various machine names and aliases which stand
+	# for a CPU type and a company and sometimes even an OS.
+	386bsd)
+		basic_machine=i386-unknown
+		os=-bsd
+		;;
+	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+		basic_machine=m68000-att
+		;;
+	3b*)
+		basic_machine=we32k-att
+		;;
+	a29khif)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+    	abacus)
+		basic_machine=abacus-unknown
+		;;
+	adobe68k)
+		basic_machine=m68010-adobe
+		os=-scout
+		;;
+	alliant | fx80)
+		basic_machine=fx80-alliant
+		;;
+	altos | altos3068)
+		basic_machine=m68k-altos
+		;;
+	am29k)
+		basic_machine=a29k-none
+		os=-bsd
+		;;
+	amd64)
+		basic_machine=x86_64-pc
+		;;
+	amd64-*)
+		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	amdahl)
+		basic_machine=580-amdahl
+		os=-sysv
+		;;
+	amiga | amiga-*)
+		basic_machine=m68k-unknown
+		;;
+	amigaos | amigados)
+		basic_machine=m68k-unknown
+		os=-amigaos
+		;;
+	amigaunix | amix)
+		basic_machine=m68k-unknown
+		os=-sysv4
+		;;
+	apollo68)
+		basic_machine=m68k-apollo
+		os=-sysv
+		;;
+	apollo68bsd)
+		basic_machine=m68k-apollo
+		os=-bsd
+		;;
+	aux)
+		basic_machine=m68k-apple
+		os=-aux
+		;;
+	balance)
+		basic_machine=ns32k-sequent
+		os=-dynix
+		;;
+	c90)
+		basic_machine=c90-cray
+		os=-unicos
+		;;
+	convex-c1)
+		basic_machine=c1-convex
+		os=-bsd
+		;;
+	convex-c2)
+		basic_machine=c2-convex
+		os=-bsd
+		;;
+	convex-c32)
+		basic_machine=c32-convex
+		os=-bsd
+		;;
+	convex-c34)
+		basic_machine=c34-convex
+		os=-bsd
+		;;
+	convex-c38)
+		basic_machine=c38-convex
+		os=-bsd
+		;;
+	cray | j90)
+		basic_machine=j90-cray
+		os=-unicos
+		;;
+	craynv)
+		basic_machine=craynv-cray
+		os=-unicosmp
+		;;
+	cr16c)
+		basic_machine=cr16c-unknown
+		os=-elf
+		;;
+	crds | unos)
+		basic_machine=m68k-crds
+		;;
+	crisv32 | crisv32-* | etraxfs*)
+		basic_machine=crisv32-axis
+		;;
+	cris | cris-* | etrax*)
+		basic_machine=cris-axis
+		;;
+	crx)
+		basic_machine=crx-unknown
+		os=-elf
+		;;
+	da30 | da30-*)
+		basic_machine=m68k-da30
+		;;
+	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+		basic_machine=mips-dec
+		;;
+	decsystem10* | dec10*)
+		basic_machine=pdp10-dec
+		os=-tops10
+		;;
+	decsystem20* | dec20*)
+		basic_machine=pdp10-dec
+		os=-tops20
+		;;
+	delta | 3300 | motorola-3300 | motorola-delta \
+	      | 3300-motorola | delta-motorola)
+		basic_machine=m68k-motorola
+		;;
+	delta88)
+		basic_machine=m88k-motorola
+		os=-sysv3
+		;;
+	djgpp)
+		basic_machine=i586-pc
+		os=-msdosdjgpp
+		;;
+	dpx20 | dpx20-*)
+		basic_machine=rs6000-bull
+		os=-bosx
+		;;
+	dpx2* | dpx2*-bull)
+		basic_machine=m68k-bull
+		os=-sysv3
+		;;
+	ebmon29k)
+		basic_machine=a29k-amd
+		os=-ebmon
+		;;
+	elxsi)
+		basic_machine=elxsi-elxsi
+		os=-bsd
+		;;
+	encore | umax | mmax)
+		basic_machine=ns32k-encore
+		;;
+	es1800 | OSE68k | ose68k | ose | OSE)
+		basic_machine=m68k-ericsson
+		os=-ose
+		;;
+	fx2800)
+		basic_machine=i860-alliant
+		;;
+	genix)
+		basic_machine=ns32k-ns
+		;;
+	gmicro)
+		basic_machine=tron-gmicro
+		os=-sysv
+		;;
+	go32)
+		basic_machine=i386-pc
+		os=-go32
+		;;
+	h3050r* | hiux*)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	h8300hms)
+		basic_machine=h8300-hitachi
+		os=-hms
+		;;
+	h8300xray)
+		basic_machine=h8300-hitachi
+		os=-xray
+		;;
+	h8500hms)
+		basic_machine=h8500-hitachi
+		os=-hms
+		;;
+	harris)
+		basic_machine=m88k-harris
+		os=-sysv3
+		;;
+	hp300-*)
+		basic_machine=m68k-hp
+		;;
+	hp300bsd)
+		basic_machine=m68k-hp
+		os=-bsd
+		;;
+	hp300hpux)
+		basic_machine=m68k-hp
+		os=-hpux
+		;;
+	hp3k9[0-9][0-9] | hp9[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k2[0-9][0-9] | hp9k31[0-9])
+		basic_machine=m68000-hp
+		;;
+	hp9k3[2-9][0-9])
+		basic_machine=m68k-hp
+		;;
+	hp9k6[0-9][0-9] | hp6[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hp9k7[0-79][0-9] | hp7[0-79][0-9])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k78[0-9] | hp78[0-9])
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+		# FIXME: really hppa2.0-hp
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][13679] | hp8[0-9][13679])
+		basic_machine=hppa1.1-hp
+		;;
+	hp9k8[0-9][0-9] | hp8[0-9][0-9])
+		basic_machine=hppa1.0-hp
+		;;
+	hppa-next)
+		os=-nextstep3
+		;;
+	hppaosf)
+		basic_machine=hppa1.1-hp
+		os=-osf
+		;;
+	hppro)
+		basic_machine=hppa1.1-hp
+		os=-proelf
+		;;
+	i370-ibm* | ibm*)
+		basic_machine=i370-ibm
+		;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+	i*86v32)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv32
+		;;
+	i*86v4*)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv4
+		;;
+	i*86v)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-sysv
+		;;
+	i*86sol2)
+		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+		os=-solaris2
+		;;
+	i386mach)
+		basic_machine=i386-mach
+		os=-mach
+		;;
+	i386-vsta | vsta)
+		basic_machine=i386-unknown
+		os=-vsta
+		;;
+	iris | iris4d)
+		basic_machine=mips-sgi
+		case $os in
+		    -irix*)
+			;;
+		    *)
+			os=-irix4
+			;;
+		esac
+		;;
+	isi68 | isi)
+		basic_machine=m68k-isi
+		os=-sysv
+		;;
+	m88k-omron*)
+		basic_machine=m88k-omron
+		;;
+	magnum | m3230)
+		basic_machine=mips-mips
+		os=-sysv
+		;;
+	merlin)
+		basic_machine=ns32k-utek
+		os=-sysv
+		;;
+	mingw32)
+		basic_machine=i386-pc
+		os=-mingw32
+		;;
+	miniframe)
+		basic_machine=m68000-convergent
+		;;
+	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+		basic_machine=m68k-atari
+		os=-mint
+		;;
+	mipsEE* | ee | ps2)
+		basic_machine=mips64r5900el-scei
+		case $os in
+		    -linux*)
+			;;
+		    *)
+			os=-elf
+			;;
+		esac
+		;;
+	iop)
+		basic_machine=mipsel-scei
+		os=-irx
+		;;
+	dvp)
+		basic_machine=dvp-scei
+		os=-elf
+		;;
+	mips3*-*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+		;;
+	mips3*)
+		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+		;;
+	monitor)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	morphos)
+		basic_machine=powerpc-unknown
+		os=-morphos
+		;;
+	msdos)
+		basic_machine=i386-pc
+		os=-msdos
+		;;
+	ms1-*)
+		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+		;;
+	mvs)
+		basic_machine=i370-ibm
+		os=-mvs
+		;;
+	ncr3000)
+		basic_machine=i486-ncr
+		os=-sysv4
+		;;
+	netbsd386)
+		basic_machine=i386-unknown
+		os=-netbsd
+		;;
+	netwinder)
+		basic_machine=armv4l-rebel
+		os=-linux
+		;;
+	news | news700 | news800 | news900)
+		basic_machine=m68k-sony
+		os=-newsos
+		;;
+	news1000)
+		basic_machine=m68030-sony
+		os=-newsos
+		;;
+	news-3600 | risc-news)
+		basic_machine=mips-sony
+		os=-newsos
+		;;
+	necv70)
+		basic_machine=v70-nec
+		os=-sysv
+		;;
+	next | m*-next )
+		basic_machine=m68k-next
+		case $os in
+		    -nextstep* )
+			;;
+		    -ns2*)
+		      os=-nextstep2
+			;;
+		    *)
+		      os=-nextstep3
+			;;
+		esac
+		;;
+	nh3000)
+		basic_machine=m68k-harris
+		os=-cxux
+		;;
+	nh[45]000)
+		basic_machine=m88k-harris
+		os=-cxux
+		;;
+	nindy960)
+		basic_machine=i960-intel
+		os=-nindy
+		;;
+	mon960)
+		basic_machine=i960-intel
+		os=-mon960
+		;;
+	nonstopux)
+		basic_machine=mips-compaq
+		os=-nonstopux
+		;;
+	np1)
+		basic_machine=np1-gould
+		;;
+	nsr-tandem)
+		basic_machine=nsr-tandem
+		;;
+	op50n-* | op60c-*)
+		basic_machine=hppa1.1-oki
+		os=-proelf
+		;;
+	openrisc | openrisc-*)
+		basic_machine=or32-unknown
+		;;
+	os400)
+		basic_machine=powerpc-ibm
+		os=-os400
+		;;
+	OSE68000 | ose68000)
+		basic_machine=m68000-ericsson
+		os=-ose
+		;;
+	os68k)
+		basic_machine=m68k-none
+		os=-os68k
+		;;
+	pa-hitachi)
+		basic_machine=hppa1.1-hitachi
+		os=-hiuxwe2
+		;;
+	paragon)
+		basic_machine=i860-intel
+		os=-osf
+		;;
+	pbd)
+		basic_machine=sparc-tti
+		;;
+	pbb)
+		basic_machine=m68k-tti
+		;;
+	pc532 | pc532-*)
+		basic_machine=ns32k-pc532
+		;;
+	pc98)
+		basic_machine=i386-pc
+		;;
+	pc98-*)
+		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium | p5 | k5 | k6 | nexgen | viac3)
+		basic_machine=i586-pc
+		;;
+	pentiumpro | p6 | 6x86 | athlon | athlon_*)
+		basic_machine=i686-pc
+		;;
+	pentiumii | pentium2 | pentiumiii | pentium3)
+		basic_machine=i686-pc
+		;;
+	pentium4)
+		basic_machine=i786-pc
+		;;
+	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumpro-* | p6-* | 6x86-* | athlon-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pentium4-*)
+		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	pn)
+		basic_machine=pn-gould
+		;;
+	power)	basic_machine=power-ibm
+		;;
+	ppc)	basic_machine=powerpc-unknown
+		;;
+	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppcle | powerpclittle | ppc-le | powerpc-little)
+		basic_machine=powerpcle-unknown
+		;;
+	ppcle-* | powerpclittle-*)
+		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64)	basic_machine=powerpc64-unknown
+		;;
+	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+		basic_machine=powerpc64le-unknown
+		;;
+	ppc64le-* | powerpc64little-*)
+		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
+	ps2)
+		basic_machine=i386-ibm
+		;;
+	pw32)
+		basic_machine=i586-unknown
+		os=-pw32
+		;;
+	rdos)
+		basic_machine=i386-pc
+		os=-rdos
+		;;
+	rom68k)
+		basic_machine=m68k-rom68k
+		os=-coff
+		;;
+	rm[46]00)
+		basic_machine=mips-siemens
+		;;
+	rtpc | rtpc-*)
+		basic_machine=romp-ibm
+		;;
+	s390 | s390-*)
+		basic_machine=s390-ibm
+		;;
+	s390x | s390x-*)
+		basic_machine=s390x-ibm
+		;;
+	sa29200)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	sb1)
+		basic_machine=mipsisa64sb1-unknown
+		;;
+	sb1el)
+		basic_machine=mipsisa64sb1el-unknown
+		;;
+	sde)
+		basic_machine=mipsisa32-sde
+		os=-elf
+		;;
+	sei)
+		basic_machine=mips-sei
+		os=-seiux
+		;;
+	sequent)
+		basic_machine=i386-sequent
+		;;
+	sh)
+		basic_machine=sh-hitachi
+		os=-hms
+		;;
+	sh5el)
+		basic_machine=sh5le-unknown
+		;;
+	sh64)
+		basic_machine=sh64-unknown
+		;;
+	sparclite-wrs | simso-wrs)
+		basic_machine=sparclite-wrs
+		os=-vxworks
+		;;
+	sps7)
+		basic_machine=m68k-bull
+		os=-sysv2
+		;;
+	spur)
+		basic_machine=spur-unknown
+		;;
+	st2000)
+		basic_machine=m68k-tandem
+		;;
+	stratus)
+		basic_machine=i860-stratus
+		os=-sysv4
+		;;
+	sun2)
+		basic_machine=m68000-sun
+		;;
+	sun2os3)
+		basic_machine=m68000-sun
+		os=-sunos3
+		;;
+	sun2os4)
+		basic_machine=m68000-sun
+		os=-sunos4
+		;;
+	sun3os3)
+		basic_machine=m68k-sun
+		os=-sunos3
+		;;
+	sun3os4)
+		basic_machine=m68k-sun
+		os=-sunos4
+		;;
+	sun4os3)
+		basic_machine=sparc-sun
+		os=-sunos3
+		;;
+	sun4os4)
+		basic_machine=sparc-sun
+		os=-sunos4
+		;;
+	sun4sol2)
+		basic_machine=sparc-sun
+		os=-solaris2
+		;;
+	sun3 | sun3-*)
+		basic_machine=m68k-sun
+		;;
+	sun4)
+		basic_machine=sparc-sun
+		;;
+	sun386 | sun386i | roadrunner)
+		basic_machine=i386-sun
+		;;
+	sv1)
+		basic_machine=sv1-cray
+		os=-unicos
+		;;
+	symmetry)
+		basic_machine=i386-sequent
+		os=-dynix
+		;;
+	t3e)
+		basic_machine=alphaev5-cray
+		os=-unicos
+		;;
+	t90)
+		basic_machine=t90-cray
+		os=-unicos
+		;;
+	tic54x | c54x*)
+		basic_machine=tic54x-unknown
+		os=-coff
+		;;
+	tic55x | c55x*)
+		basic_machine=tic55x-unknown
+		os=-coff
+		;;
+	tic6x | c6x*)
+		basic_machine=tic6x-unknown
+		os=-coff
+		;;
+	tx39)
+		basic_machine=mipstx39-unknown
+		;;
+	tx39el)
+		basic_machine=mipstx39el-unknown
+		;;
+	toad1)
+		basic_machine=pdp10-xkl
+		os=-tops20
+		;;
+	tower | tower-32)
+		basic_machine=m68k-ncr
+		;;
+	tpf)
+		basic_machine=s390x-ibm
+		os=-tpf
+		;;
+	udi29k)
+		basic_machine=a29k-amd
+		os=-udi
+		;;
+	ultra3)
+		basic_machine=a29k-nyu
+		os=-sym1
+		;;
+	v810 | necv810)
+		basic_machine=v810-nec
+		os=-none
+		;;
+	vaxv)
+		basic_machine=vax-dec
+		os=-sysv
+		;;
+	vms)
+		basic_machine=vax-dec
+		os=-vms
+		;;
+	vpp*|vx|vx-*)
+		basic_machine=f301-fujitsu
+		;;
+	vxworks960)
+		basic_machine=i960-wrs
+		os=-vxworks
+		;;
+	vxworks68)
+		basic_machine=m68k-wrs
+		os=-vxworks
+		;;
+	vxworks29k)
+		basic_machine=a29k-wrs
+		os=-vxworks
+		;;
+	w65*)
+		basic_machine=w65-wdc
+		os=-none
+		;;
+	w89k-*)
+		basic_machine=hppa1.1-winbond
+		os=-proelf
+		;;
+	xbox)
+		basic_machine=i686-pc
+		os=-mingw32
+		;;
+	xps | xps100)
+		basic_machine=xps100-honeywell
+		;;
+	ymp)
+		basic_machine=ymp-cray
+		os=-unicos
+		;;
+	z8k-*-coff)
+		basic_machine=z8k-unknown
+		os=-sim
+		;;
+	none)
+		basic_machine=none-none
+		os=-none
+		;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+	w89k)
+		basic_machine=hppa1.1-winbond
+		;;
+	op50n)
+		basic_machine=hppa1.1-oki
+		;;
+	op60c)
+		basic_machine=hppa1.1-oki
+		;;
+	romp)
+		basic_machine=romp-ibm
+		;;
+	mmix)
+		basic_machine=mmix-knuth
+		;;
+	rs6000)
+		basic_machine=rs6000-ibm
+		;;
+	vax)
+		basic_machine=vax-dec
+		;;
+	pdp10)
+		# there are many clones, so DEC is not a safe bet
+		basic_machine=pdp10-unknown
+		;;
+	pdp11)
+		basic_machine=pdp11-dec
+		;;
+	we32k)
+		basic_machine=we32k-att
+		;;
+	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
+		basic_machine=sh-unknown
+		;;
+	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+		basic_machine=sparc-sun
+		;;
+	cydra)
+		basic_machine=cydra-cydrome
+		;;
+	orion)
+		basic_machine=orion-highlevel
+		;;
+	orion105)
+		basic_machine=clipper-highlevel
+		;;
+	mac | mpw | mac-mpw)
+		basic_machine=m68k-apple
+		;;
+	pmac | pmac-mpw)
+		basic_machine=powerpc-apple
+		;;
+	*-unknown)
+		# Make sure to match an already-canonicalized machine name.
+		;;
+	*)
+		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+		exit 1
+		;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+	*-digital*)
+		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+		;;
+	*-commodore*)
+		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+		;;
+	*)
+		;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+	# -solaris* is a basic system type, with this one exception.
+	-solaris1 | -solaris1.*)
+		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+		;;
+	-solaris)
+		os=-solaris2
+		;;
+	-svr4*)
+		os=-sysv4
+		;;
+	-unixware*)
+		os=-sysv4.2uw
+		;;
+	-gnu/linux*)
+		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+		;;
+	# First accept the basic system types.
+	# The portable systems comes first.
+	# Each alternative MUST END IN A *, to match a version number.
+	# -sysv* is not here because it comes later, after sysvr4.
+	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+	      | -aos* \
+	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+	      | -openbsd* | -solidbsd* \
+	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+	      | -chorusos* | -chorusrdb* \
+	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+	      | -uxpv* | -beos* | -mpeix* | -udk* \
+	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*)
+	# Remember, each alternative MUST END IN *, to match a version number.
+		;;
+	-qnx*)
+		case $basic_machine in
+		    x86-* | i*86-*)
+			;;
+		    *)
+			os=-nto$os
+			;;
+		esac
+		;;
+	-nto-qnx*)
+		;;
+	-nto*)
+		os=`echo $os | sed -e 's|nto|nto-qnx|'`
+		;;
+	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+		;;
+	-mac*)
+		os=`echo $os | sed -e 's|mac|macos|'`
+		;;
+	-linux-dietlibc)
+		os=-linux-dietlibc
+		;;
+	-linux*)
+		os=`echo $os | sed -e 's|linux|linux-gnu|'`
+		;;
+	-sunos5*)
+		os=`echo $os | sed -e 's|sunos5|solaris2|'`
+		;;
+	-sunos6*)
+		os=`echo $os | sed -e 's|sunos6|solaris3|'`
+		;;
+	-opened*)
+		os=-openedition
+		;;
+        -os400*)
+		os=-os400
+		;;
+	-wince*)
+		os=-wince
+		;;
+	-osfrose*)
+		os=-osfrose
+		;;
+	-osf*)
+		os=-osf
+		;;
+	-utek*)
+		os=-bsd
+		;;
+	-dynix*)
+		os=-bsd
+		;;
+	-acis*)
+		os=-aos
+		;;
+	-atheos*)
+		os=-atheos
+		;;
+	-syllable*)
+		os=-syllable
+		;;
+	-386bsd)
+		os=-bsd
+		;;
+	-ctix* | -uts*)
+		os=-sysv
+		;;
+	-nova*)
+		os=-rtmk-nova
+		;;
+	-ns2 )
+		os=-nextstep2
+		;;
+	-nsk*)
+		os=-nsk
+		;;
+	# Preserve the version number of sinix5.
+	-sinix5.*)
+		os=`echo $os | sed -e 's|sinix|sysv|'`
+		;;
+	-sinix*)
+		os=-sysv4
+		;;
+        -tpf*)
+		os=-tpf
+		;;
+	-triton*)
+		os=-sysv3
+		;;
+	-oss*)
+		os=-sysv3
+		;;
+	-svr4)
+		os=-sysv4
+		;;
+	-svr3)
+		os=-sysv3
+		;;
+	-sysvr4)
+		os=-sysv4
+		;;
+	# This must come after -sysvr4.
+	-sysv*)
+		;;
+	-ose*)
+		os=-ose
+		;;
+	-es1800*)
+		os=-ose
+		;;
+	-xenix)
+		os=-xenix
+		;;
+	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+		os=-mint
+		;;
+	-aros*)
+		os=-aros
+		;;
+	-kaos*)
+		os=-kaos
+		;;
+	-zvmoe)
+		os=-zvmoe
+		;;
+	-none)
+		;;
+	*)
+		# Get rid of the `-' at the beginning of $os.
+		os=`echo $os | sed 's/[^-]*-//'`
+		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+		exit 1
+		;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+        score-*)
+		os=-elf
+		;;
+        spu-*)
+		os=-elf
+		;;
+	*-acorn)
+		os=-riscix1.2
+		;;
+	arm*-rebel)
+		os=-linux
+		;;
+	arm*-semi)
+		os=-aout
+		;;
+        c4x-* | tic4x-*)
+        	os=-coff
+		;;
+	# This must come before the *-dec entry.
+	pdp10-*)
+		os=-tops20
+		;;
+	pdp11-*)
+		os=-none
+		;;
+	*-dec | vax-*)
+		os=-ultrix4.2
+		;;
+	m68*-apollo)
+		os=-domain
+		;;
+	i386-sun)
+		os=-sunos4.0.2
+		;;
+	m68000-sun)
+		os=-sunos3
+		# This also exists in the configure program, but was not the
+		# default.
+		# os=-sunos4
+		;;
+	m68*-cisco)
+		os=-aout
+		;;
+        mep-*)
+		os=-elf
+		;;
+	mips*-cisco)
+		os=-elf
+		;;
+	mips*-*)
+		os=-elf
+		;;
+	or32-*)
+		os=-coff
+		;;
+	*-tti)	# must be before sparc entry or we get the wrong os.
+		os=-sysv3
+		;;
+	sparc-* | *-sun)
+		os=-sunos4.1.1
+		;;
+	*-be)
+		os=-beos
+		;;
+	*-haiku)
+		os=-haiku
+		;;
+	*-ibm)
+		os=-aix
+		;;
+    	*-knuth)
+		os=-mmixware
+		;;
+	*-wec)
+		os=-proelf
+		;;
+	*-winbond)
+		os=-proelf
+		;;
+	*-oki)
+		os=-proelf
+		;;
+	*-hp)
+		os=-hpux
+		;;
+	*-hitachi)
+		os=-hiux
+		;;
+	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+		os=-sysv
+		;;
+	*-cbm)
+		os=-amigaos
+		;;
+	*-dg)
+		os=-dgux
+		;;
+	*-dolphin)
+		os=-sysv3
+		;;
+	m68k-ccur)
+		os=-rtu
+		;;
+	m88k-omron*)
+		os=-luna
+		;;
+	*-next )
+		os=-nextstep
+		;;
+	*-sequent)
+		os=-ptx
+		;;
+	*-crds)
+		os=-unos
+		;;
+	*-ns)
+		os=-genix
+		;;
+	i370-*)
+		os=-mvs
+		;;
+	*-next)
+		os=-nextstep3
+		;;
+	*-gould)
+		os=-sysv
+		;;
+	*-highlevel)
+		os=-bsd
+		;;
+	*-encore)
+		os=-bsd
+		;;
+	*-sgi)
+		os=-irix
+		;;
+	*-siemens)
+		os=-sysv4
+		;;
+	*-masscomp)
+		os=-rtu
+		;;
+	f30[01]-fujitsu | f700-fujitsu)
+		os=-uxpv
+		;;
+	*-rom68k)
+		os=-coff
+		;;
+	*-*bug)
+		os=-coff
+		;;
+	*-apple)
+		os=-macos
+		;;
+	*-atari*)
+		os=-mint
+		;;
+	*)
+		os=-none
+		;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+	*-unknown)
+		case $os in
+			-riscix*)
+				vendor=acorn
+				;;
+			-sunos*)
+				vendor=sun
+				;;
+			-aix*)
+				vendor=ibm
+				;;
+			-beos*)
+				vendor=be
+				;;
+			-hpux*)
+				vendor=hp
+				;;
+			-mpeix*)
+				vendor=hp
+				;;
+			-hiux*)
+				vendor=hitachi
+				;;
+			-unos*)
+				vendor=crds
+				;;
+			-dgux*)
+				vendor=dg
+				;;
+			-luna*)
+				vendor=omron
+				;;
+			-genix*)
+				vendor=ns
+				;;
+			-mvs* | -opened*)
+				vendor=ibm
+				;;
+			-os400*)
+				vendor=ibm
+				;;
+			-ptx*)
+				vendor=sequent
+				;;
+			-tpf*)
+				vendor=ibm
+				;;
+			-vxsim* | -vxworks* | -windiss*)
+				vendor=wrs
+				;;
+			-aux*)
+				vendor=apple
+				;;
+			-hms*)
+				vendor=hitachi
+				;;
+			-mpw* | -macos*)
+				vendor=apple
+				;;
+			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+				vendor=atari
+				;;
+			-vos*)
+				vendor=stratus
+				;;
+		esac
+		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+		;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configure	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,9415 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61 for icedtea 1.0.
+#
+# Report bugs to <fitzsim@redhat.com>.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+
+  if test $as_have_required = yes && 	 (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
+    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  case $as_dir in
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+	   done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+	 # Try only shells that exist, to save several forks.
+	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		{ ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+	       as_have_required=yes
+	       if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+        done
+        export CONFIG_SHELL
+        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell autoconf@gnu.org about your system,
+  echo including any error possibly output before this
+  echo message
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME='icedtea'
+PACKAGE_TARNAME='icedtea'
+PACKAGE_VERSION='1.0'
+PACKAGE_STRING='icedtea 1.0'
+PACKAGE_BUGREPORT='fitzsim@redhat.com'
+
+ac_default_prefix=bootstrap
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+am__isrc
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+FIND
+find
+MD5SUM
+PATCH
+UNZIP
+WGET
+BUILD_ARCH_DIR
+INSTALL_ARCH_DIR
+JAVA
+ECJ
+JAVAC
+FOUND_ECJ_TRUE
+FOUND_ECJ_FALSE
+FOUND_JAVAC_TRUE
+FOUND_JAVAC_FALSE
+JAVAH
+JAR
+RMIC
+ECJ_JAR
+LIBGCJ_JAR
+ENDORSED_JARS
+OPENJDK_SRC_DIR
+GNU_CLASSLIB_FOUND_TRUE
+GNU_CLASSLIB_FOUND_FALSE
+CPP
+GREP
+EGREP
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+   { (exit 1); exit 1; }; }
+    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+    eval enable_$ac_feature=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid package name: $ac_package" >&2
+   { (exit 1); exit 1; }; }
+    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+    eval with_$ac_package=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; }
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+   { (exit 1); exit 1; }; }
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  { echo "$as_me: error: missing argument to $ac_option" >&2
+   { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$0" : 'X\(//\)[^/]' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+   { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+   { (exit 1); exit 1; }; }
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures icedtea 1.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+			  [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+			  [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR           user executables [EPREFIX/bin]
+  --sbindir=DIR          system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR       program executables [EPREFIX/libexec]
+  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
+  --libdir=DIR           object code libraries [EPREFIX/lib]
+  --includedir=DIR       C header files [PREFIX/include]
+  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
+  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR          info documentation [DATAROOTDIR/info]
+  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR           man documentation [DATAROOTDIR/man]
+  --docdir=DIR           documentation root [DATAROOTDIR/doc/icedtea]
+  --htmldir=DIR          html documentation [DOCDIR]
+  --dvidir=DIR           dvi documentation [DOCDIR]
+  --pdfdir=DIR           pdf documentation [DOCDIR]
+  --psdir=DIR            ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of icedtea 1.0:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-java             specify location of the 1.5 java vm
+  --with-ecj              bytecode compilation with ecj
+  --with-javac            bytecode compilation with javac
+  --with-javah            specify location of the javah
+  --with-jar              specify location of the jar
+  --with-rmic             specify location of the rmic
+  --with-ecj-jar          specify location of the ECJ jar
+  --with-libgcj-jar       specify location of the libgcj jar
+  --with-endorsed-dir     specify directory of endorsed jars (xalan-j2.jar,
+                          xalan-j2-serializer.jar, xerces-j2.jar)
+  --with-openjdk-src-dir  specify the location of the openjdk sources
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <fitzsim@redhat.com>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" || continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+icedtea configure 1.0
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by icedtea $as_me 1.0, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+    2)
+      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      ac_configure_args="$ac_configure_args '$ac_arg'"
+      ;;
+    esac
+  done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      echo "$as_me: caught signal $ac_signal"
+    echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+  set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+  set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+  set x "$ac_default_prefix/share/config.site" \
+	"$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+  if test -r "$ac_site_file"; then
+    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special
+  # files actually), so we avoid doing that.
+  if test -f "$cache_file"; then
+    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	{ echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
+echo "$as_me:   former value:  $ac_old_val" >&2;}
+	{ echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
+echo "$as_me:   current value: $ac_new_val" >&2;}
+	ac_cache_corrupted=:
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.10'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+  ./ | .// | /cC/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	    break 3
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t $srcdir/configure conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" >&2;}
+   { (exit 1); exit 1; }; }
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.  echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
+echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+done
+IFS=$as_save_IFS
+
+fi
+
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    test -d ./--version && rmdir ./--version
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
+echo "${ECHO_T}$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+  SET_MAKE=
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='icedtea'
+ VERSION='1.0'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+
+{ echo "$as_me:$LINENO: checking how to create a pax tar archive" >&5
+echo $ECHO_N "checking how to create a pax tar archive... $ECHO_C" >&6; }
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar  pax cpio none'
+_am_tools=${am_cv_prog_tar_pax-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      { echo "$as_me:$LINENO: $_am_tar --version" >&5
+   ($_am_tar --version) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); } && break
+    done
+    am__tar="$_am_tar --format=posix -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=posix -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x pax -w "$$tardir"'
+    am__tar_='pax -L -x pax -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H pax -L'
+    am__tar_='find "$tardir" -print | cpio -o -H pax -L'
+    am__untar='cpio -i -H pax -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_pax}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5
+   (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    { echo "$as_me:$LINENO: $am__untar <conftest.tar" >&5
+   ($am__untar <conftest.tar) >&5 2>&5
+   ac_status=$?
+   echo "$as_me:$LINENO: \$? = $ac_status" >&5
+   (exit $ac_status); }
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+if test "${am_cv_prog_tar_pax+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  am_cv_prog_tar_pax=$_am_tool
+fi
+
+{ echo "$as_me:$LINENO: result: $am_cv_prog_tar_pax" >&5
+echo "${ECHO_T}$am_cv_prog_tar_pax" >&6; }
+
+
+
+
+
+ac_config_files="$ac_config_files Makefile"
+
+ac_config_files="$ac_config_files javac"
+
+ac_config_files="$ac_config_files javap"
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in gcc
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in gcc
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+echo "${ECHO_T}$ac_ct_CC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+
+test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&5
+echo "$as_me: error: no acceptable C compiler found in \$PATH
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+
+# Provide some information about the compiler.
+echo "$as_me:$LINENO: checking for C compiler version" >&5
+ac_compiler=`set X $ac_compile; echo $2`
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }
+
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
+ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+#
+# List of possible output files, starting from the most likely.
+# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
+# only as a last resort.  b.out is created by i960 compilers.
+ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
+#
+# The IRIX 6 linker writes into existing files which may not be
+# executable, retaining their permissions.  Remove them first so a
+# subsequent execution test works.
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+
+{ echo "$as_me:$LINENO: result: $ac_file" >&5
+echo "${ECHO_T}$ac_file" >&6; }
+if test -z "$ac_file"; then
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+See \`config.log' for more details." >&5
+echo "$as_me: error: C compiler cannot create executables
+See \`config.log' for more details." >&2;}
+   { (exit 77); exit 77; }; }
+fi
+
+ac_exeext=$ac_cv_exeext
+
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
+# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
+# If not cross compiling, check that we can run a simple program.
+if test "$cross_compiling" != yes; then
+  if { ac_try='./$ac_file'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+    fi
+  fi
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+
+rm -f a.out a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
+{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
+echo "${ECHO_T}$cross_compiling" >&6; }
+
+{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
+echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest$ac_cv_exeext
+{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+echo "${ECHO_T}$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
+echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
+if test "${ac_cv_objext+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; then
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+echo "${ECHO_T}$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_compiler_gnu=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_compiler_gnu=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
+GCC=`test $ac_compiler_gnu = yes && echo yes`
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { echo "$as_me:$LINENO: result: none needed" >&5
+echo "${ECHO_T}none needed" >&6; } ;;
+  xno)
+    { echo "$as_me:$LINENO: result: unsupported" >&5
+echo "${ECHO_T}unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC"   am_compiler_list=
+
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    case $depmode in
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    none) break ;;
+    esac
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.
+    if depmode=$depmode \
+       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}find", so it can be a program name with args.
+set dummy ${ac_tool_prefix}find; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_FIND+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $FIND in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_FIND="$FIND" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+FIND=$ac_cv_path_FIND
+if test -n "$FIND"; then
+  { echo "$as_me:$LINENO: result: $FIND" >&5
+echo "${ECHO_T}$FIND" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_FIND"; then
+  ac_pt_FIND=$FIND
+  # Extract the first word of "find", so it can be a program name with args.
+set dummy find; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_FIND+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_FIND in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_FIND="$ac_pt_FIND" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_FIND="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_FIND=$ac_cv_path_ac_pt_FIND
+if test -n "$ac_pt_FIND"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_FIND" >&5
+echo "${ECHO_T}$ac_pt_FIND" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_FIND" = x; then
+    FIND=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    FIND=$ac_pt_FIND
+  fi
+else
+  FIND="$ac_cv_path_FIND"
+fi
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}md5sum", so it can be a program name with args.
+set dummy ${ac_tool_prefix}md5sum; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_MD5SUM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $MD5SUM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MD5SUM="$MD5SUM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MD5SUM="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MD5SUM=$ac_cv_path_MD5SUM
+if test -n "$MD5SUM"; then
+  { echo "$as_me:$LINENO: result: $MD5SUM" >&5
+echo "${ECHO_T}$MD5SUM" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_MD5SUM"; then
+  ac_pt_MD5SUM=$MD5SUM
+  # Extract the first word of "md5sum", so it can be a program name with args.
+set dummy md5sum; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_MD5SUM+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_MD5SUM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_MD5SUM="$ac_pt_MD5SUM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_MD5SUM="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_MD5SUM=$ac_cv_path_ac_pt_MD5SUM
+if test -n "$ac_pt_MD5SUM"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_MD5SUM" >&5
+echo "${ECHO_T}$ac_pt_MD5SUM" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_MD5SUM" = x; then
+    MD5SUM=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    MD5SUM=$ac_pt_MD5SUM
+  fi
+else
+  MD5SUM="$ac_cv_path_MD5SUM"
+fi
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}patch", so it can be a program name with args.
+set dummy ${ac_tool_prefix}patch; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_PATCH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $PATCH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PATCH="$PATCH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PATCH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PATCH=$ac_cv_path_PATCH
+if test -n "$PATCH"; then
+  { echo "$as_me:$LINENO: result: $PATCH" >&5
+echo "${ECHO_T}$PATCH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PATCH"; then
+  ac_pt_PATCH=$PATCH
+  # Extract the first word of "patch", so it can be a program name with args.
+set dummy patch; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_PATCH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_PATCH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PATCH="$ac_pt_PATCH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_PATCH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PATCH=$ac_cv_path_ac_pt_PATCH
+if test -n "$ac_pt_PATCH"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_PATCH" >&5
+echo "${ECHO_T}$ac_pt_PATCH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_PATCH" = x; then
+    PATCH=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    PATCH=$ac_pt_PATCH
+  fi
+else
+  PATCH="$ac_cv_path_PATCH"
+fi
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}unzip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}unzip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_UNZIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $UNZIP in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_UNZIP="$UNZIP" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_UNZIP="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+UNZIP=$ac_cv_path_UNZIP
+if test -n "$UNZIP"; then
+  { echo "$as_me:$LINENO: result: $UNZIP" >&5
+echo "${ECHO_T}$UNZIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_UNZIP"; then
+  ac_pt_UNZIP=$UNZIP
+  # Extract the first word of "unzip", so it can be a program name with args.
+set dummy unzip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_UNZIP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_UNZIP in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_UNZIP="$ac_pt_UNZIP" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_UNZIP="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_UNZIP=$ac_cv_path_ac_pt_UNZIP
+if test -n "$ac_pt_UNZIP"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_UNZIP" >&5
+echo "${ECHO_T}$ac_pt_UNZIP" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_UNZIP" = x; then
+    UNZIP=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    UNZIP=$ac_pt_UNZIP
+  fi
+else
+  UNZIP="$ac_cv_path_UNZIP"
+fi
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}wget", so it can be a program name with args.
+set dummy ${ac_tool_prefix}wget; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_WGET+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $WGET in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+WGET=$ac_cv_path_WGET
+if test -n "$WGET"; then
+  { echo "$as_me:$LINENO: result: $WGET" >&5
+echo "${ECHO_T}$WGET" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_WGET"; then
+  ac_pt_WGET=$WGET
+  # Extract the first word of "wget", so it can be a program name with args.
+set dummy wget; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ac_pt_WGET+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ac_pt_WGET in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_WGET="$ac_pt_WGET" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_WGET="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_WGET=$ac_cv_path_ac_pt_WGET
+if test -n "$ac_pt_WGET"; then
+  { echo "$as_me:$LINENO: result: $ac_pt_WGET" >&5
+echo "${ECHO_T}$ac_pt_WGET" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+  if test "x$ac_pt_WGET" = x; then
+    WGET=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    WGET=$ac_pt_WGET
+  fi
+else
+  WGET="$ac_cv_path_WGET"
+fi
+
+
+
+
+  case "${host}" in
+    x86_64-*-*)
+      BUILD_ARCH_DIR=amd64
+      INSTALL_ARCH_DIR=amd64
+      ;;
+    *)
+      BUILD_ARCH_DIR=i586
+      INSTALL_ARCH_DIR=i386
+      ;;
+  esac
+
+
+
+
+
+# Check whether --with-java was given.
+if test "${with_java+set}" = set; then
+  withval=$with_java;
+    if test -f "${withval}"; then
+      { echo "$as_me:$LINENO: checking java" >&5
+echo $ECHO_N "checking java... $ECHO_C" >&6; }
+      JAVA="${withval}"
+      { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+    else
+      # Extract the first word of ""${withval}"", so it can be a program name with args.
+set dummy "${withval}"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVA+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVA in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVA=$ac_cv_path_JAVA
+if test -n "$JAVA"; then
+  { echo "$as_me:$LINENO: result: $JAVA" >&5
+echo "${ECHO_T}$JAVA" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+
+else
+
+    JAVA=
+
+fi
+
+  if test -z "${JAVA}"; then
+    # Extract the first word of ""gij"", so it can be a program name with args.
+set dummy "gij"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVA+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVA in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVA=$ac_cv_path_JAVA
+if test -n "$JAVA"; then
+  { echo "$as_me:$LINENO: result: $JAVA" >&5
+echo "${ECHO_T}$JAVA" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${JAVA}"; then
+    # Extract the first word of ""java"", so it can be a program name with args.
+set dummy "java"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVA+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVA in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVA="$JAVA" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVA="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVA=$ac_cv_path_JAVA
+if test -n "$JAVA"; then
+  { echo "$as_me:$LINENO: result: $JAVA" >&5
+echo "${ECHO_T}$JAVA" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${JAVA}"; then
+    { { echo "$as_me:$LINENO: error: \"A 1.5-compatible Java VM is required.\"" >&5
+echo "$as_me: error: \"A 1.5-compatible Java VM is required.\"" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+  user_specified_javac=
+
+
+
+# Check whether --with-ecj was given.
+if test "${with_ecj+set}" = set; then
+  withval=$with_ecj;
+    if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
+
+  if test "x${withval}" != x; then
+    if test -f "${withval}"; then
+      ECJ="${withval}"
+    else
+      # Extract the first word of ""${withval}"", so it can be a program name with args.
+set dummy "${withval}"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ECJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ECJ in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ECJ=$ac_cv_path_ECJ
+if test -n "$ECJ"; then
+  { echo "$as_me:$LINENO: result: $ECJ" >&5
+echo "${ECHO_T}$ECJ" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+  else
+    # Extract the first word of ""ecj"", so it can be a program name with args.
+set dummy "ecj"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ECJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ECJ in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ECJ=$ac_cv_path_ECJ
+if test -n "$ECJ"; then
+  { echo "$as_me:$LINENO: result: $ECJ" >&5
+echo "${ECHO_T}$ECJ" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+
+    else
+      if test "x${withval}" != xno; then
+
+  if test "x" != x; then
+    if test -f ""; then
+      ECJ=""
+    else
+      # Extract the first word of """", so it can be a program name with args.
+set dummy ""; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ECJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ECJ in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ECJ=$ac_cv_path_ECJ
+if test -n "$ECJ"; then
+  { echo "$as_me:$LINENO: result: $ECJ" >&5
+echo "${ECHO_T}$ECJ" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+  else
+    # Extract the first word of ""ecj"", so it can be a program name with args.
+set dummy "ecj"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ECJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ECJ in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ECJ=$ac_cv_path_ECJ
+if test -n "$ECJ"; then
+  { echo "$as_me:$LINENO: result: $ECJ" >&5
+echo "${ECHO_T}$ECJ" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+
+      fi
+    fi
+    user_specified_javac=ecj
+
+else
+
+
+  if test "x" != x; then
+    if test -f ""; then
+      ECJ=""
+    else
+      # Extract the first word of """", so it can be a program name with args.
+set dummy ""; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ECJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ECJ in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ECJ=$ac_cv_path_ECJ
+if test -n "$ECJ"; then
+  { echo "$as_me:$LINENO: result: $ECJ" >&5
+echo "${ECHO_T}$ECJ" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+  else
+    # Extract the first word of ""ecj"", so it can be a program name with args.
+set dummy "ecj"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_ECJ+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $ECJ in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ECJ="$ECJ" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ECJ="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ECJ=$ac_cv_path_ECJ
+if test -n "$ECJ"; then
+  { echo "$as_me:$LINENO: result: $ECJ" >&5
+echo "${ECHO_T}$ECJ" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+
+
+fi
+
+
+
+
+
+# Check whether --with-javac was given.
+if test "${with_javac+set}" = set; then
+  withval=$with_javac;
+    if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
+
+  if test "x${withval}" != x; then
+    if test -f "${withval}"; then
+      JAVAC="${withval}"
+    else
+      # Extract the first word of ""${withval}"", so it can be a program name with args.
+set dummy "${withval}"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+  else
+    # Extract the first word of ""javac"", so it can be a program name with args.
+set dummy "javac"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+
+    else
+      if test "x${withval}" != xno; then
+
+  if test "x" != x; then
+    if test -f ""; then
+      JAVAC=""
+    else
+      # Extract the first word of """", so it can be a program name with args.
+set dummy ""; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+  else
+    # Extract the first word of ""javac"", so it can be a program name with args.
+set dummy "javac"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+
+      fi
+    fi
+    user_specified_javac=javac
+
+else
+
+
+  if test "x" != x; then
+    if test -f ""; then
+      JAVAC=""
+    else
+      # Extract the first word of """", so it can be a program name with args.
+set dummy ""; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+  else
+    # Extract the first word of ""javac"", so it can be a program name with args.
+set dummy "javac"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAC="$JAVAC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAC=$ac_cv_path_JAVAC
+if test -n "$JAVAC"; then
+  { echo "$as_me:$LINENO: result: $JAVAC" >&5
+echo "${ECHO_T}$JAVAC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+
+
+fi
+
+
+
+
+  if test "x${user_specified_javac}" = x; then
+     if test "x${ECJ}" != x; then
+  FOUND_ECJ_TRUE=
+  FOUND_ECJ_FALSE='#'
+else
+  FOUND_ECJ_TRUE='#'
+  FOUND_ECJ_FALSE=
+fi
+
+     if test "x${JAVAC}" != x; then
+  FOUND_JAVAC_TRUE=
+  FOUND_JAVAC_FALSE='#'
+else
+  FOUND_JAVAC_TRUE='#'
+  FOUND_JAVAC_FALSE=
+fi
+
+  else
+     if test "x${user_specified_javac}" = xecj; then
+  FOUND_ECJ_TRUE=
+  FOUND_ECJ_FALSE='#'
+else
+  FOUND_ECJ_TRUE='#'
+  FOUND_ECJ_FALSE=
+fi
+
+     if test "x${user_specified_javac}" = xjavac; then
+  FOUND_JAVAC_TRUE=
+  FOUND_JAVAC_FALSE='#'
+else
+  FOUND_JAVAC_TRUE='#'
+  FOUND_JAVAC_FALSE=
+fi
+
+  fi
+
+  if test "x${ECJ}" = x && test "x${JAVAC}" = x && test "x${user_specified_javac}" != xecj; then
+      { { echo "$as_me:$LINENO: error: cannot find javac, try --with-ecj" >&5
+echo "$as_me: error: cannot find javac, try --with-ecj" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+# Check whether --with-javah was given.
+if test "${with_javah+set}" = set; then
+  withval=$with_javah;
+    if test -f "${withval}"; then
+      { echo "$as_me:$LINENO: checking javah" >&5
+echo $ECHO_N "checking javah... $ECHO_C" >&6; }
+      JAVAH="${withval}"
+      { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+    else
+      # Extract the first word of ""${withval}"", so it can be a program name with args.
+set dummy "${withval}"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAH="$JAVAH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAH=$ac_cv_path_JAVAH
+if test -n "$JAVAH"; then
+  { echo "$as_me:$LINENO: result: $JAVAH" >&5
+echo "${ECHO_T}$JAVAH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+
+else
+
+    JAVAH=
+
+fi
+
+  if test -z "${JAVAH}"; then
+    # Extract the first word of ""gjavah"", so it can be a program name with args.
+set dummy "gjavah"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAH="$JAVAH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAH=$ac_cv_path_JAVAH
+if test -n "$JAVAH"; then
+  { echo "$as_me:$LINENO: result: $JAVAH" >&5
+echo "${ECHO_T}$JAVAH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${JAVAH}"; then
+    # Extract the first word of ""javah"", so it can be a program name with args.
+set dummy "javah"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAVAH+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAVAH in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAVAH="$JAVAH" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAVAH="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAVAH=$ac_cv_path_JAVAH
+if test -n "$JAVAH"; then
+  { echo "$as_me:$LINENO: result: $JAVAH" >&5
+echo "${ECHO_T}$JAVAH" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${JAVAH}"; then
+    { { echo "$as_me:$LINENO: error: \"javah was not found.\"" >&5
+echo "$as_me: error: \"javah was not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+
+# Check whether --with-jar was given.
+if test "${with_jar+set}" = set; then
+  withval=$with_jar;
+    if test -f "${withval}"; then
+      { echo "$as_me:$LINENO: checking jar" >&5
+echo $ECHO_N "checking jar... $ECHO_C" >&6; }
+      JAR="${withval}"
+      { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+    else
+      # Extract the first word of ""${withval}"", so it can be a program name with args.
+set dummy "${withval}"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAR=$ac_cv_path_JAR
+if test -n "$JAR"; then
+  { echo "$as_me:$LINENO: result: $JAR" >&5
+echo "${ECHO_T}$JAR" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+
+else
+
+    JAR=
+
+fi
+
+  if test -z "${JAR}"; then
+    # Extract the first word of ""gjar"", so it can be a program name with args.
+set dummy "gjar"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAR=$ac_cv_path_JAR
+if test -n "$JAR"; then
+  { echo "$as_me:$LINENO: result: $JAR" >&5
+echo "${ECHO_T}$JAR" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${JAR}"; then
+    # Extract the first word of ""jar"", so it can be a program name with args.
+set dummy "jar"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_JAR+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $JAR in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_JAR="$JAR" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_JAR="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+JAR=$ac_cv_path_JAR
+if test -n "$JAR"; then
+  { echo "$as_me:$LINENO: result: $JAR" >&5
+echo "${ECHO_T}$JAR" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${JAR}"; then
+    { { echo "$as_me:$LINENO: error: \"jar was not found.\"" >&5
+echo "$as_me: error: \"jar was not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+
+# Check whether --with-rmic was given.
+if test "${with_rmic+set}" = set; then
+  withval=$with_rmic;
+    if test -f "${withval}"; then
+      { echo "$as_me:$LINENO: checking rmic" >&5
+echo $ECHO_N "checking rmic... $ECHO_C" >&6; }
+      RMIC="${withval}"
+      { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+    else
+      # Extract the first word of ""${withval}"", so it can be a program name with args.
+set dummy "${withval}"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_RMIC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $RMIC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_RMIC="$RMIC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_RMIC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+RMIC=$ac_cv_path_RMIC
+if test -n "$RMIC"; then
+  { echo "$as_me:$LINENO: result: $RMIC" >&5
+echo "${ECHO_T}$RMIC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+    fi
+
+else
+
+    RMIC=
+
+fi
+
+  if test -z "${RMIC}"; then
+    # Extract the first word of ""grmic"", so it can be a program name with args.
+set dummy "grmic"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_RMIC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $RMIC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_RMIC="$RMIC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_RMIC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+RMIC=$ac_cv_path_RMIC
+if test -n "$RMIC"; then
+  { echo "$as_me:$LINENO: result: $RMIC" >&5
+echo "${ECHO_T}$RMIC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${RMIC}"; then
+    # Extract the first word of ""rmic"", so it can be a program name with args.
+set dummy "rmic"; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_path_RMIC+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  case $RMIC in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_RMIC="$RMIC" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_RMIC="$as_dir/$ac_word$ac_exec_ext"
+    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+RMIC=$ac_cv_path_RMIC
+if test -n "$RMIC"; then
+  { echo "$as_me:$LINENO: result: $RMIC" >&5
+echo "${ECHO_T}$RMIC" >&6; }
+else
+  { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+  fi
+  if test -z "${RMIC}"; then
+    { { echo "$as_me:$LINENO: error: \"rmic was not found.\"" >&5
+echo "$as_me: error: \"rmic was not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+
+# Check whether --with-ecj-jar was given.
+if test "${with_ecj_jar+set}" = set; then
+  withval=$with_ecj_jar;
+    if test -f "${withval}"; then
+      { echo "$as_me:$LINENO: checking ecj jar" >&5
+echo $ECHO_N "checking ecj jar... $ECHO_C" >&6; }
+      ECJ_JAR="${withval}"
+      { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+    fi
+
+else
+
+    ECJ_JAR=
+
+fi
+
+  if test -z "${ECJ_JAR}"; then
+    { echo "$as_me:$LINENO: checking for eclipse-ecj.jar" >&5
+echo $ECHO_N "checking for eclipse-ecj.jar... $ECHO_C" >&6; }
+    if test -e "/usr/share/java/eclipse-ecj.jar"; then
+      ECJ_JAR=/usr/share/java/eclipse-ecj.jar
+      { echo "$as_me:$LINENO: result: ${ECJ_JAR}" >&5
+echo "${ECHO_T}${ECJ_JAR}" >&6; }
+    else
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+    fi
+  fi
+  if test -z "${ECJ_JAR}"; then
+    { { echo "$as_me:$LINENO: error: \"A ECJ jar was not found.\"" >&5
+echo "$as_me: error: \"A ECJ jar was not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+
+# Check whether --with-libgcj-jar was given.
+if test "${with_libgcj_jar+set}" = set; then
+  withval=$with_libgcj_jar;
+    if test -f "${withval}"; then
+      { echo "$as_me:$LINENO: checking libgcj jar" >&5
+echo $ECHO_N "checking libgcj jar... $ECHO_C" >&6; }
+      LIBGCJ_JAR="${withval}"
+      { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+    fi
+
+else
+
+    LIBGCJ_JAR=
+
+fi
+
+  if test -z "${LIBGCJ_JAR}"; then
+    { echo "$as_me:$LINENO: checking for libgcj-4.1.2.jar" >&5
+echo $ECHO_N "checking for libgcj-4.1.2.jar... $ECHO_C" >&6; }
+    if test -e "/usr/share/java/libgcj-4.1.2.jar"; then
+      LIBGCJ_JAR=/usr/share/java/libgcj-4.1.2.jar
+      { echo "$as_me:$LINENO: result: ${LIBGCJ_JAR}" >&5
+echo "${ECHO_T}${LIBGCJ_JAR}" >&6; }
+    else
+      { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+    fi
+  fi
+  if test -z "${LIBGCJ_JAR}"; then
+    { { echo "$as_me:$LINENO: error: \"A LIBGCJ jar was not found.\"" >&5
+echo "$as_me: error: \"A LIBGCJ jar was not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+
+# Check whether --with-endorsed-dir was given.
+if test "${with_endorsed_dir+set}" = set; then
+  withval=$with_endorsed_dir;
+    if test -f "${withval}/xalan-j2.jar"; then
+      if test -f "${withval}/xalan-j2-serializer.jar"; then
+        if test -f "${withval}/xerces-j2.jar"; then
+          { echo "$as_me:$LINENO: checking endorsed jars dir" >&5
+echo $ECHO_N "checking endorsed jars dir... $ECHO_C" >&6; }
+          ENDORSED_JARS="${withval}"
+          { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+        fi
+      fi
+    fi
+
+else
+
+    ENDORSED_JARS=
+
+fi
+
+  if test -z "${ENDORSED_JARS}"; then
+    { echo "$as_me:$LINENO: checking for endorsed jars dir" >&5
+echo $ECHO_N "checking for endorsed jars dir... $ECHO_C" >&6; }
+    if test -f "/usr/share/java/xalan-j2.jar"; then
+      if test -f "/usr/share/java/xalan-j2-serializer.jar"; then
+        if test -f "/usr/share/java/xerces-j2.jar"; then
+          ENDORSED_JARS="/usr/share/java/xalan-j2.jar /usr/share/java/xalan-j2-serializer.jar /usr/share/java/xerces-j2.jar"
+          { echo "$as_me:$LINENO: result: /usr/share/java" >&5
+echo "${ECHO_T}/usr/share/java" >&6; }
+        fi
+      fi
+    fi
+    if test -z "${ENDORSED_JARS}"; then
+      { echo "$as_me:$LINENO: result: missing" >&5
+echo "${ECHO_T}missing" >&6; }
+    fi
+  fi
+  if test -z "${ENDORSED_JARS}"; then
+    { { echo "$as_me:$LINENO: error: \"A directory containing required jars (xalan-j2.jar, xalan-j2-serializer.jar, xerces-j2.jar) was not found.\"" >&5
+echo "$as_me: error: \"A directory containing required jars (xalan-j2.jar, xalan-j2-serializer.jar, xerces-j2.jar) was not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+
+
+
+  { echo "$as_me:$LINENO: checking openjdk sources" >&5
+echo $ECHO_N "checking openjdk sources... $ECHO_C" >&6; }
+
+# Check whether --with-openjdk-src-dir was given.
+if test "${with_openjdk_src_dir+set}" = set; then
+  withval=$with_openjdk_src_dir;
+    OPENJDK_SRC_DIR=${withval}
+    { echo "$as_me:$LINENO: result: ${withval}" >&5
+echo "${ECHO_T}${withval}" >&6; }
+    conditional_with_openjdk_sources=true
+
+else
+
+    conditional_with_openjdk_sources=false
+    OPENJDK_SRC_DIR=`pwd`/openjdk
+    { echo "$as_me:$LINENO: result: ${OPENJDK_SRC_DIR}" >&5
+echo "${ECHO_T}${OPENJDK_SRC_DIR}" >&6; }
+
+fi
+
+
+   if test "x${conditional_with_openjdk_sources}" = xtrue; then
+  GNU_CLASSLIB_FOUND_TRUE=
+  GNU_CLASSLIB_FOUND_FALSE='#'
+else
+  GNU_CLASSLIB_FOUND_TRUE='#'
+  GNU_CLASSLIB_FOUND_FALSE=
+fi
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ echo "$as_me:$LINENO: result: $CPP" >&5
+echo "${ECHO_T}$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  :
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Broken: fails on valid input.
+continue
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  # Broken: success on invalid input.
+continue
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&5
+echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # Extract the first word of "grep ggrep" to use in msg output
+if test -z "$GREP"; then
+set dummy grep ggrep; ac_prog_name=$2
+if test "${ac_cv_path_GREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_GREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+    # Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_GREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+GREP="$ac_cv_path_GREP"
+if test -z "$GREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ echo "$as_me:$LINENO: checking for egrep" >&5
+echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     # Extract the first word of "egrep" to use in msg output
+if test -z "$EGREP"; then
+set dummy egrep; ac_prog_name=$2
+if test "${ac_cv_path_EGREP+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_path_EGREP_found=false
+# Loop through the user's path and test for each of PROGNAME-LIST
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+  for ac_exec_ext in '' $ac_executable_extensions; do
+    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+    # Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+
+    $ac_path_EGREP_found && break 3
+  done
+done
+
+done
+IFS=$as_save_IFS
+
+
+fi
+
+EGREP="$ac_cv_path_EGREP"
+if test -z "$EGREP"; then
+  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+
+   fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_stdc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_header_stdc=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  if test "${ac_cv_header_cups_cups_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for cups/cups.h" >&5
+echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_cups_cups_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5
+echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking cups/cups.h usability" >&5
+echo $ECHO_N "checking cups/cups.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <cups/cups.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking cups/cups.h presence" >&5
+echo $ECHO_N "checking cups/cups.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <cups/cups.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: cups/cups.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: cups/cups.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: cups/cups.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: cups/cups.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: cups/cups.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: cups/cups.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: cups/cups.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: cups/cups.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for cups/cups.h" >&5
+echo $ECHO_N "checking for cups/cups.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_cups_cups_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_cups_cups_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_cups_cups_h" >&5
+echo "${ECHO_T}$ac_cv_header_cups_cups_h" >&6; }
+
+fi
+if test $ac_cv_header_cups_cups_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"CUPS headers were not found.\"" >&5
+echo "$as_me: error: \"CUPS headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_cups_ppd_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for cups/ppd.h" >&5
+echo $ECHO_N "checking for cups/ppd.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_cups_ppd_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_cups_ppd_h" >&5
+echo "${ECHO_T}$ac_cv_header_cups_ppd_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking cups/ppd.h usability" >&5
+echo $ECHO_N "checking cups/ppd.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <cups/ppd.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking cups/ppd.h presence" >&5
+echo $ECHO_N "checking cups/ppd.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <cups/ppd.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: cups/ppd.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: cups/ppd.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: cups/ppd.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: cups/ppd.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: cups/ppd.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: cups/ppd.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: cups/ppd.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: cups/ppd.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: cups/ppd.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for cups/ppd.h" >&5
+echo $ECHO_N "checking for cups/ppd.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_cups_ppd_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_cups_ppd_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_cups_ppd_h" >&5
+echo "${ECHO_T}$ac_cv_header_cups_ppd_h" >&6; }
+
+fi
+if test $ac_cv_header_cups_ppd_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"libXt headers were not found.\"" >&5
+echo "$as_me: error: \"libXt headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_sys_asoundlib_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for sys/asoundlib.h" >&5
+echo $ECHO_N "checking for sys/asoundlib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_sys_asoundlib_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_asoundlib_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_asoundlib_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking sys/asoundlib.h usability" >&5
+echo $ECHO_N "checking sys/asoundlib.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <sys/asoundlib.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking sys/asoundlib.h presence" >&5
+echo $ECHO_N "checking sys/asoundlib.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/asoundlib.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: sys/asoundlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: sys/asoundlib.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: sys/asoundlib.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: sys/asoundlib.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: sys/asoundlib.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: sys/asoundlib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: sys/asoundlib.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: sys/asoundlib.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: sys/asoundlib.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for sys/asoundlib.h" >&5
+echo $ECHO_N "checking for sys/asoundlib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_sys_asoundlib_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_sys_asoundlib_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_asoundlib_h" >&5
+echo "${ECHO_T}$ac_cv_header_sys_asoundlib_h" >&6; }
+
+fi
+if test $ac_cv_header_sys_asoundlib_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"ALSA headers were not found.\"" >&5
+echo "$as_me: error: \"ALSA headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_X_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/X.h" >&5
+echo $ECHO_N "checking for X11/X.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_X_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_X_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_X_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/X.h usability" >&5
+echo $ECHO_N "checking X11/X.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/X.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/X.h presence" >&5
+echo $ECHO_N "checking X11/X.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/X.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/X.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/X.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/X.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/X.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/X.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/X.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/X.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/X.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/X.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/X.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/X.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/X.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/X.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/X.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/X.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/X.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/X.h" >&5
+echo $ECHO_N "checking for X11/X.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_X_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_X_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_X_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_X_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_X_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_Xlib_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/Xlib.h" >&5
+echo $ECHO_N "checking for X11/Xlib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Xlib_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xlib_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Xlib_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/Xlib.h usability" >&5
+echo $ECHO_N "checking X11/Xlib.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/Xlib.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/Xlib.h presence" >&5
+echo $ECHO_N "checking X11/Xlib.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/Xlib.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/Xlib.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/Xlib.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/Xlib.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/Xlib.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/Xlib.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/Xlib.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/Xlib.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/Xlib.h" >&5
+echo $ECHO_N "checking for X11/Xlib.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Xlib_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_Xlib_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xlib_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Xlib_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_Xlib_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_Xutil_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/Xutil.h" >&5
+echo $ECHO_N "checking for X11/Xutil.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Xutil_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xutil_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Xutil_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/Xutil.h usability" >&5
+echo $ECHO_N "checking X11/Xutil.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/Xutil.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/Xutil.h presence" >&5
+echo $ECHO_N "checking X11/Xutil.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Xutil.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/Xutil.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/Xutil.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/Xutil.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/Xutil.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/Xutil.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/Xutil.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/Xutil.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xutil.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/Xutil.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/Xutil.h" >&5
+echo $ECHO_N "checking for X11/Xutil.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Xutil_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_Xutil_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xutil_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Xutil_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_Xutil_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_Intrinsic_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/Intrinsic.h" >&5
+echo $ECHO_N "checking for X11/Intrinsic.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Intrinsic_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Intrinsic_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Intrinsic_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/Intrinsic.h usability" >&5
+echo $ECHO_N "checking X11/Intrinsic.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/Intrinsic.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/Intrinsic.h presence" >&5
+echo $ECHO_N "checking X11/Intrinsic.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Intrinsic.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Intrinsic.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/Intrinsic.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/Intrinsic.h" >&5
+echo $ECHO_N "checking for X11/Intrinsic.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Intrinsic_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_Intrinsic_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Intrinsic_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Intrinsic_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_Intrinsic_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_Xproto_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/Xproto.h" >&5
+echo $ECHO_N "checking for X11/Xproto.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Xproto_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xproto_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Xproto_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/Xproto.h usability" >&5
+echo $ECHO_N "checking X11/Xproto.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/Xproto.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/Xproto.h presence" >&5
+echo $ECHO_N "checking X11/Xproto.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Xproto.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/Xproto.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/Xproto.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/Xproto.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/Xproto.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/Xproto.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/Xproto.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/Xproto.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Xproto.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/Xproto.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/Xproto.h" >&5
+echo $ECHO_N "checking for X11/Xproto.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Xproto_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_Xproto_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Xproto_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Xproto_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_Xproto_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_Shell_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/Shell.h" >&5
+echo $ECHO_N "checking for X11/Shell.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Shell_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Shell_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Shell_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/Shell.h usability" >&5
+echo $ECHO_N "checking X11/Shell.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/Shell.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/Shell.h presence" >&5
+echo $ECHO_N "checking X11/Shell.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/Shell.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/Shell.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/Shell.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/Shell.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/Shell.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/Shell.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/Shell.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/Shell.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/Shell.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/Shell.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/Shell.h" >&5
+echo $ECHO_N "checking for X11/Shell.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_Shell_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_Shell_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_Shell_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_Shell_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_Shell_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_StringDefs_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/StringDefs.h" >&5
+echo $ECHO_N "checking for X11/StringDefs.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_StringDefs_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_StringDefs_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_StringDefs_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/StringDefs.h usability" >&5
+echo $ECHO_N "checking X11/StringDefs.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/StringDefs.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/StringDefs.h presence" >&5
+echo $ECHO_N "checking X11/StringDefs.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/StringDefs.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/StringDefs.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/StringDefs.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/StringDefs.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/StringDefs.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/StringDefs.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/StringDefs.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/StringDefs.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/StringDefs.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/StringDefs.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/StringDefs.h" >&5
+echo $ECHO_N "checking for X11/StringDefs.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_StringDefs_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_StringDefs_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_StringDefs_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_StringDefs_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_StringDefs_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_X11_extensions_Print_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for X11/extensions/Print.h" >&5
+echo $ECHO_N "checking for X11/extensions/Print.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_extensions_Print_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Print_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_extensions_Print_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking X11/extensions/Print.h usability" >&5
+echo $ECHO_N "checking X11/extensions/Print.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <X11/extensions/Print.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking X11/extensions/Print.h presence" >&5
+echo $ECHO_N "checking X11/extensions/Print.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <X11/extensions/Print.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: X11/extensions/Print.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: X11/extensions/Print.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for X11/extensions/Print.h" >&5
+echo $ECHO_N "checking for X11/extensions/Print.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_X11_extensions_Print_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_X11_extensions_Print_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_X11_extensions_Print_h" >&5
+echo "${ECHO_T}$ac_cv_header_X11_extensions_Print_h" >&6; }
+
+fi
+if test $ac_cv_header_X11_extensions_Print_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"libXp headers were not found.\"" >&5
+echo "$as_me: error: \"libXp headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_Xm_DropSMgr_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for Xm/DropSMgr.h" >&5
+echo $ECHO_N "checking for Xm/DropSMgr.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_DropSMgr_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_DropSMgr_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_DropSMgr_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking Xm/DropSMgr.h usability" >&5
+echo $ECHO_N "checking Xm/DropSMgr.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <Xm/DropSMgr.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking Xm/DropSMgr.h presence" >&5
+echo $ECHO_N "checking Xm/DropSMgr.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Xm/DropSMgr.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for Xm/DropSMgr.h" >&5
+echo $ECHO_N "checking for Xm/DropSMgr.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_DropSMgr_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_Xm_DropSMgr_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_DropSMgr_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_DropSMgr_h" >&6; }
+
+fi
+if test $ac_cv_header_Xm_DropSMgr_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_Xm_Xm_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for Xm/Xm.h" >&5
+echo $ECHO_N "checking for Xm/Xm.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_Xm_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_Xm_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_Xm_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking Xm/Xm.h usability" >&5
+echo $ECHO_N "checking Xm/Xm.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <Xm/Xm.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking Xm/Xm.h presence" >&5
+echo $ECHO_N "checking Xm/Xm.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Xm/Xm.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: Xm/Xm.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: Xm/Xm.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: Xm/Xm.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: Xm/Xm.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: Xm/Xm.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: Xm/Xm.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: Xm/Xm.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Xm.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: Xm/Xm.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for Xm/Xm.h" >&5
+echo $ECHO_N "checking for Xm/Xm.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_Xm_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_Xm_Xm_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_Xm_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_Xm_h" >&6; }
+
+fi
+if test $ac_cv_header_Xm_Xm_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_Xm_XmP_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for Xm/XmP.h" >&5
+echo $ECHO_N "checking for Xm/XmP.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_XmP_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_XmP_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_XmP_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking Xm/XmP.h usability" >&5
+echo $ECHO_N "checking Xm/XmP.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <Xm/XmP.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking Xm/XmP.h presence" >&5
+echo $ECHO_N "checking Xm/XmP.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Xm/XmP.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: Xm/XmP.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: Xm/XmP.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: Xm/XmP.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: Xm/XmP.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: Xm/XmP.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: Xm/XmP.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: Xm/XmP.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/XmP.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: Xm/XmP.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for Xm/XmP.h" >&5
+echo $ECHO_N "checking for Xm/XmP.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_XmP_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_Xm_XmP_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_XmP_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_XmP_h" >&6; }
+
+fi
+if test $ac_cv_header_Xm_XmP_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_Xm_Display_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for Xm/Display.h" >&5
+echo $ECHO_N "checking for Xm/Display.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_Display_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_Display_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_Display_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking Xm/Display.h usability" >&5
+echo $ECHO_N "checking Xm/Display.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <Xm/Display.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking Xm/Display.h presence" >&5
+echo $ECHO_N "checking Xm/Display.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Xm/Display.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: Xm/Display.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: Xm/Display.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: Xm/Display.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: Xm/Display.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: Xm/Display.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: Xm/Display.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: Xm/Display.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/Display.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: Xm/Display.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for Xm/Display.h" >&5
+echo $ECHO_N "checking for Xm/Display.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_Display_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_Xm_Display_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_Display_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_Display_h" >&6; }
+
+fi
+if test $ac_cv_header_Xm_Display_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+  if test "${ac_cv_header_Xm_DropSMgr_h+set}" = set; then
+  { echo "$as_me:$LINENO: checking for Xm/DropSMgr.h" >&5
+echo $ECHO_N "checking for Xm/DropSMgr.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_DropSMgr_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_DropSMgr_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_DropSMgr_h" >&6; }
+else
+  # Is the header compilable?
+{ echo "$as_me:$LINENO: checking Xm/DropSMgr.h usability" >&5
+echo $ECHO_N "checking Xm/DropSMgr.h usability... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+#include <Xm/DropSMgr.h>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_header_compiler=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+echo "${ECHO_T}$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ echo "$as_me:$LINENO: checking Xm/DropSMgr.h presence" >&5
+echo $ECHO_N "checking Xm/DropSMgr.h presence... $ECHO_C" >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Xm/DropSMgr.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then
+  ac_header_preproc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+  ac_header_preproc=no
+fi
+
+rm -f conftest.err conftest.$ac_ext
+{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+echo "${ECHO_T}$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
+  yes:no: )
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: accepted by the compiler, rejected by the preprocessor!" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: proceeding with the compiler's result" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: present but cannot be compiled" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: present but cannot be compiled" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h:     check for missing prerequisite headers?" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h:     check for missing prerequisite headers?" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: see the Autoconf documentation" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: see the Autoconf documentation" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h:     section \"Present But Cannot Be Compiled\"" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: proceeding with the preprocessor's result" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: proceeding with the preprocessor's result" >&2;}
+    { echo "$as_me:$LINENO: WARNING: Xm/DropSMgr.h: in the future, the compiler will take precedence" >&5
+echo "$as_me: WARNING: Xm/DropSMgr.h: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## --------------------------------- ##
+## Report this to fitzsim@redhat.com ##
+## --------------------------------- ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ echo "$as_me:$LINENO: checking for Xm/DropSMgr.h" >&5
+echo $ECHO_N "checking for Xm/DropSMgr.h... $ECHO_C" >&6; }
+if test "${ac_cv_header_Xm_DropSMgr_h+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_cv_header_Xm_DropSMgr_h=$ac_header_preproc
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_Xm_DropSMgr_h" >&5
+echo "${ECHO_T}$ac_cv_header_Xm_DropSMgr_h" >&6; }
+
+fi
+if test $ac_cv_header_Xm_DropSMgr_h = yes; then
+  :
+else
+  { { echo "$as_me:$LINENO: error: \"X headers were not found.\"" >&5
+echo "$as_me: error: \"X headers were not found.\"" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes (double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \).
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section.  Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+t clear
+:clear
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 (][^	 (]*([^)]*)\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[	 ]*#[	 ]*define[	 ][	 ]*\([^	 ][^	 ]*\)[	 ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[	 `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+	g
+	s/^\n//
+	s/\n/ /g
+	p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${FOUND_ECJ_TRUE}" && test -z "${FOUND_ECJ_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"FOUND_ECJ\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"FOUND_ECJ\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${FOUND_JAVAC_TRUE}" && test -z "${FOUND_JAVAC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"FOUND_JAVAC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"FOUND_JAVAC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${FOUND_ECJ_TRUE}" && test -z "${FOUND_ECJ_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"FOUND_ECJ\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"FOUND_ECJ\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${FOUND_JAVAC_TRUE}" && test -z "${FOUND_JAVAC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"FOUND_JAVAC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"FOUND_JAVAC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${GNU_CLASSLIB_FOUND_TRUE}" && test -z "${GNU_CLASSLIB_FOUND_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"GNU_CLASSLIB_FOUND\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"GNU_CLASSLIB_FOUND\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization.  ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  echo "#! /bin/sh" >conf$$.sh
+  echo  "exit 0"   >>conf$$.sh
+  chmod +x conf$$.sh
+  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+    PATH_SEPARATOR=';'
+  else
+    PATH_SEPARATOR=:
+  fi
+  rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  as_unset=unset
+else
+  as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+  LC_TELEPHONE LC_TIME
+do
+  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+    eval $as_var=C; export $as_var
+  else
+    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+  fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+  # uniformly replaced by the line number.  The first 'sed' inserts a
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
+  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+   { (exit 1); exit 1; }; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln -s'
+  # ... but there are two gotchas:
+  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+  # In both cases, we have to default to `cp -p'.
+  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+    as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s=ln
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p=:
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+        test -d "$1/.";
+      else
+	case $1 in
+        -*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by icedtea $as_me 1.0, which was
+generated by GNU Autoconf 2.61.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+  -q, --quiet      do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+		   instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Configuration commands:
+$config_commands
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+icedtea config.status 1.0
+configured by $0, generated by GNU Autoconf 2.61,
+  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    ac_need_defaults=false;;
+  --he | --h |  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+  CONFIG_SHELL=$SHELL
+  export CONFIG_SHELL
+  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "javac") CONFIG_FILES="$CONFIG_FILES javac" ;;
+    "javap") CONFIG_FILES="$CONFIG_FILES javap" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+
+  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in ." >&2
+   { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+am__isrc!$am__isrc$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+CC!$CC$ac_delim
+CFLAGS!$CFLAGS$ac_delim
+LDFLAGS!$LDFLAGS$ac_delim
+CPPFLAGS!$CPPFLAGS$ac_delim
+ac_ct_CC!$ac_ct_CC$ac_delim
+EXEEXT!$EXEEXT$ac_delim
+OBJEXT!$OBJEXT$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+FIND!$FIND$ac_delim
+find!$find$ac_delim
+MD5SUM!$MD5SUM$ac_delim
+PATCH!$PATCH$ac_delim
+UNZIP!$UNZIP$ac_delim
+WGET!$WGET$ac_delim
+BUILD_ARCH_DIR!$BUILD_ARCH_DIR$ac_delim
+INSTALL_ARCH_DIR!$INSTALL_ARCH_DIR$ac_delim
+JAVA!$JAVA$ac_delim
+ECJ!$ECJ$ac_delim
+JAVAC!$JAVAC$ac_delim
+FOUND_ECJ_TRUE!$FOUND_ECJ_TRUE$ac_delim
+FOUND_ECJ_FALSE!$FOUND_ECJ_FALSE$ac_delim
+FOUND_JAVAC_TRUE!$FOUND_JAVAC_TRUE$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+CEOF$ac_eof
+_ACEOF
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  cat >conf$$subs.sed <<_ACEOF
+FOUND_JAVAC_FALSE!$FOUND_JAVAC_FALSE$ac_delim
+JAVAH!$JAVAH$ac_delim
+JAR!$JAR$ac_delim
+RMIC!$RMIC$ac_delim
+ECJ_JAR!$ECJ_JAR$ac_delim
+LIBGCJ_JAR!$LIBGCJ_JAR$ac_delim
+ENDORSED_JARS!$ENDORSED_JARS$ac_delim
+OPENJDK_SRC_DIR!$OPENJDK_SRC_DIR$ac_delim
+GNU_CLASSLIB_FOUND_TRUE!$GNU_CLASSLIB_FOUND_TRUE$ac_delim
+GNU_CLASSLIB_FOUND_FALSE!$GNU_CLASSLIB_FOUND_FALSE$ac_delim
+CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 15; then
+    break
+  elif $ac_last_try; then
+    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+  ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in  :F $CONFIG_FILES      :C $CONFIG_COMMANDS
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      ac_file_inputs="$ac_file_inputs $ac_f"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input="Generated from "`IFS=:
+	  echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    fi
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin";;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+  sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out"; rm -f "$tmp/out";;
+  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+  esac
+ ;;
+
+
+  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "javac":F) chmod +x javac ;;
+    "javap":F) chmod +x javap ;;
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
+  # Strip MF so we end up with the name of the file.
+  mf=`echo "$mf" | sed -e 's/:.*$//'`
+  # Check whether this is an Automake generated Makefile or not.
+  # We used to match only the files named `Makefile.in', but
+  # some people rename them; so instead we look at the file content.
+  # Grep'ing the first line is not enough: some people post-process
+  # each Makefile.in and add a new line on top of each file to say so.
+  # Grep'ing the whole file is not good either: AIX grep has a line
+  # limit of 2048, but all sed's we know have understand at least 4000.
+  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+    dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  else
+    continue
+  fi
+  # Extract the definition of DEPDIR, am__include, and am__quote
+  # from the Makefile without running `make'.
+  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+  test -z "$DEPDIR" && continue
+  am__include=`sed -n 's/^am__include = //p' < "$mf"`
+  test -z "am__include" && continue
+  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+  # When using ansi2knr, U may be empty or an underscore; expand it
+  U=`sed -n 's/^U = //p' < "$mf"`
+  # Find all dependency output files, they are included files with
+  # $(DEPDIR) in their names.  We invoke sed twice because it is the
+  # simplest approach to changing $(DEPDIR) to its actual value in the
+  # expansion.
+  for file in `sed -n "
+    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+    # Make sure the directory exists.
+    test -f "$dirpart/$file" && continue
+    fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+    { as_dir=$dirpart/$fdir
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+   { (exit 1); exit 1; }; }; }
+    # echo "creating $dirpart/$file"
+    echo '# dummy' > "$dirpart/$file"
+  done
+done
+ ;;
+
+  esac
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || { (exit 1); exit 1; }
+fi
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configure.ac	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,37 @@
+AC_PREREQ([2.61])
+AC_INIT([icedtea], [1.0], [fitzsim@redhat.com])
+AM_INIT_AUTOMAKE([tar-pax])
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([javac], [chmod +x javac])
+AC_CONFIG_FILES([javap], [chmod +x javap])
+AC_CANONICAL_HOST
+
+AC_PREFIX_DEFAULT([bootstrap])
+
+AC_PROG_CC([gcc])
+
+AC_PATH_TOOL([FIND], [find])
+AC_SUBST([find])
+AC_PATH_TOOL([MD5SUM], [md5sum])
+AC_SUBST([MD5SUM])
+AC_PATH_TOOL([PATCH], [patch])
+AC_SUBST([PATCH])
+AC_PATH_TOOL([UNZIP], [unzip])
+AC_SUBST([UNZIP])
+AC_PATH_TOOL([WGET], [wget])
+AC_SUBST([WGET])
+
+SET_ARCH_DIRS
+FIND_JAVA
+FIND_JAVAC
+FIND_JAVAH
+FIND_JAR
+FIND_RMIC
+FIND_ECJ_JAR
+FIND_LIBGCJ_JAR
+FIND_ENDORSED_JARS
+WITH_OPENJDK_SRC_DIR
+
+CHECK_HEADERS
+
+AC_OUTPUT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "active" },
+            { "alert", "alert" },
+            { "armed", "armed" },
+            { "awtcomponent", "AWT component" },
+            { "busy", "busy" },
+            { "canvas", "canvas" },
+            { "checkbox", "check box" },
+            { "checked", "checked" },
+            { "childNodeOf", "child node of" },
+            { "collapsed", "collapsed" },
+            { "colorchooser", "color chooser" },
+            { "columnheader", "column header" },
+            { "combobox", "combo box" },
+            { "controlledBy", "controlledBy" },
+            { "controllerFor", "controllerFor" },
+            { "desktopicon", "desktop icon" },
+            { "desktoppane", "desktop pane" },
+            { "dialog", "dialog" },
+            { "directorypane", "directory pane" },
+            { "editable", "editable" },
+            { "editbar", "editbar" },
+            { "embeddedBy", "embedded by" },
+            { "embeds", "embeds" },
+            { "enabled", "enabled" },
+            { "expandable", "expandable" },
+            { "expanded", "expanded" },
+            { "filechooser", "file chooser" },
+            { "filler", "filler" },
+            { "flowsFrom", "flows from" },
+            { "flowsTo", "flows to" },
+            { "focusable", "focusable" },
+            { "focused", "focused" },
+            { "footer", "footer" },
+            { "frame", "frame" },
+            { "glasspane", "glass pane" },
+            { "header", "header" },
+            { "horizontal", "horizontal" },
+            { "htmlcontainer", "HTML container" },
+            { "iconified", "iconified" },
+            { "indeterminate", "indeterminate" },
+            { "internalframe", "internal frame" },
+            { "label", "label" },
+            { "labelFor", "label for" },
+            { "labeledBy", "labeled by" },
+            { "layeredpane", "layered pane" },
+            { "list", "list" },
+            { "listitem", "list item" },
+            { "managesDescendants", "manages descendants" },
+            { "memberOf", "member of" },
+            { "menu", "menu" },
+            { "menubar", "menu bar" },
+            { "menuitem", "menu item" },
+            { "modal", "modal" },
+            { "multiline", "multiple line" },
+            { "multiselectable", "multiselectable" },
+            { "opaque", "opaque" },
+            { "optionpane", "option pane" },
+            { "pagetab", "page tab" },
+            { "pagetablist", "page tab list" },
+            { "panel", "panel" },
+            { "paragraph", "paragraph" },
+            { "parentWindowOf", "parent window of" },
+            { "passwordtext", "password text" },
+            { "popupmenu", "popup menu" },
+            { "pressed", "pressed" },
+            { "progressMonitor", "progress monitor" },
+            { "progressbar", "progress bar" },
+            { "pushbutton", "push button" },
+            { "radiobutton", "radio button" },
+            { "resizable", "resizable" },
+            { "rootpane", "root pane" },
+            { "rowheader", "row header" },
+            { "ruler", "ruler" },
+            { "scrollbar", "scroll bar" },
+            { "scrollpane", "scroll pane" },
+            { "selectable", "selectable" },
+            { "selected", "selected" },
+            { "separator", "separator" },
+            { "showing", "showing" },
+            { "singleline", "single line" },
+            { "slider", "slider" },
+            { "splitpane", "split pane" },
+            { "subwindowOf", "subwindow of" },
+            { "swingcomponent", "swing component" },
+            { "table", "table" },
+            { "text", "text" },
+            { "toggle", "expand=toggle expand" },
+            { "togglebutton", "toggle button" },
+            { "toolbar", "tool bar" },
+            { "tooltip", "tool tip" },
+            { "transient", "transient" },
+            { "tree", "tree" },
+            { "truncated", "truncated" },
+            { "unknown", "unknown" },
+            { "vertical", "vertical" },
+            { "viewport", "viewport" },
+            { "visible", "visible" },
+            { "window", "window" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "aktiv" },
+            { "alert", "Warnmeldung" },
+            { "armed", "aktiviert" },
+            { "awtcomponent", "AWT-Komponente" },
+            { "busy", "belegt" },
+            { "canvas", "Leinwand" },
+            { "checkbox", "Kontrollk\u00E4stchen" },
+            { "checked", "markiert" },
+            { "childNodeOf", "untergeordneter Knoten von" },
+            { "collapsed", "ausgeblendet" },
+            { "colorchooser", "Farbauswahl" },
+            { "columnheader", "Spaltenkopf" },
+            { "combobox", "Kombinationsfeld" },
+            { "controlledBy", "Gesteuert von" },
+            { "controllerFor", "Steuerung f\u00FCr" },
+            { "desktopicon", "Desktop-Symbol" },
+            { "desktoppane", "Desktop-Bereich" },
+            { "dialog", "Dialogfeld" },
+            { "directorypane", "Verzeichnisbereich" },
+            { "editable", "editierbar" },
+            { "editbar", "Bearbeitungsleiste" },
+            { "embeddedBy", "eingebettet in" },
+            { "embeds", "bettet ein" },
+            { "enabled", "aktiviert" },
+            { "expandable", "erweiterbar" },
+            { "expanded", "eingeblendet" },
+            { "filechooser", "Dateiauswahl" },
+            { "filler", "F\u00FCllbereich" },
+            { "flowsFrom", "flie\u00DFt von" },
+            { "flowsTo", "flie\u00DFt zu" },
+            { "focusable", "fokussierbar" },
+            { "focused", "fokussiert" },
+            { "footer", "Fu\u00DFzeile" },
+            { "frame", "Rahmen" },
+            { "glasspane", "Glasbereich" },
+            { "header", "Kopfzeile" },
+            { "horizontal", "horizontal" },
+            { "htmlcontainer", "HTML-Container" },
+            { "iconified", "minimiert" },
+            { "indeterminate", "unbestimmt" },
+            { "internalframe", "Innerer Rahmen" },
+            { "label", "Beschriftung" },
+            { "labelFor", "Beschriftung f\u00FCr" },
+            { "labeledBy", "beschriftet von" },
+            { "layeredpane", "\u00DCberlagertes Teilfenster" },
+            { "list", "Liste" },
+            { "listitem", "Listenelement" },
+            { "managesDescendants", "verwaltet abgeleitete Objekte" },
+            { "memberOf", "Mitglied von" },
+            { "menu", "Men\u00FC" },
+            { "menubar", "Men\u00FCleiste" },
+            { "menuitem", "Men\u00FCeintrag" },
+            { "modal", "modal" },
+            { "multiline", "mehrzeilig" },
+            { "multiselectable", "mehrfach ausw\u00E4hlbar" },
+            { "opaque", "verdeckt" },
+            { "optionpane", "Optionsbereich" },
+            { "pagetab", "Registerkarte" },
+            { "pagetablist", "Register" },
+            { "panel", "Steuerbereich" },
+            { "paragraph", "Absatz" },
+            { "parentWindowOf", "\u00FCbergeordnetes Fenster von" },
+            { "passwordtext", "Passworttext" },
+            { "popupmenu", "Popup-Men\u00FC" },
+            { "pressed", "gedr\u00FCckt" },
+            { "progressMonitor", "Fortschrittsmonitor" },
+            { "progressbar", "Fortschrittsanzeige" },
+            { "pushbutton", "Schaltfl\u00E4che" },
+            { "radiobutton", "Optionsfeld" },
+            { "resizable", "skalierbar" },
+            { "rootpane", "Root-Bereich" },
+            { "rowheader", "Zeilenkopf" },
+            { "ruler", "Lineal" },
+            { "scrollbar", "Bildlaufleiste" },
+            { "scrollpane", "Bildlaufbereich" },
+            { "selectable", "w\u00E4hlbar" },
+            { "selected", "ausgew\u00E4hlt" },
+            { "separator", "Trennzeichen" },
+            { "showing", "angezeigt" },
+            { "singleline", "einzeilig" },
+            { "slider", "Schieberegler" },
+            { "splitpane", "Geteilter Anzeigebereich" },
+            { "subwindowOf", "Unterfenster von" },
+            { "swingcomponent", "Swing-Komponente" },
+            { "table", "Tabelle" },
+            { "text", "Text" },
+            { "toggle", "expand=ein-/ausblenden" },
+            { "togglebutton", "Umschaltfl\u00E4che" },
+            { "toolbar", "Symbolleiste" },
+            { "tooltip", "QuickInfo" },
+            { "transient", "tempor\u00E4r" },
+            { "tree", "Baumstruktur" },
+            { "truncated", "gek\u00FCrzt" },
+            { "unknown", "Unbekannt" },
+            { "vertical", "vertikal" },
+            { "viewport", "Anzeigeschnittstelle" },
+            { "visible", "sichtbar" },
+            { "window", "Fenster" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "activo" },
+            { "alert", "alerta" },
+            { "armed", "armado" },
+            { "awtcomponent", "Componente AWT" },
+            { "busy", "ocupado" },
+            { "canvas", "superficie" },
+            { "checkbox", "casilla de verificaci\u00F3n" },
+            { "checked", "marcado" },
+            { "childNodeOf", "nodo secundario de" },
+            { "collapsed", "contra\u00EDdo" },
+            { "colorchooser", "selector de color" },
+            { "columnheader", "cabecera de columna" },
+            { "combobox", "cuadro combinado" },
+            { "controlledBy", "controlado por" },
+            { "controllerFor", "controlador de" },
+            { "desktopicon", "icono de escritorio" },
+            { "desktoppane", "tablero de escritorio" },
+            { "dialog", "cuadro de di\u00E1logo" },
+            { "directorypane", "tablero de directorio" },
+            { "editable", "editable" },
+            { "editbar", "barra de edici\u00F3n" },
+            { "embeddedBy", "se incluye en" },
+            { "embeds", "incluye" },
+            { "enabled", "habilitado" },
+            { "expandable", "ampliable" },
+            { "expanded", "ampliado" },
+            { "filechooser", "selector de archivos" },
+            { "filler", "rellenador" },
+            { "flowsFrom", "procede de" },
+            { "flowsTo", "llega a" },
+            { "focusable", "enfocable" },
+            { "focused", "enfocado" },
+            { "footer", "pie" },
+            { "frame", "marco" },
+            { "glasspane", "tablero de cristal" },
+            { "header", "cabecera" },
+            { "horizontal", "horizontal" },
+            { "htmlcontainer", "Contenedor HTML" },
+            { "iconified", "convertido en icono" },
+            { "indeterminate", "indeterminado" },
+            { "internalframe", "marco interno" },
+            { "label", "etiqueta" },
+            { "labelFor", "etiqueta para" },
+            { "labeledBy", "etiquetado por" },
+            { "layeredpane", "tablero en capas" },
+            { "list", "lista" },
+            { "listitem", "elemento de lista" },
+            { "managesDescendants", "gestiona objetos subordinados" },
+            { "memberOf", "miembro de" },
+            { "menu", "men\u00FA" },
+            { "menubar", "barra de men\u00FAs" },
+            { "menuitem", "elemento de men\u00FA" },
+            { "modal", "modal" },
+            { "multiline", "l\u00EDnea m\u00FAltiple" },
+            { "multiselectable", "multiseleccionable" },
+            { "opaque", "opaco" },
+            { "optionpane", "tablero de opciones" },
+            { "pagetab", "pesta\u00F1a de p\u00E1gina" },
+            { "pagetablist", "lista de pesta\u00F1as de p\u00E1gina" },
+            { "panel", "panel" },
+            { "paragraph", "p\u00E1rrafo" },
+            { "parentWindowOf", "ventana superior de" },
+            { "passwordtext", "texto de contrase\u00F1a" },
+            { "popupmenu", "men\u00FA emergente" },
+            { "pressed", "pulsado" },
+            { "progressMonitor", "monitor de progresi\u00F3n" },
+            { "progressbar", "barra de progreso" },
+            { "pushbutton", "bot\u00F3n de acci\u00F3n" },
+            { "radiobutton", "bot\u00F3n de radio" },
+            { "resizable", "redimensionable" },
+            { "rootpane", "tablero ra\u00EDz" },
+            { "rowheader", "cabecera de filas" },
+            { "ruler", "regla" },
+            { "scrollbar", "barra de desplazamiento" },
+            { "scrollpane", "tablero de desplazamiento" },
+            { "selectable", "seleccionable" },
+            { "selected", "seleccionado" },
+            { "separator", "separador" },
+            { "showing", "mostrando" },
+            { "singleline", "l\u00EDnea \u00FAnica" },
+            { "slider", "deslizador" },
+            { "splitpane", "tablero de divisi\u00F3n" },
+            { "subwindowOf", "ventana subordinada de" },
+            { "swingcomponent", "componente swing" },
+            { "table", "tabla" },
+            { "text", "texto" },
+            { "toggle", "expand=activar/desactivar ampliaci\u00F3n" },
+            { "togglebutton", "bot\u00F3n conmutador" },
+            { "toolbar", "barra de herramientas" },
+            { "tooltip", "consejo de herramienta" },
+            { "transient", "temporal" },
+            { "tree", "\u00E1rbol" },
+            { "truncated", "truncado" },
+            { "unknown", "desconocido" },
+            { "vertical", "vertical" },
+            { "viewport", "puerto de vista" },
+            { "visible", "visible" },
+            { "window", "ventana" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "actif(ve)" },
+            { "alert", "alerte" },
+            { "armed", "arm\u00E9(e)" },
+            { "awtcomponent", "Composant AWT" },
+            { "busy", "occup\u00E9(e)" },
+            { "canvas", "canevas" },
+            { "checkbox", "case \u00E0 cocher" },
+            { "checked", "coch\u00E9e" },
+            { "childNodeOf", "n\u0153ud enfant de" },
+            { "collapsed", "r\u00E9duit(e)" },
+            { "colorchooser", "s\u00E9lecteur de couleurs" },
+            { "columnheader", "en-t\u00EAte de colonne" },
+            { "combobox", "bo\u00EEte de dialogue mixte" },
+            { "controlledBy", "contr\u00F4l\u00E9 par" },
+            { "controllerFor", "contr\u00F4leur pour" },
+            { "desktopicon", "ic\u00F4ne de bureau" },
+            { "desktoppane", "sous-fen\u00EAtre de bureau" },
+            { "dialog", "bo\u00EEte de dialogue" },
+            { "directorypane", "sous-fen\u00EAtre de r\u00E9pertoires" },
+            { "editable", "modifiable" },
+            { "editbar", "barre d'\u00E9dition" },
+            { "embeddedBy", "incorpor\u00E9 par" },
+            { "embeds", "incorpore" },
+            { "enabled", "activ\u00E9(e)" },
+            { "expandable", "extensible" },
+            { "expanded", "d\u00E9velopp\u00E9(e)" },
+            { "filechooser", "s\u00E9lecteur de fichiers" },
+            { "filler", "\u00E9l\u00E9ment de remplissage" },
+            { "flowsFrom", "flux depuis" },
+            { "flowsTo", "flux vers" },
+            { "focusable", "zone d''entr\u00E9e possible" },
+            { "focused", "avec zone d''entr\u00E9e" },
+            { "footer", "pied de page" },
+            { "frame", "cadre" },
+            { "glasspane", "sous-fen\u00EAtre de grossissement" },
+            { "header", "en-t\u00EAte" },
+            { "horizontal", "horizontal(e)" },
+            { "htmlcontainer", "Conteneur HTML" },
+            { "iconified", "r\u00E9duit(e) \u00E0 une ic\u00F4ne" },
+            { "indeterminate", "ind\u00E9termin\u00E9" },
+            { "internalframe", "cadre interne" },
+            { "label", "\u00E9tiquette" },
+            { "labelFor", "\u00E9tiquette de" },
+            { "labeledBy", "libell\u00E9(e) par" },
+            { "layeredpane", "sous-fen\u00EAtre superpos\u00E9e" },
+            { "list", "liste" },
+            { "listitem", "\u00E9l\u00E9ment de liste" },
+            { "managesDescendants", "g\u00E8re les descendants" },
+            { "memberOf", "membre de" },
+            { "menu", "menu" },
+            { "menubar", "barre de menus" },
+            { "menuitem", "option de menu" },
+            { "modal", "modal(e)" },
+            { "multiline", "ligne multiple" },
+            { "multiselectable", "multis\u00E9lectionnable" },
+            { "opaque", "opaque" },
+            { "optionpane", "sous-fen\u00EAtre d''options" },
+            { "pagetab", "onglet de page" },
+            { "pagetablist", "liste d''onglets de page" },
+            { "panel", "panneau" },
+            { "paragraph", "paragraphe" },
+            { "parentWindowOf", "fen\u00EAtre parente de" },
+            { "passwordtext", "texte de mot de passe" },
+            { "popupmenu", "menu contextuel" },
+            { "pressed", "enfonc\u00E9" },
+            { "progressMonitor", "contr\u00F4le de la progression" },
+            { "progressbar", "barre de progression" },
+            { "pushbutton", "bouton poussoir" },
+            { "radiobutton", "bouton radio" },
+            { "resizable", "redimensionnable" },
+            { "rootpane", "sous-fen\u00EAtre racine" },
+            { "rowheader", "en-t\u00EAte de ligne" },
+            { "ruler", "r\u00E8gle" },
+            { "scrollbar", "barre de d\u00E9filement" },
+            { "scrollpane", "sous-fen\u00EAtre de d\u00E9filement" },
+            { "selectable", "s\u00E9lectionnable" },
+            { "selected", "s\u00E9lectionn\u00E9(e)" },
+            { "separator", "s\u00E9parateur" },
+            { "showing", "montrant" },
+            { "singleline", "ligne unique" },
+            { "slider", "curseur" },
+            { "splitpane", "sous-fen\u00EAtre divis\u00E9e" },
+            { "subwindowOf", "sous-fen\u00EAtre de" },
+            { "swingcomponent", "composant de bascule" },
+            { "table", "tableau" },
+            { "text", "texte" },
+            { "toggle", "expand=basculer le d\u00E9veloppement" },
+            { "togglebutton", "bouton de basculement" },
+            { "toolbar", "barre d''outils" },
+            { "tooltip", "info-bulle" },
+            { "transient", "transitoire" },
+            { "tree", "arbre" },
+            { "truncated", "tronqu\u00E9" },
+            { "unknown", "inconnu" },
+            { "vertical", "vertical(e)" },
+            { "viewport", "cl\u00F4ture" },
+            { "visible", "visible" },
+            { "window", "fen\u00EAtre" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "attivo" },
+            { "alert", "allarme" },
+            { "armed", "abilitato" },
+            { "awtcomponent", "componente AWT" },
+            { "busy", "occupato" },
+            { "canvas", "area di disegno" },
+            { "checkbox", "casella di controllo" },
+            { "checked", "verificato" },
+            { "childNodeOf", "nodo figlio di" },
+            { "collapsed", "ingrandito" },
+            { "colorchooser", "selezione colori" },
+            { "columnheader", "intestazione colonna" },
+            { "combobox", "casella" },
+            { "controlledBy", "controllato da" },
+            { "controllerFor", "controllore per" },
+            { "desktopicon", "icona del desktop" },
+            { "desktoppane", "sottofinestra del desktop" },
+            { "dialog", "finestra di dialogo" },
+            { "directorypane", "sottofinestra della directory" },
+            { "editable", "modificabile" },
+            { "editbar", "barra di modifica" },
+            { "embeddedBy", "incorporato da" },
+            { "embeds", "incorpora" },
+            { "enabled", "attivato" },
+            { "expandable", "espandibile" },
+            { "expanded", "espanso" },
+            { "filechooser", "selezione file" },
+            { "filler", "utilit\u00E0 riempimento" },
+            { "flowsFrom", "proviene da" },
+            { "flowsTo", "va verso" },
+            { "focusable", "attivabile in primo piano" },
+            { "focused", "in primo piano" },
+            { "footer", "pi\u00E8 di pagina" },
+            { "frame", "cornice" },
+            { "glasspane", "sottofinestra trasparente" },
+            { "header", "intestazione" },
+            { "horizontal", "orizzontale" },
+            { "htmlcontainer", "Contenitore HTML" },
+            { "iconified", "ridotto a icona" },
+            { "indeterminate", "indeterminato" },
+            { "internalframe", "cornice interna" },
+            { "label", "etichetta" },
+            { "labelFor", "etichetta per" },
+            { "labeledBy", "etichetta di" },
+            { "layeredpane", "sottofinestra a livelli" },
+            { "list", "elenco" },
+            { "listitem", "voce di elenco" },
+            { "managesDescendants", "gestisce i discendenti" },
+            { "memberOf", "membro di" },
+            { "menu", "menu" },
+            { "menubar", "barra dei menu" },
+            { "menuitem", "voce di menu" },
+            { "modal", "modale" },
+            { "multiline", "a righe multiple" },
+            { "multiselectable", "multi-selezionabile" },
+            { "opaque", "nascosto" },
+            { "optionpane", "sottofinestra delle opzioni" },
+            { "pagetab", "scheda pagina" },
+            { "pagetablist", "elenco schede pagina" },
+            { "panel", "pannello" },
+            { "paragraph", "paragrafo" },
+            { "parentWindowOf", "finestra di livello superiore di" },
+            { "passwordtext", "testo della password" },
+            { "popupmenu", "menu a comparsa" },
+            { "pressed", "premuto" },
+            { "progressMonitor", "stato avanzamento" },
+            { "progressbar", "barra di avanzamento" },
+            { "pushbutton", "pulsante" },
+            { "radiobutton", "pulsante di scelta" },
+            { "resizable", "ridimensionabile" },
+            { "rootpane", "sottofinestra root" },
+            { "rowheader", "intestazione di riga" },
+            { "ruler", "righello" },
+            { "scrollbar", "barra di scorrimento" },
+            { "scrollpane", "scorri sottofinestra" },
+            { "selectable", "selezionabile" },
+            { "selected", "selezionato" },
+            { "separator", "separatore" },
+            { "showing", "visualizzato" },
+            { "singleline", "a riga singola" },
+            { "slider", "cursore" },
+            { "splitpane", "sottofinestra doppia" },
+            { "subwindowOf", "sottofinestra di" },
+            { "swingcomponent", "componente swing" },
+            { "table", "tabella" },
+            { "text", "testo" },
+            { "toggle", "expand=abilita/disabilita espansione" },
+            { "togglebutton", "interruttore" },
+            { "toolbar", "barra degli strumenti" },
+            { "tooltip", "descrizione comandi" },
+            { "transient", "transitorio" },
+            { "tree", "albero" },
+            { "truncated", "troncato" },
+            { "unknown", "sconosciuto" },
+            { "vertical", "verticale" },
+            { "viewport", "viewport" },
+            { "visible", "visibile" },
+            { "window", "finestra" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "\u30A2\u30AF\u30C6\u30A3\u30D6" },
+            { "alert", "\u8B66\u544A" },
+            { "armed", "\u4F5C\u52D5\u6E96\u5099\u5B8C\u4E86" },
+            { "awtcomponent", "AWT \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8" },
+            { "busy", "\u30D3\u30B8\u30FC" },
+            { "canvas", "\u30AD\u30E3\u30F3\u30D0\u30B9" },
+            { "checkbox", "\u30C1\u30A7\u30C3\u30AF\u30DC\u30C3\u30AF\u30B9" },
+            { "checked", "\u30C1\u30A7\u30C3\u30AF" },
+            { "childNodeOf", "\u5B50\u30CE\u30FC\u30C9" },
+            { "collapsed", "\u77ED\u7E2E" },
+            { "colorchooser", "\u30AB\u30E9\u30FC\u30C1\u30E5\u30FC\u30B6" },
+            { "columnheader", "\u5217\u30D8\u30C3\u30C0" },
+            { "combobox", "\u30B3\u30F3\u30DC\u30DC\u30C3\u30AF\u30B9" },
+            { "controlledBy", "\u5236\u5FA1\u5BFE\u8C61" },
+            { "controllerFor", "\u5236\u5FA1\u5143" },
+            { "desktopicon", "\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u30A2\u30A4\u30B3\u30F3" },
+            { "desktoppane", "\u30C7\u30B9\u30AF\u30C8\u30C3\u30D7\u533A\u753B" },
+            { "dialog", "\u30C0\u30A4\u30A2\u30ED\u30B0" },
+            { "directorypane", "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u533A\u753B" },
+            { "editable", "\u7DE8\u96C6\u53EF\u80FD" },
+            { "editbar", "\u7DE8\u96C6\u30D0\u30FC" },
+            { "embeddedBy", "\u57CB\u3081\u8FBC\u307F\u5143" },
+            { "embeds", "\u57CB\u3081\u8FBC\u307F" },
+            { "enabled", "\u6709\u52B9" },
+            { "expandable", "\u5C55\u958B\u53EF\u80FD" },
+            { "expanded", "\u5C55\u958B" },
+            { "filechooser", "\u30D5\u30A1\u30A4\u30EB\u30C1\u30E5\u30FC\u30B6" },
+            { "filler", "\u30D5\u30A3\u30E9\u30FC" },
+            { "flowsFrom", "\u30D5\u30ED\u30FC\u5143" },
+            { "flowsTo", "\u30D5\u30ED\u30FC\u5148" },
+            { "focusable", "\u30D5\u30A9\u30FC\u30AB\u30B9\u53EF\u80FD" },
+            { "focused", "\u30D5\u30A9\u30FC\u30AB\u30B9" },
+            { "footer", "\u30D5\u30C3\u30BF" },
+            { "frame", "\u30D5\u30EC\u30FC\u30E0" },
+            { "glasspane", "\u30AC\u30E9\u30B9\u533A\u753B" },
+            { "header", "\u30D8\u30C3\u30C0" },
+            { "horizontal", "\u6C34\u5E73" },
+            { "htmlcontainer", "HTML \u30B3\u30F3\u30C6\u30CA" },
+            { "iconified", "\u30A2\u30A4\u30B3\u30F3\u5316" },
+            { "indeterminate", "\u4E0D\u78BA\u5B9A" },
+            { "internalframe", "\u5185\u90E8\u30D5\u30EC\u30FC\u30E0" },
+            { "label", "\u30E9\u30D9\u30EB" },
+            { "labelFor", "\u30E9\u30D9\u30EB\u5143" },
+            { "labeledBy", "\u30E9\u30D9\u30EB\u5148" },
+            { "layeredpane", "\u968E\u5C64\u5316\u3055\u308C\u305F\u533A\u753B" },
+            { "list", "\u30EA\u30B9\u30C8" },
+            { "listitem", "\u30EA\u30B9\u30C8\u9805\u76EE" },
+            { "managesDescendants", "\u5B50\u5B6B\u3092\u7BA1\u7406" },
+            { "memberOf", "\u6240\u5C5E\u30E1\u30F3\u30D0" },
+            { "menu", "\u30E1\u30CB\u30E5\u30FC" },
+            { "menubar", "\u30E1\u30CB\u30E5\u30FC\u30D0\u30FC" },
+            { "menuitem", "\u30E1\u30CB\u30E5\u30FC\u9805\u76EE" },
+            { "modal", "\u30E2\u30FC\u30C0\u30EB" },
+            { "multiline", "\u8907\u6570\u884C" },
+            { "multiselectable", "\u8907\u6570\u9078\u629E\u53EF\u80FD" },
+            { "opaque", "\u4E0D\u900F\u660E" },
+            { "optionpane", "\u30AA\u30D7\u30B7\u30E7\u30F3\u533A\u753B" },
+            { "pagetab", "\u30DA\u30FC\u30B8\u30BF\u30D6" },
+            { "pagetablist", "\u30DA\u30FC\u30B8\u30BF\u30D6\u30EA\u30B9\u30C8" },
+            { "panel", "\u30D1\u30CD\u30EB" },
+            { "paragraph", "\u30D1\u30E9\u30B0\u30E9\u30D5" },
+            { "parentWindowOf", "\u89AA\u30A6\u30A3\u30F3\u30C9\u30A6" },
+            { "passwordtext", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30C6\u30AD\u30B9\u30C8" },
+            { "popupmenu", "\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7\u30E1\u30CB\u30E5\u30FC" },
+            { "pressed", "\u62BC\u4E0B" },
+            { "progressMonitor", "\u9032\u6357\u30E2\u30CB\u30BF" },
+            { "progressbar", "\u9032\u6357\u30D0\u30FC" },
+            { "pushbutton", "\u30D7\u30C3\u30B7\u30E5\u30DC\u30BF\u30F3" },
+            { "radiobutton", "\u30E9\u30B8\u30AA\u30DC\u30BF\u30F3" },
+            { "resizable", "\u30B5\u30A4\u30BA\u5909\u66F4\u53EF\u80FD" },
+            { "rootpane", "\u30EB\u30FC\u30C8\u533A\u753B" },
+            { "rowheader", "\u884C\u30D8\u30C3\u30C0" },
+            { "ruler", "\u30EB\u30FC\u30E9" },
+            { "scrollbar", "\u30B9\u30AF\u30ED\u30FC\u30EB\u30D0\u30FC" },
+            { "scrollpane", "\u30B9\u30AF\u30ED\u30FC\u30EB\u533A\u753B" },
+            { "selectable", "\u9078\u629E\u53EF\u80FD" },
+            { "selected", "\u9078\u629E" },
+            { "separator", "\u30BB\u30D1\u30EC\u30FC\u30BF" },
+            { "showing", "\u8868\u793A" },
+            { "singleline", "\u5358\u4E00\u884C" },
+            { "slider", "\u30B9\u30E9\u30A4\u30C0" },
+            { "splitpane", "\u5206\u5272\u533A\u753B" },
+            { "subwindowOf", "\u30B5\u30D6\u30A6\u30A3\u30F3\u30C9\u30A6" },
+            { "swingcomponent", "Swing \u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8" },
+            { "table", "\u30C6\u30FC\u30D6\u30EB" },
+            { "text", "\u30C6\u30AD\u30B9\u30C8" },
+            { "toggle", "expand=\u30C8\u30B0\u30EB\u5C55\u958B" },
+            { "togglebutton", "\u30C8\u30B0\u30EB\u30DC\u30BF\u30F3" },
+            { "toolbar", "\u30C4\u30FC\u30EB\u30D0\u30FC" },
+            { "tooltip", "\u30C4\u30FC\u30EB\u30D2\u30F3\u30C8" },
+            { "transient", "\u4E00\u6642" },
+            { "tree", "\u30C4\u30EA\u30FC" },
+            { "truncated", "\u4E0D\u5B8C\u5168" },
+            { "unknown", "\u672A\u77E5" },
+            { "vertical", "\u5782\u76F4" },
+            { "viewport", "\u30D3\u30E5\u30FC\u30DD\u30FC\u30C8" },
+            { "visible", "\u53EF\u8996" },
+            { "window", "\u30A6\u30A3\u30F3\u30C9\u30A6" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "\uD65C\uC131" },
+            { "alert", "\uACBD\uACE0" },
+            { "armed", "\uD06C\uAE30" },
+            { "awtcomponent", "AWT \uAD6C\uC131\uC694\uC18C" },
+            { "busy", "\uC0AC\uC6A9 \uC911" },
+            { "canvas", "\uCE94\uBC84\uC2A4" },
+            { "checkbox", "\uD655\uC778\uB780" },
+            { "checked", "\uC120\uD0DD\uB428" },
+            { "childNodeOf", "\uD558\uC704 \uB178\uB4DC" },
+            { "collapsed", "\uCD95\uC18C\uB428" },
+            { "colorchooser", "\uC0C9\uC0C1 \uC120\uD0DD\uAE30" },
+            { "columnheader", "\uC5F4 \uBA38\uB9AC\uAE00" },
+            { "combobox", "\uCF64\uBCF4 \uC0C1\uC790" },
+            { "controlledBy", "\uC81C\uC5B4\uC790" },
+            { "controllerFor", "\uC81C\uC5B4\uAE30 \uB300\uC0C1" },
+            { "desktopicon", "\uB370\uC2A4\uD06C\uD0D1 \uC544\uC774\uCF58" },
+            { "desktoppane", "\uB370\uC2A4\uD06C\uD0D1 \uD45C\uC2DC \uC601\uC5ED" },
+            { "dialog", "\uB300\uD654 \uC0C1\uC790" },
+            { "directorypane", "\uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC \uC601\uC5ED" },
+            { "editable", "\uD3B8\uC9D1 \uAC00\uB2A5" },
+            { "editbar", "\uD3B8\uC9D1 \uB3C4\uAD6C" },
+            { "embeddedBy", "\uC5D0 \uD3EC\uD568" },
+            { "embeds", "\uC744(\uB97C) \uD3EC\uD568" },
+            { "enabled", "\uD65C\uC131\uD654\uB428" },
+            { "expandable", "\uD655\uC7A5 \uAC00\uB2A5" },
+            { "expanded", "\uD655\uC7A5\uB428" },
+            { "filechooser", "\uD30C\uC77C \uC120\uD0DD\uAE30" },
+            { "filler", "\uD544\uB7EC" },
+            { "flowsFrom", "\uC5D0\uC11C \uD750\uB984" },
+            { "flowsTo", "(\uC73C)\uB85C \uD750\uB984" },
+            { "focusable", "\uD3EC\uCEE4\uC2A4 \uAC00\uB2A5" },
+            { "focused", "\uD3EC\uCEE4\uC2A4 \uC9C0\uC815\uB428" },
+            { "footer", "\uAF2C\uB9AC\uB9D0" },
+            { "frame", "\uD504\uB808\uC784" },
+            { "glasspane", "\uAE00\uB798\uC2A4 \uD45C\uC2DC \uC601\uC5ED" },
+            { "header", "\uBA38\uB9AC\uB9D0" },
+            { "horizontal", "\uC218\uD3C9" },
+            { "htmlcontainer", "HTML \uCEE8\uD14C\uC774\uB108" },
+            { "iconified", "\uC544\uC774\uCF58\uD654\uB428" },
+            { "indeterminate", "\uBD80\uC815" },
+            { "internalframe", "\uB0B4\uBD80 \uD504\uB808\uC784" },
+            { "label", "\uB808\uC774\uBE14" },
+            { "labelFor", "\uB808\uC774\uBE14 \uB300\uC0C1" },
+            { "labeledBy", "\uB808\uC774\uBE14 \uC9C0\uC815\uC790" },
+            { "layeredpane", "\uACC4\uCE35 \uD45C\uC2DC \uC601\uC5ED" },
+            { "list", "\uBAA9\uB85D" },
+            { "listitem", "\uBAA9\uB85D \uD56D\uBAA9" },
+            { "managesDescendants", "\uD558\uC704 \uD56D\uBAA9 \uAD00\uB9AC" },
+            { "memberOf", "\uB2E4\uC74C\uC758 \uAD6C\uC131\uC6D0" },
+            { "menu", "\uBA54\uB274" },
+            { "menubar", "\uBA54\uB274 \uD45C\uC2DC\uC904" },
+            { "menuitem", "\uBA54\uB274 \uD56D\uBAA9" },
+            { "modal", "\uBAA8\uB2EC" },
+            { "multiline", "\uBCF5\uC218 \uD589" },
+            { "multiselectable", "\uBCF5\uC218\uB85C \uC120\uD0DD \uAC00\uB2A5" },
+            { "opaque", "\uBD88\uD22C\uBA85" },
+            { "optionpane", "\uC635\uC158 \uD45C\uC2DC \uC601\uC5ED" },
+            { "pagetab", "\uD398\uC774\uC9C0 \uD0ED" },
+            { "pagetablist", "\uD398\uC774\uC9C0 \uD0ED \uBAA9\uB85D" },
+            { "panel", "\uD328\uB110" },
+            { "paragraph", "\uB2E8\uB77D" },
+            { "parentWindowOf", "\uC0C1\uC704 \uCC3D" },
+            { "passwordtext", "\uC554\uD638 \uD14D\uC2A4\uD2B8" },
+            { "popupmenu", "\uD31D\uC5C5 \uBA54\uB274" },
+            { "pressed", "\uB204\uB984" },
+            { "progressMonitor", "\uC9C4\uD589 \uBAA8\uB2C8\uD130" },
+            { "progressbar", "\uC9C4\uD589 \uB9C9\uB300" },
+            { "pushbutton", "\uB204\uB984 \uBC84\uD2BC" },
+            { "radiobutton", "\uB77C\uB514\uC624 \uBC84\uD2BC" },
+            { "resizable", "\uD06C\uAE30 \uC870\uC815 \uAC00\uB2A5" },
+            { "rootpane", "\uB8E8\uD2B8 \uD45C\uC2DC \uC601\uC5ED" },
+            { "rowheader", "\uD589 \uBA38\uB9AC\uAE00" },
+            { "ruler", "\uB208\uAE08\uC790" },
+            { "scrollbar", "\uC2A4\uD06C\uB864 \uB9C9\uB300" },
+            { "scrollpane", "\uC2A4\uD06C\uB864 \uD45C\uC2DC \uC601\uC5ED" },
+            { "selectable", "\uC120\uD0DD \uAC00\uB2A5" },
+            { "selected", "\uC120\uD0DD\uB428" },
+            { "separator", "\uAD6C\uBD84\uC790" },
+            { "showing", "\uD45C\uC2DC" },
+            { "singleline", "\uB2E8\uC120" },
+            { "slider", "\uC2AC\uB77C\uC774\uB354" },
+            { "splitpane", "\uBD84\uD560 \uD45C\uC2DC \uC601\uC5ED" },
+            { "subwindowOf", "\uD558\uC704 \uCC3D" },
+            { "swingcomponent", "swing \uAD6C\uC131\uC694\uC18C" },
+            { "table", "\uD14C\uC774\uBE14" },
+            { "text", "\uD14D\uC2A4\uD2B8" },
+            { "toggle", "expand=\uD1A0\uAE00 \uD655\uC7A5" },
+            { "togglebutton", "\uD1A0\uAE00 \uBC84\uD2BC" },
+            { "toolbar", "\uB3C4\uAD6C \uBAA8\uC74C" },
+            { "tooltip", "\uB3C4\uAD6C \uD301" },
+            { "transient", "\uC77C\uC2DC" },
+            { "tree", "\uD2B8\uB9AC" },
+            { "truncated", "\uC0DD\uB7B5" },
+            { "unknown", "\uC54C\uC218 \uC5C6\uC74C" },
+            { "vertical", "\uC218\uC9C1" },
+            { "viewport", "\uBDF0\uD3EC\uD2B8" },
+            { "visible", "\uAC00\uC2DC" },
+            { "window", "\uCC3D" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "aktiv" },
+            { "alert", "varning" },
+            { "armed", "anv\u00E4nd" },
+            { "awtcomponent", "AWT-komponent" },
+            { "busy", "upptagen" },
+            { "canvas", "bakgrund" },
+            { "checkbox", "kryssruta" },
+            { "checked", "markerad" },
+            { "childNodeOf", "underordnad nod f\u00F6r" },
+            { "collapsed", "inf\u00E4lld" },
+            { "colorchooser", "f\u00E4rgv\u00E4ljare" },
+            { "columnheader", "kolumnrubrik" },
+            { "combobox", "kombinationsruta" },
+            { "controlledBy", "kontrolleratAv" },
+            { "controllerFor", "styrenhetF\u00F6r" },
+            { "desktopicon", "skrivbordsikon" },
+            { "desktoppane", "skrivbordsruta" },
+            { "dialog", "dialogruta" },
+            { "directorypane", "katalogruta" },
+            { "editable", "redigerbar" },
+            { "editbar", "redigeringslist" },
+            { "embeddedBy", "b\u00E4ddas in av" },
+            { "embeds", "b\u00E4ddar in" },
+            { "enabled", "aktiverad" },
+            { "expandable", "ut\u00F6kningsbar" },
+            { "expanded", "ut\u00F6kad" },
+            { "filechooser", "filv\u00E4ljare" },
+            { "filler", "utfyllnad" },
+            { "flowsFrom", "fl\u00F6dar fr\u00E5n" },
+            { "flowsTo", "fl\u00F6dar till" },
+            { "focusable", "fokuseringsbar" },
+            { "focused", "fokuserad" },
+            { "footer", "sidfot" },
+            { "frame", "ram" },
+            { "glasspane", "glasruta" },
+            { "header", "sidhuvud" },
+            { "horizontal", "horisontell" },
+            { "htmlcontainer", "HTML-container" },
+            { "iconified", "minimerad" },
+            { "indeterminate", "obest\u00E4mt" },
+            { "internalframe", "intern ram" },
+            { "label", "etikett" },
+            { "labelFor", "etikett f\u00F6r" },
+            { "labeledBy", "etikett av" },
+            { "layeredpane", "staplad ruta" },
+            { "list", "lista" },
+            { "listitem", "listelement" },
+            { "managesDescendants", "hanterar efterf\u00F6ljare" },
+            { "memberOf", "medlem i" },
+            { "menu", "meny" },
+            { "menubar", "menylist" },
+            { "menuitem", "menyalternativ" },
+            { "modal", "tillst\u00E5ndsberoende" },
+            { "multiline", "flera linjer" },
+            { "multiselectable", "multivalbar" },
+            { "opaque", "ogenomskinlig" },
+            { "optionpane", "alternativruta" },
+            { "pagetab", "sidflik" },
+            { "pagetablist", "sidflikslista" },
+            { "panel", "panel" },
+            { "paragraph", "stycke" },
+            { "parentWindowOf", "\u00F6verordnat f\u00F6nster f\u00F6r" },
+            { "passwordtext", "l\u00F6senordstext" },
+            { "popupmenu", "snabbmeny" },
+            { "pressed", "nedtryckt" },
+            { "progressMonitor", "f\u00F6rloppsindikator" },
+            { "progressbar", "statuslist" },
+            { "pushbutton", "knapp" },
+            { "radiobutton", "envalsknapp" },
+            { "resizable", "storleks\u00E4ndringsbar" },
+            { "rootpane", "grundruta" },
+            { "rowheader", "radhuvud" },
+            { "ruler", "linjal" },
+            { "scrollbar", "bl\u00E4ddringslist" },
+            { "scrollpane", "bl\u00E4dderruta" },
+            { "selectable", "markeringsbar" },
+            { "selected", "vald" },
+            { "separator", "avskiljare" },
+            { "showing", "visa" },
+            { "singleline", "en rad" },
+            { "slider", "skjutreglage" },
+            { "splitpane", "delad ruta" },
+            { "subwindowOf", "delf\u00F6nster av" },
+            { "swingcomponent", "swing-komponent" },
+            { "table", "tabell" },
+            { "text", "text" },
+            { "toggle", "expand=v\u00E4xla ut\u00F6ka" },
+            { "togglebutton", "v\u00E4xlingsknapp" },
+            { "toolbar", "verktygsrad" },
+            { "tooltip", "knappbeskrivning" },
+            { "transient", "flytande" },
+            { "tree", "tr\u00E4d" },
+            { "truncated", "avklippt" },
+            { "unknown", "ok\u00E4nd" },
+            { "vertical", "vertikal" },
+            { "viewport", "vyport" },
+            { "visible", "synlig" },
+            { "window", "f\u00F6nster" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "\u6D3B\u52A8" },
+            { "alert", "\u8B66\u62A5" },
+            { "armed", "\u5F85\u547D" },
+            { "awtcomponent", "AWT \u7EC4\u4EF6" },
+            { "busy", "\u5FD9" },
+            { "canvas", "\u753B\u5E03" },
+            { "checkbox", "\u590D\u9009\u6846" },
+            { "checked", "\u5DF2\u9009\u4E2D" },
+            { "childNodeOf", "\u5B50\u8282\u70B9" },
+            { "collapsed", "\u5DF2\u6536\u7F29" },
+            { "colorchooser", "\u989C\u8272\u9009\u62E9\u5668" },
+            { "columnheader", "\u5217\u6807\u9898" },
+            { "combobox", "\u7EC4\u5408\u6846" },
+            { "controlledBy", "\u63A7\u5236\u8005" },
+            { "controllerFor", "\u63A7\u5236\u5BF9\u8C61" },
+            { "desktopicon", "\u684C\u9762\u56FE\u6807" },
+            { "desktoppane", "\u684C\u9762\u7A97\u683C" },
+            { "dialog", "\u5BF9\u8BDD" },
+            { "directorypane", "\u76EE\u5F55\u7A97\u683C" },
+            { "editable", "\u53EF\u7F16\u8F91" },
+            { "editbar", "\u7F16\u8F91\u680F" },
+            { "embeddedBy", "\u5D4C\u5165\u8005" },
+            { "embeds", "\u5D4C\u5165\u9879" },
+            { "enabled", "\u5DF2\u542F\u7528" },
+            { "expandable", "\u53EF\u5C55\u5F00" },
+            { "expanded", "\u5DF2\u5C55\u5F00" },
+            { "filechooser", "\u6587\u4EF6\u9009\u62E9\u5668" },
+            { "filler", "\u6F0F\u6597" },
+            { "flowsFrom", "\u6D41\u81EA" },
+            { "flowsTo", "\u6D41\u5411" },
+            { "focusable", "\u53EF\u96C6\u4E2D" },
+            { "focused", "\u5DF2\u96C6\u4E2D" },
+            { "footer", "\u9875\u811A" },
+            { "frame", "\u5E27" },
+            { "glasspane", "\u73BB\u7483\u7A97\u683C" },
+            { "header", "\u9875\u7709" },
+            { "horizontal", "\u6C34\u5E73" },
+            { "htmlcontainer", "HTML \u5BB9\u5668" },
+            { "iconified", "\u56FE\u6807\u5F0F" },
+            { "indeterminate", "\u4E0D\u786E\u5B9A" },
+            { "internalframe", "\u5185\u90E8\u5E27" },
+            { "label", "\u6807\u7B7E" },
+            { "labelFor", "\u6807\u7B7E\u5C5E\u4E8E" },
+            { "labeledBy", "\u6807\u7B7E\u5236\u4F5C\u8005" },
+            { "layeredpane", "\u5206\u5C42\u7A97\u683C" },
+            { "list", "\u5217\u8868" },
+            { "listitem", "\u5217\u8868\u9879" },
+            { "managesDescendants", "\u7BA1\u7406\u5B50\u5B59" },
+            { "memberOf", "\u5C5E\u4E8E" },
+            { "menu", "\u83DC\u5355" },
+            { "menubar", "\u83DC\u5355\u680F" },
+            { "menuitem", "\u83DC\u5355\u9879" },
+            { "modal", "\u6A21\u6001" },
+            { "multiline", "\u591A\u884C" },
+            { "multiselectable", "\u591A\u9009\u62E9" },
+            { "opaque", "\u4E0D\u900F\u660E" },
+            { "optionpane", "\u9009\u9879\u7A97\u683C" },
+            { "pagetab", "\u9875\u6807\u7B7E" },
+            { "pagetablist", "\u9875\u6807\u7B7E\u5217\u8868" },
+            { "panel", "\u9762\u677F" },
+            { "paragraph", "\u6BB5\u843D" },
+            { "parentWindowOf", "\u7236\u7A97\u53E3" },
+            { "passwordtext", "\u5BC6\u7801\u6587\u672C" },
+            { "popupmenu", "\u5F39\u51FA\u5F0F\u83DC\u5355" },
+            { "pressed", "\u5DF2\u6309\u4E0B" },
+            { "progressMonitor", "\u8FDB\u5EA6\u76D1\u89C6\u5668" },
+            { "progressbar", "\u8FDB\u5EA6\u6761" },
+            { "pushbutton", "\u6309\u94AE" },
+            { "radiobutton", "\u5355\u9009\u6309\u94AE" },
+            { "resizable", "\u5927\u5C0F\u53EF\u8C03" },
+            { "rootpane", "\u6839\u7A97\u683C" },
+            { "rowheader", "\u884C\u6807\u9898" },
+            { "ruler", "\u6807\u5C3A" },
+            { "scrollbar", "\u6EDA\u52A8\u6761" },
+            { "scrollpane", "\u6EDA\u52A8\u7A97\u683C" },
+            { "selectable", "\u53EF\u9009\u62E9" },
+            { "selected", "\u5DF2\u9009\u5B9A" },
+            { "separator", "\u5206\u9694\u6761" },
+            { "showing", "\u6B63\u5728\u663E\u793A" },
+            { "singleline", "\u5355\u884C" },
+            { "slider", "\u6ED1\u5757" },
+            { "splitpane", "\u62C6\u5206\u7A97\u683C" },
+            { "subwindowOf", "\u5B50\u7A97\u53E3" },
+            { "swingcomponent", "\u65CB\u8F6C\u7EC4\u4EF6" },
+            { "table", "\u8868" },
+            { "text", "\u6587\u672C" },
+            { "toggle", "expand=\u5207\u6362\u5C55\u5F00" },
+            { "togglebutton", "\u5207\u6362\u6309\u94AE" },
+            { "toolbar", "\u5DE5\u5177\u680F" },
+            { "tooltip", "\u5DE5\u5177\u63D0\u793A" },
+            { "transient", "\u77AC\u65F6" },
+            { "tree", "\u6811" },
+            { "truncated", "\u5DF2\u622A\u65AD" },
+            { "unknown", "\u672A\u77E5" },
+            { "vertical", "\u5782\u76F4" },
+            { "viewport", "\u89C6\u53E3" },
+            { "visible", "\u53EF\u89C1" },
+            { "window", "\u7A97\u53E3" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "\u4F5C\u7528\u4E2D" },
+            { "alert", "\u8B66\u793A" },
+            { "armed", "\u5DF2\u914D\u5099" },
+            { "awtcomponent", "AWT \u5143\u4EF6" },
+            { "busy", "\u5FD9\u788C\u4E2D" },
+            { "canvas", "\u756B\u5E03" },
+            { "checkbox", "\u6838\u53D6\u65B9\u584A" },
+            { "checked", "\u5DF2\u6838\u9078" },
+            { "childNodeOf", "\u5B50\u7BC0\u9EDE" },
+            { "collapsed", "\u5DF2\u6536\u7E2E" },
+            { "colorchooser", "\u8272\u5F69\u9078\u64C7\u5668" },
+            { "columnheader", "\u76F4\u6B04\u6A19\u984C" },
+            { "combobox", "\u4E0B\u62C9\u5F0F\u6E05\u55AE\u65B9\u584A" },
+            { "controlledBy", "\u63A7\u5236\u8005" },
+            { "controllerFor", "\u63A7\u5236\u5C0D\u8C61" },
+            { "desktopicon", "\u684C\u9762\u5716\u793A" },
+            { "desktoppane", "\u684C\u9762\u7A97\u683C" },
+            { "dialog", "\u5C0D\u8A71\u65B9\u584A" },
+            { "directorypane", "\u76EE\u9304\u7A97\u683C" },
+            { "editable", "\u53EF\u7DE8\u8F2F" },
+            { "editbar", "\u7DE8\u8F2F\u5217" },
+            { "embeddedBy", "\u5167\u5D4C\u8005" },
+            { "embeds", "\u5167\u5D4C" },
+            { "enabled", "\u5DF2\u555F\u52D5" },
+            { "expandable", "\u53EF\u64F4\u5C55" },
+            { "expanded", "\u5DF2\u64F4\u5C55" },
+            { "filechooser", "\u6A94\u6848\u9078\u64C7\u5668" },
+            { "filler", "\u586B\u5145\u7269" },
+            { "flowsFrom", "\u6D41\u52D5\u81EA" },
+            { "flowsTo", "\u6D41\u52D5\u81F3" },
+            { "focusable", "\u53EF\u805A\u7126" },
+            { "focused", "\u5DF2\u805A\u7126" },
+            { "footer", "\u9801\u5C3E" },
+            { "frame", "\u6846\u67B6" },
+            { "glasspane", "\u6AA2\u8996\u7A97\u683C" },
+            { "header", "\u9801\u9996" },
+            { "horizontal", "\u6C34\u5E73" },
+            { "htmlcontainer", "HTML \u5BB9\u5668" },
+            { "iconified", "\u5DF2\u5716\u793A\u5316" },
+            { "indeterminate", "\u4E0D\u78BA\u5B9A" },
+            { "internalframe", "\u5167\u90E8\u6846\u67B6" },
+            { "label", "\u6A19\u7C64" },
+            { "labelFor", "\u6A19\u793A\u5C0D\u8C61" },
+            { "labeledBy", "\u6A19\u793A\u8005" },
+            { "layeredpane", "\u5206\u5C64\u7A97\u683C" },
+            { "list", "\u6E05\u55AE" },
+            { "listitem", "\u6E05\u55AE\u9805\u76EE" },
+            { "managesDescendants", "\u7BA1\u7406\u5B50\u4EE3" },
+            { "memberOf", "\u6240\u5C6C\u6210\u54E1" },
+            { "menu", "\u529F\u80FD\u8868" },
+            { "menubar", "\u529F\u80FD\u8868\u5217" },
+            { "menuitem", "\u529F\u80FD\u8868\u9805\u76EE" },
+            { "modal", "\u6A21\u614B" },
+            { "multiline", "\u591A\u884C" },
+            { "multiselectable", "\u53EF\u591A\u91CD\u9078\u53D6" },
+            { "opaque", "\u4E0D\u900F\u660E" },
+            { "optionpane", "\u9078\u9805\u7A97\u683C" },
+            { "pagetab", "\u9801\u9762\u6A19\u7C64" },
+            { "pagetablist", "\u9801\u9762\u6A19\u7C64\u6E05\u55AE" },
+            { "panel", "\u9762\u677F" },
+            { "paragraph", "\u6BB5\u843D" },
+            { "parentWindowOf", "\u7236\u7CFB\u8996\u7A97" },
+            { "passwordtext", "\u5BC6\u78BC\u6587\u5B57" },
+            { "popupmenu", "\u8E66\u73FE\u5F0F\u529F\u80FD\u8868" },
+            { "pressed", "\u5DF2\u6309\u4E0B" },
+            { "progressMonitor", "\u9032\u5EA6\u76E3\u8996\u5668" },
+            { "progressbar", "\u9032\u5EA6\u5217" },
+            { "pushbutton", "\u4E0B\u58D3\u6309\u9215" },
+            { "radiobutton", "\u55AE\u9078\u9215" },
+            { "resizable", "\u53EF\u8ABF\u6574\u5927\u5C0F" },
+            { "rootpane", "root \u7A97\u683C" },
+            { "rowheader", "\u5217\u6A19\u984C" },
+            { "ruler", "\u6A19\u5C3A" },
+            { "scrollbar", "\u6372\u8EF8" },
+            { "scrollpane", "\u6372\u52D5\u7A97\u683C" },
+            { "selectable", "\u53EF\u9078\u53D6" },
+            { "selected", "\u5DF2\u9078\u53D6" },
+            { "separator", "\u5206\u9694\u5143" },
+            { "showing", "\u986F\u793A" },
+            { "singleline", "\u55AE\u884C" },
+            { "slider", "\u6ED1\u52D5\u8EF8" },
+            { "splitpane", "\u5206\u5272\u7A97\u683C" },
+            { "subwindowOf", "\u5B50\u8996\u7A97" },
+            { "swingcomponent", "Swing \u5143\u4EF6" },
+            { "table", "\u8868\u683C" },
+            { "text", "\u6587\u5B57" },
+            { "toggle", "expand=\u5207\u63DB\u64F4\u5C55" },
+            { "togglebutton", "\u5207\u63DB\u6309\u9215" },
+            { "toolbar", "\u5DE5\u5177\u5217" },
+            { "tooltip", "\u5DE5\u5177\u63D0\u793A" },
+            { "transient", "\u66AB\u6642\u7684" },
+            { "tree", "\u6A39\u72C0\u7D50\u69CB" },
+            { "truncated", "\u5DF2\u622A\u65B7" },
+            { "unknown", "\u672A\u77E5" },
+            { "vertical", "\u5782\u76F4" },
+            { "viewport", "\u6AA2\u8996\u5340" },
+            { "visible", "\u53EF\u898B\u7684" },
+            { "window", "\u8996\u7A97" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/accessibility/internal/resources/accessibility_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.accessibility.internal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class accessibility_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "active", "\u4F5C\u7528\u4E2D" },
+            { "alert", "\u8B66\u793A" },
+            { "armed", "\u5DF2\u914D\u5099" },
+            { "awtcomponent", "AWT \u5143\u4EF6" },
+            { "busy", "\u5FD9\u788C\u4E2D" },
+            { "canvas", "\u756B\u5E03" },
+            { "checkbox", "\u6838\u53D6\u65B9\u584A" },
+            { "checked", "\u5DF2\u6838\u9078" },
+            { "childNodeOf", "\u5B50\u7BC0\u9EDE" },
+            { "collapsed", "\u5DF2\u6536\u7E2E" },
+            { "colorchooser", "\u8272\u5F69\u9078\u64C7\u5668" },
+            { "columnheader", "\u76F4\u6B04\u6A19\u984C" },
+            { "combobox", "\u4E0B\u62C9\u5F0F\u6E05\u55AE\u65B9\u584A" },
+            { "controlledBy", "\u63A7\u5236\u8005" },
+            { "controllerFor", "\u63A7\u5236\u5C0D\u8C61" },
+            { "desktopicon", "\u684C\u9762\u5716\u793A" },
+            { "desktoppane", "\u684C\u9762\u7A97\u683C" },
+            { "dialog", "\u5C0D\u8A71\u65B9\u584A" },
+            { "directorypane", "\u76EE\u9304\u7A97\u683C" },
+            { "editable", "\u53EF\u7DE8\u8F2F" },
+            { "editbar", "\u7DE8\u8F2F\u5217" },
+            { "embeddedBy", "\u5167\u5D4C\u8005" },
+            { "embeds", "\u5167\u5D4C" },
+            { "enabled", "\u5DF2\u555F\u52D5" },
+            { "expandable", "\u53EF\u64F4\u5C55" },
+            { "expanded", "\u5DF2\u64F4\u5C55" },
+            { "filechooser", "\u6A94\u6848\u9078\u64C7\u5668" },
+            { "filler", "\u586B\u5145\u7269" },
+            { "flowsFrom", "\u6D41\u52D5\u81EA" },
+            { "flowsTo", "\u6D41\u52D5\u81F3" },
+            { "focusable", "\u53EF\u805A\u7126" },
+            { "focused", "\u5DF2\u805A\u7126" },
+            { "footer", "\u9801\u5C3E" },
+            { "frame", "\u6846\u67B6" },
+            { "glasspane", "\u6AA2\u8996\u7A97\u683C" },
+            { "header", "\u9801\u9996" },
+            { "horizontal", "\u6C34\u5E73" },
+            { "htmlcontainer", "HTML \u5BB9\u5668" },
+            { "iconified", "\u5DF2\u5716\u793A\u5316" },
+            { "indeterminate", "\u4E0D\u78BA\u5B9A" },
+            { "internalframe", "\u5167\u90E8\u6846\u67B6" },
+            { "label", "\u6A19\u7C64" },
+            { "labelFor", "\u6A19\u793A\u5C0D\u8C61" },
+            { "labeledBy", "\u6A19\u793A\u8005" },
+            { "layeredpane", "\u5206\u5C64\u7A97\u683C" },
+            { "list", "\u6E05\u55AE" },
+            { "listitem", "\u6E05\u55AE\u9805\u76EE" },
+            { "managesDescendants", "\u7BA1\u7406\u5B50\u4EE3" },
+            { "memberOf", "\u6240\u5C6C\u6210\u54E1" },
+            { "menu", "\u529F\u80FD\u8868" },
+            { "menubar", "\u529F\u80FD\u8868\u5217" },
+            { "menuitem", "\u529F\u80FD\u8868\u9805\u76EE" },
+            { "modal", "\u6A21\u614B" },
+            { "multiline", "\u591A\u884C" },
+            { "multiselectable", "\u53EF\u591A\u91CD\u9078\u53D6" },
+            { "opaque", "\u4E0D\u900F\u660E" },
+            { "optionpane", "\u9078\u9805\u7A97\u683C" },
+            { "pagetab", "\u9801\u9762\u6A19\u7C64" },
+            { "pagetablist", "\u9801\u9762\u6A19\u7C64\u6E05\u55AE" },
+            { "panel", "\u9762\u677F" },
+            { "paragraph", "\u6BB5\u843D" },
+            { "parentWindowOf", "\u7236\u7CFB\u8996\u7A97" },
+            { "passwordtext", "\u5BC6\u78BC\u6587\u5B57" },
+            { "popupmenu", "\u8E66\u73FE\u5F0F\u529F\u80FD\u8868" },
+            { "pressed", "\u5DF2\u6309\u4E0B" },
+            { "progressMonitor", "\u9032\u5EA6\u76E3\u8996\u5668" },
+            { "progressbar", "\u9032\u5EA6\u5217" },
+            { "pushbutton", "\u4E0B\u58D3\u6309\u9215" },
+            { "radiobutton", "\u55AE\u9078\u9215" },
+            { "resizable", "\u53EF\u8ABF\u6574\u5927\u5C0F" },
+            { "rootpane", "root \u7A97\u683C" },
+            { "rowheader", "\u5217\u6A19\u984C" },
+            { "ruler", "\u6A19\u5C3A" },
+            { "scrollbar", "\u6372\u8EF8" },
+            { "scrollpane", "\u6372\u52D5\u7A97\u683C" },
+            { "selectable", "\u53EF\u9078\u53D6" },
+            { "selected", "\u5DF2\u9078\u53D6" },
+            { "separator", "\u5206\u9694\u5143" },
+            { "showing", "\u986F\u793A" },
+            { "singleline", "\u55AE\u884C" },
+            { "slider", "\u6ED1\u52D5\u8EF8" },
+            { "splitpane", "\u5206\u5272\u7A97\u683C" },
+            { "subwindowOf", "\u5B50\u8996\u7A97" },
+            { "swingcomponent", "Swing \u5143\u4EF6" },
+            { "table", "\u8868\u683C" },
+            { "text", "\u6587\u5B57" },
+            { "toggle", "expand=\u5207\u63DB\u64F4\u5C55" },
+            { "togglebutton", "\u5207\u63DB\u6309\u9215" },
+            { "toolbar", "\u5DE5\u5177\u5217" },
+            { "tooltip", "\u5DE5\u5177\u63D0\u793A" },
+            { "transient", "\u66AB\u6642\u7684" },
+            { "tree", "\u6A39\u72C0\u7D50\u69CB" },
+            { "truncated", "\u5DF2\u622A\u65B7" },
+            { "unknown", "\u672A\u77E5" },
+            { "vertical", "\u5782\u76F4" },
+            { "viewport", "\u6AA2\u8996\u5340" },
+            { "visible", "\u53EF\u898B\u7684" },
+            { "window", "\u8996\u7A97" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/Activator.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/Activator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public interface Activator extends ActivatorOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Activator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ActivatorHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ActivatorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ActivatorHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/Activator:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.Activator 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 com.sun.corba.se.PortableActivationIDL.Activator 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 (com.sun.corba.se.PortableActivationIDL.ActivatorHelper.id (), "Activator");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Activator read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_ActivatorStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.Activator value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Activator narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.Activator)
+      return (com.sun.corba.se.PortableActivationIDL.Activator)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 ();
+      com.sun.corba.se.PortableActivationIDL._ActivatorStub stub = new com.sun.corba.se.PortableActivationIDL._ActivatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Activator unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.Activator)
+      return (com.sun.corba.se.PortableActivationIDL.Activator)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.PortableActivationIDL._ActivatorStub stub = new com.sun.corba.se.PortableActivationIDL._ActivatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ActivatorHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ActivatorHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ActivatorHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.Activator value = null;
+
+  public ActivatorHolder ()
+  {
+  }
+
+  public ActivatorHolder (com.sun.corba.se.PortableActivationIDL.Activator initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ActivatorHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ActivatorHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ActivatorHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ActivatorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,73 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ActivatorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public interface ActivatorOperations 
+{
+
+  /** A new ORB started server registers itself with the Activator
+  	*/
+  void registerServer (String serverId, com.sun.corba.se.PortableActivationIDL.ServerProxy serverObj) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered;
+
+  /** A server is shutting down that was started by this activator.
+  	* Complete termination of the server is detected by the death of the
+  	* process implementing the server.
+  	*/
+  void serverGoingDown (String serverId);
+
+  /** Called whenever an ORB instance is created.  This registers
+  	* the transport endpoints and the ORB proxy callback object.
+  	* Note that we cannot detect when an ORB shuts down, although
+  	* all of the POA shutdowns should still be reported.
+  	*/
+  void registerORB (String serverId, String orbId, com.sun.corba.se.PortableActivationIDL.ORBProxy orb, com.sun.corba.se.PortableActivationIDL.EndPointInfo[] endPointInfo) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint, com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered;
+
+  /** Construct or find an ORBD object template corresponding to the 
+  	* server's object template and return it.  Called whenever a 
+  	* persistent POA is created.
+  	*/
+  org.omg.PortableInterceptor.ObjectReferenceTemplate registerPOA (String serverId, String orbId, org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate);
+
+  /** Called whenever a POA is destroyed.
+  	*/
+  void poaDestroyed (String serverId, String orbId, org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate);
+
+  /** If the server is not running, start it up.  This is allowed
+  	* whether or not the server has been installed.
+  	*/
+  void activate (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown;
+
+  /** If the server is running, shut it down
+  	*/
+  void shutdown (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotActive, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered;
+
+  /** Invoke the server install hook.  If the server is not 
+  	* currently running, this method will activate it.
+  	*/
+  void install (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown, com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled;
+
+  /** Invoke the server uninstall hook.  If the server is not
+  	* currently running, this method will activate it.
+  	* After this hook completes, the server may still be running.
+  	*/
+  void uninstall (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown, com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled;
+
+  /** list active servers
+  	*/
+  String[] getActiveServers ();
+
+  /** list all registered ORBs for a server
+  	*/
+  String[] getORBNames (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered;
+
+  /** Find the server template that corresponds to the ORBD's
+  	* adapter id.
+  	*/
+  org.omg.PortableInterceptor.ObjectReferenceTemplate lookupPOATemplate (String serverId, String orbId, String[] orbAdapterName);
+} // interface ActivatorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/BadServerDefinition.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/BadServerDefinition.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class BadServerDefinition extends org.omg.CORBA.UserException
+{
+  public String reason = null;
+
+  public BadServerDefinition ()
+  {
+    super(BadServerDefinitionHelper.id());
+  } // ctor
+
+  public BadServerDefinition (String _reason)
+  {
+    super(BadServerDefinitionHelper.id());
+    reason = _reason;
+  } // ctor
+
+
+  public BadServerDefinition (String $reason, String _reason)
+  {
+    super(BadServerDefinitionHelper.id() + "  " + $reason);
+    reason = _reason;
+  } // ctor
+
+} // class BadServerDefinition
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/BadServerDefinitionHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/BadServerDefinitionHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class BadServerDefinitionHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/BadServerDefinition:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.BadServerDefinition 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 com.sun.corba.se.PortableActivationIDL.BadServerDefinition 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 ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "reason",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.BadServerDefinitionHelper.id (), "BadServerDefinition", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.BadServerDefinition read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.BadServerDefinition value = new com.sun.corba.se.PortableActivationIDL.BadServerDefinition ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.reason = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.BadServerDefinition value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.reason);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/BadServerDefinitionHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/BadServerDefinitionHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class BadServerDefinitionHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.BadServerDefinition value = null;
+
+  public BadServerDefinitionHolder ()
+  {
+  }
+
+  public BadServerDefinitionHolder (com.sun.corba.se.PortableActivationIDL.BadServerDefinition initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.BadServerDefinitionHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.BadServerDefinitionHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.BadServerDefinitionHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/EndPointInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/EndPointInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class EndPointInfo implements org.omg.CORBA.portable.IDLEntity
+{
+  public String endpointType = null;
+  public int port = (int)0;
+
+  public EndPointInfo ()
+  {
+  } // ctor
+
+  public EndPointInfo (String _endpointType, int _port)
+  {
+    endpointType = _endpointType;
+    port = _port;
+  } // ctor
+
+} // class EndPointInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/EndPointInfoHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,83 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/EndPointInfoHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class EndPointInfoHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/EndPointInfo/EndPointInfo:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.EndPointInfo 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 com.sun.corba.se.PortableActivationIDL.EndPointInfo 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "endpointType",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.TCPPortHelper.id (), "TCPPort", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "port",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.id (), "EndPointInfo", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.EndPointInfo read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.EndPointInfo value = new com.sun.corba.se.PortableActivationIDL.EndPointInfo ();
+    value.endpointType = istream.read_string ();
+    value.port = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.EndPointInfo value)
+  {
+    ostream.write_string (value.endpointType);
+    ostream.write_long (value.port);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/EndPointInfoHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/EndPointInfoHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class EndPointInfoHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.EndPointInfo value = null;
+
+  public EndPointInfoHolder ()
+  {
+  }
+
+  public EndPointInfoHolder (com.sun.corba.se.PortableActivationIDL.EndPointInfo initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/EndpointInfoListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,65 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/EndpointInfoListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** A list of endpoint information for a particular ORB.  
+    */
+abstract public class EndpointInfoListHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/EndpointInfoList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.EndPointInfo[] 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 com.sun.corba.se.PortableActivationIDL.EndPointInfo[] 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 = com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.id (), "EndpointInfoList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.EndPointInfo[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.EndPointInfo value[] = null;
+    int _len0 = istream.read_long ();
+    value = new com.sun.corba.se.PortableActivationIDL.EndPointInfo[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.EndPointInfo[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/EndpointInfoListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/EndpointInfoListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** A list of endpoint information for a particular ORB.  
+    */
+public final class EndpointInfoListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.EndPointInfo value[] = null;
+
+  public EndpointInfoListHolder ()
+  {
+  }
+
+  public EndpointInfoListHolder (com.sun.corba.se.PortableActivationIDL.EndPointInfo[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/IIOP_CLEAR_TEXT.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,20 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/IIOP_CLEAR_TEXT.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public interface IIOP_CLEAR_TEXT
+{
+
+  /** Possible values for endpointType argument on Server.getEndpoint()
+      * If you change the value of this constant then update
+      * core.EndPoint accordingly.  It has a duplicate definition
+      * to avoid a compilation dependency.
+      */
+  public static final String value = "IIOP_CLEAR_TEXT";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InitialNameService.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,17 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InitialNameService.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to support binding references in the bootstrap name
+    * service.
+    */
+public interface InitialNameService extends InitialNameServiceOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface InitialNameService
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InitialNameServiceHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,89 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InitialNameServiceHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to support binding references in the bootstrap name
+    * service.
+    */
+abstract public class InitialNameServiceHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/InitialNameService:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.InitialNameService 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 com.sun.corba.se.PortableActivationIDL.InitialNameService 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 (com.sun.corba.se.PortableActivationIDL.InitialNameServiceHelper.id (), "InitialNameService");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.InitialNameService read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_InitialNameServiceStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.InitialNameService value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.InitialNameService narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.InitialNameService)
+      return (com.sun.corba.se.PortableActivationIDL.InitialNameService)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 ();
+      com.sun.corba.se.PortableActivationIDL._InitialNameServiceStub stub = new com.sun.corba.se.PortableActivationIDL._InitialNameServiceStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.InitialNameService unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.InitialNameService)
+      return (com.sun.corba.se.PortableActivationIDL.InitialNameService)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.PortableActivationIDL._InitialNameServiceStub stub = new com.sun.corba.se.PortableActivationIDL._InitialNameServiceStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InitialNameServiceHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InitialNameServiceHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to support binding references in the bootstrap name
+    * service.
+    */
+public final class InitialNameServiceHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.InitialNameService value = null;
+
+  public InitialNameServiceHolder ()
+  {
+  }
+
+  public InitialNameServiceHolder (com.sun.corba.se.PortableActivationIDL.InitialNameService initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.InitialNameServiceHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.InitialNameServiceHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.InitialNameServiceHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InitialNameServiceOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,21 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InitialNameServiceOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to support binding references in the bootstrap name
+    * service.
+    */
+public interface InitialNameServiceOperations 
+{
+
+  /** bind initial name
+  	*/
+  void bind (String name, org.omg.CORBA.Object obj, boolean isPersistant) throws com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound;
+} // interface InitialNameServiceOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBound.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBound.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class NameAlreadyBound extends org.omg.CORBA.UserException
+{
+
+  public NameAlreadyBound ()
+  {
+    super(NameAlreadyBoundHelper.id());
+  } // ctor
+
+
+  public NameAlreadyBound (String $reason)
+  {
+    super(NameAlreadyBoundHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class NameAlreadyBound
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBoundHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBoundHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class NameAlreadyBoundHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/InitialNameService/NameAlreadyBound:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound 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 com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound 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 (com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBoundHelper.id (), "NameAlreadyBound", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound value = new com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBoundHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InitialNameServicePackage/NameAlreadyBoundHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class NameAlreadyBoundHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound value = null;
+
+  public NameAlreadyBoundHolder ()
+  {
+  }
+
+  public NameAlreadyBoundHolder (com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBoundHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBoundHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBoundHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InvalidORBid.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InvalidORBid.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class InvalidORBid extends org.omg.CORBA.UserException
+{
+
+  public InvalidORBid ()
+  {
+    super(InvalidORBidHelper.id());
+  } // ctor
+
+
+  public InvalidORBid (String $reason)
+  {
+    super(InvalidORBidHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidORBid
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InvalidORBidHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InvalidORBidHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class InvalidORBidHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/InvalidORBid:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.InvalidORBid 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 com.sun.corba.se.PortableActivationIDL.InvalidORBid 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 (com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.id (), "InvalidORBid", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.InvalidORBid read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.InvalidORBid value = new com.sun.corba.se.PortableActivationIDL.InvalidORBid ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.InvalidORBid value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/InvalidORBidHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/InvalidORBidHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class InvalidORBidHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.InvalidORBid value = null;
+
+  public InvalidORBidHolder ()
+  {
+  }
+
+  public InvalidORBidHolder (com.sun.corba.se.PortableActivationIDL.InvalidORBid initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/Locator.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/Locator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public interface Locator extends LocatorOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Locator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class LocatorHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/Locator:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.Locator 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 com.sun.corba.se.PortableActivationIDL.Locator 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 (com.sun.corba.se.PortableActivationIDL.LocatorHelper.id (), "Locator");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Locator read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_LocatorStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.Locator value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Locator narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.Locator)
+      return (com.sun.corba.se.PortableActivationIDL.Locator)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 ();
+      com.sun.corba.se.PortableActivationIDL._LocatorStub stub = new com.sun.corba.se.PortableActivationIDL._LocatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Locator unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.Locator)
+      return (com.sun.corba.se.PortableActivationIDL.Locator)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.PortableActivationIDL._LocatorStub stub = new com.sun.corba.se.PortableActivationIDL._LocatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class LocatorHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.Locator value = null;
+
+  public LocatorHolder ()
+  {
+  }
+
+  public LocatorHolder (com.sun.corba.se.PortableActivationIDL.Locator initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.LocatorHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.LocatorHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.LocatorHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public interface LocatorOperations 
+{
+
+  /** locate server - returns the port with a specific type for all registered
+  	* ORBs of an active server.
+  	* Starts the server if it is not already running.
+  	*/
+  com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType locateServer (String serverId, String endPoint) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown;
+
+  /** locate server - returns all ports registered with a specified ORB for
+  	* an active server
+  	* Starts the server if it is not already running.
+  	*/
+  com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB locateServerForORB (String serverId, String orbId) throws com.sun.corba.se.PortableActivationIDL.InvalidORBid, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown;
+
+  /** get the port for the endpoint of the locator
+  	*/
+  int getEndpoint (String endPointType) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint;
+
+  /** Useful from external BadServerIdHandlers which need
+  	* to pick a particular port type.
+  	*/
+  int getServerPortForType (com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB location, String endPointType) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint;
+} // interface LocatorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.PortableActivationIDL.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORB.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerLocationPerORB implements org.omg.CORBA.portable.IDLEntity
+{
+  public String hostname = null;
+  public com.sun.corba.se.PortableActivationIDL.EndPointInfo ports[] = null;
+
+  public ServerLocationPerORB ()
+  {
+  } // ctor
+
+  public ServerLocationPerORB (String _hostname, com.sun.corba.se.PortableActivationIDL.EndPointInfo[] _ports)
+  {
+    hostname = _hostname;
+    ports = _ports;
+  } // ctor
+
+} // class ServerLocationPerORB
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORBHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package com.sun.corba.se.PortableActivationIDL.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORBHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerLocationPerORBHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/Locator/ServerLocationPerORB/ServerLocationPerORB:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB 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 com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "hostname",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = com.sun.corba.se.PortableActivationIDL.EndPointInfoHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.id (), "EndpointInfoList", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "ports",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.id (), "ServerLocationPerORB", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB value = new com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB ();
+    value.hostname = istream.read_string ();
+    value.ports = com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB value)
+  {
+    ostream.write_string (value.hostname);
+    com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.write (ostream, value.ports);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORBHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL.LocatorPackage;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerORBHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerLocationPerORBHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB value = null;
+
+  public ServerLocationPerORBHolder ()
+  {
+  }
+
+  public ServerLocationPerORBHolder (com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerType.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.PortableActivationIDL.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerType.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerLocationPerType implements org.omg.CORBA.portable.IDLEntity
+{
+  public String hostname = null;
+  public com.sun.corba.se.PortableActivationIDL.ORBPortInfo ports[] = null;
+
+  public ServerLocationPerType ()
+  {
+  } // ctor
+
+  public ServerLocationPerType (String _hostname, com.sun.corba.se.PortableActivationIDL.ORBPortInfo[] _ports)
+  {
+    hostname = _hostname;
+    ports = _ports;
+  } // ctor
+
+} // class ServerLocationPerType
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerTypeHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package com.sun.corba.se.PortableActivationIDL.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerTypeHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerLocationPerTypeHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/Locator/ServerLocationPerType/ServerLocationPerType:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType 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 com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "hostname",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.ORBPortInfoListHelper.id (), "ORBPortInfoList", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "ports",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.id (), "ServerLocationPerType", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType value = new com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType ();
+    value.hostname = istream.read_string ();
+    value.ports = com.sun.corba.se.PortableActivationIDL.ORBPortInfoListHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType value)
+  {
+    ostream.write_string (value.hostname);
+    com.sun.corba.se.PortableActivationIDL.ORBPortInfoListHelper.write (ostream, value.ports);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerTypeHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL.LocatorPackage;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/LocatorPackage/ServerLocationPerTypeHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerLocationPerTypeHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType value = null;
+
+  public ServerLocationPerTypeHolder ()
+  {
+  }
+
+  public ServerLocationPerTypeHolder (com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/NoSuchEndPoint.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/NoSuchEndPoint.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class NoSuchEndPoint extends org.omg.CORBA.UserException
+{
+
+  public NoSuchEndPoint ()
+  {
+    super(NoSuchEndPointHelper.id());
+  } // ctor
+
+
+  public NoSuchEndPoint (String $reason)
+  {
+    super(NoSuchEndPointHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class NoSuchEndPoint
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/NoSuchEndPointHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/NoSuchEndPointHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class NoSuchEndPointHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/NoSuchEndPoint:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint 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 com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint 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 (com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.id (), "NoSuchEndPoint", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint value = new com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/NoSuchEndPointHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/NoSuchEndPointHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class NoSuchEndPointHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint value = null;
+
+  public NoSuchEndPointHolder ()
+  {
+  }
+
+  public NoSuchEndPointHolder (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegistered.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegistered.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ORBAlreadyRegistered extends org.omg.CORBA.UserException
+{
+  public String orbId = null;
+
+  public ORBAlreadyRegistered ()
+  {
+    super(ORBAlreadyRegisteredHelper.id());
+  } // ctor
+
+  public ORBAlreadyRegistered (String _orbId)
+  {
+    super(ORBAlreadyRegisteredHelper.id());
+    orbId = _orbId;
+  } // ctor
+
+
+  public ORBAlreadyRegistered (String $reason, String _orbId)
+  {
+    super(ORBAlreadyRegisteredHelper.id() + "  " + $reason);
+    orbId = _orbId;
+  } // ctor
+
+} // class ORBAlreadyRegistered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegisteredHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegisteredHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ORBAlreadyRegisteredHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ORBAlreadyRegistered:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered 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 com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ORBIdHelper.id (), "ORBId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "orbId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.id (), "ORBAlreadyRegistered", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered value = new com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.orbId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.orbId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegisteredHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBAlreadyRegisteredHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ORBAlreadyRegisteredHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered value = null;
+
+  public ORBAlreadyRegisteredHolder ()
+  {
+  }
+
+  public ORBAlreadyRegisteredHolder (com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBPortInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ORBPortInfo implements org.omg.CORBA.portable.IDLEntity
+{
+  public String orbId = null;
+  public int port = (int)0;
+
+  public ORBPortInfo ()
+  {
+  } // ctor
+
+  public ORBPortInfo (String _orbId, int _port)
+  {
+    orbId = _orbId;
+    port = _port;
+  } // ctor
+
+} // class ORBPortInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBPortInfoHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ORBPortInfoHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ORBPortInfo/ORBPortInfo:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ORBPortInfo 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 com.sun.corba.se.PortableActivationIDL.ORBPortInfo 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ORBIdHelper.id (), "ORBId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "orbId",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.TCPPortHelper.id (), "TCPPort", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "port",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.id (), "ORBPortInfo", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ORBPortInfo read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBPortInfo value = new com.sun.corba.se.PortableActivationIDL.ORBPortInfo ();
+    value.orbId = istream.read_string ();
+    value.port = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ORBPortInfo value)
+  {
+    ostream.write_string (value.orbId);
+    ostream.write_long (value.port);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBPortInfoHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ORBPortInfoHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ORBPortInfo value = null;
+
+  public ORBPortInfoHolder ()
+  {
+  }
+
+  public ORBPortInfoHolder (com.sun.corba.se.PortableActivationIDL.ORBPortInfo initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,65 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBPortInfoListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** A list of ORB and port information for a particular endpoint type.
+    */
+abstract public class ORBPortInfoListHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ORBPortInfoList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ORBPortInfo[] 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 com.sun.corba.se.PortableActivationIDL.ORBPortInfo[] 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 = com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.ORBPortInfoListHelper.id (), "ORBPortInfoList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ORBPortInfo[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBPortInfo value[] = null;
+    int _len0 = istream.read_long ();
+    value = new com.sun.corba.se.PortableActivationIDL.ORBPortInfo[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ORBPortInfo[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      com.sun.corba.se.PortableActivationIDL.ORBPortInfoHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBPortInfoListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBPortInfoListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** A list of ORB and port information for a particular endpoint type.
+    */
+public final class ORBPortInfoListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ORBPortInfo value[] = null;
+
+  public ORBPortInfoListHolder ()
+  {
+  }
+
+  public ORBPortInfoListHolder (com.sun.corba.se.PortableActivationIDL.ORBPortInfo[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ORBPortInfoListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBPortInfoListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ORBPortInfoListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBProxy.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,16 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBProxy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** ORB callback interface, passed to Activator in registerORB method.
+    */
+public interface ORBProxy extends ORBProxyOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ORBProxy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBProxyHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,88 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBProxyHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** ORB callback interface, passed to Activator in registerORB method.
+    */
+abstract public class ORBProxyHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ORBProxy:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ORBProxy 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 com.sun.corba.se.PortableActivationIDL.ORBProxy 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 (com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.id (), "ORBProxy");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ORBProxy read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_ORBProxyStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ORBProxy value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ORBProxy narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.ORBProxy)
+      return (com.sun.corba.se.PortableActivationIDL.ORBProxy)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 ();
+      com.sun.corba.se.PortableActivationIDL._ORBProxyStub stub = new com.sun.corba.se.PortableActivationIDL._ORBProxyStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ORBProxy unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.ORBProxy)
+      return (com.sun.corba.se.PortableActivationIDL.ORBProxy)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.PortableActivationIDL._ORBProxyStub stub = new com.sun.corba.se.PortableActivationIDL._ORBProxyStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBProxyHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBProxyHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** ORB callback interface, passed to Activator in registerORB method.
+    */
+public final class ORBProxyHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ORBProxy value = null;
+
+  public ORBProxyHolder ()
+  {
+  }
+
+  public ORBProxyHolder (com.sun.corba.se.PortableActivationIDL.ORBProxy initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBProxyOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBProxyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** ORB callback interface, passed to Activator in registerORB method.
+    */
+public interface ORBProxyOperations 
+{
+
+  /** Method used to cause ORB to activate the named adapter, if possible.
+  	* This will cause the named POA to register itself with the activator as
+  	* a side effect.  This should always happen before this call can complete.
+  	* This method returns true if adapter activation succeeded, otherwise it
+  	* returns false.
+  	*/
+  boolean activate_adapter (String[] name);
+} // interface ORBProxyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBidListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBidListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** A list of ORB IDs.
+    */
+abstract public class ORBidListHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ORBidList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ORBIdHelper.id (), "ORBId", __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.ORBidListHelper.id (), "ORBidList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.PortableInterceptor.ORBIdHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.PortableInterceptor.ORBIdHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ORBidListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ORBidListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** A list of ORB IDs.
+    */
+public final class ORBidListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public ORBidListHolder ()
+  {
+  }
+
+  public ORBidListHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ORBidListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ORBidListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ORBidListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/Repository.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/Repository.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public interface Repository extends RepositoryOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Repository
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class RepositoryHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/Repository:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.Repository 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 com.sun.corba.se.PortableActivationIDL.Repository 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 (com.sun.corba.se.PortableActivationIDL.RepositoryHelper.id (), "Repository");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Repository read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_RepositoryStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.Repository value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Repository narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.Repository)
+      return (com.sun.corba.se.PortableActivationIDL.Repository)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 ();
+      com.sun.corba.se.PortableActivationIDL._RepositoryStub stub = new com.sun.corba.se.PortableActivationIDL._RepositoryStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.Repository unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.Repository)
+      return (com.sun.corba.se.PortableActivationIDL.Repository)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.PortableActivationIDL._RepositoryStub stub = new com.sun.corba.se.PortableActivationIDL._RepositoryStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class RepositoryHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.Repository value = null;
+
+  public RepositoryHolder ()
+  {
+  }
+
+  public RepositoryHolder (com.sun.corba.se.PortableActivationIDL.Repository initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.RepositoryHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.RepositoryHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.RepositoryHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,54 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public interface RepositoryOperations 
+{
+
+  /** register server definition.
+  	* This returns the serverId of the server.  A newly created server is
+  	* always uninstalled.
+  	*/
+  String registerServer (com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef serverDef) throws com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered, com.sun.corba.se.PortableActivationIDL.BadServerDefinition;
+
+  /** unregister server definition
+  	*/
+  void unregisterServer (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered;
+
+  /** get server definition
+  	*/
+  com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef getServer (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered;
+
+  /** Return whether the server has been installed
+  	*/
+  boolean isInstalled (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered;
+
+  /** Mark the server as being installed.  Raises ServerAlreadyInstalled
+  	* if the server is currently marked as installed.
+  	*/
+  void install (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled;
+
+  /** Mark the server as being uninstalled.  Raises ServerAlreadyUninstalled
+  	* if the server is currently marked as uninstalled.
+  	*/
+  void uninstall (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled;
+
+  /** list registered servers
+  	*/
+  String[] listRegisteredServers ();
+
+  /** Returns list of ALL applicationNames defined in ServerDefs of registered 
+  	* servers.
+  	*/
+  String[] getApplicationNames ();
+
+  /** Find the ServerID associated with the given application name.
+  	*/
+  String getServerID (String applicationName) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered;
+} // interface RepositoryOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/AppNamesHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,65 @@
+package com.sun.corba.se.PortableActivationIDL.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryPackage/AppNamesHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Type used for a list of application names
+	*/
+abstract public class AppNamesHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/Repository/AppNames:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.RepositoryPackage.AppNamesHelper.id (), "AppNames", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      ostream.write_string (value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/AppNamesHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.corba.se.PortableActivationIDL.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryPackage/AppNamesHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Type used for a list of application names
+	*/
+public final class AppNamesHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public AppNamesHolder ()
+  {
+  }
+
+  public AppNamesHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.RepositoryPackage.AppNamesHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.RepositoryPackage.AppNamesHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.RepositoryPackage.AppNamesHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDef.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+package com.sun.corba.se.PortableActivationIDL.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDef.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerDef implements org.omg.CORBA.portable.IDLEntity
+{
+  public String applicationName = null;
+
+  // serverName values.
+  public String serverName = null;
+
+  // Class name of server's main class.
+  public String serverClassPath = null;
+
+  // class path used to run the server.
+  public String serverArgs = null;
+
+  // arguments passed to the server
+  public String serverVmArgs = null;
+
+  // arguments passed to the server's Java VM1
+  public boolean isInstalled = false;
+
+  public ServerDef ()
+  {
+  } // ctor
+
+  public ServerDef (String _applicationName, String _serverName, String _serverClassPath, String _serverArgs, String _serverVmArgs, boolean _isInstalled)
+  {
+    applicationName = _applicationName;
+    serverName = _serverName;
+    serverClassPath = _serverClassPath;
+    serverArgs = _serverArgs;
+    serverVmArgs = _serverVmArgs;
+    isInstalled = _isInstalled;
+  } // ctor
+
+} // class ServerDef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDefHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,110 @@
+package com.sun.corba.se.PortableActivationIDL.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDefHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerDefHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/Repository/ServerDef/ServerDef:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef 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 com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef 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 [6];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "applicationName",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "serverName",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[2] = new org.omg.CORBA.StructMember (
+            "serverClassPath",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[3] = new org.omg.CORBA.StructMember (
+            "serverArgs",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[4] = new org.omg.CORBA.StructMember (
+            "serverVmArgs",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_boolean);
+          _members0[5] = new org.omg.CORBA.StructMember (
+            "isInstalled",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.id (), "ServerDef", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef value = new com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef ();
+    value.applicationName = istream.read_string ();
+    value.serverName = istream.read_string ();
+    value.serverClassPath = istream.read_string ();
+    value.serverArgs = istream.read_string ();
+    value.serverVmArgs = istream.read_string ();
+    value.isInstalled = istream.read_boolean ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef value)
+  {
+    ostream.write_string (value.applicationName);
+    ostream.write_string (value.serverName);
+    ostream.write_string (value.serverClassPath);
+    ostream.write_string (value.serverArgs);
+    ostream.write_string (value.serverVmArgs);
+    ostream.write_boolean (value.isInstalled);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDefHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL.RepositoryPackage;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/RepositoryPackage/ServerDefHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerDefHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef value = null;
+
+  public ServerDefHolder ()
+  {
+  }
+
+  public ServerDefHolder (com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyActive.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyActive extends org.omg.CORBA.UserException
+{
+  public String serverId = null;
+
+  public ServerAlreadyActive ()
+  {
+    super(ServerAlreadyActiveHelper.id());
+  } // ctor
+
+  public ServerAlreadyActive (String _serverId)
+  {
+    super(ServerAlreadyActiveHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyActive (String $reason, String _serverId)
+  {
+    super(ServerAlreadyActiveHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyActiveHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyActiveHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerAlreadyActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive 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 com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.id (), "ServerAlreadyActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive value = new com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyActiveHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyActiveHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyActiveHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive value = null;
+
+  public ServerAlreadyActiveHolder ()
+  {
+  }
+
+  public ServerAlreadyActiveHolder (com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalled.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalled.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyInstalled extends org.omg.CORBA.UserException
+{
+  public String serverId = null;
+
+  public ServerAlreadyInstalled ()
+  {
+    super(ServerAlreadyInstalledHelper.id());
+  } // ctor
+
+  public ServerAlreadyInstalled (String _serverId)
+  {
+    super(ServerAlreadyInstalledHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyInstalled (String $reason, String _serverId)
+  {
+    super(ServerAlreadyInstalledHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyInstalled
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalledHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalledHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyInstalledHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerAlreadyInstalled:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled 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 com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.id (), "ServerAlreadyInstalled", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled value = new com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalledHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyInstalledHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyInstalledHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled value = null;
+
+  public ServerAlreadyInstalledHolder ()
+  {
+  }
+
+  public ServerAlreadyInstalledHolder (com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegistered.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegistered.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyRegistered extends org.omg.CORBA.UserException
+{
+  public String serverId = null;
+
+  public ServerAlreadyRegistered ()
+  {
+    super(ServerAlreadyRegisteredHelper.id());
+  } // ctor
+
+  public ServerAlreadyRegistered (String _serverId)
+  {
+    super(ServerAlreadyRegisteredHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyRegistered (String $reason, String _serverId)
+  {
+    super(ServerAlreadyRegisteredHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyRegistered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegisteredHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegisteredHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyRegisteredHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerAlreadyRegistered:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered 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 com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegisteredHelper.id (), "ServerAlreadyRegistered", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered value = new com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegisteredHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyRegisteredHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyRegisteredHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered value = null;
+
+  public ServerAlreadyRegisteredHolder ()
+  {
+  }
+
+  public ServerAlreadyRegisteredHolder (com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegisteredHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegisteredHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegisteredHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalled.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalled.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyUninstalled extends org.omg.CORBA.UserException
+{
+  public String serverId = null;
+
+  public ServerAlreadyUninstalled ()
+  {
+    super(ServerAlreadyUninstalledHelper.id());
+  } // ctor
+
+  public ServerAlreadyUninstalled (String _serverId)
+  {
+    super(ServerAlreadyUninstalledHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyUninstalled (String $reason, String _serverId)
+  {
+    super(ServerAlreadyUninstalledHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyUninstalled
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalledHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalledHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyUninstalledHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerAlreadyUninstalled:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled 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 com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.id (), "ServerAlreadyUninstalled", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled value = new com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalledHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerAlreadyUninstalledHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerAlreadyUninstalledHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled value = null;
+
+  public ServerAlreadyUninstalledHolder ()
+  {
+  }
+
+  public ServerAlreadyUninstalledHolder (com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerHeldDown.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerHeldDown.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerHeldDown extends org.omg.CORBA.UserException
+{
+  public String serverId = null;
+
+  public ServerHeldDown ()
+  {
+    super(ServerHeldDownHelper.id());
+  } // ctor
+
+  public ServerHeldDown (String _serverId)
+  {
+    super(ServerHeldDownHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerHeldDown (String $reason, String _serverId)
+  {
+    super(ServerHeldDownHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerHeldDown
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerHeldDownHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerHeldDownHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerHeldDownHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerHeldDown:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerHeldDown 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 com.sun.corba.se.PortableActivationIDL.ServerHeldDown 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.id (), "ServerHeldDown", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerHeldDown read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerHeldDown value = new com.sun.corba.se.PortableActivationIDL.ServerHeldDown ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerHeldDown value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerHeldDownHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerHeldDownHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerHeldDownHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerHeldDown value = null;
+
+  public ServerHeldDownHolder ()
+  {
+  }
+
+  public ServerHeldDownHolder (com.sun.corba.se.PortableActivationIDL.ServerHeldDown initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerIdsHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerIdsHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Sequence of server Ids, used for queries about servers.
+    */
+abstract public class ServerIdsHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerIds:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.id (), "ServerIds", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.PortableInterceptor.ServerIdHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.PortableInterceptor.ServerIdHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerIdsHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerIdsHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Sequence of server Ids, used for queries about servers.
+    */
+public final class ServerIdsHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public ServerIdsHolder ()
+  {
+  }
+
+  public ServerIdsHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerManager.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,18 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerManager.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to combine the Activator and Locator when both are
+    * implemented together in the same process, as is currently the case
+    * for our implementation.
+    */
+public interface ServerManager extends ServerManagerOperations, com.sun.corba.se.PortableActivationIDL.Activator, com.sun.corba.se.PortableActivationIDL.Locator
+{
+} // interface ServerManager
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerManagerHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,90 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerManagerHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to combine the Activator and Locator when both are
+    * implemented together in the same process, as is currently the case
+    * for our implementation.
+    */
+abstract public class ServerManagerHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerManager:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerManager 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 com.sun.corba.se.PortableActivationIDL.ServerManager 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 (com.sun.corba.se.PortableActivationIDL.ServerManagerHelper.id (), "ServerManager");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerManager read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_ServerManagerStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerManager value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerManager narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.ServerManager)
+      return (com.sun.corba.se.PortableActivationIDL.ServerManager)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 ();
+      com.sun.corba.se.PortableActivationIDL._ServerManagerStub stub = new com.sun.corba.se.PortableActivationIDL._ServerManagerStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerManager unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.ServerManager)
+      return (com.sun.corba.se.PortableActivationIDL.ServerManager)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.PortableActivationIDL._ServerManagerStub stub = new com.sun.corba.se.PortableActivationIDL._ServerManagerStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerManagerHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,43 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerManagerHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to combine the Activator and Locator when both are
+    * implemented together in the same process, as is currently the case
+    * for our implementation.
+    */
+public final class ServerManagerHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerManager value = null;
+
+  public ServerManagerHolder ()
+  {
+  }
+
+  public ServerManagerHolder (com.sun.corba.se.PortableActivationIDL.ServerManager initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerManagerHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerManagerHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerManagerHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerManagerOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,18 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerManagerOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to combine the Activator and Locator when both are
+    * implemented together in the same process, as is currently the case
+    * for our implementation.
+    */
+public interface ServerManagerOperations  extends com.sun.corba.se.PortableActivationIDL.ActivatorOperations, com.sun.corba.se.PortableActivationIDL.LocatorOperations
+{
+} // interface ServerManagerOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerNotActive.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerNotActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerNotActive extends org.omg.CORBA.UserException
+{
+  public String serverId = null;
+
+  public ServerNotActive ()
+  {
+    super(ServerNotActiveHelper.id());
+  } // ctor
+
+  public ServerNotActive (String _serverId)
+  {
+    super(ServerNotActiveHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerNotActive (String $reason, String _serverId)
+  {
+    super(ServerNotActiveHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerNotActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerNotActiveHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerNotActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerNotActiveHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerNotActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerNotActive 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 com.sun.corba.se.PortableActivationIDL.ServerNotActive 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.id (), "ServerNotActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerNotActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerNotActive value = new com.sun.corba.se.PortableActivationIDL.ServerNotActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerNotActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerNotActiveHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerNotActiveHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerNotActiveHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerNotActive value = null;
+
+  public ServerNotActiveHolder ()
+  {
+  }
+
+  public ServerNotActiveHolder (com.sun.corba.se.PortableActivationIDL.ServerNotActive initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerNotRegistered.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerNotRegistered.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerNotRegistered extends org.omg.CORBA.UserException
+{
+  public String serverId = null;
+
+  public ServerNotRegistered ()
+  {
+    super(ServerNotRegisteredHelper.id());
+  } // ctor
+
+  public ServerNotRegistered (String _serverId)
+  {
+    super(ServerNotRegisteredHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerNotRegistered (String $reason, String _serverId)
+  {
+    super(ServerNotRegisteredHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerNotRegistered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerNotRegisteredHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerNotRegisteredHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+abstract public class ServerNotRegisteredHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerNotRegistered:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered 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 com.sun.corba.se.PortableActivationIDL.ServerNotRegistered 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.id (), "ServerNotRegistered", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerNotRegistered read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerNotRegistered value = new com.sun.corba.se.PortableActivationIDL.ServerNotRegistered ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerNotRegisteredHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerNotRegisteredHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public final class ServerNotRegisteredHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerNotRegistered value = null;
+
+  public ServerNotRegisteredHolder ()
+  {
+  }
+
+  public ServerNotRegisteredHolder (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerProxy.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,16 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerProxy.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Server callback interface, passed to Activator in registerServer method.
+    */
+public interface ServerProxy extends ServerProxyOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ServerProxy
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerProxyHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,88 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerProxyHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Server callback interface, passed to Activator in registerServer method.
+    */
+abstract public class ServerProxyHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/ServerProxy:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.PortableActivationIDL.ServerProxy 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 com.sun.corba.se.PortableActivationIDL.ServerProxy 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 (com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.id (), "ServerProxy");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerProxy read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_ServerProxyStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.PortableActivationIDL.ServerProxy value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerProxy narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.ServerProxy)
+      return (com.sun.corba.se.PortableActivationIDL.ServerProxy)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 ();
+      com.sun.corba.se.PortableActivationIDL._ServerProxyStub stub = new com.sun.corba.se.PortableActivationIDL._ServerProxyStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.PortableActivationIDL.ServerProxy unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.PortableActivationIDL.ServerProxy)
+      return (com.sun.corba.se.PortableActivationIDL.ServerProxy)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.PortableActivationIDL._ServerProxyStub stub = new com.sun.corba.se.PortableActivationIDL._ServerProxyStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerProxyHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerProxyHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Server callback interface, passed to Activator in registerServer method.
+    */
+public final class ServerProxyHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.PortableActivationIDL.ServerProxy value = null;
+
+  public ServerProxyHolder ()
+  {
+  }
+
+  public ServerProxyHolder (com.sun.corba.se.PortableActivationIDL.ServerProxy initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/ServerProxyOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/ServerProxyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Server callback interface, passed to Activator in registerServer method.
+    */
+public interface ServerProxyOperations 
+{
+
+  /** Shutdown this server.  Returns after orb.shutdown() completes.
+  	*/
+  void shutdown ();
+
+  /** Install the server.  Returns after the install hook completes
+  	* execution in the server.
+  	*/
+  void install ();
+
+  /** Uninstall the server.  Returns after the uninstall hook
+  	* completes execution.
+  	*/
+  void uninstall ();
+} // interface ServerProxyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/TCPPortHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/TCPPortHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Type of TCP port number, used in structures that describe 
+    * transport endpoints.  The valid range is actually 0-65535, but
+    * we use a long here to avoid signed/unsigned conversion headaches
+    * in Java.
+    */
+abstract public class TCPPortHelper
+{
+  private static String  _id = "IDL:PortableActivationIDL/TCPPort:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int 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 int 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.PortableActivationIDL.TCPPortHelper.id (), "TCPPort", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value = (int)0;
+    value = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int value)
+  {
+    ostream.write_long (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ActivatorImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,288 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ActivatorImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public abstract class _ActivatorImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.PortableActivationIDL.Activator, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _ActivatorImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("registerServer", new java.lang.Integer (0));
+    _methods.put ("serverGoingDown", new java.lang.Integer (1));
+    _methods.put ("registerORB", new java.lang.Integer (2));
+    _methods.put ("registerPOA", new java.lang.Integer (3));
+    _methods.put ("poaDestroyed", new java.lang.Integer (4));
+    _methods.put ("activate", new java.lang.Integer (5));
+    _methods.put ("shutdown", new java.lang.Integer (6));
+    _methods.put ("install", new java.lang.Integer (7));
+    _methods.put ("uninstall", new java.lang.Integer (8));
+    _methods.put ("getActiveServers", new java.lang.Integer (9));
+    _methods.put ("getORBNames", new java.lang.Integer (10));
+    _methods.put ("lookupPOATemplate", new java.lang.Integer (11));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** A new ORB started server registers itself with the Activator
+  	*/
+       case 0:  // PortableActivationIDL/Activator/registerServer
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.ServerProxy serverObj = com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.read (in);
+           this.registerServer (serverId, serverObj);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** A server is shutting down that was started by this activator.
+  	* Complete termination of the server is detected by the death of the
+  	* process implementing the server.
+  	*/
+       case 1:  // PortableActivationIDL/Activator/serverGoingDown
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         this.serverGoingDown (serverId);
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** Called whenever an ORB instance is created.  This registers
+  	* the transport endpoints and the ORB proxy callback object.
+  	* Note that we cannot detect when an ORB shuts down, although
+  	* all of the POA shutdowns should still be reported.
+  	*/
+       case 2:  // PortableActivationIDL/Activator/registerORB
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.ORBProxy orb = com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.EndPointInfo endPointInfo[] = com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.read (in);
+           this.registerORB (serverId, orbId, orb, endPointInfo);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Construct or find an ORBD object template corresponding to the 
+  	* server's object template and return it.  Called whenever a 
+  	* persistent POA is created.
+  	*/
+       case 3:  // PortableActivationIDL/Activator/registerPOA
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate $result = null;
+         $result = this.registerPOA (serverId, orbId, poaTemplate);
+         out = $rh.createReply();
+         org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (out, $result);
+         break;
+       }
+
+
+  /** Called whenever a POA is destroyed.
+  	*/
+       case 4:  // PortableActivationIDL/Activator/poaDestroyed
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (in);
+         this.poaDestroyed (serverId, orbId, poaTemplate);
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** If the server is not running, start it up.  This is allowed
+  	* whether or not the server has been installed.
+  	*/
+       case 5:  // PortableActivationIDL/Activator/activate
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.activate (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** If the server is running, shut it down
+  	*/
+       case 6:  // PortableActivationIDL/Activator/shutdown
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.shutdown (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Invoke the server install hook.  If the server is not 
+  	* currently running, this method will activate it.
+  	*/
+       case 7:  // PortableActivationIDL/Activator/install
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.install (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Invoke the server uninstall hook.  If the server is not
+  	* currently running, this method will activate it.
+  	* After this hook completes, the server may still be running.
+  	*/
+       case 8:  // PortableActivationIDL/Activator/uninstall
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.uninstall (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** list active servers
+  	*/
+       case 9:  // PortableActivationIDL/Activator/getActiveServers
+       {
+         String $result[] = null;
+         $result = this.getActiveServers ();
+         out = $rh.createReply();
+         com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.write (out, $result);
+         break;
+       }
+
+
+  /** list all registered ORBs for a server
+  	*/
+       case 10:  // PortableActivationIDL/Activator/getORBNames
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String $result[] = null;
+           $result = this.getORBNames (serverId);
+           out = $rh.createReply();
+           com.sun.corba.se.PortableActivationIDL.ORBidListHelper.write (out, $result);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Find the server template that corresponds to the ORBD's
+  	* adapter id.
+  	*/
+       case 11:  // PortableActivationIDL/Activator/lookupPOATemplate
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+         String orbAdapterName[] = org.omg.PortableInterceptor.AdapterNameHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate $result = null;
+         $result = this.lookupPOATemplate (serverId, orbId, orbAdapterName);
+         out = $rh.createReply();
+         org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (out, $result);
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/Activator:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _ActivatorImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ActivatorStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,368 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ActivatorStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public class _ActivatorStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.PortableActivationIDL.Activator
+{
+
+
+  /** A new ORB started server registers itself with the Activator
+  	*/
+  public void registerServer (String serverId, com.sun.corba.se.PortableActivationIDL.ServerProxy serverObj) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerServer", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.write ($out, serverObj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                registerServer (serverId, serverObj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerServer
+
+
+  /** A server is shutting down that was started by this activator.
+  	* Complete termination of the server is detected by the death of the
+  	* process implementing the server.
+  	*/
+  public void serverGoingDown (String serverId)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("serverGoingDown", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                serverGoingDown (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // serverGoingDown
+
+
+  /** Called whenever an ORB instance is created.  This registers
+  	* the transport endpoints and the ORB proxy callback object.
+  	* Note that we cannot detect when an ORB shuts down, although
+  	* all of the POA shutdowns should still be reported.
+  	*/
+  public void registerORB (String serverId, String orbId, com.sun.corba.se.PortableActivationIDL.ORBProxy orb, com.sun.corba.se.PortableActivationIDL.EndPointInfo[] endPointInfo) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint, com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerORB", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.write ($out, orb);
+                com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.write ($out, endPointInfo);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ORBAlreadyRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                registerORB (serverId, orbId, orb, endPointInfo        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerORB
+
+
+  /** Construct or find an ORBD object template corresponding to the 
+  	* server's object template and return it.  Called whenever a 
+  	* persistent POA is created.
+  	*/
+  public org.omg.PortableInterceptor.ObjectReferenceTemplate registerPOA (String serverId, String orbId, org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerPOA", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write ($out, poaTemplate);
+                $in = _invoke ($out);
+                org.omg.PortableInterceptor.ObjectReferenceTemplate $result = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return registerPOA (serverId, orbId, poaTemplate        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerPOA
+
+
+  /** Called whenever a POA is destroyed.
+  	*/
+  public void poaDestroyed (String serverId, String orbId, org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("poaDestroyed", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write ($out, poaTemplate);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                poaDestroyed (serverId, orbId, poaTemplate        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // poaDestroyed
+
+
+  /** If the server is not running, start it up.  This is allowed
+  	* whether or not the server has been installed.
+  	*/
+  public void activate (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("activate", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyActive:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                activate (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // activate
+
+
+  /** If the server is running, shut it down
+  	*/
+  public void shutdown (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotActive, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("shutdown", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotActive:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                shutdown (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // shutdown
+
+
+  /** Invoke the server install hook.  If the server is not 
+  	* currently running, this method will activate it.
+  	*/
+  public void install (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown, com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyInstalled:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  /** Invoke the server uninstall hook.  If the server is not
+  	* currently running, this method will activate it.
+  	* After this hook completes, the server may still be running.
+  	*/
+  public void uninstall (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown, com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyUninstalled:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+
+  /** list active servers
+  	*/
+  public String[] getActiveServers ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getActiveServers", true);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getActiveServers (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getActiveServers
+
+
+  /** list all registered ORBs for a server
+  	*/
+  public String[] getORBNames (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getORBNames", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.PortableActivationIDL.ORBidListHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getORBNames (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getORBNames
+
+
+  /** Find the server template that corresponds to the ORBD's
+  	* adapter id.
+  	*/
+  public org.omg.PortableInterceptor.ObjectReferenceTemplate lookupPOATemplate (String serverId, String orbId, String[] orbAdapterName)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("lookupPOATemplate", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                org.omg.PortableInterceptor.AdapterNameHelper.write ($out, orbAdapterName);
+                $in = _invoke ($out);
+                org.omg.PortableInterceptor.ObjectReferenceTemplate $result = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return lookupPOATemplate (serverId, orbId, orbAdapterName        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // lookupPOATemplate
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/Activator: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 _ActivatorStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_InitialNameServiceImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,76 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_InitialNameServiceImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to support binding references in the bootstrap name
+    * service.
+    */
+public abstract class _InitialNameServiceImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.PortableActivationIDL.InitialNameService, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _InitialNameServiceImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("bind", new java.lang.Integer (0));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** bind initial name
+  	*/
+       case 0:  // PortableActivationIDL/InitialNameService/bind
+       {
+         try {
+           String name = in.read_string ();
+           org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read (in);
+           boolean isPersistant = in.read_boolean ();
+           this.bind (name, obj, isPersistant);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBoundHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/InitialNameService:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _InitialNameServiceImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_InitialNameServiceStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_InitialNameServiceStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to support binding references in the bootstrap name
+    * service.
+    */
+public class _InitialNameServiceStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.PortableActivationIDL.InitialNameService
+{
+
+
+  /** bind initial name
+  	*/
+  public void bind (String name, org.omg.CORBA.Object obj, boolean isPersistant) throws com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBound
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind", true);
+                $out.write_string (name);
+                org.omg.CORBA.ObjectHelper.write ($out, obj);
+                $out.write_boolean (isPersistant);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/InitialNameService/NameAlreadyBound:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.InitialNameServicePackage.NameAlreadyBoundHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                bind (name, obj, isPersistant        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/InitialNameService: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 _InitialNameServiceStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_LocatorImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,149 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_LocatorImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public abstract class _LocatorImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.PortableActivationIDL.Locator, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _LocatorImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("locateServer", new java.lang.Integer (0));
+    _methods.put ("locateServerForORB", new java.lang.Integer (1));
+    _methods.put ("getEndpoint", new java.lang.Integer (2));
+    _methods.put ("getServerPortForType", new java.lang.Integer (3));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** locate server - returns the port with a specific type for all registered
+  	* ORBs of an active server.
+  	* Starts the server if it is not already running.
+  	*/
+       case 0:  // PortableActivationIDL/Locator/locateServer
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String endPoint = in.read_string ();
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType $result = null;
+           $result = this.locateServer (serverId, endPoint);
+           out = $rh.createReply();
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.write (out, $result);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** locate server - returns all ports registered with a specified ORB for
+  	* an active server
+  	* Starts the server if it is not already running.
+  	*/
+       case 1:  // PortableActivationIDL/Locator/locateServerForORB
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB $result = null;
+           $result = this.locateServerForORB (serverId, orbId);
+           out = $rh.createReply();
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.write (out, $result);
+         } catch (com.sun.corba.se.PortableActivationIDL.InvalidORBid $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** get the port for the endpoint of the locator
+  	*/
+       case 2:  // PortableActivationIDL/Locator/getEndpoint
+       {
+         try {
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getEndpoint (endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Useful from external BadServerIdHandlers which need
+  	* to pick a particular port type.
+  	*/
+       case 3:  // PortableActivationIDL/Locator/getServerPortForType
+       {
+         try {
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB location = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.read (in);
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getServerPortForType (location, endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/Locator:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _LocatorImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_LocatorStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,160 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_LocatorStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public class _LocatorStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.PortableActivationIDL.Locator
+{
+
+
+  /** locate server - returns the port with a specific type for all registered
+  	* ORBs of an active server.
+  	* Starts the server if it is not already running.
+  	*/
+  public com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType locateServer (String serverId, String endPoint) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServer", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $out.write_string (endPoint);
+                $in = _invoke ($out);
+                com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType $result = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServer (serverId, endPoint        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServer
+
+
+  /** locate server - returns all ports registered with a specified ORB for
+  	* an active server
+  	* Starts the server if it is not already running.
+  	*/
+  public com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB locateServerForORB (String serverId, String orbId) throws com.sun.corba.se.PortableActivationIDL.InvalidORBid, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServerForORB", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                $in = _invoke ($out);
+                com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB $result = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/InvalidORBid:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServerForORB (serverId, orbId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServerForORB
+
+
+  /** get the port for the endpoint of the locator
+  	*/
+  public int getEndpoint (String endPointType) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getEndpoint", true);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.PortableActivationIDL.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getEndpoint (endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getEndpoint
+
+
+  /** Useful from external BadServerIdHandlers which need
+  	* to pick a particular port type.
+  	*/
+  public int getServerPortForType (com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB location, String endPointType) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServerPortForType", true);
+                com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.write ($out, location);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.PortableActivationIDL.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServerPortForType (location, endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServerPortForType
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/Locator: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 _LocatorStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ORBProxyImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,74 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ORBProxyImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** ORB callback interface, passed to Activator in registerORB method.
+    */
+public abstract class _ORBProxyImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.PortableActivationIDL.ORBProxy, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _ORBProxyImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("activate_adapter", new java.lang.Integer (0));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** Method used to cause ORB to activate the named adapter, if possible.
+  	* This will cause the named POA to register itself with the activator as
+  	* a side effect.  This should always happen before this call can complete.
+  	* This method returns true if adapter activation succeeded, otherwise it
+  	* returns false.
+  	*/
+       case 0:  // PortableActivationIDL/ORBProxy/activate_adapter
+       {
+         String name[] = org.omg.PortableInterceptor.AdapterNameHelper.read (in);
+         boolean $result = false;
+         $result = this.activate_adapter (name);
+         out = $rh.createReply();
+         out.write_boolean ($result);
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/ORBProxy:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _ORBProxyImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ORBProxyStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ORBProxyStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** ORB callback interface, passed to Activator in registerORB method.
+    */
+public class _ORBProxyStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.PortableActivationIDL.ORBProxy
+{
+
+
+  /** Method used to cause ORB to activate the named adapter, if possible.
+  	* This will cause the named POA to register itself with the activator as
+  	* a side effect.  This should always happen before this call can complete.
+  	* This method returns true if adapter activation succeeded, otherwise it
+  	* returns false.
+  	*/
+  public boolean activate_adapter (String[] name)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("activate_adapter", true);
+                org.omg.PortableInterceptor.AdapterNameHelper.write ($out, name);
+                $in = _invoke ($out);
+                boolean $result = $in.read_boolean ();
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return activate_adapter (name        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // activate_adapter
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/ORBProxy: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 _ORBProxyStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_RepositoryImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,220 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_RepositoryImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public abstract class _RepositoryImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.PortableActivationIDL.Repository, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _RepositoryImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("registerServer", new java.lang.Integer (0));
+    _methods.put ("unregisterServer", new java.lang.Integer (1));
+    _methods.put ("getServer", new java.lang.Integer (2));
+    _methods.put ("isInstalled", new java.lang.Integer (3));
+    _methods.put ("install", new java.lang.Integer (4));
+    _methods.put ("uninstall", new java.lang.Integer (5));
+    _methods.put ("listRegisteredServers", new java.lang.Integer (6));
+    _methods.put ("getApplicationNames", new java.lang.Integer (7));
+    _methods.put ("getServerID", new java.lang.Integer (8));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** register server definition.
+  	* This returns the serverId of the server.  A newly created server is
+  	* always uninstalled.
+  	*/
+       case 0:  // PortableActivationIDL/Repository/registerServer
+       {
+         try {
+           com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef serverDef = com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.read (in);
+           String $result = null;
+           $result = this.registerServer (serverDef);
+           out = $rh.createReply();
+           out.write_string ($result);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.BadServerDefinition $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.BadServerDefinitionHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** unregister server definition
+  	*/
+       case 1:  // PortableActivationIDL/Repository/unregisterServer
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.unregisterServer (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** get server definition
+  	*/
+       case 2:  // PortableActivationIDL/Repository/getServer
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef $result = null;
+           $result = this.getServer (serverId);
+           out = $rh.createReply();
+           com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.write (out, $result);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Return whether the server has been installed
+  	*/
+       case 3:  // PortableActivationIDL/Repository/isInstalled
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           boolean $result = false;
+           $result = this.isInstalled (serverId);
+           out = $rh.createReply();
+           out.write_boolean ($result);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Mark the server as being installed.  Raises ServerAlreadyInstalled
+  	* if the server is currently marked as installed.
+  	*/
+       case 4:  // PortableActivationIDL/Repository/install
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.install (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Mark the server as being uninstalled.  Raises ServerAlreadyUninstalled
+  	* if the server is currently marked as uninstalled.
+  	*/
+       case 5:  // PortableActivationIDL/Repository/uninstall
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.uninstall (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** list registered servers
+  	*/
+       case 6:  // PortableActivationIDL/Repository/listRegisteredServers
+       {
+         String $result[] = null;
+         $result = this.listRegisteredServers ();
+         out = $rh.createReply();
+         com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.write (out, $result);
+         break;
+       }
+
+
+  /** Returns list of ALL applicationNames defined in ServerDefs of registered 
+  	* servers.
+  	*/
+       case 7:  // PortableActivationIDL/Repository/getApplicationNames
+       {
+         String $result[] = null;
+         $result = this.getApplicationNames ();
+         out = $rh.createReply();
+         com.sun.corba.se.PortableActivationIDL.RepositoryPackage.AppNamesHelper.write (out, $result);
+         break;
+       }
+
+
+  /** Find the ServerID associated with the given application name.
+  	*/
+       case 8:  // PortableActivationIDL/Repository/getServerID
+       {
+         try {
+           String applicationName = in.read_string ();
+           String $result = null;
+           $result = this.getServerID (applicationName);
+           out = $rh.createReply();
+           out.write_string ($result);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/Repository:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _RepositoryImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_RepositoryStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,274 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_RepositoryStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+public class _RepositoryStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.PortableActivationIDL.Repository
+{
+
+
+  /** register server definition.
+  	* This returns the serverId of the server.  A newly created server is
+  	* always uninstalled.
+  	*/
+  public String registerServer (com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef serverDef) throws com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegistered, com.sun.corba.se.PortableActivationIDL.BadServerDefinition
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerServer", true);
+                com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.write ($out, serverDef);
+                $in = _invoke ($out);
+                String $result = org.omg.PortableInterceptor.ServerIdHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/BadServerDefinition:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.BadServerDefinitionHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return registerServer (serverDef        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerServer
+
+
+  /** unregister server definition
+  	*/
+  public void unregisterServer (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("unregisterServer", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                unregisterServer (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // unregisterServer
+
+
+  /** get server definition
+  	*/
+  public com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef getServer (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServer", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDef $result = com.sun.corba.se.PortableActivationIDL.RepositoryPackage.ServerDefHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServer (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServer
+
+
+  /** Return whether the server has been installed
+  	*/
+  public boolean isInstalled (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("isInstalled", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                boolean $result = $in.read_boolean ();
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return isInstalled (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // isInstalled
+
+
+  /** Mark the server as being installed.  Raises ServerAlreadyInstalled
+  	* if the server is currently marked as installed.
+  	*/
+  public void install (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyInstalled:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  /** Mark the server as being uninstalled.  Raises ServerAlreadyUninstalled
+  	* if the server is currently marked as uninstalled.
+  	*/
+  public void uninstall (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyUninstalled:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+
+  /** list registered servers
+  	*/
+  public String[] listRegisteredServers ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("listRegisteredServers", true);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return listRegisteredServers (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // listRegisteredServers
+
+
+  /** Returns list of ALL applicationNames defined in ServerDefs of registered 
+  	* servers.
+  	*/
+  public String[] getApplicationNames ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getApplicationNames", true);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.PortableActivationIDL.RepositoryPackage.AppNamesHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getApplicationNames (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getApplicationNames
+
+
+  /** Find the ServerID associated with the given application name.
+  	*/
+  public String getServerID (String applicationName) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServerID", true);
+                $out.write_string (applicationName);
+                $in = _invoke ($out);
+                String $result = org.omg.PortableInterceptor.ServerIdHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServerID (applicationName        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServerID
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/Repository: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 _RepositoryStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ServerManagerImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,391 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ServerManagerImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to combine the Activator and Locator when both are
+    * implemented together in the same process, as is currently the case
+    * for our implementation.
+    */
+public abstract class _ServerManagerImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.PortableActivationIDL.ServerManager, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _ServerManagerImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("registerServer", new java.lang.Integer (0));
+    _methods.put ("serverGoingDown", new java.lang.Integer (1));
+    _methods.put ("registerORB", new java.lang.Integer (2));
+    _methods.put ("registerPOA", new java.lang.Integer (3));
+    _methods.put ("poaDestroyed", new java.lang.Integer (4));
+    _methods.put ("activate", new java.lang.Integer (5));
+    _methods.put ("shutdown", new java.lang.Integer (6));
+    _methods.put ("install", new java.lang.Integer (7));
+    _methods.put ("uninstall", new java.lang.Integer (8));
+    _methods.put ("getActiveServers", new java.lang.Integer (9));
+    _methods.put ("getORBNames", new java.lang.Integer (10));
+    _methods.put ("lookupPOATemplate", new java.lang.Integer (11));
+    _methods.put ("locateServer", new java.lang.Integer (12));
+    _methods.put ("locateServerForORB", new java.lang.Integer (13));
+    _methods.put ("getEndpoint", new java.lang.Integer (14));
+    _methods.put ("getServerPortForType", new java.lang.Integer (15));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** A new ORB started server registers itself with the Activator
+  	*/
+       case 0:  // PortableActivationIDL/Activator/registerServer
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.ServerProxy serverObj = com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.read (in);
+           this.registerServer (serverId, serverObj);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** A server is shutting down that was started by this activator.
+  	* Complete termination of the server is detected by the death of the
+  	* process implementing the server.
+  	*/
+       case 1:  // PortableActivationIDL/Activator/serverGoingDown
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         this.serverGoingDown (serverId);
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** Called whenever an ORB instance is created.  This registers
+  	* the transport endpoints and the ORB proxy callback object.
+  	* Note that we cannot detect when an ORB shuts down, although
+  	* all of the POA shutdowns should still be reported.
+  	*/
+       case 2:  // PortableActivationIDL/Activator/registerORB
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.ORBProxy orb = com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.EndPointInfo endPointInfo[] = com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.read (in);
+           this.registerORB (serverId, orbId, orb, endPointInfo);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Construct or find an ORBD object template corresponding to the 
+  	* server's object template and return it.  Called whenever a 
+  	* persistent POA is created.
+  	*/
+       case 3:  // PortableActivationIDL/Activator/registerPOA
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate $result = null;
+         $result = this.registerPOA (serverId, orbId, poaTemplate);
+         out = $rh.createReply();
+         org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (out, $result);
+         break;
+       }
+
+
+  /** Called whenever a POA is destroyed.
+  	*/
+       case 4:  // PortableActivationIDL/Activator/poaDestroyed
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (in);
+         this.poaDestroyed (serverId, orbId, poaTemplate);
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** If the server is not running, start it up.  This is allowed
+  	* whether or not the server has been installed.
+  	*/
+       case 5:  // PortableActivationIDL/Activator/activate
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.activate (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** If the server is running, shut it down
+  	*/
+       case 6:  // PortableActivationIDL/Activator/shutdown
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.shutdown (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Invoke the server install hook.  If the server is not 
+  	* currently running, this method will activate it.
+  	*/
+       case 7:  // PortableActivationIDL/Activator/install
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.install (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Invoke the server uninstall hook.  If the server is not
+  	* currently running, this method will activate it.
+  	* After this hook completes, the server may still be running.
+  	*/
+       case 8:  // PortableActivationIDL/Activator/uninstall
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           this.uninstall (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** list active servers
+  	*/
+       case 9:  // PortableActivationIDL/Activator/getActiveServers
+       {
+         String $result[] = null;
+         $result = this.getActiveServers ();
+         out = $rh.createReply();
+         com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.write (out, $result);
+         break;
+       }
+
+
+  /** list all registered ORBs for a server
+  	*/
+       case 10:  // PortableActivationIDL/Activator/getORBNames
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String $result[] = null;
+           $result = this.getORBNames (serverId);
+           out = $rh.createReply();
+           com.sun.corba.se.PortableActivationIDL.ORBidListHelper.write (out, $result);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Find the server template that corresponds to the ORBD's
+  	* adapter id.
+  	*/
+       case 11:  // PortableActivationIDL/Activator/lookupPOATemplate
+       {
+         String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+         String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+         String orbAdapterName[] = org.omg.PortableInterceptor.AdapterNameHelper.read (in);
+         org.omg.PortableInterceptor.ObjectReferenceTemplate $result = null;
+         $result = this.lookupPOATemplate (serverId, orbId, orbAdapterName);
+         out = $rh.createReply();
+         org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (out, $result);
+         break;
+       }
+
+
+  /** locate server - returns the port with a specific type for all registered
+  	* ORBs of an active server.
+  	* Starts the server if it is not already running.
+  	*/
+       case 12:  // PortableActivationIDL/Locator/locateServer
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String endPoint = in.read_string ();
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType $result = null;
+           $result = this.locateServer (serverId, endPoint);
+           out = $rh.createReply();
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.write (out, $result);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** locate server - returns all ports registered with a specified ORB for
+  	* an active server
+  	* Starts the server if it is not already running.
+  	*/
+       case 13:  // PortableActivationIDL/Locator/locateServerForORB
+       {
+         try {
+           String serverId = org.omg.PortableInterceptor.ServerIdHelper.read (in);
+           String orbId = org.omg.PortableInterceptor.ORBIdHelper.read (in);
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB $result = null;
+           $result = this.locateServerForORB (serverId, orbId);
+           out = $rh.createReply();
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.write (out, $result);
+         } catch (com.sun.corba.se.PortableActivationIDL.InvalidORBid $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.PortableActivationIDL.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** get the port for the endpoint of the locator
+  	*/
+       case 14:  // PortableActivationIDL/Locator/getEndpoint
+       {
+         try {
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getEndpoint (endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** Useful from external BadServerIdHandlers which need
+  	* to pick a particular port type.
+  	*/
+       case 15:  // PortableActivationIDL/Locator/getServerPortForType
+       {
+         try {
+           com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB location = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.read (in);
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getServerPortForType (location, endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/ServerManager:1.0", 
+    "IDL:PortableActivationIDL/Activator:1.0", 
+    "IDL:PortableActivationIDL/Locator:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _ServerManagerImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ServerManagerStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,495 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ServerManagerStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Interface used to combine the Activator and Locator when both are
+    * implemented together in the same process, as is currently the case
+    * for our implementation.
+    */
+public class _ServerManagerStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.PortableActivationIDL.ServerManager
+{
+
+
+  /** A new ORB started server registers itself with the Activator
+  	*/
+  public void registerServer (String serverId, com.sun.corba.se.PortableActivationIDL.ServerProxy serverObj) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerServer", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.PortableActivationIDL.ServerProxyHelper.write ($out, serverObj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                registerServer (serverId, serverObj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerServer
+
+
+  /** A server is shutting down that was started by this activator.
+  	* Complete termination of the server is detected by the death of the
+  	* process implementing the server.
+  	*/
+  public void serverGoingDown (String serverId)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("serverGoingDown", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                serverGoingDown (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // serverGoingDown
+
+
+  /** Called whenever an ORB instance is created.  This registers
+  	* the transport endpoints and the ORB proxy callback object.
+  	* Note that we cannot detect when an ORB shuts down, although
+  	* all of the POA shutdowns should still be reported.
+  	*/
+  public void registerORB (String serverId, String orbId, com.sun.corba.se.PortableActivationIDL.ORBProxy orb, com.sun.corba.se.PortableActivationIDL.EndPointInfo[] endPointInfo) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint, com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerORB", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                com.sun.corba.se.PortableActivationIDL.ORBProxyHelper.write ($out, orb);
+                com.sun.corba.se.PortableActivationIDL.EndpointInfoListHelper.write ($out, endPointInfo);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ORBAlreadyRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ORBAlreadyRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                registerORB (serverId, orbId, orb, endPointInfo        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerORB
+
+
+  /** Construct or find an ORBD object template corresponding to the 
+  	* server's object template and return it.  Called whenever a 
+  	* persistent POA is created.
+  	*/
+  public org.omg.PortableInterceptor.ObjectReferenceTemplate registerPOA (String serverId, String orbId, org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerPOA", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write ($out, poaTemplate);
+                $in = _invoke ($out);
+                org.omg.PortableInterceptor.ObjectReferenceTemplate $result = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return registerPOA (serverId, orbId, poaTemplate        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerPOA
+
+
+  /** Called whenever a POA is destroyed.
+  	*/
+  public void poaDestroyed (String serverId, String orbId, org.omg.PortableInterceptor.ObjectReferenceTemplate poaTemplate)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("poaDestroyed", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write ($out, poaTemplate);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                poaDestroyed (serverId, orbId, poaTemplate        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // poaDestroyed
+
+
+  /** If the server is not running, start it up.  This is allowed
+  	* whether or not the server has been installed.
+  	*/
+  public void activate (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerAlreadyActive, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("activate", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyActive:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyActiveHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                activate (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // activate
+
+
+  /** If the server is running, shut it down
+  	*/
+  public void shutdown (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotActive, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("shutdown", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotActive:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotActiveHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                shutdown (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // shutdown
+
+
+  /** Invoke the server install hook.  If the server is not 
+  	* currently running, this method will activate it.
+  	*/
+  public void install (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown, com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyInstalled:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyInstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  /** Invoke the server uninstall hook.  If the server is not
+  	* currently running, this method will activate it.
+  	* After this hook completes, the server may still be running.
+  	*/
+  public void uninstall (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown, com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerAlreadyUninstalled:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerAlreadyUninstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+
+  /** list active servers
+  	*/
+  public String[] getActiveServers ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getActiveServers", true);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.PortableActivationIDL.ServerIdsHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getActiveServers (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getActiveServers
+
+
+  /** list all registered ORBs for a server
+  	*/
+  public String[] getORBNames (String serverId) throws com.sun.corba.se.PortableActivationIDL.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getORBNames", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.PortableActivationIDL.ORBidListHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getORBNames (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getORBNames
+
+
+  /** Find the server template that corresponds to the ORBD's
+  	* adapter id.
+  	*/
+  public org.omg.PortableInterceptor.ObjectReferenceTemplate lookupPOATemplate (String serverId, String orbId, String[] orbAdapterName)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("lookupPOATemplate", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                org.omg.PortableInterceptor.AdapterNameHelper.write ($out, orbAdapterName);
+                $in = _invoke ($out);
+                org.omg.PortableInterceptor.ObjectReferenceTemplate $result = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return lookupPOATemplate (serverId, orbId, orbAdapterName        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // lookupPOATemplate
+
+
+  /** locate server - returns the port with a specific type for all registered
+  	* ORBs of an active server.
+  	* Starts the server if it is not already running.
+  	*/
+  public com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType locateServer (String serverId, String endPoint) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServer", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                $out.write_string (endPoint);
+                $in = _invoke ($out);
+                com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerType $result = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerTypeHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServer (serverId, endPoint        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServer
+
+
+  /** locate server - returns all ports registered with a specified ORB for
+  	* an active server
+  	* Starts the server if it is not already running.
+  	*/
+  public com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB locateServerForORB (String serverId, String orbId) throws com.sun.corba.se.PortableActivationIDL.InvalidORBid, com.sun.corba.se.PortableActivationIDL.ServerNotRegistered, com.sun.corba.se.PortableActivationIDL.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServerForORB", true);
+                org.omg.PortableInterceptor.ServerIdHelper.write ($out, serverId);
+                org.omg.PortableInterceptor.ORBIdHelper.write ($out, orbId);
+                $in = _invoke ($out);
+                com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB $result = com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/InvalidORBid:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.InvalidORBidHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:PortableActivationIDL/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServerForORB (serverId, orbId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServerForORB
+
+
+  /** get the port for the endpoint of the locator
+  	*/
+  public int getEndpoint (String endPointType) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getEndpoint", true);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.PortableActivationIDL.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getEndpoint (endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getEndpoint
+
+
+  /** Useful from external BadServerIdHandlers which need
+  	* to pick a particular port type.
+  	*/
+  public int getServerPortForType (com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORB location, String endPointType) throws com.sun.corba.se.PortableActivationIDL.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServerPortForType", true);
+                com.sun.corba.se.PortableActivationIDL.LocatorPackage.ServerLocationPerORBHelper.write ($out, location);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.PortableActivationIDL.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:PortableActivationIDL/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.PortableActivationIDL.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServerPortForType (location, endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServerPortForType
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/ServerManager:1.0", 
+    "IDL:PortableActivationIDL/Activator:1.0", 
+    "IDL:PortableActivationIDL/Locator: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 _ServerManagerStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ServerProxyImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,91 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ServerProxyImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Server callback interface, passed to Activator in registerServer method.
+    */
+public abstract class _ServerProxyImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.PortableActivationIDL.ServerProxy, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _ServerProxyImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("shutdown", new java.lang.Integer (0));
+    _methods.put ("install", new java.lang.Integer (1));
+    _methods.put ("uninstall", new java.lang.Integer (2));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** Shutdown this server.  Returns after orb.shutdown() completes.
+  	*/
+       case 0:  // PortableActivationIDL/ServerProxy/shutdown
+       {
+         this.shutdown ();
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** Install the server.  Returns after the install hook completes
+  	* execution in the server.
+  	*/
+       case 1:  // PortableActivationIDL/ServerProxy/install
+       {
+         this.install ();
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** Uninstall the server.  Returns after the uninstall hook
+  	* completes execution.
+  	*/
+       case 2:  // PortableActivationIDL/ServerProxy/uninstall
+       {
+         this.uninstall ();
+         out = $rh.createReply();
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/ServerProxy:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _ServerProxyImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/PortableActivationIDL/_ServerProxyStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.corba.se.PortableActivationIDL;
+
+
+/**
+* com/sun/corba/se/PortableActivationIDL/_ServerProxyStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/PortableActivationIDL/activation.idl
+* Friday, May 25, 2007 4:50:49 o'clock PM EDT
+*/
+
+
+/** Server callback interface, passed to Activator in registerServer method.
+    */
+public class _ServerProxyStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.PortableActivationIDL.ServerProxy
+{
+
+
+  /** Shutdown this server.  Returns after orb.shutdown() completes.
+  	*/
+  public void shutdown ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("shutdown", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                shutdown (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // shutdown
+
+
+  /** Install the server.  Returns after the install hook completes
+  	* execution in the server.
+  	*/
+  public void install ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  /** Uninstall the server.  Returns after the uninstall hook
+  	* completes execution.
+  	*/
+  public void uninstall ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:PortableActivationIDL/ServerProxy: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 _ServerProxyStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/ActivationSystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,265 @@
+// Log wrapper class for Sun private system exceptions in group ACTIVATION
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc on Fri May 25 16:50:34 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.INITIALIZE ;
+import org.omg.CORBA.INTERNAL ;
+import org.omg.CORBA.OBJECT_NOT_EXIST ;
+
+public class ActivationSystemException extends LogWrapperBase {
+    
+    public ActivationSystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new ActivationSystemException( logger ) ;
+        }
+    } ;
+    
+    public static ActivationSystemException get( ORB orb, String logDomain )
+    {
+        ActivationSystemException wrapper = 
+            (ActivationSystemException) orb.getLogWrapper( logDomain, 
+                "ACTIVATION", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static ActivationSystemException get( String logDomain )
+    {
+        ActivationSystemException wrapper = 
+            (ActivationSystemException) ORB.staticGetLogWrapper( logDomain, 
+                "ACTIVATION", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // INITIALIZE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int CANNOT_READ_REPOSITORY_DB = SUNVMCID.value + 401 ;
+    
+    public INITIALIZE cannotReadRepositoryDb( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( CANNOT_READ_REPOSITORY_DB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ACTIVATION.cannotReadRepositoryDb",
+                parameters, ActivationSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE cannotReadRepositoryDb( CompletionStatus cs ) {
+        return cannotReadRepositoryDb( cs, null  ) ;
+    }
+    
+    public INITIALIZE cannotReadRepositoryDb( Throwable t ) {
+        return cannotReadRepositoryDb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE cannotReadRepositoryDb(  ) {
+        return cannotReadRepositoryDb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANNOT_ADD_INITIAL_NAMING = SUNVMCID.value + 402 ;
+    
+    public INITIALIZE cannotAddInitialNaming( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( CANNOT_ADD_INITIAL_NAMING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ACTIVATION.cannotAddInitialNaming",
+                parameters, ActivationSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE cannotAddInitialNaming( CompletionStatus cs ) {
+        return cannotAddInitialNaming( cs, null  ) ;
+    }
+    
+    public INITIALIZE cannotAddInitialNaming( Throwable t ) {
+        return cannotAddInitialNaming( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE cannotAddInitialNaming(  ) {
+        return cannotAddInitialNaming( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int CANNOT_WRITE_REPOSITORY_DB = SUNVMCID.value + 401 ;
+    
+    public INTERNAL cannotWriteRepositoryDb( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CANNOT_WRITE_REPOSITORY_DB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ACTIVATION.cannotWriteRepositoryDb",
+                parameters, ActivationSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL cannotWriteRepositoryDb( CompletionStatus cs ) {
+        return cannotWriteRepositoryDb( cs, null  ) ;
+    }
+    
+    public INTERNAL cannotWriteRepositoryDb( Throwable t ) {
+        return cannotWriteRepositoryDb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL cannotWriteRepositoryDb(  ) {
+        return cannotWriteRepositoryDb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVER_NOT_EXPECTED_TO_REGISTER = SUNVMCID.value + 403 ;
+    
+    public INTERNAL serverNotExpectedToRegister( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVER_NOT_EXPECTED_TO_REGISTER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ACTIVATION.serverNotExpectedToRegister",
+                parameters, ActivationSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL serverNotExpectedToRegister( CompletionStatus cs ) {
+        return serverNotExpectedToRegister( cs, null  ) ;
+    }
+    
+    public INTERNAL serverNotExpectedToRegister( Throwable t ) {
+        return serverNotExpectedToRegister( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL serverNotExpectedToRegister(  ) {
+        return serverNotExpectedToRegister( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNABLE_TO_START_PROCESS = SUNVMCID.value + 404 ;
+    
+    public INTERNAL unableToStartProcess( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( UNABLE_TO_START_PROCESS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ACTIVATION.unableToStartProcess",
+                parameters, ActivationSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unableToStartProcess( CompletionStatus cs ) {
+        return unableToStartProcess( cs, null  ) ;
+    }
+    
+    public INTERNAL unableToStartProcess( Throwable t ) {
+        return unableToStartProcess( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL unableToStartProcess(  ) {
+        return unableToStartProcess( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVER_NOT_RUNNING = SUNVMCID.value + 406 ;
+    
+    public INTERNAL serverNotRunning( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVER_NOT_RUNNING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ACTIVATION.serverNotRunning",
+                parameters, ActivationSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL serverNotRunning( CompletionStatus cs ) {
+        return serverNotRunning( cs, null  ) ;
+    }
+    
+    public INTERNAL serverNotRunning( Throwable t ) {
+        return serverNotRunning( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL serverNotRunning(  ) {
+        return serverNotRunning( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJECT_NOT_EXIST
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ERROR_IN_BAD_SERVER_ID_HANDLER = SUNVMCID.value + 401 ;
+    
+    public OBJECT_NOT_EXIST errorInBadServerIdHandler( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( ERROR_IN_BAD_SERVER_ID_HANDLER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ACTIVATION.errorInBadServerIdHandler",
+                parameters, ActivationSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST errorInBadServerIdHandler( CompletionStatus cs ) {
+        return errorInBadServerIdHandler( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST errorInBadServerIdHandler( Throwable t ) {
+        return errorInBadServerIdHandler( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST errorInBadServerIdHandler(  ) {
+        return errorInBadServerIdHandler( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/ActivationSystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,7 @@
+ACTIVATION.cannotReadRepositoryDb="IOP00910401: (INITIALIZE) Cannot read repository datastore"
+ACTIVATION.cannotAddInitialNaming="IOP00910402: (INITIALIZE) Cannot add initial naming"
+ACTIVATION.cannotWriteRepositoryDb="IOP00710401: (INTERNAL) Cannot write repository datastore"
+ACTIVATION.serverNotExpectedToRegister="IOP00710403: (INTERNAL) Server not expected to register"
+ACTIVATION.unableToStartProcess="IOP00710404: (INTERNAL) Unable to start server process"
+ACTIVATION.serverNotRunning="IOP00710406: (INTERNAL) Server is not running"
+ACTIVATION.errorInBadServerIdHandler="IOP02510401: (OBJECT_NOT_EXIST) Error in BadServerIdHandler"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/IORSystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,499 @@
+// Log wrapper class for Sun private system exceptions in group IOR
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/IOR.mc on Fri May 25 16:50:35 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.INTERNAL ;
+import org.omg.CORBA.BAD_OPERATION ;
+import org.omg.CORBA.BAD_PARAM ;
+import org.omg.CORBA.INV_OBJREF ;
+
+public class IORSystemException extends LogWrapperBase {
+    
+    public IORSystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new IORSystemException( logger ) ;
+        }
+    } ;
+    
+    public static IORSystemException get( ORB orb, String logDomain )
+    {
+        IORSystemException wrapper = 
+            (IORSystemException) orb.getLogWrapper( logDomain, 
+                "IOR", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static IORSystemException get( String logDomain )
+    {
+        IORSystemException wrapper = 
+            (IORSystemException) ORB.staticGetLogWrapper( logDomain, 
+                "IOR", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ORT_NOT_INITIALIZED = SUNVMCID.value + 1201 ;
+    
+    public INTERNAL ortNotInitialized( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ORT_NOT_INITIALIZED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.ortNotInitialized",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL ortNotInitialized( CompletionStatus cs ) {
+        return ortNotInitialized( cs, null  ) ;
+    }
+    
+    public INTERNAL ortNotInitialized( Throwable t ) {
+        return ortNotInitialized( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL ortNotInitialized(  ) {
+        return ortNotInitialized( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NULL_POA = SUNVMCID.value + 1202 ;
+    
+    public INTERNAL nullPoa( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NULL_POA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.nullPoa",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL nullPoa( CompletionStatus cs ) {
+        return nullPoa( cs, null  ) ;
+    }
+    
+    public INTERNAL nullPoa( Throwable t ) {
+        return nullPoa( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL nullPoa(  ) {
+        return nullPoa( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_MAGIC = SUNVMCID.value + 1203 ;
+    
+    public INTERNAL badMagic( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( BAD_MAGIC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "IOR.badMagic",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badMagic( CompletionStatus cs, Object arg0) {
+        return badMagic( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL badMagic( Throwable t, Object arg0) {
+        return badMagic( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL badMagic(  Object arg0) {
+        return badMagic( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int STRINGIFY_WRITE_ERROR = SUNVMCID.value + 1204 ;
+    
+    public INTERNAL stringifyWriteError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STRINGIFY_WRITE_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.stringifyWriteError",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL stringifyWriteError( CompletionStatus cs ) {
+        return stringifyWriteError( cs, null  ) ;
+    }
+    
+    public INTERNAL stringifyWriteError( Throwable t ) {
+        return stringifyWriteError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL stringifyWriteError(  ) {
+        return stringifyWriteError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TAGGED_PROFILE_TEMPLATE_FACTORY_NOT_FOUND = SUNVMCID.value + 1205 ;
+    
+    public INTERNAL taggedProfileTemplateFactoryNotFound( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( TAGGED_PROFILE_TEMPLATE_FACTORY_NOT_FOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "IOR.taggedProfileTemplateFactoryNotFound",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL taggedProfileTemplateFactoryNotFound( CompletionStatus cs, Object arg0) {
+        return taggedProfileTemplateFactoryNotFound( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL taggedProfileTemplateFactoryNotFound( Throwable t, Object arg0) {
+        return taggedProfileTemplateFactoryNotFound( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL taggedProfileTemplateFactoryNotFound(  Object arg0) {
+        return taggedProfileTemplateFactoryNotFound( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INVALID_JDK1_3_1_PATCH_LEVEL = SUNVMCID.value + 1206 ;
+    
+    public INTERNAL invalidJdk131PatchLevel( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( INVALID_JDK1_3_1_PATCH_LEVEL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "IOR.invalidJdk131PatchLevel",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidJdk131PatchLevel( CompletionStatus cs, Object arg0) {
+        return invalidJdk131PatchLevel( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL invalidJdk131PatchLevel( Throwable t, Object arg0) {
+        return invalidJdk131PatchLevel( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL invalidJdk131PatchLevel(  Object arg0) {
+        return invalidJdk131PatchLevel( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int GET_LOCAL_SERVANT_FAILURE = SUNVMCID.value + 1207 ;
+    
+    public INTERNAL getLocalServantFailure( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( GET_LOCAL_SERVANT_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "IOR.getLocalServantFailure",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL getLocalServantFailure( CompletionStatus cs, Object arg0) {
+        return getLocalServantFailure( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL getLocalServantFailure( Throwable t, Object arg0) {
+        return getLocalServantFailure( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL getLocalServantFailure(  Object arg0) {
+        return getLocalServantFailure( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_OPERATION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ADAPTER_ID_NOT_AVAILABLE = SUNVMCID.value + 1201 ;
+    
+    public BAD_OPERATION adapterIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ADAPTER_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.adapterIdNotAvailable",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION adapterIdNotAvailable( CompletionStatus cs ) {
+        return adapterIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION adapterIdNotAvailable( Throwable t ) {
+        return adapterIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION adapterIdNotAvailable(  ) {
+        return adapterIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVER_ID_NOT_AVAILABLE = SUNVMCID.value + 1202 ;
+    
+    public BAD_OPERATION serverIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( SERVER_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.serverIdNotAvailable",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION serverIdNotAvailable( CompletionStatus cs ) {
+        return serverIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION serverIdNotAvailable( Throwable t ) {
+        return serverIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION serverIdNotAvailable(  ) {
+        return serverIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ORB_ID_NOT_AVAILABLE = SUNVMCID.value + 1203 ;
+    
+    public BAD_OPERATION orbIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ORB_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.orbIdNotAvailable",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION orbIdNotAvailable( CompletionStatus cs ) {
+        return orbIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION orbIdNotAvailable( Throwable t ) {
+        return orbIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION orbIdNotAvailable(  ) {
+        return orbIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OBJECT_ADAPTER_ID_NOT_AVAILABLE = SUNVMCID.value + 1204 ;
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( OBJECT_ADAPTER_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.objectAdapterIdNotAvailable",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable( CompletionStatus cs ) {
+        return objectAdapterIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable( Throwable t ) {
+        return objectAdapterIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable(  ) {
+        return objectAdapterIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_PARAM
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BAD_OID_IN_IOR_TEMPLATE_LIST = SUNVMCID.value + 1201 ;
+    
+    public BAD_PARAM badOidInIorTemplateList( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BAD_OID_IN_IOR_TEMPLATE_LIST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.badOidInIorTemplateList",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM badOidInIorTemplateList( CompletionStatus cs ) {
+        return badOidInIorTemplateList( cs, null  ) ;
+    }
+    
+    public BAD_PARAM badOidInIorTemplateList( Throwable t ) {
+        return badOidInIorTemplateList( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM badOidInIorTemplateList(  ) {
+        return badOidInIorTemplateList( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_TAGGED_PROFILE = SUNVMCID.value + 1202 ;
+    
+    public BAD_PARAM invalidTaggedProfile( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_TAGGED_PROFILE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.invalidTaggedProfile",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidTaggedProfile( CompletionStatus cs ) {
+        return invalidTaggedProfile( cs, null  ) ;
+    }
+    
+    public BAD_PARAM invalidTaggedProfile( Throwable t ) {
+        return invalidTaggedProfile( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM invalidTaggedProfile(  ) {
+        return invalidTaggedProfile( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_IIOP_ADDRESS_PORT = SUNVMCID.value + 1203 ;
+    
+    public BAD_PARAM badIiopAddressPort( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( BAD_IIOP_ADDRESS_PORT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "IOR.badIiopAddressPort",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM badIiopAddressPort( CompletionStatus cs, Object arg0) {
+        return badIiopAddressPort( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM badIiopAddressPort( Throwable t, Object arg0) {
+        return badIiopAddressPort( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM badIiopAddressPort(  Object arg0) {
+        return badIiopAddressPort( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INV_OBJREF
+    ///////////////////////////////////////////////////////////
+    
+    public static final int IOR_MUST_HAVE_IIOP_PROFILE = SUNVMCID.value + 1201 ;
+    
+    public INV_OBJREF iorMustHaveIiopProfile( CompletionStatus cs, Throwable t ) {
+        INV_OBJREF exc = new INV_OBJREF( IOR_MUST_HAVE_IIOP_PROFILE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "IOR.iorMustHaveIiopProfile",
+                parameters, IORSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF iorMustHaveIiopProfile( CompletionStatus cs ) {
+        return iorMustHaveIiopProfile( cs, null  ) ;
+    }
+    
+    public INV_OBJREF iorMustHaveIiopProfile( Throwable t ) {
+        return iorMustHaveIiopProfile( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_OBJREF iorMustHaveIiopProfile(  ) {
+        return iorMustHaveIiopProfile( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/IORSystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,15 @@
+IOR.ortNotInitialized="IOP00711201: (INTERNAL) ObjectReferenceTemplate is not initialized"
+IOR.nullPoa="IOP00711202: (INTERNAL) Null POA"
+IOR.badMagic="IOP00711203: (INTERNAL) Bad magic number {0} in ObjectKeyTemplate"
+IOR.stringifyWriteError="IOP00711204: (INTERNAL) Error while stringifying an object reference"
+IOR.taggedProfileTemplateFactoryNotFound="IOP00711205: (INTERNAL) Could not find a TaggedProfileTemplateFactory for id {0}"
+IOR.invalidJdk131PatchLevel="IOP00711206: (INTERNAL) Found a JDK 1.3.1 patch level indicator with value {0} less than JDK 1.3.1_01 value of 1"
+IOR.getLocalServantFailure="IOP00711207: (INTERNAL) Exception occurred while looking for ObjectAdapter {0} in IIOPProfileImpl.getServant"
+IOR.adapterIdNotAvailable="IOP01211201: (BAD_OPERATION) Adapter ID not available"
+IOR.serverIdNotAvailable="IOP01211202: (BAD_OPERATION) Server ID not available"
+IOR.orbIdNotAvailable="IOP01211203: (BAD_OPERATION) ORB ID not available"
+IOR.objectAdapterIdNotAvailable="IOP01211204: (BAD_OPERATION) Object adapter ID not available"
+IOR.badOidInIorTemplateList="IOP00111201: (BAD_PARAM) Profiles in IOR do not all have the same Object ID, so conversion to IORTemplateList is impossible"
+IOR.invalidTaggedProfile="IOP00111202: (BAD_PARAM) Error in reading IIOP TaggedProfile"
+IOR.badIiopAddressPort="IOP00111203: (BAD_PARAM) Attempt to create IIOPAdiress with port {0}, which is out of range"
+IOR.iorMustHaveIiopProfile="IOP00511201: (INV_OBJREF) IOR must have at least one IIOP profile"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,965 @@
+// Log wrapper class for Sun private system exceptions in group INTERCEPTORS
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Interceptors.mc on Fri May 25 16:50:36 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.BAD_PARAM ;
+import org.omg.CORBA.BAD_INV_ORDER ;
+import org.omg.CORBA.COMM_FAILURE ;
+import org.omg.CORBA.INTERNAL ;
+import org.omg.CORBA.NO_IMPLEMENT ;
+import org.omg.CORBA.OBJECT_NOT_EXIST ;
+import org.omg.CORBA.UNKNOWN ;
+
+public class InterceptorsSystemException extends LogWrapperBase {
+    
+    public InterceptorsSystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new InterceptorsSystemException( logger ) ;
+        }
+    } ;
+    
+    public static InterceptorsSystemException get( ORB orb, String logDomain )
+    {
+        InterceptorsSystemException wrapper = 
+            (InterceptorsSystemException) orb.getLogWrapper( logDomain, 
+                "INTERCEPTORS", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static InterceptorsSystemException get( String logDomain )
+    {
+        InterceptorsSystemException wrapper = 
+            (InterceptorsSystemException) ORB.staticGetLogWrapper( logDomain, 
+                "INTERCEPTORS", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_PARAM
+    ///////////////////////////////////////////////////////////
+    
+    public static final int TYPE_OUT_OF_RANGE = SUNVMCID.value + 801 ;
+    
+    public BAD_PARAM typeOutOfRange( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( TYPE_OUT_OF_RANGE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "INTERCEPTORS.typeOutOfRange",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM typeOutOfRange( CompletionStatus cs, Object arg0) {
+        return typeOutOfRange( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM typeOutOfRange( Throwable t, Object arg0) {
+        return typeOutOfRange( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM typeOutOfRange(  Object arg0) {
+        return typeOutOfRange( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int NAME_NULL = SUNVMCID.value + 802 ;
+    
+    public BAD_PARAM nameNull( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NAME_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.nameNull",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM nameNull( CompletionStatus cs ) {
+        return nameNull( cs, null  ) ;
+    }
+    
+    public BAD_PARAM nameNull( Throwable t ) {
+        return nameNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM nameNull(  ) {
+        return nameNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_INV_ORDER
+    ///////////////////////////////////////////////////////////
+    
+    public static final int RIR_INVALID_PRE_INIT = SUNVMCID.value + 801 ;
+    
+    public BAD_INV_ORDER rirInvalidPreInit( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( RIR_INVALID_PRE_INIT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.rirInvalidPreInit",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER rirInvalidPreInit( CompletionStatus cs ) {
+        return rirInvalidPreInit( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER rirInvalidPreInit( Throwable t ) {
+        return rirInvalidPreInit( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER rirInvalidPreInit(  ) {
+        return rirInvalidPreInit( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_STATE1 = SUNVMCID.value + 802 ;
+    
+    public BAD_INV_ORDER badState1( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_STATE1, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "INTERCEPTORS.badState1",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badState1( CompletionStatus cs, Object arg0, Object arg1) {
+        return badState1( cs, null, arg0, arg1 ) ;
+    }
+    
+    public BAD_INV_ORDER badState1( Throwable t, Object arg0, Object arg1) {
+        return badState1( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public BAD_INV_ORDER badState1(  Object arg0, Object arg1) {
+        return badState1( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int BAD_STATE2 = SUNVMCID.value + 803 ;
+    
+    public BAD_INV_ORDER badState2( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_STATE2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "INTERCEPTORS.badState2",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badState2( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return badState2( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_INV_ORDER badState2( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return badState2( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_INV_ORDER badState2(  Object arg0, Object arg1, Object arg2) {
+        return badState2( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // COMM_FAILURE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int IOEXCEPTION_DURING_CANCEL_REQUEST = SUNVMCID.value + 801 ;
+    
+    public COMM_FAILURE ioexceptionDuringCancelRequest( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( IOEXCEPTION_DURING_CANCEL_REQUEST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.ioexceptionDuringCancelRequest",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE ioexceptionDuringCancelRequest( CompletionStatus cs ) {
+        return ioexceptionDuringCancelRequest( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE ioexceptionDuringCancelRequest( Throwable t ) {
+        return ioexceptionDuringCancelRequest( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE ioexceptionDuringCancelRequest(  ) {
+        return ioexceptionDuringCancelRequest( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int EXCEPTION_WAS_NULL = SUNVMCID.value + 801 ;
+    
+    public INTERNAL exceptionWasNull( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_WAS_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.exceptionWasNull",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionWasNull( CompletionStatus cs ) {
+        return exceptionWasNull( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionWasNull( Throwable t ) {
+        return exceptionWasNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionWasNull(  ) {
+        return exceptionWasNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OBJECT_HAS_NO_DELEGATE = SUNVMCID.value + 802 ;
+    
+    public INTERNAL objectHasNoDelegate( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( OBJECT_HAS_NO_DELEGATE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.objectHasNoDelegate",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL objectHasNoDelegate( CompletionStatus cs ) {
+        return objectHasNoDelegate( cs, null  ) ;
+    }
+    
+    public INTERNAL objectHasNoDelegate( Throwable t ) {
+        return objectHasNoDelegate( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL objectHasNoDelegate(  ) {
+        return objectHasNoDelegate( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DELEGATE_NOT_CLIENTSUB = SUNVMCID.value + 803 ;
+    
+    public INTERNAL delegateNotClientsub( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( DELEGATE_NOT_CLIENTSUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.delegateNotClientsub",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL delegateNotClientsub( CompletionStatus cs ) {
+        return delegateNotClientsub( cs, null  ) ;
+    }
+    
+    public INTERNAL delegateNotClientsub( Throwable t ) {
+        return delegateNotClientsub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL delegateNotClientsub(  ) {
+        return delegateNotClientsub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OBJECT_NOT_OBJECTIMPL = SUNVMCID.value + 804 ;
+    
+    public INTERNAL objectNotObjectimpl( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( OBJECT_NOT_OBJECTIMPL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.objectNotObjectimpl",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL objectNotObjectimpl( CompletionStatus cs ) {
+        return objectNotObjectimpl( cs, null  ) ;
+    }
+    
+    public INTERNAL objectNotObjectimpl( Throwable t ) {
+        return objectNotObjectimpl( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL objectNotObjectimpl(  ) {
+        return objectNotObjectimpl( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_INVALID = SUNVMCID.value + 805 ;
+    
+    public INTERNAL exceptionInvalid( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_INVALID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.exceptionInvalid",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionInvalid( CompletionStatus cs ) {
+        return exceptionInvalid( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionInvalid( Throwable t ) {
+        return exceptionInvalid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionInvalid(  ) {
+        return exceptionInvalid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int REPLY_STATUS_NOT_INIT = SUNVMCID.value + 806 ;
+    
+    public INTERNAL replyStatusNotInit( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( REPLY_STATUS_NOT_INIT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.replyStatusNotInit",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL replyStatusNotInit( CompletionStatus cs ) {
+        return replyStatusNotInit( cs, null  ) ;
+    }
+    
+    public INTERNAL replyStatusNotInit( Throwable t ) {
+        return replyStatusNotInit( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL replyStatusNotInit(  ) {
+        return replyStatusNotInit( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_IN_ARGUMENTS = SUNVMCID.value + 807 ;
+    
+    public INTERNAL exceptionInArguments( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_IN_ARGUMENTS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.exceptionInArguments",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionInArguments( CompletionStatus cs ) {
+        return exceptionInArguments( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionInArguments( Throwable t ) {
+        return exceptionInArguments( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionInArguments(  ) {
+        return exceptionInArguments( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_IN_EXCEPTIONS = SUNVMCID.value + 808 ;
+    
+    public INTERNAL exceptionInExceptions( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_IN_EXCEPTIONS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.exceptionInExceptions",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionInExceptions( CompletionStatus cs ) {
+        return exceptionInExceptions( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionInExceptions( Throwable t ) {
+        return exceptionInExceptions( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionInExceptions(  ) {
+        return exceptionInExceptions( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_IN_CONTEXTS = SUNVMCID.value + 809 ;
+    
+    public INTERNAL exceptionInContexts( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_IN_CONTEXTS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.exceptionInContexts",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionInContexts( CompletionStatus cs ) {
+        return exceptionInContexts( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionInContexts( Throwable t ) {
+        return exceptionInContexts( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionInContexts(  ) {
+        return exceptionInContexts( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_WAS_NULL_2 = SUNVMCID.value + 810 ;
+    
+    public INTERNAL exceptionWasNull2( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_WAS_NULL_2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.exceptionWasNull2",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionWasNull2( CompletionStatus cs ) {
+        return exceptionWasNull2( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionWasNull2( Throwable t ) {
+        return exceptionWasNull2( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionWasNull2(  ) {
+        return exceptionWasNull2( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_INVALID = SUNVMCID.value + 811 ;
+    
+    public INTERNAL servantInvalid( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVANT_INVALID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.servantInvalid",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL servantInvalid( CompletionStatus cs ) {
+        return servantInvalid( cs, null  ) ;
+    }
+    
+    public INTERNAL servantInvalid( Throwable t ) {
+        return servantInvalid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL servantInvalid(  ) {
+        return servantInvalid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANT_POP_ONLY_PICURRENT = SUNVMCID.value + 812 ;
+    
+    public INTERNAL cantPopOnlyPicurrent( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CANT_POP_ONLY_PICURRENT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.cantPopOnlyPicurrent",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL cantPopOnlyPicurrent( CompletionStatus cs ) {
+        return cantPopOnlyPicurrent( cs, null  ) ;
+    }
+    
+    public INTERNAL cantPopOnlyPicurrent( Throwable t ) {
+        return cantPopOnlyPicurrent( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL cantPopOnlyPicurrent(  ) {
+        return cantPopOnlyPicurrent( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANT_POP_ONLY_CURRENT_2 = SUNVMCID.value + 813 ;
+    
+    public INTERNAL cantPopOnlyCurrent2( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CANT_POP_ONLY_CURRENT_2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.cantPopOnlyCurrent2",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL cantPopOnlyCurrent2( CompletionStatus cs ) {
+        return cantPopOnlyCurrent2( cs, null  ) ;
+    }
+    
+    public INTERNAL cantPopOnlyCurrent2( Throwable t ) {
+        return cantPopOnlyCurrent2( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL cantPopOnlyCurrent2(  ) {
+        return cantPopOnlyCurrent2( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_DSI_RESULT_IS_NULL = SUNVMCID.value + 814 ;
+    
+    public INTERNAL piDsiResultIsNull( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PI_DSI_RESULT_IS_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.piDsiResultIsNull",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL piDsiResultIsNull( CompletionStatus cs ) {
+        return piDsiResultIsNull( cs, null  ) ;
+    }
+    
+    public INTERNAL piDsiResultIsNull( Throwable t ) {
+        return piDsiResultIsNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL piDsiResultIsNull(  ) {
+        return piDsiResultIsNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_DII_RESULT_IS_NULL = SUNVMCID.value + 815 ;
+    
+    public INTERNAL piDiiResultIsNull( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PI_DII_RESULT_IS_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.piDiiResultIsNull",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL piDiiResultIsNull( CompletionStatus cs ) {
+        return piDiiResultIsNull( cs, null  ) ;
+    }
+    
+    public INTERNAL piDiiResultIsNull( Throwable t ) {
+        return piDiiResultIsNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL piDiiResultIsNull(  ) {
+        return piDiiResultIsNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_UNAVAILABLE = SUNVMCID.value + 816 ;
+    
+    public INTERNAL exceptionUnavailable( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_UNAVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.exceptionUnavailable",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionUnavailable( CompletionStatus cs ) {
+        return exceptionUnavailable( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionUnavailable( Throwable t ) {
+        return exceptionUnavailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionUnavailable(  ) {
+        return exceptionUnavailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CLIENT_INFO_STACK_NULL = SUNVMCID.value + 817 ;
+    
+    public INTERNAL clientInfoStackNull( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CLIENT_INFO_STACK_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.clientInfoStackNull",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL clientInfoStackNull( CompletionStatus cs ) {
+        return clientInfoStackNull( cs, null  ) ;
+    }
+    
+    public INTERNAL clientInfoStackNull( Throwable t ) {
+        return clientInfoStackNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL clientInfoStackNull(  ) {
+        return clientInfoStackNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVER_INFO_STACK_NULL = SUNVMCID.value + 818 ;
+    
+    public INTERNAL serverInfoStackNull( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVER_INFO_STACK_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.serverInfoStackNull",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL serverInfoStackNull( CompletionStatus cs ) {
+        return serverInfoStackNull( cs, null  ) ;
+    }
+    
+    public INTERNAL serverInfoStackNull( Throwable t ) {
+        return serverInfoStackNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL serverInfoStackNull(  ) {
+        return serverInfoStackNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int MARK_AND_RESET_FAILED = SUNVMCID.value + 819 ;
+    
+    public INTERNAL markAndResetFailed( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( MARK_AND_RESET_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.markAndResetFailed",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL markAndResetFailed( CompletionStatus cs ) {
+        return markAndResetFailed( cs, null  ) ;
+    }
+    
+    public INTERNAL markAndResetFailed( Throwable t ) {
+        return markAndResetFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL markAndResetFailed(  ) {
+        return markAndResetFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SLOT_TABLE_INVARIANT = SUNVMCID.value + 820 ;
+    
+    public INTERNAL slotTableInvariant( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        INTERNAL exc = new INTERNAL( SLOT_TABLE_INVARIANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "INTERCEPTORS.slotTableInvariant",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL slotTableInvariant( CompletionStatus cs, Object arg0, Object arg1) {
+        return slotTableInvariant( cs, null, arg0, arg1 ) ;
+    }
+    
+    public INTERNAL slotTableInvariant( Throwable t, Object arg0, Object arg1) {
+        return slotTableInvariant( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public INTERNAL slotTableInvariant(  Object arg0, Object arg1) {
+        return slotTableInvariant( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int INTERCEPTOR_LIST_LOCKED = SUNVMCID.value + 821 ;
+    
+    public INTERNAL interceptorListLocked( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INTERCEPTOR_LIST_LOCKED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.interceptorListLocked",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL interceptorListLocked( CompletionStatus cs ) {
+        return interceptorListLocked( cs, null  ) ;
+    }
+    
+    public INTERNAL interceptorListLocked( Throwable t ) {
+        return interceptorListLocked( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL interceptorListLocked(  ) {
+        return interceptorListLocked( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SORT_SIZE_MISMATCH = SUNVMCID.value + 822 ;
+    
+    public INTERNAL sortSizeMismatch( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SORT_SIZE_MISMATCH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.sortSizeMismatch",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL sortSizeMismatch( CompletionStatus cs ) {
+        return sortSizeMismatch( cs, null  ) ;
+    }
+    
+    public INTERNAL sortSizeMismatch( Throwable t ) {
+        return sortSizeMismatch( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL sortSizeMismatch(  ) {
+        return sortSizeMismatch( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // NO_IMPLEMENT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int PI_ORB_NOT_POLICY_BASED = SUNVMCID.value + 801 ;
+    
+    public NO_IMPLEMENT piOrbNotPolicyBased( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( PI_ORB_NOT_POLICY_BASED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "INTERCEPTORS.piOrbNotPolicyBased",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT piOrbNotPolicyBased( CompletionStatus cs ) {
+        return piOrbNotPolicyBased( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT piOrbNotPolicyBased( Throwable t ) {
+        return piOrbNotPolicyBased( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT piOrbNotPolicyBased(  ) {
+        return piOrbNotPolicyBased( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJECT_NOT_EXIST
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ORBINITINFO_INVALID = SUNVMCID.value + 801 ;
+    
+    public OBJECT_NOT_EXIST orbinitinfoInvalid( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( ORBINITINFO_INVALID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "INTERCEPTORS.orbinitinfoInvalid",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST orbinitinfoInvalid( CompletionStatus cs ) {
+        return orbinitinfoInvalid( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST orbinitinfoInvalid( Throwable t ) {
+        return orbinitinfoInvalid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST orbinitinfoInvalid(  ) {
+        return orbinitinfoInvalid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // UNKNOWN
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNKNOWN_REQUEST_INVOKE = SUNVMCID.value + 801 ;
+    
+    public UNKNOWN unknownRequestInvoke( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_REQUEST_INVOKE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "INTERCEPTORS.unknownRequestInvoke",
+                parameters, InterceptorsSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownRequestInvoke( CompletionStatus cs ) {
+        return unknownRequestInvoke( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownRequestInvoke( Throwable t ) {
+        return unknownRequestInvoke( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownRequestInvoke(  ) {
+        return unknownRequestInvoke( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+INTERCEPTORS.typeOutOfRange="IOP00110801: (BAD_PARAM) Interceptor type {0} is out of range"
+INTERCEPTORS.nameNull="IOP00110802: (BAD_PARAM) Interceptor's name is null: use empty string for anonymous interceptors"
+INTERCEPTORS.rirInvalidPreInit="IOP01610801: (BAD_INV_ORDER) resolve_initial_reference is invalid during pre_init"
+INTERCEPTORS.badState1="IOP01610802: (BAD_INV_ORDER) Expected state {0}, but current state is {1}"
+INTERCEPTORS.badState2="IOP01610803: (BAD_INV_ORDER) Expected state {0} or {1}, but current state is {2}"
+INTERCEPTORS.ioexceptionDuringCancelRequest="IOP00410801: (COMM_FAILURE) IOException during cancel request"
+INTERCEPTORS.exceptionWasNull="IOP00710801: (INTERNAL) Exception was null"
+INTERCEPTORS.objectHasNoDelegate="IOP00710802: (INTERNAL) Object has no delegate"
+INTERCEPTORS.delegateNotClientsub="IOP00710803: (INTERNAL) Delegate was not a ClientRequestDispatcher"
+INTERCEPTORS.objectNotObjectimpl="IOP00710804: (INTERNAL) Object is not an ObjectImpl"
+INTERCEPTORS.exceptionInvalid="IOP00710805: (INTERNAL) Assertion failed: Interceptor set exception to UserException or ApplicationException"
+INTERCEPTORS.replyStatusNotInit="IOP00710806: (INTERNAL) Assertion failed: Reply status is initialized but not SYSTEM_EXCEPTION or LOCATION_FORWARD"
+INTERCEPTORS.exceptionInArguments="IOP00710807: (INTERNAL) Exception in arguments"
+INTERCEPTORS.exceptionInExceptions="IOP00710808: (INTERNAL) Exception in exceptions"
+INTERCEPTORS.exceptionInContexts="IOP00710809: (INTERNAL) Exception in contexts"
+INTERCEPTORS.exceptionWasNull2="IOP00710810: (INTERNAL) Another exception was null"
+INTERCEPTORS.servantInvalid="IOP00710811: (INTERNAL) Servant invalid"
+INTERCEPTORS.cantPopOnlyPicurrent="IOP00710812: (INTERNAL) Can't pop only PICurrent"
+INTERCEPTORS.cantPopOnlyCurrent2="IOP00710813: (INTERNAL) Can't pop another PICurrent"
+INTERCEPTORS.piDsiResultIsNull="IOP00710814: (INTERNAL) DSI result is null"
+INTERCEPTORS.piDiiResultIsNull="IOP00710815: (INTERNAL) DII result is null"
+INTERCEPTORS.exceptionUnavailable="IOP00710816: (INTERNAL) Exception is unavailable"
+INTERCEPTORS.clientInfoStackNull="IOP00710817: (INTERNAL) Assertion failed: client request info stack is null"
+INTERCEPTORS.serverInfoStackNull="IOP00710818: (INTERNAL) Assertion failed: Server request info stack is null"
+INTERCEPTORS.markAndResetFailed="IOP00710819: (INTERNAL) Mark and reset failed"
+INTERCEPTORS.slotTableInvariant="IOP00710820: (INTERNAL) currentIndex > tableContainer.size(): {0} > {1}"
+INTERCEPTORS.interceptorListLocked="IOP00710821: (INTERNAL) InterceptorList is locked"
+INTERCEPTORS.sortSizeMismatch="IOP00710822: (INTERNAL) Invariant: sorted size + unsorted size == total size was violated"
+INTERCEPTORS.piOrbNotPolicyBased="IOP01010801: (NO_IMPLEMENT) Policies not implemented"
+INTERCEPTORS.orbinitinfoInvalid="IOP02510801: (OBJECT_NOT_EXIST) ORBInitInfo object is only valid during ORB_init"
+INTERCEPTORS.unknownRequestInvoke="IOP00010801: (UNKNOWN) Unknown request invocation error"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/LogStrings.properties	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,604 @@
+ACTIVATION.cannotReadRepositoryDb="IOP00910401: (INITIALIZE) Cannot read repository datastore"
+ACTIVATION.cannotAddInitialNaming="IOP00910402: (INITIALIZE) Cannot add initial naming"
+ACTIVATION.cannotWriteRepositoryDb="IOP00710401: (INTERNAL) Cannot write repository datastore"
+ACTIVATION.serverNotExpectedToRegister="IOP00710403: (INTERNAL) Server not expected to register"
+ACTIVATION.unableToStartProcess="IOP00710404: (INTERNAL) Unable to start server process"
+ACTIVATION.serverNotRunning="IOP00710406: (INTERNAL) Server is not running"
+ACTIVATION.errorInBadServerIdHandler="IOP02510401: (OBJECT_NOT_EXIST) Error in BadServerIdHandler"
+INTERCEPTORS.typeOutOfRange="IOP00110801: (BAD_PARAM) Interceptor type {0} is out of range"
+INTERCEPTORS.nameNull="IOP00110802: (BAD_PARAM) Interceptor's name is null: use empty string for anonymous interceptors"
+INTERCEPTORS.rirInvalidPreInit="IOP01610801: (BAD_INV_ORDER) resolve_initial_reference is invalid during pre_init"
+INTERCEPTORS.badState1="IOP01610802: (BAD_INV_ORDER) Expected state {0}, but current state is {1}"
+INTERCEPTORS.badState2="IOP01610803: (BAD_INV_ORDER) Expected state {0} or {1}, but current state is {2}"
+INTERCEPTORS.ioexceptionDuringCancelRequest="IOP00410801: (COMM_FAILURE) IOException during cancel request"
+INTERCEPTORS.exceptionWasNull="IOP00710801: (INTERNAL) Exception was null"
+INTERCEPTORS.objectHasNoDelegate="IOP00710802: (INTERNAL) Object has no delegate"
+INTERCEPTORS.delegateNotClientsub="IOP00710803: (INTERNAL) Delegate was not a ClientRequestDispatcher"
+INTERCEPTORS.objectNotObjectimpl="IOP00710804: (INTERNAL) Object is not an ObjectImpl"
+INTERCEPTORS.exceptionInvalid="IOP00710805: (INTERNAL) Assertion failed: Interceptor set exception to UserException or ApplicationException"
+INTERCEPTORS.replyStatusNotInit="IOP00710806: (INTERNAL) Assertion failed: Reply status is initialized but not SYSTEM_EXCEPTION or LOCATION_FORWARD"
+INTERCEPTORS.exceptionInArguments="IOP00710807: (INTERNAL) Exception in arguments"
+INTERCEPTORS.exceptionInExceptions="IOP00710808: (INTERNAL) Exception in exceptions"
+INTERCEPTORS.exceptionInContexts="IOP00710809: (INTERNAL) Exception in contexts"
+INTERCEPTORS.exceptionWasNull2="IOP00710810: (INTERNAL) Another exception was null"
+INTERCEPTORS.servantInvalid="IOP00710811: (INTERNAL) Servant invalid"
+INTERCEPTORS.cantPopOnlyPicurrent="IOP00710812: (INTERNAL) Can't pop only PICurrent"
+INTERCEPTORS.cantPopOnlyCurrent2="IOP00710813: (INTERNAL) Can't pop another PICurrent"
+INTERCEPTORS.piDsiResultIsNull="IOP00710814: (INTERNAL) DSI result is null"
+INTERCEPTORS.piDiiResultIsNull="IOP00710815: (INTERNAL) DII result is null"
+INTERCEPTORS.exceptionUnavailable="IOP00710816: (INTERNAL) Exception is unavailable"
+INTERCEPTORS.clientInfoStackNull="IOP00710817: (INTERNAL) Assertion failed: client request info stack is null"
+INTERCEPTORS.serverInfoStackNull="IOP00710818: (INTERNAL) Assertion failed: Server request info stack is null"
+INTERCEPTORS.markAndResetFailed="IOP00710819: (INTERNAL) Mark and reset failed"
+INTERCEPTORS.slotTableInvariant="IOP00710820: (INTERNAL) currentIndex > tableContainer.size(): {0} > {1}"
+INTERCEPTORS.interceptorListLocked="IOP00710821: (INTERNAL) InterceptorList is locked"
+INTERCEPTORS.sortSizeMismatch="IOP00710822: (INTERNAL) Invariant: sorted size + unsorted size == total size was violated"
+INTERCEPTORS.piOrbNotPolicyBased="IOP01010801: (NO_IMPLEMENT) Policies not implemented"
+INTERCEPTORS.orbinitinfoInvalid="IOP02510801: (OBJECT_NOT_EXIST) ORBInitInfo object is only valid during ORB_init"
+INTERCEPTORS.unknownRequestInvoke="IOP00010801: (UNKNOWN) Unknown request invocation error"
+IOR.ortNotInitialized="IOP00711201: (INTERNAL) ObjectReferenceTemplate is not initialized"
+IOR.nullPoa="IOP00711202: (INTERNAL) Null POA"
+IOR.badMagic="IOP00711203: (INTERNAL) Bad magic number {0} in ObjectKeyTemplate"
+IOR.stringifyWriteError="IOP00711204: (INTERNAL) Error while stringifying an object reference"
+IOR.taggedProfileTemplateFactoryNotFound="IOP00711205: (INTERNAL) Could not find a TaggedProfileTemplateFactory for id {0}"
+IOR.invalidJdk131PatchLevel="IOP00711206: (INTERNAL) Found a JDK 1.3.1 patch level indicator with value {0} less than JDK 1.3.1_01 value of 1"
+IOR.getLocalServantFailure="IOP00711207: (INTERNAL) Exception occurred while looking for ObjectAdapter {0} in IIOPProfileImpl.getServant"
+IOR.adapterIdNotAvailable="IOP01211201: (BAD_OPERATION) Adapter ID not available"
+IOR.serverIdNotAvailable="IOP01211202: (BAD_OPERATION) Server ID not available"
+IOR.orbIdNotAvailable="IOP01211203: (BAD_OPERATION) ORB ID not available"
+IOR.objectAdapterIdNotAvailable="IOP01211204: (BAD_OPERATION) Object adapter ID not available"
+IOR.badOidInIorTemplateList="IOP00111201: (BAD_PARAM) Profiles in IOR do not all have the same Object ID, so conversion to IORTemplateList is impossible"
+IOR.invalidTaggedProfile="IOP00111202: (BAD_PARAM) Error in reading IIOP TaggedProfile"
+IOR.badIiopAddressPort="IOP00111203: (BAD_PARAM) Attempt to create IIOPAdiress with port {0}, which is out of range"
+IOR.iorMustHaveIiopProfile="IOP00511201: (INV_OBJREF) IOR must have at least one IIOP profile"
+NAMING.transientNameServerBadPort="IOP00110600: (BAD_PARAM) Port 0 is not a valid port in the transient name server"
+NAMING.transientNameServerBadHost="IOP00110601: (BAD_PARAM) A null hostname is not a valid hostname in the transient name server"
+NAMING.objectIsNull="IOP00110602: (BAD_PARAM) Invalid object reference passed in rebind or bind operation"
+NAMING.insBadAddress="IOP00110603: (BAD_PARAM) Bad host address in -ORBInitDef"
+NAMING.bindUpdateContextFailed="IOP00010600: (UNKNOWN) Updated context failed for bind"
+NAMING.bindFailure="IOP00010601: (UNKNOWN) bind failure"
+NAMING.resolveConversionFailure="IOP00010602: (UNKNOWN) Resolve conversion failed"
+NAMING.resolveFailure="IOP00010603: (UNKNOWN) Resolve failure"
+NAMING.unbindFailure="IOP00010604: (UNKNOWN) Unbind failure"
+NAMING.transNsCannotCreateInitialNcSys="IOP00910650: (INITIALIZE) SystemException in transient name service while initializing"
+NAMING.transNsCannotCreateInitialNc="IOP00910651: (INITIALIZE) Java exception in transient name service while initializing"
+NAMING.namingCtxRebindAlreadyBound="IOP00710600: (INTERNAL) Unexpected AlreadyBound exception iun rebind"
+NAMING.namingCtxRebindctxAlreadyBound="IOP00710601: (INTERNAL) Unexpected AlreadyBound exception in rebind_context"
+NAMING.namingCtxBadBindingtype="IOP00710602: (INTERNAL) Bad binding type in internal binding implementation"
+NAMING.namingCtxResolveCannotNarrowToCtx="IOP00710603: (INTERNAL) Object reference that is not CosNaming::NamingContext bound as a context"
+NAMING.namingCtxBindingIteratorCreate="IOP00710604: (INTERNAL) Error in creating POA for BindingIterator"
+NAMING.transNcBindAlreadyBound="IOP00710700: (INTERNAL) Bind implementation encountered a previous bind"
+NAMING.transNcListGotExc="IOP00710701: (INTERNAL) list operation caught an unexpected Java exception while creating list iterator"
+NAMING.transNcNewctxGotExc="IOP00710702: (INTERNAL) new_context operation caught an unexpected Java excpetion creating the NewContext servant"
+NAMING.transNcDestroyGotExc="IOP00710703: (INTERNAL) Destroy operation caught a Java exception while disconnecting from ORB"
+NAMING.insBadSchemeName="IOP00710705: (INTERNAL) Stringified object reference with unknown protocol specified"
+NAMING.insBadSchemeSpecificPart="IOP00710707: (INTERNAL) Malformed URL in -ORBInitDef"
+NAMING.insOther="IOP00710708: (INTERNAL) Malformed URL in -ORBInitDef"
+OMG.idlContextNotFound="IOP02200001: (BAD_CONTEXT) IDL context not found"
+OMG.noMatchingIdlContext="IOP02200002: (BAD_CONTEXT) No matching IDL context property"
+OMG.depPreventDestruction="IOP01600001: (BAD_INV_ORDER) Dependency exists in IFR preventing destruction of this object"
+OMG.destroyIndestructible="IOP01600002: (BAD_INV_ORDER) Attempt to destroy indestructible objects in IFR"
+OMG.shutdownWaitForCompletionDeadlock="IOP01600003: (BAD_INV_ORDER) Operation would deadlock"
+OMG.badOperationAfterShutdown="IOP01600004: (BAD_INV_ORDER) ORB has shutdown"
+OMG.badInvoke="IOP01600005: (BAD_INV_ORDER) Attempt to invoke send or invoke operation of the same Request object more than once "
+OMG.badSetServantManager="IOP01600006: (BAD_INV_ORDER) Attempt to set a servent manager after one has already been set"
+OMG.badArgumentsCall="IOP01600007: (BAD_INV_ORDER) ServerRequest::arguments called more than once or after a call to ServerRequest::set_exception"
+OMG.badCtxCall="IOP01600008: (BAD_INV_ORDER) ServerRequest::ctx called more than once or before ServerRequest::arguments or after ServerRequest::ctx, ServerRequest::set_result or ServerRequest::set_exception"
+OMG.badResultCall="IOP01600009: (BAD_INV_ORDER) ServerRequest::set_result called more than once or before ServerRequest::arguments or after ServerRequest::set_result or ServerRequest::set_exception"
+OMG.badSend="IOP01600010: (BAD_INV_ORDER) Attempt to send a DII request after it was sent previously"
+OMG.badPollBefore="IOP01600011: (BAD_INV_ORDER) Attempt to poll a DII request or to retrieve its result before the request was sent"
+OMG.badPollAfter="IOP01600012: (BAD_INV_ORDER) Attempt to poll a DII request or to retrieve its result after the result was retrieved previously"
+OMG.badPollSync="IOP01600013: (BAD_INV_ORDER) Attempt to poll a synchronous DII request or to retrieve results from a synchronous DII request"
+OMG.invalidPiCall1="IOP01600014: (BAD_INV_ORDER) Invalid call to forward_reference() when reply status is not LOCATION_FORWARD"
+OMG.invalidPiCall2="IOP01600014: (BAD_INV_ORDER) Cannot access this attribute or method at this point"
+OMG.invalidPiCall3="IOP01600014: (BAD_INV_ORDER) Cannot call set_slot from within an ORBInitializer"
+OMG.invalidPiCall4="IOP01600014: (BAD_INV_ORDER) Cannot call get_slot from within an ORBInitializer"
+OMG.serviceContextAddFailed="IOP01600015: (BAD_INV_ORDER) Service context add failed in portable interceptor because a service context with id {0} already exists"
+OMG.policyFactoryRegFailed="IOP01600016: (BAD_INV_ORDER) Registration of PolicyFactory failed because a factory already exists for the given PolicyType {0}"
+OMG.createPoaDestroy="IOP01600017: (BAD_INV_ORDER) POA cannot create POAs while undergoing destruction"
+OMG.priorityReassign="IOP01600018: (BAD_INV_ORDER) Attempt to reassign priority"
+OMG.xaStartOutsize="IOP01600019: (BAD_INV_ORDER) An OTS/XA integration xa_start() call returned XAER_OUTSIDE"
+OMG.xaStartProto="IOP01600020: (BAD_INV_ORDER) An OTS/XA integration xa_ call returned XAER_PROTO"
+OMG.badServantManagerType="IOP01200001: (BAD_OPERATION) ServantManager returned wrong servant type"
+OMG.operationUnknownToTarget="IOP01200002: (BAD_OPERATION) Operation or attribute not known to target object "
+OMG.unableRegisterValueFactory="IOP00100001: (BAD_PARAM) Failure to register, unregister or lookup value factory"
+OMG.ridAlreadyDefined="IOP00100002: (BAD_PARAM) RID already defined in IFR"
+OMG.nameUsedIfr="IOP00100003: (BAD_PARAM) Name already used in the context in IFR "
+OMG.targetNotContainer="IOP00100004: (BAD_PARAM) Target is not a valid container"
+OMG.nameClash="IOP00100005: (BAD_PARAM) Name clash in inherited context"
+OMG.notSerializable="IOP00100006: (BAD_PARAM) Class {0} is not Serializable"
+OMG.soBadSchemeName="IOP00100007: (BAD_PARAM) string_to_object conversion failed due to bad scheme name"
+OMG.soBadAddress="IOP00100008: (BAD_PARAM) string_to_object conversion failed due to bad address"
+OMG.soBadSchemaSpecific="IOP00100009: (BAD_PARAM) string_to_object conversion failed due to bad bad schema specific part"
+OMG.soNonSpecific="IOP00100010: (BAD_PARAM) string_to_object conversion failed due to non specific reason"
+OMG.irDeriveAbsIntBase="IOP00100011: (BAD_PARAM) Attempt to derive abstract interface from non-abstract base interface in the Interface Repository"
+OMG.irValueSupport="IOP00100012: (BAD_PARAM) Attempt to let a ValueDef support more than one non-abstract interface in the Interface Repository"
+OMG.incompleteTypecode="IOP00100013: (BAD_PARAM) Attempt to use an incomplete TypeCode as a parameter"
+OMG.invalidObjectId="IOP00100014: (BAD_PARAM) Invalid object id passed to POA::create_reference_by_id "
+OMG.typecodeBadName="IOP00100015: (BAD_PARAM) Bad name argument in TypeCode operation"
+OMG.typecodeBadRepid="IOP00100016: (BAD_PARAM) Bad RepositoryId argument in TypeCode operation"
+OMG.typecodeInvMember="IOP00100017: (BAD_PARAM) Invalid member name in TypeCode operation "
+OMG.tcUnionDupLabel="IOP00100018: (BAD_PARAM) Duplicate label value in create_union_tc "
+OMG.tcUnionIncompatible="IOP00100019: (BAD_PARAM) Incompatible TypeCode of label and discriminator in create_union_tc "
+OMG.tcUnionBadDisc="IOP00100020: (BAD_PARAM) Supplied discriminator type illegitimate in create_union_tc "
+OMG.setExceptionBadAny="IOP00100021: (BAD_PARAM) Any passed to ServerRequest::set_exception does not contain an exception "
+OMG.setExceptionUnlisted="IOP00100022: (BAD_PARAM) Unlisted user exception passed to ServerRequest::set_exception "
+OMG.noClientWcharCodesetCtx="IOP00100023: (BAD_PARAM) wchar transmission code set not in service context"
+OMG.illegalServiceContext="IOP00100024: (BAD_PARAM) Service context is not in OMG-defined range"
+OMG.enumOutOfRange="IOP00100025: (BAD_PARAM) Enum value out of range"
+OMG.invalidServiceContextId="IOP00100026: (BAD_PARAM) Invalid service context Id in portable interceptor"
+OMG.rirWithNullObject="IOP00100027: (BAD_PARAM) Attempt to call register_initial_reference with a null Object"
+OMG.invalidComponentId="IOP00100028: (BAD_PARAM) Invalid component Id {0} in portable interceptor"
+OMG.invalidProfileId="IOP00100029: (BAD_PARAM) Profile ID does not define a known profile or it is impossible to add components to that profile"
+OMG.policyTypeDuplicate="IOP00100030: (BAD_PARAM) Two or more Policy objects with the same PolicyType value supplied to Object::set_policy_overrides or PolicyManager::set_policy_overrides"
+OMG.badOnewayDefinition="IOP00100031: (BAD_PARAM) Attempt to define a oneway operation with non-void result, out or inout parameters or user exceptions"
+OMG.diiForImplicitOperation="IOP00100032: (BAD_PARAM) DII asked to create request for an implicit operation"
+OMG.xaCallInval="IOP00100033: (BAD_PARAM) An OTS/XA integration xa_ call returned XAER_INVAL"
+OMG.unionBadDiscriminator="IOP00100034: (BAD_PARAM) Union branch modifier method called with bad case label discriminator"
+OMG.ctxIllegalPropertyName="IOP00100035: (BAD_PARAM) Illegal IDL context property name"
+OMG.ctxIllegalSearchString="IOP00100036: (BAD_PARAM) Illegal IDL property search string"
+OMG.ctxIllegalName="IOP00100037: (BAD_PARAM) Illegal IDL context name"
+OMG.ctxNonEmpty="IOP00100038: (BAD_PARAM) Non-empty IDL context"
+OMG.invalidStreamFormatVersion="IOP00100039: (BAD_PARAM) Unsupported RMI/IDL custom value type stream format {0}"
+OMG.notAValueoutputstream="IOP00100040: (BAD_PARAM) ORB output stream does not support ValueOutputStream interface"
+OMG.notAValueinputstream="IOP00100041: (BAD_PARAM) ORB input stream does not support ValueInputStream interface"
+OMG.marshallIncompleteTypecode="IOP01100001: (BAD_TYPECODE) Attempt to marshal incomplete TypeCode"
+OMG.badMemberTypecode="IOP01100002: (BAD_TYPECODE) Member type code illegitimate in TypeCode operation"
+OMG.illegalParameter="IOP01100003: (BAD_TYPECODE) Illegal parameter type"
+OMG.charNotInCodeset="IOP02400001: (DATA_CONVERSION) Character does not map to negotiated transmission code set"
+OMG.priorityMapFailre="IOP02400002: (DATA_CONVERSION) Failure of PriorityMapping object"
+OMG.noUsableProfile="IOP00300001: (IMP_LIMIT) Unable to use any profile in IOR"
+OMG.priorityRangeRestrict="IOP00900001: (INITIALIZE) Priority range too restricted for ORB"
+OMG.noServerWcharCodesetCmp="IOP00500001: (INV_OBJREF) wchar Code Set support not specified"
+OMG.codesetComponentRequired="IOP00500002: (INV_OBJREF) Codeset component required for type using wchar or wstring data"
+OMG.iorPolicyReconcileError="IOP02900001: (INV_POLICY) Unable to reconcile IOR specified policy with effective policy override"
+OMG.policyUnknown="IOP02900002: (INV_POLICY) Invalid PolicyType"
+OMG.noPolicyFactory="IOP02900003: (INV_POLICY) No PolicyFactory has been registered for the given PolicyType"
+OMG.xaRmerr="IOP00700001: (INTERNAL) An OTS/XA integration xa_ call returned XAER_RMERR"
+OMG.xaRmfail="IOP00700002: (INTERNAL) An OTS/XA integration xa_ call returned XAER_RMFAIL"
+OMG.noIr="IOP02100001: (INTF_REPOS) Interface Repository not available"
+OMG.noInterfaceInIr="IOP02100002: (INTF_REPOS) No entry for requested interface in Interface Repository"
+OMG.unableLocateValueFactory="IOP00800001: (MARSHAL) Unable to locate value factory"
+OMG.setResultBeforeCtx="IOP00800002: (MARSHAL) ServerRequest::set_result called before ServerRequest::ctx when the operation IDL contains a context clause "
+OMG.badNvlist="IOP00800003: (MARSHAL) NVList passed to ServerRequest::arguments does not describe all parameters passed by client"
+OMG.notAnObjectImpl="IOP00800004: (MARSHAL) Attempt to marshal Local object"
+OMG.wcharBadGiopVersionSent="IOP00800005: (MARSHAL) wchar or wstring data erroneosly sent by client over GIOP 1.0 connection "
+OMG.wcharBadGiopVersionReturned="IOP00800006: (MARSHAL) wchar or wstring data erroneously returned by server over GIOP 1.0 connection "
+OMG.unsupportedFormatVersion="IOP00800007: (MARSHAL) Unsupported RMI/IDL custom value type stream format"
+OMG.rmiiiopOptionalDataIncompatible1="IOP00800008: (MARSHAL) No optional data available"
+OMG.rmiiiopOptionalDataIncompatible2="IOP00800008: (MARSHAL) Not enough space left in current chunk"
+OMG.rmiiiopOptionalDataIncompatible3="IOP00800008: (MARSHAL) Not enough optional data available"
+OMG.missingLocalValueImpl="IOP01000001: (NO_IMPLEMENT) Missing local value implementation"
+OMG.incompatibleValueImpl="IOP01000002: (NO_IMPLEMENT) Incompatible value implementation version"
+OMG.noUsableProfile2="IOP01000003: (NO_IMPLEMENT) Unable to use any profile in IOR"
+OMG.diiLocalObject="IOP01000004: (NO_IMPLEMENT) Attempt to use DII on Local object"
+OMG.bioReset="IOP01000005: (NO_IMPLEMENT) Biomolecular Sequence Analysis iterator cannot be reset"
+OMG.bioMetaNotAvailable="IOP01000006: (NO_IMPLEMENT) Biomolecular Sequence Analysis metadata is not available as XML"
+OMG.bioGenomicNoIterator="IOP01000007: (NO_IMPLEMENT) Genomic Maps iterator cannot be reset"
+OMG.piOperationNotSupported1="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support arguments()"
+OMG.piOperationNotSupported2="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support exceptions()"
+OMG.piOperationNotSupported3="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support contexts()"
+OMG.piOperationNotSupported4="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support operation_context()"
+OMG.piOperationNotSupported5="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support result()"
+OMG.piOperationNotSupported6="IOP01300001: (NO_RESOURCES) The object ID was never set"
+OMG.piOperationNotSupported7="IOP01300001: (NO_RESOURCES) The ObjectKeyTemplate was never set"
+OMG.piOperationNotSupported8="IOP01300001: (NO_RESOURCES) ServerRequest::arguments() was never called"
+OMG.noConnectionPriority="IOP01300002: (NO_RESOURCES) No connection for request's priority"
+OMG.xaRb="IOP02700001: (TRANSACTION_ROLLEDBACK) An OTS/XA integration xa_ call returned XAER_RB"
+OMG.xaNota="IOP02700002: (TRANSACTION_ROLLEDBACK) An OTS/XA integration xa_ call returned XAER_NOTA"
+OMG.xaEndTrueRollbackDeferred="IOP02700003: (TRANSACTION_ROLLEDBACK) OTS/XA integration end() was called with success set to TRUE while transaction rollback was deferred"
+OMG.poaRequestDiscard="IOP01700001: (TRANSIENT) Request discarded because of resource exhaustion in POA or because POA is in DISCARDING state"
+OMG.noUsableProfile3="IOP01700002: (TRANSIENT) No usable profile in IOR"
+OMG.requestCancelled="IOP01700003: (TRANSIENT) Request cancelled"
+OMG.poaDestroyed="IOP01700004: (TRANSIENT) POA destroyed"
+OMG.unregisteredValueAsObjref="IOP02500001: (OBJECT_NOT_EXIST) Attempt to pass an unactivated (unregistered) value as an object reference"
+OMG.noObjectAdaptor="IOP02500002: (OBJECT_NOT_EXIST) Failed to create or locate Object Adaptor"
+OMG.bioNotAvailable="IOP02500003: (OBJECT_NOT_EXIST) Biomolecular Sequence Analysis Service is no longer available"
+OMG.objectAdapterInactive="IOP02500004: (OBJECT_NOT_EXIST) Object Adapter Inactive"
+OMG.adapterActivatorException="IOP02300001: (OBJ_ADAPTER) System exception in POA::unknown_adapter for POA {0} with parent POA {1}"
+OMG.badServantType="IOP02300002: (OBJ_ADAPTER) Incorrect servant type returned by servant manager "
+OMG.noDefaultServant="IOP02300003: (OBJ_ADAPTER) No default servant available [POA policy]"
+OMG.noServantManager="IOP02300004: (OBJ_ADAPTER) No servant manager available [POA Policy]"
+OMG.badPolicyIncarnate="IOP02300005: (OBJ_ADAPTER) Violation of POA policy by ServantActivator::incarnate"
+OMG.piExcCompEstablished="IOP02300006: (OBJ_ADAPTER) Exception in PortableInterceptor::IORInterceptor.components_established"
+OMG.nullServantReturned="IOP02300007: (OBJ_ADAPTER) Null servant returned by servant manager"
+OMG.unknownUserException="IOP00000001: (UNKNOWN) Unlisted user exception received by client "
+OMG.unsupportedSystemException="IOP00000002: (UNKNOWN) Non-standard System Exception not supported"
+OMG.piUnknownUserException="IOP00000003: (UNKNOWN) An unknown user exception received by a portable interceptor"
+ORBUTIL.adapterIdNotAvailable="IOP01210201: (BAD_OPERATION) Adapter ID not available"
+ORBUTIL.serverIdNotAvailable="IOP01210202: (BAD_OPERATION) Server ID not available"
+ORBUTIL.orbIdNotAvailable="IOP01210203: (BAD_OPERATION) ORB ID not available"
+ORBUTIL.objectAdapterIdNotAvailable="IOP01210204: (BAD_OPERATION) Object adapter ID not available"
+ORBUTIL.connectingServant="IOP01210205: (BAD_OPERATION) Error connecting servant"
+ORBUTIL.extractWrongType="IOP01210206: (BAD_OPERATION) Expected typecode kind {0} but got typecode kind {1}"
+ORBUTIL.extractWrongTypeList="IOP01210207: (BAD_OPERATION) Expected typecode kind to be one of {0} but got typecode kind {1}"
+ORBUTIL.badStringBounds="IOP01210208: (BAD_OPERATION) String length of {0} exceeds bounded string length of {1}"
+ORBUTIL.insertObjectIncompatible="IOP01210210: (BAD_OPERATION) Tried to insert an object of an incompatible type into an Any for an object reference"
+ORBUTIL.insertObjectFailed="IOP01210211: (BAD_OPERATION) insert_Object call failed on an Any"
+ORBUTIL.extractObjectIncompatible="IOP01210212: (BAD_OPERATION) extract_Object call failed on an Any"
+ORBUTIL.fixedNotMatch="IOP01210213: (BAD_OPERATION) Fixed type does not match typecode"
+ORBUTIL.fixedBadTypecode="IOP01210214: (BAD_OPERATION) Tried to insert Fixed type for non-Fixed typecode"
+ORBUTIL.setExceptionCalledNullArgs="IOP01210223: (BAD_OPERATION) set_exception(Any) called with null args for DSI ServerRequest"
+ORBUTIL.setExceptionCalledBadType="IOP01210224: (BAD_OPERATION) set_exception(Any) called with a bad (non-exception) type"
+ORBUTIL.contextCalledOutOfOrder="IOP01210225: (BAD_OPERATION) ctx() called out of order for DSI ServerRequest"
+ORBUTIL.badOrbConfigurator="IOP01210226: (BAD_OPERATION) ORB configurator class {0} could not be instantiated"
+ORBUTIL.orbConfiguratorError="IOP01210227: (BAD_OPERATION) Error in running ORB configurator"
+ORBUTIL.orbDestroyed="IOP01210228: (BAD_OPERATION) This ORB instance has been destroyed, so no operations can be performed on it"
+ORBUTIL.negativeBounds="IOP01210229: (BAD_OPERATION) Negative bound for string TypeCode is illegal"
+ORBUTIL.extractNotInitialized="IOP01210230: (BAD_OPERATION) Called typecode extract on an uninitialized typecode"
+ORBUTIL.extractObjectFailed="IOP01210231: (BAD_OPERATION) extract_Object failed on an uninitialized Any"
+ORBUTIL.methodNotFoundInTie="IOP01210232: (BAD_OPERATION) Could not find method named {0} in class {1} in reflective Tie"
+ORBUTIL.classNotFound1="IOP01210233: (BAD_OPERATION) ClassNotFoundException while attempting to load preferred stub named {0}"
+ORBUTIL.classNotFound2="IOP01210234: (BAD_OPERATION) ClassNotFoundException while attempting to load alternate stub named {0}"
+ORBUTIL.classNotFound3="IOP01210235: (BAD_OPERATION) ClassNotFoundException while attempting to load interface {0}"
+ORBUTIL.getDelegateServantNotActive="IOP01210236: (BAD_OPERATION) POA ServantNotActive exception while trying get an org.omg.CORBA.Portable.Delegate for an org.omg.PortableServer.Servant"
+ORBUTIL.getDelegateWrongPolicy="IOP01210237: (BAD_OPERATION) POA WrongPolicy exception while trying get an org.omg.CORBA.Portable.Delegate for an org.omg.PortableServer.Servant"
+ORBUTIL.setDelegateRequiresStub="IOP01210238: (BAD_OPERATION) Call to StubAdapter.setDelegate did not pass a stub"
+ORBUTIL.getDelegateRequiresStub="IOP01210239: (BAD_OPERATION) Call to StubAdapter.getDelegate did not pass a stub"
+ORBUTIL.getTypeIdsRequiresStub="IOP01210240: (BAD_OPERATION) Call to StubAdapter.getTypeIds did not pass a stub"
+ORBUTIL.getOrbRequiresStub="IOP01210241: (BAD_OPERATION) Call to StubAdapter.getORB did not pass a stub"
+ORBUTIL.connectRequiresStub="IOP01210242: (BAD_OPERATION) Call to StubAdapter.connect did not pass a stub"
+ORBUTIL.isLocalRequiresStub="IOP01210243: (BAD_OPERATION) Call to StubAdapter.isLocal did not pass a stub"
+ORBUTIL.requestRequiresStub="IOP01210244: (BAD_OPERATION) Call to StubAdapter.request did not pass a stub"
+ORBUTIL.badActivateTieCall="IOP01210245: (BAD_OPERATION) Call to StubAdapter.activateTie did not pass a valid Tie"
+ORBUTIL.nullParam="IOP00110201: (BAD_PARAM) Null parameter"
+ORBUTIL.unableFindValueFactory="IOP00110202: (BAD_PARAM) Unable to find value factory"
+ORBUTIL.abstractFromNonAbstract="IOP00110203: (BAD_PARAM) Abstract interface derived from non-abstract interface"
+ORBUTIL.invalidTaggedProfile="IOP00110204: (BAD_PARAM) Error in reading IIOP TaggedProfile"
+ORBUTIL.objrefFromForeignOrb="IOP00110205: (BAD_PARAM) Object reference came from foreign ORB"
+ORBUTIL.localObjectNotAllowed="IOP00110206: (BAD_PARAM) Local object not allowed"
+ORBUTIL.nullObjectReference="IOP00110207: (BAD_PARAM) null object reference"
+ORBUTIL.couldNotLoadClass="IOP00110208: (BAD_PARAM) Could not load class {0}"
+ORBUTIL.badUrl="IOP00110209: (BAD_PARAM) Malformed URL {0}"
+ORBUTIL.fieldNotFound="IOP00110210: (BAD_PARAM) Field {0} not found in parser data object"
+ORBUTIL.errorSettingField="IOP00110211: (BAD_PARAM) Error in setting field {0} to value {1} in parser data object"
+ORBUTIL.boundsErrorInDiiRequest="IOP00110212: (BAD_PARAM) Bounds error occurred in DII request"
+ORBUTIL.persistentServerInitError="IOP00110213: (BAD_PARAM) Initialization error for persistent server"
+ORBUTIL.couldNotCreateArray="IOP00110214: (BAD_PARAM) Could not create array for field {0} with component type {1} and size {2}"
+ORBUTIL.couldNotSetArray="IOP00110215: (BAD_PARAM) Could not set array for field {0} at index {1} with component type {2} and size {3} to value {4}"
+ORBUTIL.illegalBootstrapOperation="IOP00110216: (BAD_PARAM) Illegal bootstrap operation {0}"
+ORBUTIL.bootstrapRuntimeException="IOP00110217: (BAD_PARAM) Runtime Exception during bootstrap operation"
+ORBUTIL.bootstrapException="IOP00110218: (BAD_PARAM) Exception during bootstrap operation"
+ORBUTIL.stringExpected="IOP00110219: (BAD_PARAM) Expected a string, but argument was not of String type"
+ORBUTIL.invalidTypecodeKind="IOP00110220: (BAD_PARAM) {0} does not represent a valid kind of typecode"
+ORBUTIL.socketFactoryAndContactInfoListAtSameTime="IOP00110221: (BAD_PARAM) cannot have a SocketFactory and a ContactInfoList at the same time"
+ORBUTIL.acceptorsAndLegacySocketFactoryAtSameTime="IOP00110222: (BAD_PARAM) cannot have Acceptors and a legacy SocketFactory at the same time"
+ORBUTIL.badOrbForServant="IOP00110223: (BAD_PARAM) Reflective POA Servant requires an instance of org.omg.CORBA_2_3.ORB"
+ORBUTIL.invalidRequestPartitioningPolicyValue="IOP00110224: (BAD_PARAM) Request partitioning value specified, {0}, is outside supported range, {1} - {2}"
+ORBUTIL.invalidRequestPartitioningComponentValue="IOP00110225: (BAD_PARAM) Could not set request partitioning component value to {0}, valid values are {1} - {2}"
+ORBUTIL.invalidRequestPartitioningId="IOP00110226: (BAD_PARAM) Invalid request partitioning id {0}, valid values are {1} - {2}"
+ORBUTIL.errorInSettingDynamicStubFactoryFactory="IOP00110227: (BAD_PARAM) ORBDynamicStubFactoryFactoryClass property had value {0}, which could not be loaded by the ORB ClassLoader"
+ORBUTIL.dsimethodNotcalled="IOP01610201: (BAD_INV_ORDER) DSI method not called"
+ORBUTIL.argumentsCalledMultiple="IOP01610202: (BAD_INV_ORDER) arguments(NVList) called more than once for DSI ServerRequest"
+ORBUTIL.argumentsCalledAfterException="IOP01610203: (BAD_INV_ORDER) arguments(NVList) called after exceptions set for DSI ServerRequest"
+ORBUTIL.argumentsCalledNullArgs="IOP01610204: (BAD_INV_ORDER) arguments(NVList) called with null args for DSI ServerRequest"
+ORBUTIL.argumentsNotCalled="IOP01610205: (BAD_INV_ORDER) arguments(NVList) not called for DSI ServerRequest"
+ORBUTIL.setResultCalledMultiple="IOP01610206: (BAD_INV_ORDER) set_result(Any) called more than once for DSI ServerRequest"
+ORBUTIL.setResultAfterException="IOP01610207: (BAD_INV_ORDER) set_result(Any) called exception was set for DSI ServerRequest"
+ORBUTIL.setResultCalledNullArgs="IOP01610208: (BAD_INV_ORDER) set_result(Any) called with null args for DSI ServerRequest"
+ORBUTIL.badRemoteTypecode="IOP01110201: (BAD_TYPECODE) Foreign to native typecode conversion constructor should not be called with native typecode"
+ORBUTIL.unresolvedRecursiveTypecode="IOP01110202: (BAD_TYPECODE) Invoked operation on unresolved recursive TypeCode"
+ORBUTIL.connectFailure="IOP00410201: (COMM_FAILURE) Connection failure: socketType: {0}; hostname: {1}; port: {2}"
+ORBUTIL.connectionCloseRebind="IOP00410202: (COMM_FAILURE) Connection close: rebind"
+ORBUTIL.writeErrorSend="IOP00410203: (COMM_FAILURE) Write error sent"
+ORBUTIL.getPropertiesError="IOP00410204: (COMM_FAILURE) Get properties error"
+ORBUTIL.bootstrapServerNotAvail="IOP00410205: (COMM_FAILURE) Bootstrap server is not available"
+ORBUTIL.invokeError="IOP00410206: (COMM_FAILURE) Invocation error"
+ORBUTIL.defaultCreateServerSocketGivenNonIiopClearText="IOP00410207: (COMM_FAILURE) DefaultSocketFactory.createServerSocket only handles IIOP_CLEAR_TEXT, given {0}"
+ORBUTIL.connectionAbort="IOP00410208: (COMM_FAILURE) Connection abort"
+ORBUTIL.connectionRebind="IOP00410209: (COMM_FAILURE) Connection rebind"
+ORBUTIL.recvMsgError="IOP00410210: (COMM_FAILURE) Received a GIOP MessageError, indicating header corruption or version mismatch"
+ORBUTIL.ioexceptionWhenReadingConnection="IOP00410211: (COMM_FAILURE) IOException when reading connection"
+ORBUTIL.selectionKeyInvalid="IOP00410212: (COMM_FAILURE) SelectionKey invalid on channel, {0}"
+ORBUTIL.exceptionInAccept="IOP00410213: (COMM_FAILURE) Unexpected {0} in accept"
+ORBUTIL.securityExceptionInAccept="IOP00410214: (COMM_FAILURE) Unexpected {0}, has permissions {1}"
+ORBUTIL.transportReadTimeoutExceeded="IOP00410215: (COMM_FAILURE) Read of full message failed : bytes requested = {0} bytes read = {1} max wait time = {2} total time spent waiting = {3}"
+ORBUTIL.createListenerFailed="IOP00410216: (COMM_FAILURE) Unable to create listener thread on the specified port: {0}"
+ORBUTIL.badStringifiedIorLen="IOP02410201: (DATA_CONVERSION) A character did not map to the transmission code set"
+ORBUTIL.badStringifiedIor="IOP02410202: (DATA_CONVERSION) Bad stringified IOR"
+ORBUTIL.badModifier="IOP02410203: (DATA_CONVERSION) Unable to perform resolve_initial_references due to bad host or port configuration"
+ORBUTIL.codesetIncompatible="IOP02410204: (DATA_CONVERSION) Codesets incompatible"
+ORBUTIL.badHexDigit="IOP02410205: (DATA_CONVERSION) Illegal hexadecimal digit"
+ORBUTIL.badUnicodePair="IOP02410206: (DATA_CONVERSION) Invalid unicode pair detected during code set conversion"
+ORBUTIL.btcResultMoreThanOneChar="IOP02410207: (DATA_CONVERSION) Tried to convert bytes to a single java char, but conversion yielded more than one Java char (Surrogate pair?)"
+ORBUTIL.badCodesetsFromClient="IOP02410208: (DATA_CONVERSION) Client sent code set service context that we do not support"
+ORBUTIL.invalidSingleCharCtb="IOP02410209: (DATA_CONVERSION) Char to byte conversion for a CORBA char resulted in more than one byte"
+ORBUTIL.badGiop11Ctb="IOP02410210: (DATA_CONVERSION) Character to byte conversion did not exactly double number of chars (GIOP 1.1 only)"
+ORBUTIL.badSequenceBounds="IOP02410212: (DATA_CONVERSION) Tried to insert a sequence of length {0} into a bounded sequence of maximum length {1} in an Any"
+ORBUTIL.illegalSocketFactoryType="IOP02410213: (DATA_CONVERSION) Class {0} is not a subtype of ORBSocketFactory"
+ORBUTIL.badCustomSocketFactory="IOP02410214: (DATA_CONVERSION) {0} is not a valid custom socket factory"
+ORBUTIL.fragmentSizeMinimum="IOP02410215: (DATA_CONVERSION) Fragment size {0} is too small: it must be at least {1}"
+ORBUTIL.fragmentSizeDiv="IOP02410216: (DATA_CONVERSION) Illegal valiue for fragment size ({0}): must be divisible by {1}"
+ORBUTIL.orbInitializerFailure="IOP02410217: (DATA_CONVERSION) Could not instantiate ORBInitializer {0}"
+ORBUTIL.orbInitializerType="IOP02410218: (DATA_CONVERSION) orb initializer class {0} is not a subtype of ORBInitializer"
+ORBUTIL.orbInitialreferenceSyntax="IOP02410219: (DATA_CONVERSION) Bad syntax for ORBInitialReference"
+ORBUTIL.acceptorInstantiationFailure="IOP02410220: (DATA_CONVERSION) Could not instantiate Acceptor {0}"
+ORBUTIL.acceptorInstantiationTypeFailure="IOP02410221: (DATA_CONVERSION) Acceptor class {0} is not a subtype of Acceptor"
+ORBUTIL.illegalContactInfoListFactoryType="IOP02410222: (DATA_CONVERSION) Class {0} is not a subtype of CorbaContactInfoListFactory"
+ORBUTIL.badContactInfoListFactory="IOP02410223: (DATA_CONVERSION) {0} is not a valid CorbaContactInfoListFactory"
+ORBUTIL.illegalIorToSocketInfoType="IOP02410224: (DATA_CONVERSION) Class {0} is not a subtype of IORToSocketInfo"
+ORBUTIL.badCustomIorToSocketInfo="IOP02410225: (DATA_CONVERSION) {0} is not a valid custom IORToSocketInfo"
+ORBUTIL.illegalIiopPrimaryToContactInfoType="IOP02410226: (DATA_CONVERSION) Class {0} is not a subtype of IIOPPrimaryToContactInfo"
+ORBUTIL.badCustomIiopPrimaryToContactInfo="IOP02410227: (DATA_CONVERSION) {0} is not a valid custom IIOPPrimaryToContactInfo"
+ORBUTIL.badCorbalocString="IOP00510201: (INV_OBJREF) Bad corbaloc: URL"
+ORBUTIL.noProfilePresent="IOP00510202: (INV_OBJREF) No profile in IOR"
+ORBUTIL.cannotCreateOrbidDb="IOP00910201: (INITIALIZE) Cannot create ORB ID datastore"
+ORBUTIL.cannotReadOrbidDb="IOP00910202: (INITIALIZE) Cannot read ORB ID datastore"
+ORBUTIL.cannotWriteOrbidDb="IOP00910203: (INITIALIZE) Cannot write ORB ID datastore"
+ORBUTIL.getServerPortCalledBeforeEndpointsInitialized="IOP00910204: (INITIALIZE) legacyGetServerPort called before endpoints initialized"
+ORBUTIL.persistentServerportNotSet="IOP00910205: (INITIALIZE) Persistent server port is not set"
+ORBUTIL.persistentServeridNotSet="IOP00910206: (INITIALIZE) Persistent server ID is not set"
+ORBUTIL.nonExistentOrbid="IOP00710201: (INTERNAL) Non-existent ORB ID"
+ORBUTIL.noServerSubcontract="IOP00710202: (INTERNAL) No server request dispatcher"
+ORBUTIL.serverScTempSize="IOP00710203: (INTERNAL) server request dispatcher template size error"
+ORBUTIL.noClientScClass="IOP00710204: (INTERNAL) No client request dispatcher class"
+ORBUTIL.serverScNoIiopProfile="IOP00710205: (INTERNAL) No IIOP profile in server request dispatcher"
+ORBUTIL.getSystemExReturnedNull="IOP00710206: (INTERNAL) getSystemException returned null"
+ORBUTIL.peekstringFailed="IOP00710207: (INTERNAL) The repository ID of a user exception had a bad length"
+ORBUTIL.getLocalHostFailed="IOP00710208: (INTERNAL) Unable to determine local hostname from InetAddress.getLocalHost().getHostName()"
+ORBUTIL.badLocateRequestStatus="IOP00710210: (INTERNAL) Bad locate request status in IIOP locate reply"
+ORBUTIL.stringifyWriteError="IOP00710211: (INTERNAL) Error while stringifying an object reference"
+ORBUTIL.badGiopRequestType="IOP00710212: (INTERNAL) IIOP message with bad GIOP 1.0 message type"
+ORBUTIL.errorUnmarshalingUserexc="IOP00710213: (INTERNAL) Error in unmarshalling user exception"
+ORBUTIL.requestdispatcherregistryError="IOP00710214: (INTERNAL) Overflow in RequestDispatcherRegistry"
+ORBUTIL.locationforwardError="IOP00710215: (INTERNAL) Error in processing a LocationForward"
+ORBUTIL.wrongClientsc="IOP00710216: (INTERNAL) Wrong client request dispatcher"
+ORBUTIL.badServantReadObject="IOP00710217: (INTERNAL) Bad servant in read_Object"
+ORBUTIL.multIiopProfNotSupported="IOP00710218: (INTERNAL) multiple IIOP profiles not supported"
+ORBUTIL.giopMagicError="IOP00710220: (INTERNAL) Error in GIOP magic"
+ORBUTIL.giopVersionError="IOP00710221: (INTERNAL) Error in GIOP version"
+ORBUTIL.illegalReplyStatus="IOP00710222: (INTERNAL) Illegal reply status in GIOP reply message"
+ORBUTIL.illegalGiopMsgType="IOP00710223: (INTERNAL) Illegal GIOP message type"
+ORBUTIL.fragmentationDisallowed="IOP00710224: (INTERNAL) Fragmentation not allowed for this message type"
+ORBUTIL.badReplystatus="IOP00710225: (INTERNAL) Bad status in the IIOP reply message"
+ORBUTIL.ctbConverterFailure="IOP00710226: (INTERNAL) character to byte converter failure"
+ORBUTIL.btcConverterFailure="IOP00710227: (INTERNAL) byte to character converter failure"
+ORBUTIL.wcharArrayUnsupportedEncoding="IOP00710228: (INTERNAL) Unsupported wchar encoding: ORB only supports fixed width UTF-16 encoding"
+ORBUTIL.illegalTargetAddressDisposition="IOP00710229: (INTERNAL) Illegal target address disposition value"
+ORBUTIL.nullReplyInGetAddrDisposition="IOP00710230: (INTERNAL) No reply while attempting to get addressing disposition"
+ORBUTIL.orbTargetAddrPreferenceInExtractObjectkeyInvalid="IOP00710231: (INTERNAL) Invalid GIOP target addressing preference"
+ORBUTIL.invalidIsstreamedTckind="IOP00710232: (INTERNAL) Invalid isStreamed TCKind {0}"
+ORBUTIL.invalidJdk131PatchLevel="IOP00710233: (INTERNAL) Found a JDK 1.3.1 patch level indicator with value less than JDK 1.3.1_01 value of 1"
+ORBUTIL.svcctxUnmarshalError="IOP00710234: (INTERNAL) Error unmarshalling service context data"
+ORBUTIL.nullIor="IOP00710235: (INTERNAL) null IOR"
+ORBUTIL.unsupportedGiopVersion="IOP00710236: (INTERNAL) Unsupported GIOP version {0}"
+ORBUTIL.applicationExceptionInSpecialMethod="IOP00710237: (INTERNAL) Application exception in special method: should not happen"
+ORBUTIL.statementNotReachable1="IOP00710238: (INTERNAL) Assertion failed: statement not reachable (1)"
+ORBUTIL.statementNotReachable2="IOP00710239: (INTERNAL) Assertion failed: statement not reachable (2)"
+ORBUTIL.statementNotReachable3="IOP00710240: (INTERNAL) Assertion failed: statement not reachable (3)"
+ORBUTIL.statementNotReachable4="IOP00710241: (INTERNAL) Assertion failed: statement not reachable (4)"
+ORBUTIL.statementNotReachable5="IOP00710242: (INTERNAL) Assertion failed: statement not reachable (5)"
+ORBUTIL.statementNotReachable6="IOP00710243: (INTERNAL) Assertion failed: statement not reachable (6)"
+ORBUTIL.unexpectedDiiException="IOP00710244: (INTERNAL) Unexpected exception while unmarshalling DII user exception"
+ORBUTIL.methodShouldNotBeCalled="IOP00710245: (INTERNAL) This method should never be called"
+ORBUTIL.cancelNotSupported="IOP00710246: (INTERNAL) We do not support cancel request for GIOP 1.1"
+ORBUTIL.emptyStackRunServantPostInvoke="IOP00710247: (INTERNAL) Empty stack exception while calling runServantPostInvoke"
+ORBUTIL.problemWithExceptionTypecode="IOP00710248: (INTERNAL) Bad exception typecode"
+ORBUTIL.illegalSubcontractId="IOP00710249: (INTERNAL) Illegal Subcontract id {0}"
+ORBUTIL.badSystemExceptionInLocateReply="IOP00710250: (INTERNAL) Bad system exception in locate reply"
+ORBUTIL.badSystemExceptionInReply="IOP00710251: (INTERNAL) Bad system exception in reply"
+ORBUTIL.badCompletionStatusInLocateReply="IOP00710252: (INTERNAL) Bad CompletionStatus {0} in locate reply"
+ORBUTIL.badCompletionStatusInReply="IOP00710253: (INTERNAL) Bad CompletionStatus {0} in reply"
+ORBUTIL.badkindCannotOccur="IOP00710254: (INTERNAL) The BadKind exception should never occur here"
+ORBUTIL.errorResolvingAlias="IOP00710255: (INTERNAL) Could not resolve alias typecode"
+ORBUTIL.tkLongDoubleNotSupported="IOP00710256: (INTERNAL) The long double type is not supported in Java"
+ORBUTIL.typecodeNotSupported="IOP00710257: (INTERNAL) Illegal typecode kind"
+ORBUTIL.boundsCannotOccur="IOP00710259: (INTERNAL) Bounds exception cannot occur in this context"
+ORBUTIL.numInvocationsAlreadyZero="IOP00710261: (INTERNAL) Number of invocations is already zero, but another invocation has completed"
+ORBUTIL.errorInitBadserveridhandler="IOP00710262: (INTERNAL) Error in constructing instance of bad server ID handler"
+ORBUTIL.noToa="IOP00710263: (INTERNAL) No TOAFactory is availble"
+ORBUTIL.noPoa="IOP00710264: (INTERNAL) No POAFactory is availble"
+ORBUTIL.invocationInfoStackEmpty="IOP00710265: (INTERNAL) Invocation info stack is unexpectedly empty"
+ORBUTIL.badCodeSetString="IOP00710266: (INTERNAL) Empty or null code set string"
+ORBUTIL.unknownNativeCodeset="IOP00710267: (INTERNAL) Unknown native codeset: {0}"
+ORBUTIL.unknownConversionCodeSet="IOP00710268: (INTERNAL) Unknown conversion codset: {0}"
+ORBUTIL.invalidCodeSetNumber="IOP00710269: (INTERNAL) Invalid codeset number"
+ORBUTIL.invalidCodeSetString="IOP00710270: (INTERNAL) Invalid codeset string {0}"
+ORBUTIL.invalidCtbConverterName="IOP00710271: (INTERNAL) Invalid CTB converter {0}"
+ORBUTIL.invalidBtcConverterName="IOP00710272: (INTERNAL) Invalid BTC converter {0}"
+ORBUTIL.couldNotDuplicateCdrInputStream="IOP00710273: (INTERNAL) Could not duplicate CDRInputStream"
+ORBUTIL.bootstrapApplicationException="IOP00710274: (INTERNAL) BootstrapResolver caught an unexpected ApplicationException"
+ORBUTIL.duplicateIndirectionOffset="IOP00710275: (INTERNAL) Old entry in serialization indirection table has a different value than the value being added with the same key"
+ORBUTIL.badMessageTypeForCancel="IOP00710276: (INTERNAL) GIOP Cancel request contained a bad request ID: the request ID did not match the request that was to be cancelled"
+ORBUTIL.duplicateExceptionDetailMessage="IOP00710277: (INTERNAL) Duplicate ExceptionDetailMessage"
+ORBUTIL.badExceptionDetailMessageServiceContextType="IOP00710278: (INTERNAL) Bad ExceptionDetailMessage ServiceContext type"
+ORBUTIL.unexpectedDirectByteBufferWithNonChannelSocket="IOP00710279: (INTERNAL) unexpected direct ByteBuffer with non-channel socket"
+ORBUTIL.unexpectedNonDirectByteBufferWithChannelSocket="IOP00710280: (INTERNAL) unexpected non-direct ByteBuffer with channel socket"
+ORBUTIL.invalidContactInfoListIteratorFailureException="IOP00710282: (INTERNAL) There should be at least one CorbaContactInfo to try (and fail) so this error should not be seen."
+ORBUTIL.remarshalWithNowhereToGo="IOP00710283: (INTERNAL) Remarshal with nowhere to go"
+ORBUTIL.exceptionWhenSendingCloseConnection="IOP00710284: (INTERNAL) Exception when sending close connection"
+ORBUTIL.invocationErrorInReflectiveTie="IOP00710285: (INTERNAL) A reflective tie got an error while invoking method {0} on class {1}"
+ORBUTIL.badHelperWriteMethod="IOP00710286: (INTERNAL) Could not find or invoke write method on exception Helper class {0}"
+ORBUTIL.badHelperReadMethod="IOP00710287: (INTERNAL) Could not find or invoke read method on exception Helper class {0}"
+ORBUTIL.badHelperIdMethod="IOP00710288: (INTERNAL) Could not find or invoke id method on exception Helper class {0}"
+ORBUTIL.writeUndeclaredException="IOP00710289: (INTERNAL) Tried to write exception of type {0} that was not declared on method"
+ORBUTIL.readUndeclaredException="IOP00710290: (INTERNAL) Tried to read undeclared exception with ID {0}"
+ORBUTIL.unableToSetSocketFactoryOrb="IOP00710291: (INTERNAL) Unable to setSocketFactoryORB"
+ORBUTIL.unexpectedException="IOP00710292: (INTERNAL) Unexpected exception occurred where no exception should occur"
+ORBUTIL.noInvocationHandler="IOP00710293: (INTERNAL) No invocation handler available for {0}"
+ORBUTIL.invalidBuffMgrStrategy="IOP00710294: (INTERNAL) {0}: invalid buffer manager strategy for Java serialization"
+ORBUTIL.javaStreamInitFailed="IOP00710295: (INTERNAL) Java stream initialization failed"
+ORBUTIL.duplicateOrbVersionServiceContext="IOP00710296: (INTERNAL) An ORBVersionServiceContext was already in the service context list"
+ORBUTIL.duplicateSendingContextServiceContext="IOP00710297: (INTERNAL) A SendingContextServiceContext was already in the service context list"
+ORBUTIL.chunkOverflow="IOP00810201: (MARSHAL) Data read past end of chunk without closing the chunk"
+ORBUTIL.unexpectedEof="IOP00810202: (MARSHAL) Grow buffer strategy called underflow handler"
+ORBUTIL.readObjectException="IOP00810203: (MARSHAL) Error in reading marshalled object"
+ORBUTIL.characterOutofrange="IOP00810204: (MARSHAL) Character not IOS Latin-1 compliant in marshalling"
+ORBUTIL.dsiResultException="IOP00810205: (MARSHAL) Exception thrown during result() on ServerRequest"
+ORBUTIL.iiopinputstreamGrow="IOP00810206: (MARSHAL) grow() called on IIOPInputStream"
+ORBUTIL.endOfStream="IOP00810207: (MARSHAL) Underflow in BufferManagerReadStream after last fragment in message"
+ORBUTIL.invalidObjectKey="IOP00810208: (MARSHAL) Invalid ObjectKey in request header"
+ORBUTIL.malformedUrl="IOP00810209: (MARSHAL) Unable to locate value class for repository ID {0} because codebase URL {1] is malformed"
+ORBUTIL.valuehandlerReadError="IOP00810210: (MARSHAL) Error from readValue on ValueHandler in CDRInputStream"
+ORBUTIL.valuehandlerReadException="IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream"
+ORBUTIL.badKind="IOP00810212: (MARSHAL) Bad kind in isCustomType in CDRInputStream"
+ORBUTIL.cnfeReadClass="IOP00810213: (MARSHAL) Could not find class {0} in CDRInputStream.readClass"
+ORBUTIL.badRepIdIndirection="IOP00810214: (MARSHAL) Bad repository ID indirection at index {0}"
+ORBUTIL.badCodebaseIndirection="IOP00810215: (MARSHAL) Bad codebase string indirection at index {0}"
+ORBUTIL.unknownCodeset="IOP00810216: (MARSHAL) Unknown code set {0} specified by client ORB as a negotiated code set"
+ORBUTIL.wcharDataInGiop10="IOP00810217: (MARSHAL) Attempt to marshal wide character or string data in GIOP 1.0"
+ORBUTIL.negativeStringLength="IOP00810218: (MARSHAL) String or wstring with a negative length {0}"
+ORBUTIL.expectedTypeNullAndNoRepId="IOP00810219: (MARSHAL) CDRInputStream.read_value(null) called, but no repository ID information on the wire"
+ORBUTIL.readValueAndNoRepId="IOP00810220: (MARSHAL) CDRInputStream.read_value() called, but no repository ID information on the wire"
+ORBUTIL.unexpectedEnclosingValuetype="IOP00810222: (MARSHAL) Received end tag {0}, which is less than the expected value {1}"
+ORBUTIL.positiveEndTag="IOP00810223: (MARSHAL) Read non-negative end tag {0} at offset {1} (end tags should always be negative)"
+ORBUTIL.nullOutCall="IOP00810224: (MARSHAL) Out call descriptor is missing"
+ORBUTIL.writeLocalObject="IOP00810225: (MARSHAL) write_Object called with a local object"
+ORBUTIL.badInsertobjParam="IOP00810226: (MARSHAL) Tried to insert non-ObjectImpl {0} into an Any via insert_Object"
+ORBUTIL.customWrapperWithCodebase="IOP00810227: (MARSHAL) Codebase present in RMI-IIOP stream format version 1 optional data valuetype header"
+ORBUTIL.customWrapperIndirection="IOP00810228: (MARSHAL) Indirection preseint in RMI-IIOP stream format version 2 optional data valuetype header"
+ORBUTIL.customWrapperNotSingleRepid="IOP00810229: (MARSHAL) 0 or more than one repository ID found reading the optional data valuetype header"
+ORBUTIL.badValueTag="IOP00810230: (MARSHAL) Bad valuetag {0} found while reading repository IDs"
+ORBUTIL.badTypecodeForCustomValue="IOP00810231: (MARSHAL) Bad typecode found for custom valuetype"
+ORBUTIL.errorInvokingHelperWrite="IOP00810232: (MARSHAL) An error occurred using reflection to invoke IDL Helper write method"
+ORBUTIL.badDigitInFixed="IOP00810233: (MARSHAL) A bad digit was found while marshalling an IDL fixed type"
+ORBUTIL.refTypeIndirType="IOP00810234: (MARSHAL) Referenced type of indirect type not marshaled"
+ORBUTIL.badReservedLength="IOP00810235: (MARSHAL) Request message reserved bytes has invalid length"
+ORBUTIL.nullNotAllowed="IOP00810236: (MARSHAL) A null object is not allowed here"
+ORBUTIL.unionDiscriminatorError="IOP00810238: (MARSHAL) Error in typecode union discriminator"
+ORBUTIL.cannotMarshalNative="IOP00810239: (MARSHAL) Cannot marshal a native TypeCode"
+ORBUTIL.cannotMarshalBadTckind="IOP00810240: (MARSHAL) Cannot marshal an invalid TypeCode kind"
+ORBUTIL.invalidIndirection="IOP00810241: (MARSHAL) Invalid indirection value {0} (>-4): probable stream corruption"
+ORBUTIL.indirectionNotFound="IOP00810242: (MARSHAL) No type found at indirection {0}: probably stream corruption"
+ORBUTIL.recursiveTypecodeError="IOP00810243: (MARSHAL) Recursive TypeCode not supported by InputStream subtype"
+ORBUTIL.invalidSimpleTypecode="IOP00810244: (MARSHAL) TypeCode is of wrong kind to be simple"
+ORBUTIL.invalidComplexTypecode="IOP00810245: (MARSHAL) TypeCode is of wrong kind to be complex"
+ORBUTIL.invalidTypecodeKindMarshal="IOP00810246: (MARSHAL) Cannot marshal typecode of invalid kind"
+ORBUTIL.unexpectedUnionDefault="IOP00810247: (MARSHAL) Default union branch not expected"
+ORBUTIL.illegalUnionDiscriminatorType="IOP00810248: (MARSHAL) Illegal discriminator type in union"
+ORBUTIL.couldNotSkipBytes="IOP00810249: (MARSHAL) Could not skip over {0} bytes at offset {1}"
+ORBUTIL.badChunkLength="IOP00810250: (MARSHAL) Incorrect chunk length {0} at offset {1}"
+ORBUTIL.unableToLocateRepIdArray="IOP00810251: (MARSHAL) Unable to locate array of repository IDs from indirection {0}"
+ORBUTIL.badFixed="IOP00810252: (MARSHAL) Fixed of length {0} in buffer of length {1}"
+ORBUTIL.readObjectLoadClassFailure="IOP00810253: (MARSHAL) Failed to load stub for {0} with class {1}"
+ORBUTIL.couldNotInstantiateHelper="IOP00810254: (MARSHAL) Could not instantiate Helper class {0}"
+ORBUTIL.badToaOaid="IOP00810255: (MARSHAL) Bad ObjectAdapterId for TOA"
+ORBUTIL.couldNotInvokeHelperReadMethod="IOP00810256: (MARSHAL) Could not invoke helper read method for helper {0}"
+ORBUTIL.couldNotFindClass="IOP00810257: (MARSHAL) Could not find class"
+ORBUTIL.badArgumentsNvlist="IOP00810258: (MARSHAL) Error in arguments(NVList) for DSI ServerRequest"
+ORBUTIL.stubCreateError="IOP00810259: (MARSHAL) Could not create stub"
+ORBUTIL.javaSerializationException="IOP00810260: (MARSHAL) Java serialization exception during {0} operation"
+ORBUTIL.genericNoImpl="IOP01010201: (NO_IMPLEMENT) feature not implemented"
+ORBUTIL.contextNotImplemented="IOP01010202: (NO_IMPLEMENT) IDL request context is not implemented"
+ORBUTIL.getinterfaceNotImplemented="IOP01010203: (NO_IMPLEMENT) getInterface() is not implemented"
+ORBUTIL.sendDeferredNotimplemented="IOP01010204: (NO_IMPLEMENT) send deferred is not implemented"
+ORBUTIL.longDoubleNotImplemented="IOP01010205: (NO_IMPLEMENT) IDL type long double is not supported in Java"
+ORBUTIL.noServerScInDispatch="IOP02310201: (OBJ_ADAPTER) No server request dispatcher found when dispatching request to object adapter"
+ORBUTIL.orbConnectError="IOP02310202: (OBJ_ADAPTER) Error in connecting servant to ORB"
+ORBUTIL.adapterInactiveInActivation="IOP02310203: (OBJ_ADAPTER) StubAdapter.getDelegate failed to activate a Servant"
+ORBUTIL.locateUnknownObject="IOP02510201: (OBJECT_NOT_EXIST) Locate response indicated that the object was unknown"
+ORBUTIL.badServerId="IOP02510202: (OBJECT_NOT_EXIST) The server ID in the target object key does not match the server key expected by the server"
+ORBUTIL.badSkeleton="IOP02510203: (OBJECT_NOT_EXIST) No skeleton found in the server that matches the target object key"
+ORBUTIL.servantNotFound="IOP02510204: (OBJECT_NOT_EXIST) Servant not found"
+ORBUTIL.noObjectAdapterFactory="IOP02510205: (OBJECT_NOT_EXIST) No object adapter factory"
+ORBUTIL.badAdapterId="IOP02510206: (OBJECT_NOT_EXIST) Bad adapter ID"
+ORBUTIL.dynAnyDestroyed="IOP02510207: (OBJECT_NOT_EXIST) Dynamic Any was destroyed: all operations are invalid"
+ORBUTIL.requestCanceled="IOP01710201: (TRANSIENT) Request cancelled by exception"
+ORBUTIL.unknownCorbaExc="IOP00010201: (UNKNOWN) Unknown user exception while unmarshalling"
+ORBUTIL.runtimeexception="IOP00010202: (UNKNOWN) Unknown user exception thrown by the server"
+ORBUTIL.unknownServerError="IOP00010203: (UNKNOWN) Unknown exception or error thrown by the ORB or application"
+ORBUTIL.unknownDsiSysex="IOP00010204: (UNKNOWN) Error while marshalling SystemException after DSI-based invocation"
+ORBUTIL.unknownSysex="IOP00010205: (UNKNOWN) Error while unmarshalling SystemException"
+ORBUTIL.wrongInterfaceDef="IOP00010206: (UNKNOWN) InterfaceDef object of wrong type returned by server"
+ORBUTIL.noInterfaceDefStub="IOP00010207: (UNKNOWN) org.omg.CORBA._InterfaceDefStub class not available"
+ORBUTIL.unknownExceptionInDispatch="IOP00010209: (UNKNOWN) UnknownException in dispatch"
+POA.servantManagerAlreadySet="IOP01611001: (BAD_INV_ORDER) Servant Manager already set"
+POA.destroyDeadlock="IOP01611002: (BAD_INV_ORDER) Request to wait for POA destruction while servicing request would deadlock"
+POA.servantOrb="IOP01211001: (BAD_OPERATION) Bad operation on servant ORB???"
+POA.badServant="IOP01211002: (BAD_OPERATION) Bad Servant???"
+POA.illegalForwardRequest="IOP01211003: (BAD_OPERATION) Illegal Forward Request???"
+POA.badTransactionContext="IOP00111001: (BAD_PARAM) Bad transaction context"
+POA.badRepositoryId="IOP00111002: (BAD_PARAM) Bad repository id"
+POA.invokesetup="IOP00711001: (INTERNAL) invoke setup???"
+POA.badLocalreplystatus="IOP00711002: (INTERNAL) bad local reply status???"
+POA.persistentServerportError="IOP00711003: (INTERNAL) persistent serverport error???"
+POA.servantDispatch="IOP00711004: (INTERNAL) servant dispatch???"
+POA.wrongClientsc="IOP00711005: (INTERNAL) wrong client request dispatcher???"
+POA.cantCloneTemplate="IOP00711006: (INTERNAL) can't clone template???"
+POA.poacurrentUnbalancedStack="IOP00711007: (INTERNAL) POACurrent stack is unbalanced"
+POA.poacurrentNullField="IOP00711008: (INTERNAL) Null field in POACurrent"
+POA.poaInternalGetServantError="IOP00711009: (INTERNAL) POA internalGetServant error"
+POA.makeFactoryNotPoa="IOP00711010: (INTERNAL) First Object Adapter name is {0}, should be RootPOA"
+POA.duplicateOrbVersionSc="IOP00711011: (INTERNAL) Duplicate ORB version service context"
+POA.preinvokeCloneError="IOP00711012: (INTERNAL) preinvoke clone error"
+POA.preinvokePoaDestroyed="IOP00711013: (INTERNAL) preinvoke POA destroyed"
+POA.pmfCreateRetain="IOP00711014: (INTERNAL) Bad dispatch policy for RETAIN policy in POAPolicyMediatorFactory"
+POA.pmfCreateNonRetain="IOP00711015: (INTERNAL) Bad dispatch policy for NON_RETAIN policy in POAPolicyMediatorFactory"
+POA.policyMediatorBadPolicyInFactory="IOP00711016: (INTERNAL) Inconsistent policy in PolicyMediator"
+POA.servantToIdOaa="IOP00711017: (INTERNAL) ObjectAlreadyActive in servantToId"
+POA.servantToIdSaa="IOP00711018: (INTERNAL) ServantAlreadyActive in servantToId"
+POA.servantToIdWp="IOP00711019: (INTERNAL) WrongPolicy in servantToId"
+POA.cantResolveRootPoa="IOP00711020: (INTERNAL) Can't resolve root POA"
+POA.servantMustBeLocal="IOP00711021: (INTERNAL) Call made to local client request dispatcher with non-local servant"
+POA.noProfilesInIor="IOP00711022: (INTERNAL) IOR does not have any profiles"
+POA.aomEntryDecZero="IOP00711023: (INTERNAL) Tried to decrement AOMEntry counter that is already 0"
+POA.addPoaInactive="IOP00711024: (INTERNAL) Tried to add a POA to an inactive POAManager"
+POA.illegalPoaStateTrans="IOP00711025: (INTERNAL) POA tried to make an illegal state transition"
+POA.unexpectedException="IOP00711026: (INTERNAL) Unexpected exception in POA {0}"
+POA.singleThreadNotSupported="IOP01011001: (NO_IMPLEMENT) Single thread policy is not supported"
+POA.methodNotImplemented="IOP01011002: (NO_IMPLEMENT) This method is not implemented"
+POA.poaLookupError="IOP02311001: (OBJ_ADAPTER) Error in find_POA"
+POA.poaInactive="IOP02311002: (OBJ_ADAPTER) POA is inactive"
+POA.poaNoServantManager="IOP02311003: (OBJ_ADAPTER) POA has no servant manager"
+POA.poaNoDefaultServant="IOP02311004: (OBJ_ADAPTER) POA has no default servant"
+POA.poaServantNotUnique="IOP02311005: (OBJ_ADAPTER) POA servant is not unique"
+POA.poaWrongPolicy="IOP02311006: (OBJ_ADAPTER) Bad policy in POA"
+POA.findpoaError="IOP02311007: (OBJ_ADAPTER) Another error in find_POA"
+POA.poaServantActivatorLookupFailed="IOP02311009: (OBJ_ADAPTER) POA ServantActivator lookup failed"
+POA.poaBadServantManager="IOP02311010: (OBJ_ADAPTER) POA has bad servant manager"
+POA.poaServantLocatorLookupFailed="IOP02311011: (OBJ_ADAPTER) POA ServantLocator lookup failed"
+POA.poaUnknownPolicy="IOP02311012: (OBJ_ADAPTER) Unknown policy passed to POA"
+POA.poaNotFound="IOP02311013: (OBJ_ADAPTER) POA not found"
+POA.servantLookup="IOP02311014: (OBJ_ADAPTER) Error in servant lookup"
+POA.localServantLookup="IOP02311015: (OBJ_ADAPTER) Error in local servant lookup"
+POA.servantManagerBadType="IOP02311016: (OBJ_ADAPTER) Bad type for servant manager"
+POA.defaultPoaNotPoaimpl="IOP02311017: (OBJ_ADAPTER) Servant's _default_POA must be an instance of POAImpl"
+POA.wrongPoliciesForThisObject="IOP02311018: (OBJ_ADAPTER) Wrong POA policies for _this_object called outside of an invocation context"
+POA.thisObjectServantNotActive="IOP02311019: (OBJ_ADAPTER) ServantNotActive exception in _this_object"
+POA.thisObjectWrongPolicy="IOP02311020: (OBJ_ADAPTER) WrongPolicy exception in _this_object"
+POA.noContext="IOP02311021: (OBJ_ADAPTER) Operation called outside of invocation context"
+POA.incarnateReturnedNull="IOP02311022: (OBJ_ADAPTER) ServantActivator.incarnate() returned a null Servant"
+POA.jtsInitError="IOP00911001: (INITIALIZE) JTS initialization error"
+POA.persistentServeridNotSet="IOP00911002: (INITIALIZE) Persistent server ID is not set"
+POA.persistentServerportNotSet="IOP00911003: (INITIALIZE) Persistent server port is not set"
+POA.orbdError="IOP00911004: (INITIALIZE) Error in ORBD"
+POA.bootstrapError="IOP00911005: (INITIALIZE) Error in bootstrap"
+POA.poaDiscarding="IOP01711001: (TRANSIENT) POA is in discarding state"
+POA.otshookexception="IOP00011001: (UNKNOWN) Error in OTS hook"
+POA.unknownServerException="IOP00011002: (UNKNOWN) Unknown server exception"
+POA.unknownServerappException="IOP00011003: (UNKNOWN) Unknown server application exception"
+POA.unknownLocalinvocationError="IOP00011004: (UNKNOWN) Unknon local invocation error"
+POA.adapterActivatorNonexistent="IOP02511001: (OBJECT_NOT_EXIST) AdapterActivator does not exist"
+POA.adapterActivatorFailed="IOP02511002: (OBJECT_NOT_EXIST) AdapterActivator failed"
+POA.badSkeleton="IOP02511003: (OBJECT_NOT_EXIST) Bad skeleton"
+POA.nullServant="IOP02511004: (OBJECT_NOT_EXIST) Null servant"
+POA.adapterDestroyed="IOP02511005: (OBJECT_NOT_EXIST) POA has been destroyed"
+UTIL.stubFactoryCouldNotMakeStub="IOP01211401: (BAD_OPERATION) StubFactory failed on makeStub call"
+UTIL.errorInMakeStubFromRepositoryId="IOP01211402: (BAD_OPERATION) Error in making stub given RepositoryId"
+UTIL.classCastExceptionInLoadStub="IOP01211403: (BAD_OPERATION) ClassCastException in loadStub"
+UTIL.exceptionInLoadStub="IOP01211404: (BAD_OPERATION) Exception in loadStub"
+UTIL.noPoa="IOP00111402: (BAD_PARAM) Error in loadStubAndUpdateCache caused by _this_object"
+UTIL.connectWrongOrb="IOP00111403: (BAD_PARAM) Tried to connect already connected Stub Delegate to a different ORB"
+UTIL.connectNoTie="IOP00111404: (BAD_PARAM) Tried to connect unconnected Stub Delegate but no Tie was found"
+UTIL.connectTieWrongOrb="IOP00111405: (BAD_PARAM) Tried to connect unconnected stub with Tie in a different ORB"
+UTIL.connectTieNoServant="IOP00111406: (BAD_PARAM) Tried to connect unconnected stub to unconnected Tie"
+UTIL.loadTieFailed="IOP00111407: (BAD_PARAM) Failed to load Tie of class {0}"
+UTIL.badHexDigit="IOP02411401: (DATA_CONVERSION) Bad hex digit in string_to_object"
+UTIL.unableLocateValueHelper="IOP00811402: (MARSHAL) Could not locate value helper"
+UTIL.invalidIndirection="IOP00811403: (MARSHAL) Invalid indirection {0}"
+UTIL.objectNotConnected="IOP00511401: (INV_OBJREF) {0} did not originate from a connected object"
+UTIL.couldNotLoadStub="IOP00511402: (INV_OBJREF) Could not load stub for class {0}"
+UTIL.objectNotExported="IOP00511403: (INV_OBJREF) Class {0} not exported, or else is actually a JRMP stub"
+UTIL.errorSetObjectField="IOP00711401: (INTERNAL) Error in setting object field {0} in {1} to {2}"
+UTIL.errorSetBooleanField="IOP00711402: (INTERNAL) Error in setting boolean field {0} in {1} to {2}"
+UTIL.errorSetByteField="IOP00711403: (INTERNAL) Error in setting byte field {0} in {1} to {2}"
+UTIL.errorSetCharField="IOP00711404: (INTERNAL) Error in setting char field {0} in {1} to {2}"
+UTIL.errorSetShortField="IOP00711405: (INTERNAL) Error in setting short field {0} in {1} to {2}"
+UTIL.errorSetIntField="IOP00711406: (INTERNAL) Error in setting int field {0} in {1} to {2}"
+UTIL.errorSetLongField="IOP00711407: (INTERNAL) Error in setting long field {0} in {1} to {2}"
+UTIL.errorSetFloatField="IOP00711408: (INTERNAL) Error in setting float field {0} in {1} to {2}"
+UTIL.errorSetDoubleField="IOP00711409: (INTERNAL) Error in setting double field {0} in {1} to {2}"
+UTIL.illegalFieldAccess="IOP00711410: (INTERNAL) IllegalAccessException while trying to write to field {0}"
+UTIL.badBeginUnmarshalCustomValue="IOP00711411: (INTERNAL) State should be saved and reset first"
+UTIL.classNotFound="IOP00711412: (INTERNAL) Failure while loading specific Java remote exception class: {0}"
+UTIL.unknownSysex="IOP00011401: (UNKNOWN) Unknown System Exception"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/NamingSystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,718 @@
+// Log wrapper class for Sun private system exceptions in group NAMING
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Naming.mc on Fri May 25 16:50:37 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.BAD_PARAM ;
+import org.omg.CORBA.UNKNOWN ;
+import org.omg.CORBA.INITIALIZE ;
+import org.omg.CORBA.INTERNAL ;
+
+public class NamingSystemException extends LogWrapperBase {
+    
+    public NamingSystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new NamingSystemException( logger ) ;
+        }
+    } ;
+    
+    public static NamingSystemException get( ORB orb, String logDomain )
+    {
+        NamingSystemException wrapper = 
+            (NamingSystemException) orb.getLogWrapper( logDomain, 
+                "NAMING", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static NamingSystemException get( String logDomain )
+    {
+        NamingSystemException wrapper = 
+            (NamingSystemException) ORB.staticGetLogWrapper( logDomain, 
+                "NAMING", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_PARAM
+    ///////////////////////////////////////////////////////////
+    
+    public static final int TRANSIENT_NAME_SERVER_BAD_PORT = SUNVMCID.value + 600 ;
+    
+    public BAD_PARAM transientNameServerBadPort( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TRANSIENT_NAME_SERVER_BAD_PORT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transientNameServerBadPort",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM transientNameServerBadPort( CompletionStatus cs ) {
+        return transientNameServerBadPort( cs, null  ) ;
+    }
+    
+    public BAD_PARAM transientNameServerBadPort( Throwable t ) {
+        return transientNameServerBadPort( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM transientNameServerBadPort(  ) {
+        return transientNameServerBadPort( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TRANSIENT_NAME_SERVER_BAD_HOST = SUNVMCID.value + 601 ;
+    
+    public BAD_PARAM transientNameServerBadHost( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TRANSIENT_NAME_SERVER_BAD_HOST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transientNameServerBadHost",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM transientNameServerBadHost( CompletionStatus cs ) {
+        return transientNameServerBadHost( cs, null  ) ;
+    }
+    
+    public BAD_PARAM transientNameServerBadHost( Throwable t ) {
+        return transientNameServerBadHost( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM transientNameServerBadHost(  ) {
+        return transientNameServerBadHost( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OBJECT_IS_NULL = SUNVMCID.value + 602 ;
+    
+    public BAD_PARAM objectIsNull( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( OBJECT_IS_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.objectIsNull",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM objectIsNull( CompletionStatus cs ) {
+        return objectIsNull( cs, null  ) ;
+    }
+    
+    public BAD_PARAM objectIsNull( Throwable t ) {
+        return objectIsNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM objectIsNull(  ) {
+        return objectIsNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INS_BAD_ADDRESS = SUNVMCID.value + 603 ;
+    
+    public BAD_PARAM insBadAddress( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( INS_BAD_ADDRESS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.insBadAddress",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM insBadAddress( CompletionStatus cs ) {
+        return insBadAddress( cs, null  ) ;
+    }
+    
+    public BAD_PARAM insBadAddress( Throwable t ) {
+        return insBadAddress( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM insBadAddress(  ) {
+        return insBadAddress( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // UNKNOWN
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BIND_UPDATE_CONTEXT_FAILED = SUNVMCID.value + 600 ;
+    
+    public UNKNOWN bindUpdateContextFailed( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( BIND_UPDATE_CONTEXT_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.bindUpdateContextFailed",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN bindUpdateContextFailed( CompletionStatus cs ) {
+        return bindUpdateContextFailed( cs, null  ) ;
+    }
+    
+    public UNKNOWN bindUpdateContextFailed( Throwable t ) {
+        return bindUpdateContextFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN bindUpdateContextFailed(  ) {
+        return bindUpdateContextFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BIND_FAILURE = SUNVMCID.value + 601 ;
+    
+    public UNKNOWN bindFailure( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( BIND_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.bindFailure",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN bindFailure( CompletionStatus cs ) {
+        return bindFailure( cs, null  ) ;
+    }
+    
+    public UNKNOWN bindFailure( Throwable t ) {
+        return bindFailure( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN bindFailure(  ) {
+        return bindFailure( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RESOLVE_CONVERSION_FAILURE = SUNVMCID.value + 602 ;
+    
+    public UNKNOWN resolveConversionFailure( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( RESOLVE_CONVERSION_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.resolveConversionFailure",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN resolveConversionFailure( CompletionStatus cs ) {
+        return resolveConversionFailure( cs, null  ) ;
+    }
+    
+    public UNKNOWN resolveConversionFailure( Throwable t ) {
+        return resolveConversionFailure( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN resolveConversionFailure(  ) {
+        return resolveConversionFailure( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RESOLVE_FAILURE = SUNVMCID.value + 603 ;
+    
+    public UNKNOWN resolveFailure( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( RESOLVE_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.resolveFailure",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN resolveFailure( CompletionStatus cs ) {
+        return resolveFailure( cs, null  ) ;
+    }
+    
+    public UNKNOWN resolveFailure( Throwable t ) {
+        return resolveFailure( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN resolveFailure(  ) {
+        return resolveFailure( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNBIND_FAILURE = SUNVMCID.value + 604 ;
+    
+    public UNKNOWN unbindFailure( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNBIND_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.unbindFailure",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unbindFailure( CompletionStatus cs ) {
+        return unbindFailure( cs, null  ) ;
+    }
+    
+    public UNKNOWN unbindFailure( Throwable t ) {
+        return unbindFailure( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unbindFailure(  ) {
+        return unbindFailure( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INITIALIZE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int TRANS_NS_CANNOT_CREATE_INITIAL_NC_SYS = SUNVMCID.value + 650 ;
+    
+    public INITIALIZE transNsCannotCreateInitialNcSys( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( TRANS_NS_CANNOT_CREATE_INITIAL_NC_SYS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transNsCannotCreateInitialNcSys",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE transNsCannotCreateInitialNcSys( CompletionStatus cs ) {
+        return transNsCannotCreateInitialNcSys( cs, null  ) ;
+    }
+    
+    public INITIALIZE transNsCannotCreateInitialNcSys( Throwable t ) {
+        return transNsCannotCreateInitialNcSys( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE transNsCannotCreateInitialNcSys(  ) {
+        return transNsCannotCreateInitialNcSys( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TRANS_NS_CANNOT_CREATE_INITIAL_NC = SUNVMCID.value + 651 ;
+    
+    public INITIALIZE transNsCannotCreateInitialNc( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( TRANS_NS_CANNOT_CREATE_INITIAL_NC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transNsCannotCreateInitialNc",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE transNsCannotCreateInitialNc( CompletionStatus cs ) {
+        return transNsCannotCreateInitialNc( cs, null  ) ;
+    }
+    
+    public INITIALIZE transNsCannotCreateInitialNc( Throwable t ) {
+        return transNsCannotCreateInitialNc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE transNsCannotCreateInitialNc(  ) {
+        return transNsCannotCreateInitialNc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NAMING_CTX_REBIND_ALREADY_BOUND = SUNVMCID.value + 600 ;
+    
+    public INTERNAL namingCtxRebindAlreadyBound( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NAMING_CTX_REBIND_ALREADY_BOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.namingCtxRebindAlreadyBound",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL namingCtxRebindAlreadyBound( CompletionStatus cs ) {
+        return namingCtxRebindAlreadyBound( cs, null  ) ;
+    }
+    
+    public INTERNAL namingCtxRebindAlreadyBound( Throwable t ) {
+        return namingCtxRebindAlreadyBound( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL namingCtxRebindAlreadyBound(  ) {
+        return namingCtxRebindAlreadyBound( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NAMING_CTX_REBINDCTX_ALREADY_BOUND = SUNVMCID.value + 601 ;
+    
+    public INTERNAL namingCtxRebindctxAlreadyBound( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NAMING_CTX_REBINDCTX_ALREADY_BOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.namingCtxRebindctxAlreadyBound",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL namingCtxRebindctxAlreadyBound( CompletionStatus cs ) {
+        return namingCtxRebindctxAlreadyBound( cs, null  ) ;
+    }
+    
+    public INTERNAL namingCtxRebindctxAlreadyBound( Throwable t ) {
+        return namingCtxRebindctxAlreadyBound( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL namingCtxRebindctxAlreadyBound(  ) {
+        return namingCtxRebindctxAlreadyBound( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NAMING_CTX_BAD_BINDINGTYPE = SUNVMCID.value + 602 ;
+    
+    public INTERNAL namingCtxBadBindingtype( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NAMING_CTX_BAD_BINDINGTYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.namingCtxBadBindingtype",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL namingCtxBadBindingtype( CompletionStatus cs ) {
+        return namingCtxBadBindingtype( cs, null  ) ;
+    }
+    
+    public INTERNAL namingCtxBadBindingtype( Throwable t ) {
+        return namingCtxBadBindingtype( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL namingCtxBadBindingtype(  ) {
+        return namingCtxBadBindingtype( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NAMING_CTX_RESOLVE_CANNOT_NARROW_TO_CTX = SUNVMCID.value + 603 ;
+    
+    public INTERNAL namingCtxResolveCannotNarrowToCtx( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NAMING_CTX_RESOLVE_CANNOT_NARROW_TO_CTX, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.namingCtxResolveCannotNarrowToCtx",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL namingCtxResolveCannotNarrowToCtx( CompletionStatus cs ) {
+        return namingCtxResolveCannotNarrowToCtx( cs, null  ) ;
+    }
+    
+    public INTERNAL namingCtxResolveCannotNarrowToCtx( Throwable t ) {
+        return namingCtxResolveCannotNarrowToCtx( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL namingCtxResolveCannotNarrowToCtx(  ) {
+        return namingCtxResolveCannotNarrowToCtx( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NAMING_CTX_BINDING_ITERATOR_CREATE = SUNVMCID.value + 604 ;
+    
+    public INTERNAL namingCtxBindingIteratorCreate( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NAMING_CTX_BINDING_ITERATOR_CREATE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.namingCtxBindingIteratorCreate",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL namingCtxBindingIteratorCreate( CompletionStatus cs ) {
+        return namingCtxBindingIteratorCreate( cs, null  ) ;
+    }
+    
+    public INTERNAL namingCtxBindingIteratorCreate( Throwable t ) {
+        return namingCtxBindingIteratorCreate( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL namingCtxBindingIteratorCreate(  ) {
+        return namingCtxBindingIteratorCreate( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TRANS_NC_BIND_ALREADY_BOUND = SUNVMCID.value + 700 ;
+    
+    public INTERNAL transNcBindAlreadyBound( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( TRANS_NC_BIND_ALREADY_BOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transNcBindAlreadyBound",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL transNcBindAlreadyBound( CompletionStatus cs ) {
+        return transNcBindAlreadyBound( cs, null  ) ;
+    }
+    
+    public INTERNAL transNcBindAlreadyBound( Throwable t ) {
+        return transNcBindAlreadyBound( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL transNcBindAlreadyBound(  ) {
+        return transNcBindAlreadyBound( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TRANS_NC_LIST_GOT_EXC = SUNVMCID.value + 701 ;
+    
+    public INTERNAL transNcListGotExc( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( TRANS_NC_LIST_GOT_EXC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transNcListGotExc",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL transNcListGotExc( CompletionStatus cs ) {
+        return transNcListGotExc( cs, null  ) ;
+    }
+    
+    public INTERNAL transNcListGotExc( Throwable t ) {
+        return transNcListGotExc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL transNcListGotExc(  ) {
+        return transNcListGotExc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TRANS_NC_NEWCTX_GOT_EXC = SUNVMCID.value + 702 ;
+    
+    public INTERNAL transNcNewctxGotExc( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( TRANS_NC_NEWCTX_GOT_EXC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transNcNewctxGotExc",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL transNcNewctxGotExc( CompletionStatus cs ) {
+        return transNcNewctxGotExc( cs, null  ) ;
+    }
+    
+    public INTERNAL transNcNewctxGotExc( Throwable t ) {
+        return transNcNewctxGotExc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL transNcNewctxGotExc(  ) {
+        return transNcNewctxGotExc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TRANS_NC_DESTROY_GOT_EXC = SUNVMCID.value + 703 ;
+    
+    public INTERNAL transNcDestroyGotExc( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( TRANS_NC_DESTROY_GOT_EXC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.transNcDestroyGotExc",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL transNcDestroyGotExc( CompletionStatus cs ) {
+        return transNcDestroyGotExc( cs, null  ) ;
+    }
+    
+    public INTERNAL transNcDestroyGotExc( Throwable t ) {
+        return transNcDestroyGotExc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL transNcDestroyGotExc(  ) {
+        return transNcDestroyGotExc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INS_BAD_SCHEME_NAME = SUNVMCID.value + 705 ;
+    
+    public INTERNAL insBadSchemeName( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INS_BAD_SCHEME_NAME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.insBadSchemeName",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL insBadSchemeName( CompletionStatus cs ) {
+        return insBadSchemeName( cs, null  ) ;
+    }
+    
+    public INTERNAL insBadSchemeName( Throwable t ) {
+        return insBadSchemeName( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL insBadSchemeName(  ) {
+        return insBadSchemeName( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INS_BAD_SCHEME_SPECIFIC_PART = SUNVMCID.value + 707 ;
+    
+    public INTERNAL insBadSchemeSpecificPart( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INS_BAD_SCHEME_SPECIFIC_PART, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.insBadSchemeSpecificPart",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL insBadSchemeSpecificPart( CompletionStatus cs ) {
+        return insBadSchemeSpecificPart( cs, null  ) ;
+    }
+    
+    public INTERNAL insBadSchemeSpecificPart( Throwable t ) {
+        return insBadSchemeSpecificPart( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL insBadSchemeSpecificPart(  ) {
+        return insBadSchemeSpecificPart( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INS_OTHER = SUNVMCID.value + 708 ;
+    
+    public INTERNAL insOther( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INS_OTHER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "NAMING.insOther",
+                parameters, NamingSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL insOther( CompletionStatus cs ) {
+        return insOther( cs, null  ) ;
+    }
+    
+    public INTERNAL insOther( Throwable t ) {
+        return insOther( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL insOther(  ) {
+        return insOther( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/NamingSystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,23 @@
+NAMING.transientNameServerBadPort="IOP00110600: (BAD_PARAM) Port 0 is not a valid port in the transient name server"
+NAMING.transientNameServerBadHost="IOP00110601: (BAD_PARAM) A null hostname is not a valid hostname in the transient name server"
+NAMING.objectIsNull="IOP00110602: (BAD_PARAM) Invalid object reference passed in rebind or bind operation"
+NAMING.insBadAddress="IOP00110603: (BAD_PARAM) Bad host address in -ORBInitDef"
+NAMING.bindUpdateContextFailed="IOP00010600: (UNKNOWN) Updated context failed for bind"
+NAMING.bindFailure="IOP00010601: (UNKNOWN) bind failure"
+NAMING.resolveConversionFailure="IOP00010602: (UNKNOWN) Resolve conversion failed"
+NAMING.resolveFailure="IOP00010603: (UNKNOWN) Resolve failure"
+NAMING.unbindFailure="IOP00010604: (UNKNOWN) Unbind failure"
+NAMING.transNsCannotCreateInitialNcSys="IOP00910650: (INITIALIZE) SystemException in transient name service while initializing"
+NAMING.transNsCannotCreateInitialNc="IOP00910651: (INITIALIZE) Java exception in transient name service while initializing"
+NAMING.namingCtxRebindAlreadyBound="IOP00710600: (INTERNAL) Unexpected AlreadyBound exception iun rebind"
+NAMING.namingCtxRebindctxAlreadyBound="IOP00710601: (INTERNAL) Unexpected AlreadyBound exception in rebind_context"
+NAMING.namingCtxBadBindingtype="IOP00710602: (INTERNAL) Bad binding type in internal binding implementation"
+NAMING.namingCtxResolveCannotNarrowToCtx="IOP00710603: (INTERNAL) Object reference that is not CosNaming::NamingContext bound as a context"
+NAMING.namingCtxBindingIteratorCreate="IOP00710604: (INTERNAL) Error in creating POA for BindingIterator"
+NAMING.transNcBindAlreadyBound="IOP00710700: (INTERNAL) Bind implementation encountered a previous bind"
+NAMING.transNcListGotExc="IOP00710701: (INTERNAL) list operation caught an unexpected Java exception while creating list iterator"
+NAMING.transNcNewctxGotExc="IOP00710702: (INTERNAL) new_context operation caught an unexpected Java excpetion creating the NewContext servant"
+NAMING.transNcDestroyGotExc="IOP00710703: (INTERNAL) Destroy operation caught a Java exception while disconnecting from ORB"
+NAMING.insBadSchemeName="IOP00710705: (INTERNAL) Stringified object reference with unknown protocol specified"
+NAMING.insBadSchemeSpecificPart="IOP00710707: (INTERNAL) Malformed URL in -ORBInitDef"
+NAMING.insOther="IOP00710708: (INTERNAL) Malformed URL in -ORBInitDef"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/OMGSystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,3829 @@
+// Log wrapper class for standard exceptions
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/OMG.mc on Fri May 25 16:50:37 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.BAD_CONTEXT ;
+import org.omg.CORBA.BAD_INV_ORDER ;
+import org.omg.CORBA.BAD_OPERATION ;
+import org.omg.CORBA.BAD_PARAM ;
+import org.omg.CORBA.BAD_TYPECODE ;
+import org.omg.CORBA.DATA_CONVERSION ;
+import org.omg.CORBA.IMP_LIMIT ;
+import org.omg.CORBA.INITIALIZE ;
+import org.omg.CORBA.INV_OBJREF ;
+import org.omg.CORBA.INV_POLICY ;
+import org.omg.CORBA.INTERNAL ;
+import org.omg.CORBA.INTF_REPOS ;
+import org.omg.CORBA.MARSHAL ;
+import org.omg.CORBA.NO_IMPLEMENT ;
+import org.omg.CORBA.NO_RESOURCES ;
+import org.omg.CORBA.TRANSACTION_ROLLEDBACK ;
+import org.omg.CORBA.TRANSIENT ;
+import org.omg.CORBA.OBJECT_NOT_EXIST ;
+import org.omg.CORBA.OBJ_ADAPTER ;
+import org.omg.CORBA.UNKNOWN ;
+
+public class OMGSystemException extends LogWrapperBase {
+    
+    public OMGSystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new OMGSystemException( logger ) ;
+        }
+    } ;
+    
+    public static OMGSystemException get( ORB orb, String logDomain )
+    {
+        OMGSystemException wrapper = 
+            (OMGSystemException) orb.getLogWrapper( logDomain, 
+                "OMG", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static OMGSystemException get( String logDomain )
+    {
+        OMGSystemException wrapper = 
+            (OMGSystemException) ORB.staticGetLogWrapper( logDomain, 
+                "OMG", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_CONTEXT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int IDL_CONTEXT_NOT_FOUND = OMGVMCID.value + 1 ;
+    
+    public BAD_CONTEXT idlContextNotFound( CompletionStatus cs, Throwable t ) {
+        BAD_CONTEXT exc = new BAD_CONTEXT( IDL_CONTEXT_NOT_FOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.idlContextNotFound",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_CONTEXT idlContextNotFound( CompletionStatus cs ) {
+        return idlContextNotFound( cs, null  ) ;
+    }
+    
+    public BAD_CONTEXT idlContextNotFound( Throwable t ) {
+        return idlContextNotFound( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_CONTEXT idlContextNotFound(  ) {
+        return idlContextNotFound( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_MATCHING_IDL_CONTEXT = OMGVMCID.value + 2 ;
+    
+    public BAD_CONTEXT noMatchingIdlContext( CompletionStatus cs, Throwable t ) {
+        BAD_CONTEXT exc = new BAD_CONTEXT( NO_MATCHING_IDL_CONTEXT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noMatchingIdlContext",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_CONTEXT noMatchingIdlContext( CompletionStatus cs ) {
+        return noMatchingIdlContext( cs, null  ) ;
+    }
+    
+    public BAD_CONTEXT noMatchingIdlContext( Throwable t ) {
+        return noMatchingIdlContext( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_CONTEXT noMatchingIdlContext(  ) {
+        return noMatchingIdlContext( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_INV_ORDER
+    ///////////////////////////////////////////////////////////
+    
+    public static final int DEP_PREVENT_DESTRUCTION = OMGVMCID.value + 1 ;
+    
+    public BAD_INV_ORDER depPreventDestruction( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( DEP_PREVENT_DESTRUCTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.depPreventDestruction",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER depPreventDestruction( CompletionStatus cs ) {
+        return depPreventDestruction( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER depPreventDestruction( Throwable t ) {
+        return depPreventDestruction( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER depPreventDestruction(  ) {
+        return depPreventDestruction( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DESTROY_INDESTRUCTIBLE = OMGVMCID.value + 2 ;
+    
+    public BAD_INV_ORDER destroyIndestructible( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( DESTROY_INDESTRUCTIBLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.destroyIndestructible",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER destroyIndestructible( CompletionStatus cs ) {
+        return destroyIndestructible( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER destroyIndestructible( Throwable t ) {
+        return destroyIndestructible( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER destroyIndestructible(  ) {
+        return destroyIndestructible( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SHUTDOWN_WAIT_FOR_COMPLETION_DEADLOCK = OMGVMCID.value + 3 ;
+    
+    public BAD_INV_ORDER shutdownWaitForCompletionDeadlock( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( SHUTDOWN_WAIT_FOR_COMPLETION_DEADLOCK, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.shutdownWaitForCompletionDeadlock",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER shutdownWaitForCompletionDeadlock( CompletionStatus cs ) {
+        return shutdownWaitForCompletionDeadlock( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER shutdownWaitForCompletionDeadlock( Throwable t ) {
+        return shutdownWaitForCompletionDeadlock( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER shutdownWaitForCompletionDeadlock(  ) {
+        return shutdownWaitForCompletionDeadlock( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_OPERATION_AFTER_SHUTDOWN = OMGVMCID.value + 4 ;
+    
+    public BAD_INV_ORDER badOperationAfterShutdown( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_OPERATION_AFTER_SHUTDOWN, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badOperationAfterShutdown",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badOperationAfterShutdown( CompletionStatus cs ) {
+        return badOperationAfterShutdown( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badOperationAfterShutdown( Throwable t ) {
+        return badOperationAfterShutdown( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badOperationAfterShutdown(  ) {
+        return badOperationAfterShutdown( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_INVOKE = OMGVMCID.value + 5 ;
+    
+    public BAD_INV_ORDER badInvoke( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_INVOKE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badInvoke",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badInvoke( CompletionStatus cs ) {
+        return badInvoke( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badInvoke( Throwable t ) {
+        return badInvoke( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badInvoke(  ) {
+        return badInvoke( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SET_SERVANT_MANAGER = OMGVMCID.value + 6 ;
+    
+    public BAD_INV_ORDER badSetServantManager( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_SET_SERVANT_MANAGER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badSetServantManager",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badSetServantManager( CompletionStatus cs ) {
+        return badSetServantManager( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badSetServantManager( Throwable t ) {
+        return badSetServantManager( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badSetServantManager(  ) {
+        return badSetServantManager( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_ARGUMENTS_CALL = OMGVMCID.value + 7 ;
+    
+    public BAD_INV_ORDER badArgumentsCall( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_ARGUMENTS_CALL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badArgumentsCall",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badArgumentsCall( CompletionStatus cs ) {
+        return badArgumentsCall( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badArgumentsCall( Throwable t ) {
+        return badArgumentsCall( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badArgumentsCall(  ) {
+        return badArgumentsCall( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_CTX_CALL = OMGVMCID.value + 8 ;
+    
+    public BAD_INV_ORDER badCtxCall( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_CTX_CALL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badCtxCall",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badCtxCall( CompletionStatus cs ) {
+        return badCtxCall( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badCtxCall( Throwable t ) {
+        return badCtxCall( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badCtxCall(  ) {
+        return badCtxCall( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_RESULT_CALL = OMGVMCID.value + 9 ;
+    
+    public BAD_INV_ORDER badResultCall( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_RESULT_CALL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badResultCall",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badResultCall( CompletionStatus cs ) {
+        return badResultCall( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badResultCall( Throwable t ) {
+        return badResultCall( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badResultCall(  ) {
+        return badResultCall( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SEND = OMGVMCID.value + 10 ;
+    
+    public BAD_INV_ORDER badSend( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_SEND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badSend",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badSend( CompletionStatus cs ) {
+        return badSend( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badSend( Throwable t ) {
+        return badSend( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badSend(  ) {
+        return badSend( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_POLL_BEFORE = OMGVMCID.value + 11 ;
+    
+    public BAD_INV_ORDER badPollBefore( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_POLL_BEFORE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badPollBefore",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badPollBefore( CompletionStatus cs ) {
+        return badPollBefore( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badPollBefore( Throwable t ) {
+        return badPollBefore( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badPollBefore(  ) {
+        return badPollBefore( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_POLL_AFTER = OMGVMCID.value + 12 ;
+    
+    public BAD_INV_ORDER badPollAfter( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_POLL_AFTER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badPollAfter",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badPollAfter( CompletionStatus cs ) {
+        return badPollAfter( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badPollAfter( Throwable t ) {
+        return badPollAfter( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badPollAfter(  ) {
+        return badPollAfter( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_POLL_SYNC = OMGVMCID.value + 13 ;
+    
+    public BAD_INV_ORDER badPollSync( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( BAD_POLL_SYNC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badPollSync",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER badPollSync( CompletionStatus cs ) {
+        return badPollSync( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER badPollSync( Throwable t ) {
+        return badPollSync( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER badPollSync(  ) {
+        return badPollSync( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_PI_CALL1 = OMGVMCID.value + 14 ;
+    
+    public BAD_INV_ORDER invalidPiCall1( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( INVALID_PI_CALL1, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.invalidPiCall1",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall1( CompletionStatus cs ) {
+        return invalidPiCall1( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall1( Throwable t ) {
+        return invalidPiCall1( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall1(  ) {
+        return invalidPiCall1( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_PI_CALL2 = OMGVMCID.value + 14 ;
+    
+    public BAD_INV_ORDER invalidPiCall2( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( INVALID_PI_CALL2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.invalidPiCall2",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall2( CompletionStatus cs ) {
+        return invalidPiCall2( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall2( Throwable t ) {
+        return invalidPiCall2( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall2(  ) {
+        return invalidPiCall2( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_PI_CALL3 = OMGVMCID.value + 14 ;
+    
+    public BAD_INV_ORDER invalidPiCall3( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( INVALID_PI_CALL3, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.invalidPiCall3",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall3( CompletionStatus cs ) {
+        return invalidPiCall3( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall3( Throwable t ) {
+        return invalidPiCall3( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall3(  ) {
+        return invalidPiCall3( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_PI_CALL4 = OMGVMCID.value + 14 ;
+    
+    public BAD_INV_ORDER invalidPiCall4( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( INVALID_PI_CALL4, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.invalidPiCall4",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall4( CompletionStatus cs ) {
+        return invalidPiCall4( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall4( Throwable t ) {
+        return invalidPiCall4( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER invalidPiCall4(  ) {
+        return invalidPiCall4( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVICE_CONTEXT_ADD_FAILED = OMGVMCID.value + 15 ;
+    
+    public BAD_INV_ORDER serviceContextAddFailed( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( SERVICE_CONTEXT_ADD_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "OMG.serviceContextAddFailed",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER serviceContextAddFailed( CompletionStatus cs, Object arg0) {
+        return serviceContextAddFailed( cs, null, arg0 ) ;
+    }
+    
+    public BAD_INV_ORDER serviceContextAddFailed( Throwable t, Object arg0) {
+        return serviceContextAddFailed( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_INV_ORDER serviceContextAddFailed(  Object arg0) {
+        return serviceContextAddFailed( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int POLICY_FACTORY_REG_FAILED = OMGVMCID.value + 16 ;
+    
+    public BAD_INV_ORDER policyFactoryRegFailed( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( POLICY_FACTORY_REG_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "OMG.policyFactoryRegFailed",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER policyFactoryRegFailed( CompletionStatus cs, Object arg0) {
+        return policyFactoryRegFailed( cs, null, arg0 ) ;
+    }
+    
+    public BAD_INV_ORDER policyFactoryRegFailed( Throwable t, Object arg0) {
+        return policyFactoryRegFailed( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_INV_ORDER policyFactoryRegFailed(  Object arg0) {
+        return policyFactoryRegFailed( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int CREATE_POA_DESTROY = OMGVMCID.value + 17 ;
+    
+    public BAD_INV_ORDER createPoaDestroy( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( CREATE_POA_DESTROY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.createPoaDestroy",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER createPoaDestroy( CompletionStatus cs ) {
+        return createPoaDestroy( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER createPoaDestroy( Throwable t ) {
+        return createPoaDestroy( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER createPoaDestroy(  ) {
+        return createPoaDestroy( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PRIORITY_REASSIGN = OMGVMCID.value + 18 ;
+    
+    public BAD_INV_ORDER priorityReassign( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( PRIORITY_REASSIGN, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.priorityReassign",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER priorityReassign( CompletionStatus cs ) {
+        return priorityReassign( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER priorityReassign( Throwable t ) {
+        return priorityReassign( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER priorityReassign(  ) {
+        return priorityReassign( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int XA_START_OUTSIZE = OMGVMCID.value + 19 ;
+    
+    public BAD_INV_ORDER xaStartOutsize( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( XA_START_OUTSIZE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaStartOutsize",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER xaStartOutsize( CompletionStatus cs ) {
+        return xaStartOutsize( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER xaStartOutsize( Throwable t ) {
+        return xaStartOutsize( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER xaStartOutsize(  ) {
+        return xaStartOutsize( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int XA_START_PROTO = OMGVMCID.value + 20 ;
+    
+    public BAD_INV_ORDER xaStartProto( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( XA_START_PROTO, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaStartProto",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER xaStartProto( CompletionStatus cs ) {
+        return xaStartProto( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER xaStartProto( Throwable t ) {
+        return xaStartProto( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER xaStartProto(  ) {
+        return xaStartProto( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_OPERATION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BAD_SERVANT_MANAGER_TYPE = OMGVMCID.value + 1 ;
+    
+    public BAD_OPERATION badServantManagerType( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( BAD_SERVANT_MANAGER_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badServantManagerType",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION badServantManagerType( CompletionStatus cs ) {
+        return badServantManagerType( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION badServantManagerType( Throwable t ) {
+        return badServantManagerType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION badServantManagerType(  ) {
+        return badServantManagerType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OPERATION_UNKNOWN_TO_TARGET = OMGVMCID.value + 2 ;
+    
+    public BAD_OPERATION operationUnknownToTarget( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( OPERATION_UNKNOWN_TO_TARGET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.operationUnknownToTarget",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION operationUnknownToTarget( CompletionStatus cs ) {
+        return operationUnknownToTarget( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION operationUnknownToTarget( Throwable t ) {
+        return operationUnknownToTarget( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION operationUnknownToTarget(  ) {
+        return operationUnknownToTarget( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_PARAM
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNABLE_REGISTER_VALUE_FACTORY = OMGVMCID.value + 1 ;
+    
+    public BAD_PARAM unableRegisterValueFactory( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( UNABLE_REGISTER_VALUE_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.unableRegisterValueFactory",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM unableRegisterValueFactory( CompletionStatus cs ) {
+        return unableRegisterValueFactory( cs, null  ) ;
+    }
+    
+    public BAD_PARAM unableRegisterValueFactory( Throwable t ) {
+        return unableRegisterValueFactory( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM unableRegisterValueFactory(  ) {
+        return unableRegisterValueFactory( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RID_ALREADY_DEFINED = OMGVMCID.value + 2 ;
+    
+    public BAD_PARAM ridAlreadyDefined( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( RID_ALREADY_DEFINED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.ridAlreadyDefined",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM ridAlreadyDefined( CompletionStatus cs ) {
+        return ridAlreadyDefined( cs, null  ) ;
+    }
+    
+    public BAD_PARAM ridAlreadyDefined( Throwable t ) {
+        return ridAlreadyDefined( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM ridAlreadyDefined(  ) {
+        return ridAlreadyDefined( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NAME_USED_IFR = OMGVMCID.value + 3 ;
+    
+    public BAD_PARAM nameUsedIfr( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NAME_USED_IFR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.nameUsedIfr",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM nameUsedIfr( CompletionStatus cs ) {
+        return nameUsedIfr( cs, null  ) ;
+    }
+    
+    public BAD_PARAM nameUsedIfr( Throwable t ) {
+        return nameUsedIfr( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM nameUsedIfr(  ) {
+        return nameUsedIfr( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TARGET_NOT_CONTAINER = OMGVMCID.value + 4 ;
+    
+    public BAD_PARAM targetNotContainer( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TARGET_NOT_CONTAINER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.targetNotContainer",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM targetNotContainer( CompletionStatus cs ) {
+        return targetNotContainer( cs, null  ) ;
+    }
+    
+    public BAD_PARAM targetNotContainer( Throwable t ) {
+        return targetNotContainer( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM targetNotContainer(  ) {
+        return targetNotContainer( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NAME_CLASH = OMGVMCID.value + 5 ;
+    
+    public BAD_PARAM nameClash( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NAME_CLASH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.nameClash",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM nameClash( CompletionStatus cs ) {
+        return nameClash( cs, null  ) ;
+    }
+    
+    public BAD_PARAM nameClash( Throwable t ) {
+        return nameClash( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM nameClash(  ) {
+        return nameClash( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NOT_SERIALIZABLE = OMGVMCID.value + 6 ;
+    
+    public BAD_PARAM notSerializable( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( NOT_SERIALIZABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "OMG.notSerializable",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM notSerializable( CompletionStatus cs, Object arg0) {
+        return notSerializable( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM notSerializable( Throwable t, Object arg0) {
+        return notSerializable( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM notSerializable(  Object arg0) {
+        return notSerializable( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int SO_BAD_SCHEME_NAME = OMGVMCID.value + 7 ;
+    
+    public BAD_PARAM soBadSchemeName( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( SO_BAD_SCHEME_NAME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.soBadSchemeName",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM soBadSchemeName( CompletionStatus cs ) {
+        return soBadSchemeName( cs, null  ) ;
+    }
+    
+    public BAD_PARAM soBadSchemeName( Throwable t ) {
+        return soBadSchemeName( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM soBadSchemeName(  ) {
+        return soBadSchemeName( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SO_BAD_ADDRESS = OMGVMCID.value + 8 ;
+    
+    public BAD_PARAM soBadAddress( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( SO_BAD_ADDRESS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.soBadAddress",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM soBadAddress( CompletionStatus cs ) {
+        return soBadAddress( cs, null  ) ;
+    }
+    
+    public BAD_PARAM soBadAddress( Throwable t ) {
+        return soBadAddress( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM soBadAddress(  ) {
+        return soBadAddress( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SO_BAD_SCHEMA_SPECIFIC = OMGVMCID.value + 9 ;
+    
+    public BAD_PARAM soBadSchemaSpecific( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( SO_BAD_SCHEMA_SPECIFIC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.soBadSchemaSpecific",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM soBadSchemaSpecific( CompletionStatus cs ) {
+        return soBadSchemaSpecific( cs, null  ) ;
+    }
+    
+    public BAD_PARAM soBadSchemaSpecific( Throwable t ) {
+        return soBadSchemaSpecific( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM soBadSchemaSpecific(  ) {
+        return soBadSchemaSpecific( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SO_NON_SPECIFIC = OMGVMCID.value + 10 ;
+    
+    public BAD_PARAM soNonSpecific( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( SO_NON_SPECIFIC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.soNonSpecific",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM soNonSpecific( CompletionStatus cs ) {
+        return soNonSpecific( cs, null  ) ;
+    }
+    
+    public BAD_PARAM soNonSpecific( Throwable t ) {
+        return soNonSpecific( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM soNonSpecific(  ) {
+        return soNonSpecific( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int IR_DERIVE_ABS_INT_BASE = OMGVMCID.value + 11 ;
+    
+    public BAD_PARAM irDeriveAbsIntBase( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( IR_DERIVE_ABS_INT_BASE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.irDeriveAbsIntBase",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM irDeriveAbsIntBase( CompletionStatus cs ) {
+        return irDeriveAbsIntBase( cs, null  ) ;
+    }
+    
+    public BAD_PARAM irDeriveAbsIntBase( Throwable t ) {
+        return irDeriveAbsIntBase( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM irDeriveAbsIntBase(  ) {
+        return irDeriveAbsIntBase( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int IR_VALUE_SUPPORT = OMGVMCID.value + 12 ;
+    
+    public BAD_PARAM irValueSupport( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( IR_VALUE_SUPPORT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.irValueSupport",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM irValueSupport( CompletionStatus cs ) {
+        return irValueSupport( cs, null  ) ;
+    }
+    
+    public BAD_PARAM irValueSupport( Throwable t ) {
+        return irValueSupport( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM irValueSupport(  ) {
+        return irValueSupport( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INCOMPLETE_TYPECODE = OMGVMCID.value + 13 ;
+    
+    public BAD_PARAM incompleteTypecode( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( INCOMPLETE_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.incompleteTypecode",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM incompleteTypecode( CompletionStatus cs ) {
+        return incompleteTypecode( cs, null  ) ;
+    }
+    
+    public BAD_PARAM incompleteTypecode( Throwable t ) {
+        return incompleteTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM incompleteTypecode(  ) {
+        return incompleteTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_OBJECT_ID = OMGVMCID.value + 14 ;
+    
+    public BAD_PARAM invalidObjectId( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_OBJECT_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.invalidObjectId",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidObjectId( CompletionStatus cs ) {
+        return invalidObjectId( cs, null  ) ;
+    }
+    
+    public BAD_PARAM invalidObjectId( Throwable t ) {
+        return invalidObjectId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM invalidObjectId(  ) {
+        return invalidObjectId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TYPECODE_BAD_NAME = OMGVMCID.value + 15 ;
+    
+    public BAD_PARAM typecodeBadName( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TYPECODE_BAD_NAME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.typecodeBadName",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM typecodeBadName( CompletionStatus cs ) {
+        return typecodeBadName( cs, null  ) ;
+    }
+    
+    public BAD_PARAM typecodeBadName( Throwable t ) {
+        return typecodeBadName( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM typecodeBadName(  ) {
+        return typecodeBadName( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TYPECODE_BAD_REPID = OMGVMCID.value + 16 ;
+    
+    public BAD_PARAM typecodeBadRepid( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TYPECODE_BAD_REPID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.typecodeBadRepid",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM typecodeBadRepid( CompletionStatus cs ) {
+        return typecodeBadRepid( cs, null  ) ;
+    }
+    
+    public BAD_PARAM typecodeBadRepid( Throwable t ) {
+        return typecodeBadRepid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM typecodeBadRepid(  ) {
+        return typecodeBadRepid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TYPECODE_INV_MEMBER = OMGVMCID.value + 17 ;
+    
+    public BAD_PARAM typecodeInvMember( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TYPECODE_INV_MEMBER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.typecodeInvMember",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM typecodeInvMember( CompletionStatus cs ) {
+        return typecodeInvMember( cs, null  ) ;
+    }
+    
+    public BAD_PARAM typecodeInvMember( Throwable t ) {
+        return typecodeInvMember( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM typecodeInvMember(  ) {
+        return typecodeInvMember( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TC_UNION_DUP_LABEL = OMGVMCID.value + 18 ;
+    
+    public BAD_PARAM tcUnionDupLabel( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TC_UNION_DUP_LABEL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.tcUnionDupLabel",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM tcUnionDupLabel( CompletionStatus cs ) {
+        return tcUnionDupLabel( cs, null  ) ;
+    }
+    
+    public BAD_PARAM tcUnionDupLabel( Throwable t ) {
+        return tcUnionDupLabel( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM tcUnionDupLabel(  ) {
+        return tcUnionDupLabel( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TC_UNION_INCOMPATIBLE = OMGVMCID.value + 19 ;
+    
+    public BAD_PARAM tcUnionIncompatible( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TC_UNION_INCOMPATIBLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.tcUnionIncompatible",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM tcUnionIncompatible( CompletionStatus cs ) {
+        return tcUnionIncompatible( cs, null  ) ;
+    }
+    
+    public BAD_PARAM tcUnionIncompatible( Throwable t ) {
+        return tcUnionIncompatible( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM tcUnionIncompatible(  ) {
+        return tcUnionIncompatible( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TC_UNION_BAD_DISC = OMGVMCID.value + 20 ;
+    
+    public BAD_PARAM tcUnionBadDisc( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( TC_UNION_BAD_DISC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.tcUnionBadDisc",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM tcUnionBadDisc( CompletionStatus cs ) {
+        return tcUnionBadDisc( cs, null  ) ;
+    }
+    
+    public BAD_PARAM tcUnionBadDisc( Throwable t ) {
+        return tcUnionBadDisc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM tcUnionBadDisc(  ) {
+        return tcUnionBadDisc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_EXCEPTION_BAD_ANY = OMGVMCID.value + 21 ;
+    
+    public BAD_PARAM setExceptionBadAny( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( SET_EXCEPTION_BAD_ANY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.setExceptionBadAny",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM setExceptionBadAny( CompletionStatus cs ) {
+        return setExceptionBadAny( cs, null  ) ;
+    }
+    
+    public BAD_PARAM setExceptionBadAny( Throwable t ) {
+        return setExceptionBadAny( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM setExceptionBadAny(  ) {
+        return setExceptionBadAny( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_EXCEPTION_UNLISTED = OMGVMCID.value + 22 ;
+    
+    public BAD_PARAM setExceptionUnlisted( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( SET_EXCEPTION_UNLISTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.setExceptionUnlisted",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM setExceptionUnlisted( CompletionStatus cs ) {
+        return setExceptionUnlisted( cs, null  ) ;
+    }
+    
+    public BAD_PARAM setExceptionUnlisted( Throwable t ) {
+        return setExceptionUnlisted( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM setExceptionUnlisted(  ) {
+        return setExceptionUnlisted( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_CLIENT_WCHAR_CODESET_CTX = OMGVMCID.value + 23 ;
+    
+    public BAD_PARAM noClientWcharCodesetCtx( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NO_CLIENT_WCHAR_CODESET_CTX, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noClientWcharCodesetCtx",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM noClientWcharCodesetCtx( CompletionStatus cs ) {
+        return noClientWcharCodesetCtx( cs, null  ) ;
+    }
+    
+    public BAD_PARAM noClientWcharCodesetCtx( Throwable t ) {
+        return noClientWcharCodesetCtx( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM noClientWcharCodesetCtx(  ) {
+        return noClientWcharCodesetCtx( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_SERVICE_CONTEXT = OMGVMCID.value + 24 ;
+    
+    public BAD_PARAM illegalServiceContext( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( ILLEGAL_SERVICE_CONTEXT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.illegalServiceContext",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM illegalServiceContext( CompletionStatus cs ) {
+        return illegalServiceContext( cs, null  ) ;
+    }
+    
+    public BAD_PARAM illegalServiceContext( Throwable t ) {
+        return illegalServiceContext( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM illegalServiceContext(  ) {
+        return illegalServiceContext( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ENUM_OUT_OF_RANGE = OMGVMCID.value + 25 ;
+    
+    public BAD_PARAM enumOutOfRange( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( ENUM_OUT_OF_RANGE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.enumOutOfRange",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM enumOutOfRange( CompletionStatus cs ) {
+        return enumOutOfRange( cs, null  ) ;
+    }
+    
+    public BAD_PARAM enumOutOfRange( Throwable t ) {
+        return enumOutOfRange( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM enumOutOfRange(  ) {
+        return enumOutOfRange( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_SERVICE_CONTEXT_ID = OMGVMCID.value + 26 ;
+    
+    public BAD_PARAM invalidServiceContextId( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_SERVICE_CONTEXT_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.invalidServiceContextId",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidServiceContextId( CompletionStatus cs ) {
+        return invalidServiceContextId( cs, null  ) ;
+    }
+    
+    public BAD_PARAM invalidServiceContextId( Throwable t ) {
+        return invalidServiceContextId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM invalidServiceContextId(  ) {
+        return invalidServiceContextId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RIR_WITH_NULL_OBJECT = OMGVMCID.value + 27 ;
+    
+    public BAD_PARAM rirWithNullObject( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( RIR_WITH_NULL_OBJECT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.rirWithNullObject",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM rirWithNullObject( CompletionStatus cs ) {
+        return rirWithNullObject( cs, null  ) ;
+    }
+    
+    public BAD_PARAM rirWithNullObject( Throwable t ) {
+        return rirWithNullObject( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM rirWithNullObject(  ) {
+        return rirWithNullObject( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_COMPONENT_ID = OMGVMCID.value + 28 ;
+    
+    public BAD_PARAM invalidComponentId( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_COMPONENT_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "OMG.invalidComponentId",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidComponentId( CompletionStatus cs, Object arg0) {
+        return invalidComponentId( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM invalidComponentId( Throwable t, Object arg0) {
+        return invalidComponentId( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM invalidComponentId(  Object arg0) {
+        return invalidComponentId( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INVALID_PROFILE_ID = OMGVMCID.value + 29 ;
+    
+    public BAD_PARAM invalidProfileId( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_PROFILE_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.invalidProfileId",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidProfileId( CompletionStatus cs ) {
+        return invalidProfileId( cs, null  ) ;
+    }
+    
+    public BAD_PARAM invalidProfileId( Throwable t ) {
+        return invalidProfileId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM invalidProfileId(  ) {
+        return invalidProfileId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POLICY_TYPE_DUPLICATE = OMGVMCID.value + 30 ;
+    
+    public BAD_PARAM policyTypeDuplicate( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( POLICY_TYPE_DUPLICATE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.policyTypeDuplicate",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM policyTypeDuplicate( CompletionStatus cs ) {
+        return policyTypeDuplicate( cs, null  ) ;
+    }
+    
+    public BAD_PARAM policyTypeDuplicate( Throwable t ) {
+        return policyTypeDuplicate( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM policyTypeDuplicate(  ) {
+        return policyTypeDuplicate( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_ONEWAY_DEFINITION = OMGVMCID.value + 31 ;
+    
+    public BAD_PARAM badOnewayDefinition( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BAD_ONEWAY_DEFINITION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badOnewayDefinition",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM badOnewayDefinition( CompletionStatus cs ) {
+        return badOnewayDefinition( cs, null  ) ;
+    }
+    
+    public BAD_PARAM badOnewayDefinition( Throwable t ) {
+        return badOnewayDefinition( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM badOnewayDefinition(  ) {
+        return badOnewayDefinition( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DII_FOR_IMPLICIT_OPERATION = OMGVMCID.value + 32 ;
+    
+    public BAD_PARAM diiForImplicitOperation( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( DII_FOR_IMPLICIT_OPERATION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.diiForImplicitOperation",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM diiForImplicitOperation( CompletionStatus cs ) {
+        return diiForImplicitOperation( cs, null  ) ;
+    }
+    
+    public BAD_PARAM diiForImplicitOperation( Throwable t ) {
+        return diiForImplicitOperation( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM diiForImplicitOperation(  ) {
+        return diiForImplicitOperation( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int XA_CALL_INVAL = OMGVMCID.value + 33 ;
+    
+    public BAD_PARAM xaCallInval( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( XA_CALL_INVAL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaCallInval",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM xaCallInval( CompletionStatus cs ) {
+        return xaCallInval( cs, null  ) ;
+    }
+    
+    public BAD_PARAM xaCallInval( Throwable t ) {
+        return xaCallInval( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM xaCallInval(  ) {
+        return xaCallInval( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNION_BAD_DISCRIMINATOR = OMGVMCID.value + 34 ;
+    
+    public BAD_PARAM unionBadDiscriminator( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( UNION_BAD_DISCRIMINATOR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.unionBadDiscriminator",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM unionBadDiscriminator( CompletionStatus cs ) {
+        return unionBadDiscriminator( cs, null  ) ;
+    }
+    
+    public BAD_PARAM unionBadDiscriminator( Throwable t ) {
+        return unionBadDiscriminator( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM unionBadDiscriminator(  ) {
+        return unionBadDiscriminator( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CTX_ILLEGAL_PROPERTY_NAME = OMGVMCID.value + 35 ;
+    
+    public BAD_PARAM ctxIllegalPropertyName( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CTX_ILLEGAL_PROPERTY_NAME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.ctxIllegalPropertyName",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM ctxIllegalPropertyName( CompletionStatus cs ) {
+        return ctxIllegalPropertyName( cs, null  ) ;
+    }
+    
+    public BAD_PARAM ctxIllegalPropertyName( Throwable t ) {
+        return ctxIllegalPropertyName( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM ctxIllegalPropertyName(  ) {
+        return ctxIllegalPropertyName( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CTX_ILLEGAL_SEARCH_STRING = OMGVMCID.value + 36 ;
+    
+    public BAD_PARAM ctxIllegalSearchString( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CTX_ILLEGAL_SEARCH_STRING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.ctxIllegalSearchString",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM ctxIllegalSearchString( CompletionStatus cs ) {
+        return ctxIllegalSearchString( cs, null  ) ;
+    }
+    
+    public BAD_PARAM ctxIllegalSearchString( Throwable t ) {
+        return ctxIllegalSearchString( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM ctxIllegalSearchString(  ) {
+        return ctxIllegalSearchString( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CTX_ILLEGAL_NAME = OMGVMCID.value + 37 ;
+    
+    public BAD_PARAM ctxIllegalName( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CTX_ILLEGAL_NAME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.ctxIllegalName",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM ctxIllegalName( CompletionStatus cs ) {
+        return ctxIllegalName( cs, null  ) ;
+    }
+    
+    public BAD_PARAM ctxIllegalName( Throwable t ) {
+        return ctxIllegalName( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM ctxIllegalName(  ) {
+        return ctxIllegalName( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CTX_NON_EMPTY = OMGVMCID.value + 38 ;
+    
+    public BAD_PARAM ctxNonEmpty( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CTX_NON_EMPTY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.ctxNonEmpty",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM ctxNonEmpty( CompletionStatus cs ) {
+        return ctxNonEmpty( cs, null  ) ;
+    }
+    
+    public BAD_PARAM ctxNonEmpty( Throwable t ) {
+        return ctxNonEmpty( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM ctxNonEmpty(  ) {
+        return ctxNonEmpty( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_STREAM_FORMAT_VERSION = OMGVMCID.value + 39 ;
+    
+    public BAD_PARAM invalidStreamFormatVersion( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_STREAM_FORMAT_VERSION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "OMG.invalidStreamFormatVersion",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidStreamFormatVersion( CompletionStatus cs, Object arg0) {
+        return invalidStreamFormatVersion( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM invalidStreamFormatVersion( Throwable t, Object arg0) {
+        return invalidStreamFormatVersion( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM invalidStreamFormatVersion(  Object arg0) {
+        return invalidStreamFormatVersion( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int NOT_A_VALUEOUTPUTSTREAM = OMGVMCID.value + 40 ;
+    
+    public BAD_PARAM notAValueoutputstream( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NOT_A_VALUEOUTPUTSTREAM, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.notAValueoutputstream",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM notAValueoutputstream( CompletionStatus cs ) {
+        return notAValueoutputstream( cs, null  ) ;
+    }
+    
+    public BAD_PARAM notAValueoutputstream( Throwable t ) {
+        return notAValueoutputstream( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM notAValueoutputstream(  ) {
+        return notAValueoutputstream( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NOT_A_VALUEINPUTSTREAM = OMGVMCID.value + 41 ;
+    
+    public BAD_PARAM notAValueinputstream( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NOT_A_VALUEINPUTSTREAM, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.notAValueinputstream",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM notAValueinputstream( CompletionStatus cs ) {
+        return notAValueinputstream( cs, null  ) ;
+    }
+    
+    public BAD_PARAM notAValueinputstream( Throwable t ) {
+        return notAValueinputstream( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM notAValueinputstream(  ) {
+        return notAValueinputstream( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_TYPECODE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int MARSHALL_INCOMPLETE_TYPECODE = OMGVMCID.value + 1 ;
+    
+    public BAD_TYPECODE marshallIncompleteTypecode( CompletionStatus cs, Throwable t ) {
+        BAD_TYPECODE exc = new BAD_TYPECODE( MARSHALL_INCOMPLETE_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.marshallIncompleteTypecode",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_TYPECODE marshallIncompleteTypecode( CompletionStatus cs ) {
+        return marshallIncompleteTypecode( cs, null  ) ;
+    }
+    
+    public BAD_TYPECODE marshallIncompleteTypecode( Throwable t ) {
+        return marshallIncompleteTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_TYPECODE marshallIncompleteTypecode(  ) {
+        return marshallIncompleteTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_MEMBER_TYPECODE = OMGVMCID.value + 2 ;
+    
+    public BAD_TYPECODE badMemberTypecode( CompletionStatus cs, Throwable t ) {
+        BAD_TYPECODE exc = new BAD_TYPECODE( BAD_MEMBER_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badMemberTypecode",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_TYPECODE badMemberTypecode( CompletionStatus cs ) {
+        return badMemberTypecode( cs, null  ) ;
+    }
+    
+    public BAD_TYPECODE badMemberTypecode( Throwable t ) {
+        return badMemberTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_TYPECODE badMemberTypecode(  ) {
+        return badMemberTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_PARAMETER = OMGVMCID.value + 3 ;
+    
+    public BAD_TYPECODE illegalParameter( CompletionStatus cs, Throwable t ) {
+        BAD_TYPECODE exc = new BAD_TYPECODE( ILLEGAL_PARAMETER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.illegalParameter",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_TYPECODE illegalParameter( CompletionStatus cs ) {
+        return illegalParameter( cs, null  ) ;
+    }
+    
+    public BAD_TYPECODE illegalParameter( Throwable t ) {
+        return illegalParameter( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_TYPECODE illegalParameter(  ) {
+        return illegalParameter( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // DATA_CONVERSION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int CHAR_NOT_IN_CODESET = OMGVMCID.value + 1 ;
+    
+    public DATA_CONVERSION charNotInCodeset( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( CHAR_NOT_IN_CODESET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.charNotInCodeset",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION charNotInCodeset( CompletionStatus cs ) {
+        return charNotInCodeset( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION charNotInCodeset( Throwable t ) {
+        return charNotInCodeset( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION charNotInCodeset(  ) {
+        return charNotInCodeset( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PRIORITY_MAP_FAILRE = OMGVMCID.value + 2 ;
+    
+    public DATA_CONVERSION priorityMapFailre( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( PRIORITY_MAP_FAILRE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.priorityMapFailre",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION priorityMapFailre( CompletionStatus cs ) {
+        return priorityMapFailre( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION priorityMapFailre( Throwable t ) {
+        return priorityMapFailre( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION priorityMapFailre(  ) {
+        return priorityMapFailre( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // IMP_LIMIT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NO_USABLE_PROFILE = OMGVMCID.value + 1 ;
+    
+    public IMP_LIMIT noUsableProfile( CompletionStatus cs, Throwable t ) {
+        IMP_LIMIT exc = new IMP_LIMIT( NO_USABLE_PROFILE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noUsableProfile",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public IMP_LIMIT noUsableProfile( CompletionStatus cs ) {
+        return noUsableProfile( cs, null  ) ;
+    }
+    
+    public IMP_LIMIT noUsableProfile( Throwable t ) {
+        return noUsableProfile( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public IMP_LIMIT noUsableProfile(  ) {
+        return noUsableProfile( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INITIALIZE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int PRIORITY_RANGE_RESTRICT = OMGVMCID.value + 1 ;
+    
+    public INITIALIZE priorityRangeRestrict( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( PRIORITY_RANGE_RESTRICT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.priorityRangeRestrict",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE priorityRangeRestrict( CompletionStatus cs ) {
+        return priorityRangeRestrict( cs, null  ) ;
+    }
+    
+    public INITIALIZE priorityRangeRestrict( Throwable t ) {
+        return priorityRangeRestrict( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE priorityRangeRestrict(  ) {
+        return priorityRangeRestrict( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INV_OBJREF
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NO_SERVER_WCHAR_CODESET_CMP = OMGVMCID.value + 1 ;
+    
+    public INV_OBJREF noServerWcharCodesetCmp( CompletionStatus cs, Throwable t ) {
+        INV_OBJREF exc = new INV_OBJREF( NO_SERVER_WCHAR_CODESET_CMP, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noServerWcharCodesetCmp",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF noServerWcharCodesetCmp( CompletionStatus cs ) {
+        return noServerWcharCodesetCmp( cs, null  ) ;
+    }
+    
+    public INV_OBJREF noServerWcharCodesetCmp( Throwable t ) {
+        return noServerWcharCodesetCmp( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_OBJREF noServerWcharCodesetCmp(  ) {
+        return noServerWcharCodesetCmp( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CODESET_COMPONENT_REQUIRED = OMGVMCID.value + 2 ;
+    
+    public INV_OBJREF codesetComponentRequired( CompletionStatus cs, Throwable t ) {
+        INV_OBJREF exc = new INV_OBJREF( CODESET_COMPONENT_REQUIRED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.codesetComponentRequired",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF codesetComponentRequired( CompletionStatus cs ) {
+        return codesetComponentRequired( cs, null  ) ;
+    }
+    
+    public INV_OBJREF codesetComponentRequired( Throwable t ) {
+        return codesetComponentRequired( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_OBJREF codesetComponentRequired(  ) {
+        return codesetComponentRequired( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INV_POLICY
+    ///////////////////////////////////////////////////////////
+    
+    public static final int IOR_POLICY_RECONCILE_ERROR = OMGVMCID.value + 1 ;
+    
+    public INV_POLICY iorPolicyReconcileError( CompletionStatus cs, Throwable t ) {
+        INV_POLICY exc = new INV_POLICY( IOR_POLICY_RECONCILE_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.iorPolicyReconcileError",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_POLICY iorPolicyReconcileError( CompletionStatus cs ) {
+        return iorPolicyReconcileError( cs, null  ) ;
+    }
+    
+    public INV_POLICY iorPolicyReconcileError( Throwable t ) {
+        return iorPolicyReconcileError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_POLICY iorPolicyReconcileError(  ) {
+        return iorPolicyReconcileError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POLICY_UNKNOWN = OMGVMCID.value + 2 ;
+    
+    public INV_POLICY policyUnknown( CompletionStatus cs, Throwable t ) {
+        INV_POLICY exc = new INV_POLICY( POLICY_UNKNOWN, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.policyUnknown",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_POLICY policyUnknown( CompletionStatus cs ) {
+        return policyUnknown( cs, null  ) ;
+    }
+    
+    public INV_POLICY policyUnknown( Throwable t ) {
+        return policyUnknown( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_POLICY policyUnknown(  ) {
+        return policyUnknown( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_POLICY_FACTORY = OMGVMCID.value + 3 ;
+    
+    public INV_POLICY noPolicyFactory( CompletionStatus cs, Throwable t ) {
+        INV_POLICY exc = new INV_POLICY( NO_POLICY_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noPolicyFactory",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_POLICY noPolicyFactory( CompletionStatus cs ) {
+        return noPolicyFactory( cs, null  ) ;
+    }
+    
+    public INV_POLICY noPolicyFactory( Throwable t ) {
+        return noPolicyFactory( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_POLICY noPolicyFactory(  ) {
+        return noPolicyFactory( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int XA_RMERR = OMGVMCID.value + 1 ;
+    
+    public INTERNAL xaRmerr( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( XA_RMERR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaRmerr",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL xaRmerr( CompletionStatus cs ) {
+        return xaRmerr( cs, null  ) ;
+    }
+    
+    public INTERNAL xaRmerr( Throwable t ) {
+        return xaRmerr( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL xaRmerr(  ) {
+        return xaRmerr( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int XA_RMFAIL = OMGVMCID.value + 2 ;
+    
+    public INTERNAL xaRmfail( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( XA_RMFAIL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaRmfail",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL xaRmfail( CompletionStatus cs ) {
+        return xaRmfail( cs, null  ) ;
+    }
+    
+    public INTERNAL xaRmfail( Throwable t ) {
+        return xaRmfail( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL xaRmfail(  ) {
+        return xaRmfail( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTF_REPOS
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NO_IR = OMGVMCID.value + 1 ;
+    
+    public INTF_REPOS noIr( CompletionStatus cs, Throwable t ) {
+        INTF_REPOS exc = new INTF_REPOS( NO_IR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noIr",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTF_REPOS noIr( CompletionStatus cs ) {
+        return noIr( cs, null  ) ;
+    }
+    
+    public INTF_REPOS noIr( Throwable t ) {
+        return noIr( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTF_REPOS noIr(  ) {
+        return noIr( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_INTERFACE_IN_IR = OMGVMCID.value + 2 ;
+    
+    public INTF_REPOS noInterfaceInIr( CompletionStatus cs, Throwable t ) {
+        INTF_REPOS exc = new INTF_REPOS( NO_INTERFACE_IN_IR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noInterfaceInIr",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTF_REPOS noInterfaceInIr( CompletionStatus cs ) {
+        return noInterfaceInIr( cs, null  ) ;
+    }
+    
+    public INTF_REPOS noInterfaceInIr( Throwable t ) {
+        return noInterfaceInIr( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTF_REPOS noInterfaceInIr(  ) {
+        return noInterfaceInIr( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // MARSHAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNABLE_LOCATE_VALUE_FACTORY = OMGVMCID.value + 1 ;
+    
+    public MARSHAL unableLocateValueFactory( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( UNABLE_LOCATE_VALUE_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.unableLocateValueFactory",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unableLocateValueFactory( CompletionStatus cs ) {
+        return unableLocateValueFactory( cs, null  ) ;
+    }
+    
+    public MARSHAL unableLocateValueFactory( Throwable t ) {
+        return unableLocateValueFactory( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL unableLocateValueFactory(  ) {
+        return unableLocateValueFactory( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_RESULT_BEFORE_CTX = OMGVMCID.value + 2 ;
+    
+    public MARSHAL setResultBeforeCtx( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( SET_RESULT_BEFORE_CTX, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.setResultBeforeCtx",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL setResultBeforeCtx( CompletionStatus cs ) {
+        return setResultBeforeCtx( cs, null  ) ;
+    }
+    
+    public MARSHAL setResultBeforeCtx( Throwable t ) {
+        return setResultBeforeCtx( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL setResultBeforeCtx(  ) {
+        return setResultBeforeCtx( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_NVLIST = OMGVMCID.value + 3 ;
+    
+    public MARSHAL badNvlist( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( BAD_NVLIST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badNvlist",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badNvlist( CompletionStatus cs ) {
+        return badNvlist( cs, null  ) ;
+    }
+    
+    public MARSHAL badNvlist( Throwable t ) {
+        return badNvlist( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL badNvlist(  ) {
+        return badNvlist( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NOT_AN_OBJECT_IMPL = OMGVMCID.value + 4 ;
+    
+    public MARSHAL notAnObjectImpl( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( NOT_AN_OBJECT_IMPL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.notAnObjectImpl",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL notAnObjectImpl( CompletionStatus cs ) {
+        return notAnObjectImpl( cs, null  ) ;
+    }
+    
+    public MARSHAL notAnObjectImpl( Throwable t ) {
+        return notAnObjectImpl( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL notAnObjectImpl(  ) {
+        return notAnObjectImpl( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WCHAR_BAD_GIOP_VERSION_SENT = OMGVMCID.value + 5 ;
+    
+    public MARSHAL wcharBadGiopVersionSent( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( WCHAR_BAD_GIOP_VERSION_SENT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.wcharBadGiopVersionSent",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL wcharBadGiopVersionSent( CompletionStatus cs ) {
+        return wcharBadGiopVersionSent( cs, null  ) ;
+    }
+    
+    public MARSHAL wcharBadGiopVersionSent( Throwable t ) {
+        return wcharBadGiopVersionSent( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL wcharBadGiopVersionSent(  ) {
+        return wcharBadGiopVersionSent( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WCHAR_BAD_GIOP_VERSION_RETURNED = OMGVMCID.value + 6 ;
+    
+    public MARSHAL wcharBadGiopVersionReturned( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( WCHAR_BAD_GIOP_VERSION_RETURNED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.wcharBadGiopVersionReturned",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL wcharBadGiopVersionReturned( CompletionStatus cs ) {
+        return wcharBadGiopVersionReturned( cs, null  ) ;
+    }
+    
+    public MARSHAL wcharBadGiopVersionReturned( Throwable t ) {
+        return wcharBadGiopVersionReturned( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL wcharBadGiopVersionReturned(  ) {
+        return wcharBadGiopVersionReturned( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNSUPPORTED_FORMAT_VERSION = OMGVMCID.value + 7 ;
+    
+    public MARSHAL unsupportedFormatVersion( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( UNSUPPORTED_FORMAT_VERSION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.unsupportedFormatVersion",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unsupportedFormatVersion( CompletionStatus cs ) {
+        return unsupportedFormatVersion( cs, null  ) ;
+    }
+    
+    public MARSHAL unsupportedFormatVersion( Throwable t ) {
+        return unsupportedFormatVersion( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL unsupportedFormatVersion(  ) {
+        return unsupportedFormatVersion( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RMIIIOP_OPTIONAL_DATA_INCOMPATIBLE1 = OMGVMCID.value + 8 ;
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible1( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( RMIIIOP_OPTIONAL_DATA_INCOMPATIBLE1, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.rmiiiopOptionalDataIncompatible1",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible1( CompletionStatus cs ) {
+        return rmiiiopOptionalDataIncompatible1( cs, null  ) ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible1( Throwable t ) {
+        return rmiiiopOptionalDataIncompatible1( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible1(  ) {
+        return rmiiiopOptionalDataIncompatible1( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RMIIIOP_OPTIONAL_DATA_INCOMPATIBLE2 = OMGVMCID.value + 8 ;
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible2( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( RMIIIOP_OPTIONAL_DATA_INCOMPATIBLE2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.rmiiiopOptionalDataIncompatible2",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible2( CompletionStatus cs ) {
+        return rmiiiopOptionalDataIncompatible2( cs, null  ) ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible2( Throwable t ) {
+        return rmiiiopOptionalDataIncompatible2( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible2(  ) {
+        return rmiiiopOptionalDataIncompatible2( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RMIIIOP_OPTIONAL_DATA_INCOMPATIBLE3 = OMGVMCID.value + 8 ;
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible3( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( RMIIIOP_OPTIONAL_DATA_INCOMPATIBLE3, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.rmiiiopOptionalDataIncompatible3",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible3( CompletionStatus cs ) {
+        return rmiiiopOptionalDataIncompatible3( cs, null  ) ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible3( Throwable t ) {
+        return rmiiiopOptionalDataIncompatible3( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL rmiiiopOptionalDataIncompatible3(  ) {
+        return rmiiiopOptionalDataIncompatible3( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // NO_IMPLEMENT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int MISSING_LOCAL_VALUE_IMPL = OMGVMCID.value + 1 ;
+    
+    public NO_IMPLEMENT missingLocalValueImpl( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( MISSING_LOCAL_VALUE_IMPL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.missingLocalValueImpl",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT missingLocalValueImpl( CompletionStatus cs ) {
+        return missingLocalValueImpl( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT missingLocalValueImpl( Throwable t ) {
+        return missingLocalValueImpl( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT missingLocalValueImpl(  ) {
+        return missingLocalValueImpl( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INCOMPATIBLE_VALUE_IMPL = OMGVMCID.value + 2 ;
+    
+    public NO_IMPLEMENT incompatibleValueImpl( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( INCOMPATIBLE_VALUE_IMPL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.incompatibleValueImpl",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT incompatibleValueImpl( CompletionStatus cs ) {
+        return incompatibleValueImpl( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT incompatibleValueImpl( Throwable t ) {
+        return incompatibleValueImpl( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT incompatibleValueImpl(  ) {
+        return incompatibleValueImpl( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_USABLE_PROFILE_2 = OMGVMCID.value + 3 ;
+    
+    public NO_IMPLEMENT noUsableProfile2( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( NO_USABLE_PROFILE_2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noUsableProfile2",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT noUsableProfile2( CompletionStatus cs ) {
+        return noUsableProfile2( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT noUsableProfile2( Throwable t ) {
+        return noUsableProfile2( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT noUsableProfile2(  ) {
+        return noUsableProfile2( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DII_LOCAL_OBJECT = OMGVMCID.value + 4 ;
+    
+    public NO_IMPLEMENT diiLocalObject( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( DII_LOCAL_OBJECT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.diiLocalObject",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT diiLocalObject( CompletionStatus cs ) {
+        return diiLocalObject( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT diiLocalObject( Throwable t ) {
+        return diiLocalObject( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT diiLocalObject(  ) {
+        return diiLocalObject( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BIO_RESET = OMGVMCID.value + 5 ;
+    
+    public NO_IMPLEMENT bioReset( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( BIO_RESET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.bioReset",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT bioReset( CompletionStatus cs ) {
+        return bioReset( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT bioReset( Throwable t ) {
+        return bioReset( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT bioReset(  ) {
+        return bioReset( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BIO_META_NOT_AVAILABLE = OMGVMCID.value + 6 ;
+    
+    public NO_IMPLEMENT bioMetaNotAvailable( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( BIO_META_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.bioMetaNotAvailable",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT bioMetaNotAvailable( CompletionStatus cs ) {
+        return bioMetaNotAvailable( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT bioMetaNotAvailable( Throwable t ) {
+        return bioMetaNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT bioMetaNotAvailable(  ) {
+        return bioMetaNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BIO_GENOMIC_NO_ITERATOR = OMGVMCID.value + 7 ;
+    
+    public NO_IMPLEMENT bioGenomicNoIterator( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( BIO_GENOMIC_NO_ITERATOR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.bioGenomicNoIterator",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT bioGenomicNoIterator( CompletionStatus cs ) {
+        return bioGenomicNoIterator( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT bioGenomicNoIterator( Throwable t ) {
+        return bioGenomicNoIterator( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT bioGenomicNoIterator(  ) {
+        return bioGenomicNoIterator( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // NO_RESOURCES
+    ///////////////////////////////////////////////////////////
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED1 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported1( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED1, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported1",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported1( CompletionStatus cs ) {
+        return piOperationNotSupported1( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported1( Throwable t ) {
+        return piOperationNotSupported1( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported1(  ) {
+        return piOperationNotSupported1( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED2 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported2( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported2",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported2( CompletionStatus cs ) {
+        return piOperationNotSupported2( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported2( Throwable t ) {
+        return piOperationNotSupported2( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported2(  ) {
+        return piOperationNotSupported2( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED3 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported3( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED3, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported3",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported3( CompletionStatus cs ) {
+        return piOperationNotSupported3( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported3( Throwable t ) {
+        return piOperationNotSupported3( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported3(  ) {
+        return piOperationNotSupported3( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED4 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported4( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED4, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported4",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported4( CompletionStatus cs ) {
+        return piOperationNotSupported4( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported4( Throwable t ) {
+        return piOperationNotSupported4( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported4(  ) {
+        return piOperationNotSupported4( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED5 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported5( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED5, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported5",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported5( CompletionStatus cs ) {
+        return piOperationNotSupported5( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported5( Throwable t ) {
+        return piOperationNotSupported5( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported5(  ) {
+        return piOperationNotSupported5( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED6 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported6( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED6, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported6",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported6( CompletionStatus cs ) {
+        return piOperationNotSupported6( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported6( Throwable t ) {
+        return piOperationNotSupported6( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported6(  ) {
+        return piOperationNotSupported6( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED7 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported7( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED7, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported7",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported7( CompletionStatus cs ) {
+        return piOperationNotSupported7( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported7( Throwable t ) {
+        return piOperationNotSupported7( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported7(  ) {
+        return piOperationNotSupported7( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_OPERATION_NOT_SUPPORTED8 = OMGVMCID.value + 1 ;
+    
+    public NO_RESOURCES piOperationNotSupported8( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( PI_OPERATION_NOT_SUPPORTED8, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.piOperationNotSupported8",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported8( CompletionStatus cs ) {
+        return piOperationNotSupported8( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported8( Throwable t ) {
+        return piOperationNotSupported8( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES piOperationNotSupported8(  ) {
+        return piOperationNotSupported8( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_CONNECTION_PRIORITY = OMGVMCID.value + 2 ;
+    
+    public NO_RESOURCES noConnectionPriority( CompletionStatus cs, Throwable t ) {
+        NO_RESOURCES exc = new NO_RESOURCES( NO_CONNECTION_PRIORITY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noConnectionPriority",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_RESOURCES noConnectionPriority( CompletionStatus cs ) {
+        return noConnectionPriority( cs, null  ) ;
+    }
+    
+    public NO_RESOURCES noConnectionPriority( Throwable t ) {
+        return noConnectionPriority( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_RESOURCES noConnectionPriority(  ) {
+        return noConnectionPriority( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // TRANSACTION_ROLLEDBACK
+    ///////////////////////////////////////////////////////////
+    
+    public static final int XA_RB = OMGVMCID.value + 1 ;
+    
+    public TRANSACTION_ROLLEDBACK xaRb( CompletionStatus cs, Throwable t ) {
+        TRANSACTION_ROLLEDBACK exc = new TRANSACTION_ROLLEDBACK( XA_RB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaRb",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaRb( CompletionStatus cs ) {
+        return xaRb( cs, null  ) ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaRb( Throwable t ) {
+        return xaRb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaRb(  ) {
+        return xaRb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int XA_NOTA = OMGVMCID.value + 2 ;
+    
+    public TRANSACTION_ROLLEDBACK xaNota( CompletionStatus cs, Throwable t ) {
+        TRANSACTION_ROLLEDBACK exc = new TRANSACTION_ROLLEDBACK( XA_NOTA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaNota",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaNota( CompletionStatus cs ) {
+        return xaNota( cs, null  ) ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaNota( Throwable t ) {
+        return xaNota( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaNota(  ) {
+        return xaNota( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int XA_END_TRUE_ROLLBACK_DEFERRED = OMGVMCID.value + 3 ;
+    
+    public TRANSACTION_ROLLEDBACK xaEndTrueRollbackDeferred( CompletionStatus cs, Throwable t ) {
+        TRANSACTION_ROLLEDBACK exc = new TRANSACTION_ROLLEDBACK( XA_END_TRUE_ROLLBACK_DEFERRED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.xaEndTrueRollbackDeferred",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaEndTrueRollbackDeferred( CompletionStatus cs ) {
+        return xaEndTrueRollbackDeferred( cs, null  ) ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaEndTrueRollbackDeferred( Throwable t ) {
+        return xaEndTrueRollbackDeferred( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSACTION_ROLLEDBACK xaEndTrueRollbackDeferred(  ) {
+        return xaEndTrueRollbackDeferred( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // TRANSIENT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int POA_REQUEST_DISCARD = OMGVMCID.value + 1 ;
+    
+    public TRANSIENT poaRequestDiscard( CompletionStatus cs, Throwable t ) {
+        TRANSIENT exc = new TRANSIENT( POA_REQUEST_DISCARD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.poaRequestDiscard",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSIENT poaRequestDiscard( CompletionStatus cs ) {
+        return poaRequestDiscard( cs, null  ) ;
+    }
+    
+    public TRANSIENT poaRequestDiscard( Throwable t ) {
+        return poaRequestDiscard( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSIENT poaRequestDiscard(  ) {
+        return poaRequestDiscard( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_USABLE_PROFILE_3 = OMGVMCID.value + 2 ;
+    
+    public TRANSIENT noUsableProfile3( CompletionStatus cs, Throwable t ) {
+        TRANSIENT exc = new TRANSIENT( NO_USABLE_PROFILE_3, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noUsableProfile3",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSIENT noUsableProfile3( CompletionStatus cs ) {
+        return noUsableProfile3( cs, null  ) ;
+    }
+    
+    public TRANSIENT noUsableProfile3( Throwable t ) {
+        return noUsableProfile3( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSIENT noUsableProfile3(  ) {
+        return noUsableProfile3( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int REQUEST_CANCELLED = OMGVMCID.value + 3 ;
+    
+    public TRANSIENT requestCancelled( CompletionStatus cs, Throwable t ) {
+        TRANSIENT exc = new TRANSIENT( REQUEST_CANCELLED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.requestCancelled",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSIENT requestCancelled( CompletionStatus cs ) {
+        return requestCancelled( cs, null  ) ;
+    }
+    
+    public TRANSIENT requestCancelled( Throwable t ) {
+        return requestCancelled( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSIENT requestCancelled(  ) {
+        return requestCancelled( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_DESTROYED = OMGVMCID.value + 4 ;
+    
+    public TRANSIENT poaDestroyed( CompletionStatus cs, Throwable t ) {
+        TRANSIENT exc = new TRANSIENT( POA_DESTROYED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.poaDestroyed",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSIENT poaDestroyed( CompletionStatus cs ) {
+        return poaDestroyed( cs, null  ) ;
+    }
+    
+    public TRANSIENT poaDestroyed( Throwable t ) {
+        return poaDestroyed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSIENT poaDestroyed(  ) {
+        return poaDestroyed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJECT_NOT_EXIST
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNREGISTERED_VALUE_AS_OBJREF = OMGVMCID.value + 1 ;
+    
+    public OBJECT_NOT_EXIST unregisteredValueAsObjref( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( UNREGISTERED_VALUE_AS_OBJREF, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.unregisteredValueAsObjref",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST unregisteredValueAsObjref( CompletionStatus cs ) {
+        return unregisteredValueAsObjref( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST unregisteredValueAsObjref( Throwable t ) {
+        return unregisteredValueAsObjref( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST unregisteredValueAsObjref(  ) {
+        return unregisteredValueAsObjref( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_OBJECT_ADAPTOR = OMGVMCID.value + 2 ;
+    
+    public OBJECT_NOT_EXIST noObjectAdaptor( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( NO_OBJECT_ADAPTOR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.noObjectAdaptor",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST noObjectAdaptor( CompletionStatus cs ) {
+        return noObjectAdaptor( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST noObjectAdaptor( Throwable t ) {
+        return noObjectAdaptor( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST noObjectAdaptor(  ) {
+        return noObjectAdaptor( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BIO_NOT_AVAILABLE = OMGVMCID.value + 3 ;
+    
+    public OBJECT_NOT_EXIST bioNotAvailable( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( BIO_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.bioNotAvailable",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST bioNotAvailable( CompletionStatus cs ) {
+        return bioNotAvailable( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST bioNotAvailable( Throwable t ) {
+        return bioNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST bioNotAvailable(  ) {
+        return bioNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OBJECT_ADAPTER_INACTIVE = OMGVMCID.value + 4 ;
+    
+    public OBJECT_NOT_EXIST objectAdapterInactive( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( OBJECT_ADAPTER_INACTIVE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.objectAdapterInactive",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST objectAdapterInactive( CompletionStatus cs ) {
+        return objectAdapterInactive( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST objectAdapterInactive( Throwable t ) {
+        return objectAdapterInactive( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST objectAdapterInactive(  ) {
+        return objectAdapterInactive( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJ_ADAPTER
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ADAPTER_ACTIVATOR_EXCEPTION = OMGVMCID.value + 1 ;
+    
+    public OBJ_ADAPTER adapterActivatorException( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( ADAPTER_ACTIVATOR_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "OMG.adapterActivatorException",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER adapterActivatorException( CompletionStatus cs, Object arg0, Object arg1) {
+        return adapterActivatorException( cs, null, arg0, arg1 ) ;
+    }
+    
+    public OBJ_ADAPTER adapterActivatorException( Throwable t, Object arg0, Object arg1) {
+        return adapterActivatorException( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public OBJ_ADAPTER adapterActivatorException(  Object arg0, Object arg1) {
+        return adapterActivatorException( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int BAD_SERVANT_TYPE = OMGVMCID.value + 2 ;
+    
+    public OBJ_ADAPTER badServantType( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( BAD_SERVANT_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badServantType",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER badServantType( CompletionStatus cs ) {
+        return badServantType( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER badServantType( Throwable t ) {
+        return badServantType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER badServantType(  ) {
+        return badServantType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_DEFAULT_SERVANT = OMGVMCID.value + 3 ;
+    
+    public OBJ_ADAPTER noDefaultServant( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( NO_DEFAULT_SERVANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noDefaultServant",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER noDefaultServant( CompletionStatus cs ) {
+        return noDefaultServant( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER noDefaultServant( Throwable t ) {
+        return noDefaultServant( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER noDefaultServant(  ) {
+        return noDefaultServant( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_SERVANT_MANAGER = OMGVMCID.value + 4 ;
+    
+    public OBJ_ADAPTER noServantManager( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( NO_SERVANT_MANAGER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.noServantManager",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER noServantManager( CompletionStatus cs ) {
+        return noServantManager( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER noServantManager( Throwable t ) {
+        return noServantManager( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER noServantManager(  ) {
+        return noServantManager( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_POLICY_INCARNATE = OMGVMCID.value + 5 ;
+    
+    public OBJ_ADAPTER badPolicyIncarnate( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( BAD_POLICY_INCARNATE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.badPolicyIncarnate",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER badPolicyIncarnate( CompletionStatus cs ) {
+        return badPolicyIncarnate( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER badPolicyIncarnate( Throwable t ) {
+        return badPolicyIncarnate( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER badPolicyIncarnate(  ) {
+        return badPolicyIncarnate( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_EXC_COMP_ESTABLISHED = OMGVMCID.value + 6 ;
+    
+    public OBJ_ADAPTER piExcCompEstablished( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( PI_EXC_COMP_ESTABLISHED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.piExcCompEstablished",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER piExcCompEstablished( CompletionStatus cs ) {
+        return piExcCompEstablished( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER piExcCompEstablished( Throwable t ) {
+        return piExcCompEstablished( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER piExcCompEstablished(  ) {
+        return piExcCompEstablished( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NULL_SERVANT_RETURNED = OMGVMCID.value + 7 ;
+    
+    public OBJ_ADAPTER nullServantReturned( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( NULL_SERVANT_RETURNED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.nullServantReturned",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER nullServantReturned( CompletionStatus cs ) {
+        return nullServantReturned( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER nullServantReturned( Throwable t ) {
+        return nullServantReturned( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER nullServantReturned(  ) {
+        return nullServantReturned( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // UNKNOWN
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNKNOWN_USER_EXCEPTION = OMGVMCID.value + 1 ;
+    
+    public UNKNOWN unknownUserException( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_USER_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "OMG.unknownUserException",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownUserException( CompletionStatus cs ) {
+        return unknownUserException( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownUserException( Throwable t ) {
+        return unknownUserException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownUserException(  ) {
+        return unknownUserException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNSUPPORTED_SYSTEM_EXCEPTION = OMGVMCID.value + 2 ;
+    
+    public UNKNOWN unsupportedSystemException( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNSUPPORTED_SYSTEM_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.unsupportedSystemException",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unsupportedSystemException( CompletionStatus cs ) {
+        return unsupportedSystemException( cs, null  ) ;
+    }
+    
+    public UNKNOWN unsupportedSystemException( Throwable t ) {
+        return unsupportedSystemException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unsupportedSystemException(  ) {
+        return unsupportedSystemException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PI_UNKNOWN_USER_EXCEPTION = OMGVMCID.value + 3 ;
+    
+    public UNKNOWN piUnknownUserException( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( PI_UNKNOWN_USER_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "OMG.piUnknownUserException",
+                parameters, OMGSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN piUnknownUserException( CompletionStatus cs ) {
+        return piUnknownUserException( cs, null  ) ;
+    }
+    
+    public UNKNOWN piUnknownUserException( Throwable t ) {
+        return piUnknownUserException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN piUnknownUserException(  ) {
+        return piUnknownUserException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/OMGSystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,131 @@
+OMG.idlContextNotFound="IOP02200001: (BAD_CONTEXT) IDL context not found"
+OMG.noMatchingIdlContext="IOP02200002: (BAD_CONTEXT) No matching IDL context property"
+OMG.depPreventDestruction="IOP01600001: (BAD_INV_ORDER) Dependency exists in IFR preventing destruction of this object"
+OMG.destroyIndestructible="IOP01600002: (BAD_INV_ORDER) Attempt to destroy indestructible objects in IFR"
+OMG.shutdownWaitForCompletionDeadlock="IOP01600003: (BAD_INV_ORDER) Operation would deadlock"
+OMG.badOperationAfterShutdown="IOP01600004: (BAD_INV_ORDER) ORB has shutdown"
+OMG.badInvoke="IOP01600005: (BAD_INV_ORDER) Attempt to invoke send or invoke operation of the same Request object more than once "
+OMG.badSetServantManager="IOP01600006: (BAD_INV_ORDER) Attempt to set a servent manager after one has already been set"
+OMG.badArgumentsCall="IOP01600007: (BAD_INV_ORDER) ServerRequest::arguments called more than once or after a call to ServerRequest::set_exception"
+OMG.badCtxCall="IOP01600008: (BAD_INV_ORDER) ServerRequest::ctx called more than once or before ServerRequest::arguments or after ServerRequest::ctx, ServerRequest::set_result or ServerRequest::set_exception"
+OMG.badResultCall="IOP01600009: (BAD_INV_ORDER) ServerRequest::set_result called more than once or before ServerRequest::arguments or after ServerRequest::set_result or ServerRequest::set_exception"
+OMG.badSend="IOP01600010: (BAD_INV_ORDER) Attempt to send a DII request after it was sent previously"
+OMG.badPollBefore="IOP01600011: (BAD_INV_ORDER) Attempt to poll a DII request or to retrieve its result before the request was sent"
+OMG.badPollAfter="IOP01600012: (BAD_INV_ORDER) Attempt to poll a DII request or to retrieve its result after the result was retrieved previously"
+OMG.badPollSync="IOP01600013: (BAD_INV_ORDER) Attempt to poll a synchronous DII request or to retrieve results from a synchronous DII request"
+OMG.invalidPiCall1="IOP01600014: (BAD_INV_ORDER) Invalid call to forward_reference() when reply status is not LOCATION_FORWARD"
+OMG.invalidPiCall2="IOP01600014: (BAD_INV_ORDER) Cannot access this attribute or method at this point"
+OMG.invalidPiCall3="IOP01600014: (BAD_INV_ORDER) Cannot call set_slot from within an ORBInitializer"
+OMG.invalidPiCall4="IOP01600014: (BAD_INV_ORDER) Cannot call get_slot from within an ORBInitializer"
+OMG.serviceContextAddFailed="IOP01600015: (BAD_INV_ORDER) Service context add failed in portable interceptor because a service context with id {0} already exists"
+OMG.policyFactoryRegFailed="IOP01600016: (BAD_INV_ORDER) Registration of PolicyFactory failed because a factory already exists for the given PolicyType {0}"
+OMG.createPoaDestroy="IOP01600017: (BAD_INV_ORDER) POA cannot create POAs while undergoing destruction"
+OMG.priorityReassign="IOP01600018: (BAD_INV_ORDER) Attempt to reassign priority"
+OMG.xaStartOutsize="IOP01600019: (BAD_INV_ORDER) An OTS/XA integration xa_start() call returned XAER_OUTSIDE"
+OMG.xaStartProto="IOP01600020: (BAD_INV_ORDER) An OTS/XA integration xa_ call returned XAER_PROTO"
+OMG.badServantManagerType="IOP01200001: (BAD_OPERATION) ServantManager returned wrong servant type"
+OMG.operationUnknownToTarget="IOP01200002: (BAD_OPERATION) Operation or attribute not known to target object "
+OMG.unableRegisterValueFactory="IOP00100001: (BAD_PARAM) Failure to register, unregister or lookup value factory"
+OMG.ridAlreadyDefined="IOP00100002: (BAD_PARAM) RID already defined in IFR"
+OMG.nameUsedIfr="IOP00100003: (BAD_PARAM) Name already used in the context in IFR "
+OMG.targetNotContainer="IOP00100004: (BAD_PARAM) Target is not a valid container"
+OMG.nameClash="IOP00100005: (BAD_PARAM) Name clash in inherited context"
+OMG.notSerializable="IOP00100006: (BAD_PARAM) Class {0} is not Serializable"
+OMG.soBadSchemeName="IOP00100007: (BAD_PARAM) string_to_object conversion failed due to bad scheme name"
+OMG.soBadAddress="IOP00100008: (BAD_PARAM) string_to_object conversion failed due to bad address"
+OMG.soBadSchemaSpecific="IOP00100009: (BAD_PARAM) string_to_object conversion failed due to bad bad schema specific part"
+OMG.soNonSpecific="IOP00100010: (BAD_PARAM) string_to_object conversion failed due to non specific reason"
+OMG.irDeriveAbsIntBase="IOP00100011: (BAD_PARAM) Attempt to derive abstract interface from non-abstract base interface in the Interface Repository"
+OMG.irValueSupport="IOP00100012: (BAD_PARAM) Attempt to let a ValueDef support more than one non-abstract interface in the Interface Repository"
+OMG.incompleteTypecode="IOP00100013: (BAD_PARAM) Attempt to use an incomplete TypeCode as a parameter"
+OMG.invalidObjectId="IOP00100014: (BAD_PARAM) Invalid object id passed to POA::create_reference_by_id "
+OMG.typecodeBadName="IOP00100015: (BAD_PARAM) Bad name argument in TypeCode operation"
+OMG.typecodeBadRepid="IOP00100016: (BAD_PARAM) Bad RepositoryId argument in TypeCode operation"
+OMG.typecodeInvMember="IOP00100017: (BAD_PARAM) Invalid member name in TypeCode operation "
+OMG.tcUnionDupLabel="IOP00100018: (BAD_PARAM) Duplicate label value in create_union_tc "
+OMG.tcUnionIncompatible="IOP00100019: (BAD_PARAM) Incompatible TypeCode of label and discriminator in create_union_tc "
+OMG.tcUnionBadDisc="IOP00100020: (BAD_PARAM) Supplied discriminator type illegitimate in create_union_tc "
+OMG.setExceptionBadAny="IOP00100021: (BAD_PARAM) Any passed to ServerRequest::set_exception does not contain an exception "
+OMG.setExceptionUnlisted="IOP00100022: (BAD_PARAM) Unlisted user exception passed to ServerRequest::set_exception "
+OMG.noClientWcharCodesetCtx="IOP00100023: (BAD_PARAM) wchar transmission code set not in service context"
+OMG.illegalServiceContext="IOP00100024: (BAD_PARAM) Service context is not in OMG-defined range"
+OMG.enumOutOfRange="IOP00100025: (BAD_PARAM) Enum value out of range"
+OMG.invalidServiceContextId="IOP00100026: (BAD_PARAM) Invalid service context Id in portable interceptor"
+OMG.rirWithNullObject="IOP00100027: (BAD_PARAM) Attempt to call register_initial_reference with a null Object"
+OMG.invalidComponentId="IOP00100028: (BAD_PARAM) Invalid component Id {0} in portable interceptor"
+OMG.invalidProfileId="IOP00100029: (BAD_PARAM) Profile ID does not define a known profile or it is impossible to add components to that profile"
+OMG.policyTypeDuplicate="IOP00100030: (BAD_PARAM) Two or more Policy objects with the same PolicyType value supplied to Object::set_policy_overrides or PolicyManager::set_policy_overrides"
+OMG.badOnewayDefinition="IOP00100031: (BAD_PARAM) Attempt to define a oneway operation with non-void result, out or inout parameters or user exceptions"
+OMG.diiForImplicitOperation="IOP00100032: (BAD_PARAM) DII asked to create request for an implicit operation"
+OMG.xaCallInval="IOP00100033: (BAD_PARAM) An OTS/XA integration xa_ call returned XAER_INVAL"
+OMG.unionBadDiscriminator="IOP00100034: (BAD_PARAM) Union branch modifier method called with bad case label discriminator"
+OMG.ctxIllegalPropertyName="IOP00100035: (BAD_PARAM) Illegal IDL context property name"
+OMG.ctxIllegalSearchString="IOP00100036: (BAD_PARAM) Illegal IDL property search string"
+OMG.ctxIllegalName="IOP00100037: (BAD_PARAM) Illegal IDL context name"
+OMG.ctxNonEmpty="IOP00100038: (BAD_PARAM) Non-empty IDL context"
+OMG.invalidStreamFormatVersion="IOP00100039: (BAD_PARAM) Unsupported RMI/IDL custom value type stream format {0}"
+OMG.notAValueoutputstream="IOP00100040: (BAD_PARAM) ORB output stream does not support ValueOutputStream interface"
+OMG.notAValueinputstream="IOP00100041: (BAD_PARAM) ORB input stream does not support ValueInputStream interface"
+OMG.marshallIncompleteTypecode="IOP01100001: (BAD_TYPECODE) Attempt to marshal incomplete TypeCode"
+OMG.badMemberTypecode="IOP01100002: (BAD_TYPECODE) Member type code illegitimate in TypeCode operation"
+OMG.illegalParameter="IOP01100003: (BAD_TYPECODE) Illegal parameter type"
+OMG.charNotInCodeset="IOP02400001: (DATA_CONVERSION) Character does not map to negotiated transmission code set"
+OMG.priorityMapFailre="IOP02400002: (DATA_CONVERSION) Failure of PriorityMapping object"
+OMG.noUsableProfile="IOP00300001: (IMP_LIMIT) Unable to use any profile in IOR"
+OMG.priorityRangeRestrict="IOP00900001: (INITIALIZE) Priority range too restricted for ORB"
+OMG.noServerWcharCodesetCmp="IOP00500001: (INV_OBJREF) wchar Code Set support not specified"
+OMG.codesetComponentRequired="IOP00500002: (INV_OBJREF) Codeset component required for type using wchar or wstring data"
+OMG.iorPolicyReconcileError="IOP02900001: (INV_POLICY) Unable to reconcile IOR specified policy with effective policy override"
+OMG.policyUnknown="IOP02900002: (INV_POLICY) Invalid PolicyType"
+OMG.noPolicyFactory="IOP02900003: (INV_POLICY) No PolicyFactory has been registered for the given PolicyType"
+OMG.xaRmerr="IOP00700001: (INTERNAL) An OTS/XA integration xa_ call returned XAER_RMERR"
+OMG.xaRmfail="IOP00700002: (INTERNAL) An OTS/XA integration xa_ call returned XAER_RMFAIL"
+OMG.noIr="IOP02100001: (INTF_REPOS) Interface Repository not available"
+OMG.noInterfaceInIr="IOP02100002: (INTF_REPOS) No entry for requested interface in Interface Repository"
+OMG.unableLocateValueFactory="IOP00800001: (MARSHAL) Unable to locate value factory"
+OMG.setResultBeforeCtx="IOP00800002: (MARSHAL) ServerRequest::set_result called before ServerRequest::ctx when the operation IDL contains a context clause "
+OMG.badNvlist="IOP00800003: (MARSHAL) NVList passed to ServerRequest::arguments does not describe all parameters passed by client"
+OMG.notAnObjectImpl="IOP00800004: (MARSHAL) Attempt to marshal Local object"
+OMG.wcharBadGiopVersionSent="IOP00800005: (MARSHAL) wchar or wstring data erroneosly sent by client over GIOP 1.0 connection "
+OMG.wcharBadGiopVersionReturned="IOP00800006: (MARSHAL) wchar or wstring data erroneously returned by server over GIOP 1.0 connection "
+OMG.unsupportedFormatVersion="IOP00800007: (MARSHAL) Unsupported RMI/IDL custom value type stream format"
+OMG.rmiiiopOptionalDataIncompatible1="IOP00800008: (MARSHAL) No optional data available"
+OMG.rmiiiopOptionalDataIncompatible2="IOP00800008: (MARSHAL) Not enough space left in current chunk"
+OMG.rmiiiopOptionalDataIncompatible3="IOP00800008: (MARSHAL) Not enough optional data available"
+OMG.missingLocalValueImpl="IOP01000001: (NO_IMPLEMENT) Missing local value implementation"
+OMG.incompatibleValueImpl="IOP01000002: (NO_IMPLEMENT) Incompatible value implementation version"
+OMG.noUsableProfile2="IOP01000003: (NO_IMPLEMENT) Unable to use any profile in IOR"
+OMG.diiLocalObject="IOP01000004: (NO_IMPLEMENT) Attempt to use DII on Local object"
+OMG.bioReset="IOP01000005: (NO_IMPLEMENT) Biomolecular Sequence Analysis iterator cannot be reset"
+OMG.bioMetaNotAvailable="IOP01000006: (NO_IMPLEMENT) Biomolecular Sequence Analysis metadata is not available as XML"
+OMG.bioGenomicNoIterator="IOP01000007: (NO_IMPLEMENT) Genomic Maps iterator cannot be reset"
+OMG.piOperationNotSupported1="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support arguments()"
+OMG.piOperationNotSupported2="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support exceptions()"
+OMG.piOperationNotSupported3="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support contexts()"
+OMG.piOperationNotSupported4="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support operation_context()"
+OMG.piOperationNotSupported5="IOP01300001: (NO_RESOURCES) The portable Java bindings do not support result()"
+OMG.piOperationNotSupported6="IOP01300001: (NO_RESOURCES) The object ID was never set"
+OMG.piOperationNotSupported7="IOP01300001: (NO_RESOURCES) The ObjectKeyTemplate was never set"
+OMG.piOperationNotSupported8="IOP01300001: (NO_RESOURCES) ServerRequest::arguments() was never called"
+OMG.noConnectionPriority="IOP01300002: (NO_RESOURCES) No connection for request's priority"
+OMG.xaRb="IOP02700001: (TRANSACTION_ROLLEDBACK) An OTS/XA integration xa_ call returned XAER_RB"
+OMG.xaNota="IOP02700002: (TRANSACTION_ROLLEDBACK) An OTS/XA integration xa_ call returned XAER_NOTA"
+OMG.xaEndTrueRollbackDeferred="IOP02700003: (TRANSACTION_ROLLEDBACK) OTS/XA integration end() was called with success set to TRUE while transaction rollback was deferred"
+OMG.poaRequestDiscard="IOP01700001: (TRANSIENT) Request discarded because of resource exhaustion in POA or because POA is in DISCARDING state"
+OMG.noUsableProfile3="IOP01700002: (TRANSIENT) No usable profile in IOR"
+OMG.requestCancelled="IOP01700003: (TRANSIENT) Request cancelled"
+OMG.poaDestroyed="IOP01700004: (TRANSIENT) POA destroyed"
+OMG.unregisteredValueAsObjref="IOP02500001: (OBJECT_NOT_EXIST) Attempt to pass an unactivated (unregistered) value as an object reference"
+OMG.noObjectAdaptor="IOP02500002: (OBJECT_NOT_EXIST) Failed to create or locate Object Adaptor"
+OMG.bioNotAvailable="IOP02500003: (OBJECT_NOT_EXIST) Biomolecular Sequence Analysis Service is no longer available"
+OMG.objectAdapterInactive="IOP02500004: (OBJECT_NOT_EXIST) Object Adapter Inactive"
+OMG.adapterActivatorException="IOP02300001: (OBJ_ADAPTER) System exception in POA::unknown_adapter for POA {0} with parent POA {1}"
+OMG.badServantType="IOP02300002: (OBJ_ADAPTER) Incorrect servant type returned by servant manager "
+OMG.noDefaultServant="IOP02300003: (OBJ_ADAPTER) No default servant available [POA policy]"
+OMG.noServantManager="IOP02300004: (OBJ_ADAPTER) No servant manager available [POA Policy]"
+OMG.badPolicyIncarnate="IOP02300005: (OBJ_ADAPTER) Violation of POA policy by ServantActivator::incarnate"
+OMG.piExcCompEstablished="IOP02300006: (OBJ_ADAPTER) Exception in PortableInterceptor::IORInterceptor.components_established"
+OMG.nullServantReturned="IOP02300007: (OBJ_ADAPTER) Null servant returned by servant manager"
+OMG.unknownUserException="IOP00000001: (UNKNOWN) Unlisted user exception received by client "
+OMG.unsupportedSystemException="IOP00000002: (UNKNOWN) Non-standard System Exception not supported"
+OMG.piUnknownUserException="IOP00000003: (UNKNOWN) An unknown user exception received by a portable interceptor"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,8559 @@
+// Log wrapper class for Sun private system exceptions in group ORBUTIL
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc on Fri May 25 16:50:39 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.BAD_OPERATION ;
+import org.omg.CORBA.BAD_PARAM ;
+import org.omg.CORBA.BAD_INV_ORDER ;
+import org.omg.CORBA.BAD_TYPECODE ;
+import org.omg.CORBA.COMM_FAILURE ;
+import org.omg.CORBA.DATA_CONVERSION ;
+import org.omg.CORBA.INV_OBJREF ;
+import org.omg.CORBA.INITIALIZE ;
+import org.omg.CORBA.INTERNAL ;
+import org.omg.CORBA.MARSHAL ;
+import org.omg.CORBA.NO_IMPLEMENT ;
+import org.omg.CORBA.OBJ_ADAPTER ;
+import org.omg.CORBA.OBJECT_NOT_EXIST ;
+import org.omg.CORBA.TRANSIENT ;
+import org.omg.CORBA.UNKNOWN ;
+
+public class ORBUtilSystemException extends LogWrapperBase {
+    
+    public ORBUtilSystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new ORBUtilSystemException( logger ) ;
+        }
+    } ;
+    
+    public static ORBUtilSystemException get( ORB orb, String logDomain )
+    {
+        ORBUtilSystemException wrapper = 
+            (ORBUtilSystemException) orb.getLogWrapper( logDomain, 
+                "ORBUTIL", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static ORBUtilSystemException get( String logDomain )
+    {
+        ORBUtilSystemException wrapper = 
+            (ORBUtilSystemException) ORB.staticGetLogWrapper( logDomain, 
+                "ORBUTIL", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_OPERATION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ADAPTER_ID_NOT_AVAILABLE = SUNVMCID.value + 201 ;
+    
+    public BAD_OPERATION adapterIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ADAPTER_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.adapterIdNotAvailable",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION adapterIdNotAvailable( CompletionStatus cs ) {
+        return adapterIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION adapterIdNotAvailable( Throwable t ) {
+        return adapterIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION adapterIdNotAvailable(  ) {
+        return adapterIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVER_ID_NOT_AVAILABLE = SUNVMCID.value + 202 ;
+    
+    public BAD_OPERATION serverIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( SERVER_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.serverIdNotAvailable",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION serverIdNotAvailable( CompletionStatus cs ) {
+        return serverIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION serverIdNotAvailable( Throwable t ) {
+        return serverIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION serverIdNotAvailable(  ) {
+        return serverIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ORB_ID_NOT_AVAILABLE = SUNVMCID.value + 203 ;
+    
+    public BAD_OPERATION orbIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ORB_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.orbIdNotAvailable",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION orbIdNotAvailable( CompletionStatus cs ) {
+        return orbIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION orbIdNotAvailable( Throwable t ) {
+        return orbIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION orbIdNotAvailable(  ) {
+        return orbIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OBJECT_ADAPTER_ID_NOT_AVAILABLE = SUNVMCID.value + 204 ;
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( OBJECT_ADAPTER_ID_NOT_AVAILABLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.objectAdapterIdNotAvailable",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable( CompletionStatus cs ) {
+        return objectAdapterIdNotAvailable( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable( Throwable t ) {
+        return objectAdapterIdNotAvailable( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION objectAdapterIdNotAvailable(  ) {
+        return objectAdapterIdNotAvailable( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONNECTING_SERVANT = SUNVMCID.value + 205 ;
+    
+    public BAD_OPERATION connectingServant( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( CONNECTING_SERVANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.connectingServant",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION connectingServant( CompletionStatus cs ) {
+        return connectingServant( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION connectingServant( Throwable t ) {
+        return connectingServant( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION connectingServant(  ) {
+        return connectingServant( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXTRACT_WRONG_TYPE = SUNVMCID.value + 206 ;
+    
+    public BAD_OPERATION extractWrongType( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        BAD_OPERATION exc = new BAD_OPERATION( EXTRACT_WRONG_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.FINE, "ORBUTIL.extractWrongType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION extractWrongType( CompletionStatus cs, Object arg0, Object arg1) {
+        return extractWrongType( cs, null, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION extractWrongType( Throwable t, Object arg0, Object arg1) {
+        return extractWrongType( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION extractWrongType(  Object arg0, Object arg1) {
+        return extractWrongType( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int EXTRACT_WRONG_TYPE_LIST = SUNVMCID.value + 207 ;
+    
+    public BAD_OPERATION extractWrongTypeList( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        BAD_OPERATION exc = new BAD_OPERATION( EXTRACT_WRONG_TYPE_LIST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.extractWrongTypeList",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION extractWrongTypeList( CompletionStatus cs, Object arg0, Object arg1) {
+        return extractWrongTypeList( cs, null, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION extractWrongTypeList( Throwable t, Object arg0, Object arg1) {
+        return extractWrongTypeList( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION extractWrongTypeList(  Object arg0, Object arg1) {
+        return extractWrongTypeList( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int BAD_STRING_BOUNDS = SUNVMCID.value + 208 ;
+    
+    public BAD_OPERATION badStringBounds( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        BAD_OPERATION exc = new BAD_OPERATION( BAD_STRING_BOUNDS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.badStringBounds",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION badStringBounds( CompletionStatus cs, Object arg0, Object arg1) {
+        return badStringBounds( cs, null, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION badStringBounds( Throwable t, Object arg0, Object arg1) {
+        return badStringBounds( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION badStringBounds(  Object arg0, Object arg1) {
+        return badStringBounds( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int INSERT_OBJECT_INCOMPATIBLE = SUNVMCID.value + 210 ;
+    
+    public BAD_OPERATION insertObjectIncompatible( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( INSERT_OBJECT_INCOMPATIBLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.insertObjectIncompatible",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION insertObjectIncompatible( CompletionStatus cs ) {
+        return insertObjectIncompatible( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION insertObjectIncompatible( Throwable t ) {
+        return insertObjectIncompatible( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION insertObjectIncompatible(  ) {
+        return insertObjectIncompatible( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INSERT_OBJECT_FAILED = SUNVMCID.value + 211 ;
+    
+    public BAD_OPERATION insertObjectFailed( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( INSERT_OBJECT_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.insertObjectFailed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION insertObjectFailed( CompletionStatus cs ) {
+        return insertObjectFailed( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION insertObjectFailed( Throwable t ) {
+        return insertObjectFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION insertObjectFailed(  ) {
+        return insertObjectFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXTRACT_OBJECT_INCOMPATIBLE = SUNVMCID.value + 212 ;
+    
+    public BAD_OPERATION extractObjectIncompatible( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( EXTRACT_OBJECT_INCOMPATIBLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.extractObjectIncompatible",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION extractObjectIncompatible( CompletionStatus cs ) {
+        return extractObjectIncompatible( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION extractObjectIncompatible( Throwable t ) {
+        return extractObjectIncompatible( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION extractObjectIncompatible(  ) {
+        return extractObjectIncompatible( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int FIXED_NOT_MATCH = SUNVMCID.value + 213 ;
+    
+    public BAD_OPERATION fixedNotMatch( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( FIXED_NOT_MATCH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.fixedNotMatch",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION fixedNotMatch( CompletionStatus cs ) {
+        return fixedNotMatch( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION fixedNotMatch( Throwable t ) {
+        return fixedNotMatch( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION fixedNotMatch(  ) {
+        return fixedNotMatch( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int FIXED_BAD_TYPECODE = SUNVMCID.value + 214 ;
+    
+    public BAD_OPERATION fixedBadTypecode( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( FIXED_BAD_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.fixedBadTypecode",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION fixedBadTypecode( CompletionStatus cs ) {
+        return fixedBadTypecode( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION fixedBadTypecode( Throwable t ) {
+        return fixedBadTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION fixedBadTypecode(  ) {
+        return fixedBadTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_EXCEPTION_CALLED_NULL_ARGS = SUNVMCID.value + 223 ;
+    
+    public BAD_OPERATION setExceptionCalledNullArgs( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( SET_EXCEPTION_CALLED_NULL_ARGS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.setExceptionCalledNullArgs",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION setExceptionCalledNullArgs( CompletionStatus cs ) {
+        return setExceptionCalledNullArgs( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION setExceptionCalledNullArgs( Throwable t ) {
+        return setExceptionCalledNullArgs( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION setExceptionCalledNullArgs(  ) {
+        return setExceptionCalledNullArgs( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_EXCEPTION_CALLED_BAD_TYPE = SUNVMCID.value + 224 ;
+    
+    public BAD_OPERATION setExceptionCalledBadType( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( SET_EXCEPTION_CALLED_BAD_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.setExceptionCalledBadType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION setExceptionCalledBadType( CompletionStatus cs ) {
+        return setExceptionCalledBadType( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION setExceptionCalledBadType( Throwable t ) {
+        return setExceptionCalledBadType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION setExceptionCalledBadType(  ) {
+        return setExceptionCalledBadType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONTEXT_CALLED_OUT_OF_ORDER = SUNVMCID.value + 225 ;
+    
+    public BAD_OPERATION contextCalledOutOfOrder( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( CONTEXT_CALLED_OUT_OF_ORDER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.contextCalledOutOfOrder",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION contextCalledOutOfOrder( CompletionStatus cs ) {
+        return contextCalledOutOfOrder( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION contextCalledOutOfOrder( Throwable t ) {
+        return contextCalledOutOfOrder( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION contextCalledOutOfOrder(  ) {
+        return contextCalledOutOfOrder( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_ORB_CONFIGURATOR = SUNVMCID.value + 226 ;
+    
+    public BAD_OPERATION badOrbConfigurator( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_OPERATION exc = new BAD_OPERATION( BAD_ORB_CONFIGURATOR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badOrbConfigurator",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION badOrbConfigurator( CompletionStatus cs, Object arg0) {
+        return badOrbConfigurator( cs, null, arg0 ) ;
+    }
+    
+    public BAD_OPERATION badOrbConfigurator( Throwable t, Object arg0) {
+        return badOrbConfigurator( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_OPERATION badOrbConfigurator(  Object arg0) {
+        return badOrbConfigurator( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ORB_CONFIGURATOR_ERROR = SUNVMCID.value + 227 ;
+    
+    public BAD_OPERATION orbConfiguratorError( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ORB_CONFIGURATOR_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.orbConfiguratorError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION orbConfiguratorError( CompletionStatus cs ) {
+        return orbConfiguratorError( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION orbConfiguratorError( Throwable t ) {
+        return orbConfiguratorError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION orbConfiguratorError(  ) {
+        return orbConfiguratorError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ORB_DESTROYED = SUNVMCID.value + 228 ;
+    
+    public BAD_OPERATION orbDestroyed( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ORB_DESTROYED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.orbDestroyed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION orbDestroyed( CompletionStatus cs ) {
+        return orbDestroyed( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION orbDestroyed( Throwable t ) {
+        return orbDestroyed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION orbDestroyed(  ) {
+        return orbDestroyed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NEGATIVE_BOUNDS = SUNVMCID.value + 229 ;
+    
+    public BAD_OPERATION negativeBounds( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( NEGATIVE_BOUNDS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.negativeBounds",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION negativeBounds( CompletionStatus cs ) {
+        return negativeBounds( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION negativeBounds( Throwable t ) {
+        return negativeBounds( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION negativeBounds(  ) {
+        return negativeBounds( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXTRACT_NOT_INITIALIZED = SUNVMCID.value + 230 ;
+    
+    public BAD_OPERATION extractNotInitialized( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( EXTRACT_NOT_INITIALIZED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.extractNotInitialized",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION extractNotInitialized( CompletionStatus cs ) {
+        return extractNotInitialized( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION extractNotInitialized( Throwable t ) {
+        return extractNotInitialized( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION extractNotInitialized(  ) {
+        return extractNotInitialized( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXTRACT_OBJECT_FAILED = SUNVMCID.value + 231 ;
+    
+    public BAD_OPERATION extractObjectFailed( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( EXTRACT_OBJECT_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.extractObjectFailed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION extractObjectFailed( CompletionStatus cs ) {
+        return extractObjectFailed( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION extractObjectFailed( Throwable t ) {
+        return extractObjectFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION extractObjectFailed(  ) {
+        return extractObjectFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int METHOD_NOT_FOUND_IN_TIE = SUNVMCID.value + 232 ;
+    
+    public BAD_OPERATION methodNotFoundInTie( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        BAD_OPERATION exc = new BAD_OPERATION( METHOD_NOT_FOUND_IN_TIE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.FINE, "ORBUTIL.methodNotFoundInTie",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION methodNotFoundInTie( CompletionStatus cs, Object arg0, Object arg1) {
+        return methodNotFoundInTie( cs, null, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION methodNotFoundInTie( Throwable t, Object arg0, Object arg1) {
+        return methodNotFoundInTie( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public BAD_OPERATION methodNotFoundInTie(  Object arg0, Object arg1) {
+        return methodNotFoundInTie( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int CLASS_NOT_FOUND1 = SUNVMCID.value + 233 ;
+    
+    public BAD_OPERATION classNotFound1( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_OPERATION exc = new BAD_OPERATION( CLASS_NOT_FOUND1, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "ORBUTIL.classNotFound1",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION classNotFound1( CompletionStatus cs, Object arg0) {
+        return classNotFound1( cs, null, arg0 ) ;
+    }
+    
+    public BAD_OPERATION classNotFound1( Throwable t, Object arg0) {
+        return classNotFound1( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_OPERATION classNotFound1(  Object arg0) {
+        return classNotFound1( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int CLASS_NOT_FOUND2 = SUNVMCID.value + 234 ;
+    
+    public BAD_OPERATION classNotFound2( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_OPERATION exc = new BAD_OPERATION( CLASS_NOT_FOUND2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "ORBUTIL.classNotFound2",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION classNotFound2( CompletionStatus cs, Object arg0) {
+        return classNotFound2( cs, null, arg0 ) ;
+    }
+    
+    public BAD_OPERATION classNotFound2( Throwable t, Object arg0) {
+        return classNotFound2( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_OPERATION classNotFound2(  Object arg0) {
+        return classNotFound2( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int CLASS_NOT_FOUND3 = SUNVMCID.value + 235 ;
+    
+    public BAD_OPERATION classNotFound3( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_OPERATION exc = new BAD_OPERATION( CLASS_NOT_FOUND3, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "ORBUTIL.classNotFound3",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION classNotFound3( CompletionStatus cs, Object arg0) {
+        return classNotFound3( cs, null, arg0 ) ;
+    }
+    
+    public BAD_OPERATION classNotFound3( Throwable t, Object arg0) {
+        return classNotFound3( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_OPERATION classNotFound3(  Object arg0) {
+        return classNotFound3( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int GET_DELEGATE_SERVANT_NOT_ACTIVE = SUNVMCID.value + 236 ;
+    
+    public BAD_OPERATION getDelegateServantNotActive( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( GET_DELEGATE_SERVANT_NOT_ACTIVE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getDelegateServantNotActive",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION getDelegateServantNotActive( CompletionStatus cs ) {
+        return getDelegateServantNotActive( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION getDelegateServantNotActive( Throwable t ) {
+        return getDelegateServantNotActive( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION getDelegateServantNotActive(  ) {
+        return getDelegateServantNotActive( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_DELEGATE_WRONG_POLICY = SUNVMCID.value + 237 ;
+    
+    public BAD_OPERATION getDelegateWrongPolicy( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( GET_DELEGATE_WRONG_POLICY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getDelegateWrongPolicy",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION getDelegateWrongPolicy( CompletionStatus cs ) {
+        return getDelegateWrongPolicy( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION getDelegateWrongPolicy( Throwable t ) {
+        return getDelegateWrongPolicy( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION getDelegateWrongPolicy(  ) {
+        return getDelegateWrongPolicy( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_DELEGATE_REQUIRES_STUB = SUNVMCID.value + 238 ;
+    
+    public BAD_OPERATION setDelegateRequiresStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( SET_DELEGATE_REQUIRES_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.setDelegateRequiresStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION setDelegateRequiresStub( CompletionStatus cs ) {
+        return setDelegateRequiresStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION setDelegateRequiresStub( Throwable t ) {
+        return setDelegateRequiresStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION setDelegateRequiresStub(  ) {
+        return setDelegateRequiresStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_DELEGATE_REQUIRES_STUB = SUNVMCID.value + 239 ;
+    
+    public BAD_OPERATION getDelegateRequiresStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( GET_DELEGATE_REQUIRES_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getDelegateRequiresStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION getDelegateRequiresStub( CompletionStatus cs ) {
+        return getDelegateRequiresStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION getDelegateRequiresStub( Throwable t ) {
+        return getDelegateRequiresStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION getDelegateRequiresStub(  ) {
+        return getDelegateRequiresStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_TYPE_IDS_REQUIRES_STUB = SUNVMCID.value + 240 ;
+    
+    public BAD_OPERATION getTypeIdsRequiresStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( GET_TYPE_IDS_REQUIRES_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getTypeIdsRequiresStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION getTypeIdsRequiresStub( CompletionStatus cs ) {
+        return getTypeIdsRequiresStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION getTypeIdsRequiresStub( Throwable t ) {
+        return getTypeIdsRequiresStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION getTypeIdsRequiresStub(  ) {
+        return getTypeIdsRequiresStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_ORB_REQUIRES_STUB = SUNVMCID.value + 241 ;
+    
+    public BAD_OPERATION getOrbRequiresStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( GET_ORB_REQUIRES_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getOrbRequiresStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION getOrbRequiresStub( CompletionStatus cs ) {
+        return getOrbRequiresStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION getOrbRequiresStub( Throwable t ) {
+        return getOrbRequiresStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION getOrbRequiresStub(  ) {
+        return getOrbRequiresStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONNECT_REQUIRES_STUB = SUNVMCID.value + 242 ;
+    
+    public BAD_OPERATION connectRequiresStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( CONNECT_REQUIRES_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.connectRequiresStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION connectRequiresStub( CompletionStatus cs ) {
+        return connectRequiresStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION connectRequiresStub( Throwable t ) {
+        return connectRequiresStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION connectRequiresStub(  ) {
+        return connectRequiresStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int IS_LOCAL_REQUIRES_STUB = SUNVMCID.value + 243 ;
+    
+    public BAD_OPERATION isLocalRequiresStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( IS_LOCAL_REQUIRES_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.isLocalRequiresStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION isLocalRequiresStub( CompletionStatus cs ) {
+        return isLocalRequiresStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION isLocalRequiresStub( Throwable t ) {
+        return isLocalRequiresStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION isLocalRequiresStub(  ) {
+        return isLocalRequiresStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int REQUEST_REQUIRES_STUB = SUNVMCID.value + 244 ;
+    
+    public BAD_OPERATION requestRequiresStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( REQUEST_REQUIRES_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.requestRequiresStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION requestRequiresStub( CompletionStatus cs ) {
+        return requestRequiresStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION requestRequiresStub( Throwable t ) {
+        return requestRequiresStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION requestRequiresStub(  ) {
+        return requestRequiresStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_ACTIVATE_TIE_CALL = SUNVMCID.value + 245 ;
+    
+    public BAD_OPERATION badActivateTieCall( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( BAD_ACTIVATE_TIE_CALL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badActivateTieCall",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION badActivateTieCall( CompletionStatus cs ) {
+        return badActivateTieCall( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION badActivateTieCall( Throwable t ) {
+        return badActivateTieCall( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION badActivateTieCall(  ) {
+        return badActivateTieCall( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_PARAM
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NULL_PARAM = SUNVMCID.value + 201 ;
+    
+    public BAD_PARAM nullParam( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NULL_PARAM, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.nullParam",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM nullParam( CompletionStatus cs ) {
+        return nullParam( cs, null  ) ;
+    }
+    
+    public BAD_PARAM nullParam( Throwable t ) {
+        return nullParam( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM nullParam(  ) {
+        return nullParam( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNABLE_FIND_VALUE_FACTORY = SUNVMCID.value + 202 ;
+    
+    public BAD_PARAM unableFindValueFactory( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( UNABLE_FIND_VALUE_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.unableFindValueFactory",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM unableFindValueFactory( CompletionStatus cs ) {
+        return unableFindValueFactory( cs, null  ) ;
+    }
+    
+    public BAD_PARAM unableFindValueFactory( Throwable t ) {
+        return unableFindValueFactory( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM unableFindValueFactory(  ) {
+        return unableFindValueFactory( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ABSTRACT_FROM_NON_ABSTRACT = SUNVMCID.value + 203 ;
+    
+    public BAD_PARAM abstractFromNonAbstract( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( ABSTRACT_FROM_NON_ABSTRACT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.abstractFromNonAbstract",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM abstractFromNonAbstract( CompletionStatus cs ) {
+        return abstractFromNonAbstract( cs, null  ) ;
+    }
+    
+    public BAD_PARAM abstractFromNonAbstract( Throwable t ) {
+        return abstractFromNonAbstract( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM abstractFromNonAbstract(  ) {
+        return abstractFromNonAbstract( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_TAGGED_PROFILE = SUNVMCID.value + 204 ;
+    
+    public BAD_PARAM invalidTaggedProfile( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_TAGGED_PROFILE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidTaggedProfile",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidTaggedProfile( CompletionStatus cs ) {
+        return invalidTaggedProfile( cs, null  ) ;
+    }
+    
+    public BAD_PARAM invalidTaggedProfile( Throwable t ) {
+        return invalidTaggedProfile( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM invalidTaggedProfile(  ) {
+        return invalidTaggedProfile( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int OBJREF_FROM_FOREIGN_ORB = SUNVMCID.value + 205 ;
+    
+    public BAD_PARAM objrefFromForeignOrb( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( OBJREF_FROM_FOREIGN_ORB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.objrefFromForeignOrb",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM objrefFromForeignOrb( CompletionStatus cs ) {
+        return objrefFromForeignOrb( cs, null  ) ;
+    }
+    
+    public BAD_PARAM objrefFromForeignOrb( Throwable t ) {
+        return objrefFromForeignOrb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM objrefFromForeignOrb(  ) {
+        return objrefFromForeignOrb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int LOCAL_OBJECT_NOT_ALLOWED = SUNVMCID.value + 206 ;
+    
+    public BAD_PARAM localObjectNotAllowed( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( LOCAL_OBJECT_NOT_ALLOWED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.localObjectNotAllowed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM localObjectNotAllowed( CompletionStatus cs ) {
+        return localObjectNotAllowed( cs, null  ) ;
+    }
+    
+    public BAD_PARAM localObjectNotAllowed( Throwable t ) {
+        return localObjectNotAllowed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM localObjectNotAllowed(  ) {
+        return localObjectNotAllowed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NULL_OBJECT_REFERENCE = SUNVMCID.value + 207 ;
+    
+    public BAD_PARAM nullObjectReference( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NULL_OBJECT_REFERENCE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.nullObjectReference",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM nullObjectReference( CompletionStatus cs ) {
+        return nullObjectReference( cs, null  ) ;
+    }
+    
+    public BAD_PARAM nullObjectReference( Throwable t ) {
+        return nullObjectReference( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM nullObjectReference(  ) {
+        return nullObjectReference( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int COULD_NOT_LOAD_CLASS = SUNVMCID.value + 208 ;
+    
+    public BAD_PARAM couldNotLoadClass( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( COULD_NOT_LOAD_CLASS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotLoadClass",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM couldNotLoadClass( CompletionStatus cs, Object arg0) {
+        return couldNotLoadClass( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM couldNotLoadClass( Throwable t, Object arg0) {
+        return couldNotLoadClass( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM couldNotLoadClass(  Object arg0) {
+        return couldNotLoadClass( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_URL = SUNVMCID.value + 209 ;
+    
+    public BAD_PARAM badUrl( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( BAD_URL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badUrl",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM badUrl( CompletionStatus cs, Object arg0) {
+        return badUrl( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM badUrl( Throwable t, Object arg0) {
+        return badUrl( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM badUrl(  Object arg0) {
+        return badUrl( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int FIELD_NOT_FOUND = SUNVMCID.value + 210 ;
+    
+    public BAD_PARAM fieldNotFound( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( FIELD_NOT_FOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.fieldNotFound",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM fieldNotFound( CompletionStatus cs, Object arg0) {
+        return fieldNotFound( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM fieldNotFound( Throwable t, Object arg0) {
+        return fieldNotFound( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM fieldNotFound(  Object arg0) {
+        return fieldNotFound( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ERROR_SETTING_FIELD = SUNVMCID.value + 211 ;
+    
+    public BAD_PARAM errorSettingField( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        BAD_PARAM exc = new BAD_PARAM( ERROR_SETTING_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.errorSettingField",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM errorSettingField( CompletionStatus cs, Object arg0, Object arg1) {
+        return errorSettingField( cs, null, arg0, arg1 ) ;
+    }
+    
+    public BAD_PARAM errorSettingField( Throwable t, Object arg0, Object arg1) {
+        return errorSettingField( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public BAD_PARAM errorSettingField(  Object arg0, Object arg1) {
+        return errorSettingField( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int BOUNDS_ERROR_IN_DII_REQUEST = SUNVMCID.value + 212 ;
+    
+    public BAD_PARAM boundsErrorInDiiRequest( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BOUNDS_ERROR_IN_DII_REQUEST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.boundsErrorInDiiRequest",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM boundsErrorInDiiRequest( CompletionStatus cs ) {
+        return boundsErrorInDiiRequest( cs, null  ) ;
+    }
+    
+    public BAD_PARAM boundsErrorInDiiRequest( Throwable t ) {
+        return boundsErrorInDiiRequest( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM boundsErrorInDiiRequest(  ) {
+        return boundsErrorInDiiRequest( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PERSISTENT_SERVER_INIT_ERROR = SUNVMCID.value + 213 ;
+    
+    public BAD_PARAM persistentServerInitError( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( PERSISTENT_SERVER_INIT_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.persistentServerInitError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM persistentServerInitError( CompletionStatus cs ) {
+        return persistentServerInitError( cs, null  ) ;
+    }
+    
+    public BAD_PARAM persistentServerInitError( Throwable t ) {
+        return persistentServerInitError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM persistentServerInitError(  ) {
+        return persistentServerInitError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int COULD_NOT_CREATE_ARRAY = SUNVMCID.value + 214 ;
+    
+    public BAD_PARAM couldNotCreateArray( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        BAD_PARAM exc = new BAD_PARAM( COULD_NOT_CREATE_ARRAY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotCreateArray",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM couldNotCreateArray( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return couldNotCreateArray( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM couldNotCreateArray( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return couldNotCreateArray( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM couldNotCreateArray(  Object arg0, Object arg1, Object arg2) {
+        return couldNotCreateArray( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int COULD_NOT_SET_ARRAY = SUNVMCID.value + 215 ;
+    
+    public BAD_PARAM couldNotSetArray( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4) {
+        BAD_PARAM exc = new BAD_PARAM( COULD_NOT_SET_ARRAY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[5] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            parameters[3] = arg3 ;
+            parameters[4] = arg4 ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotSetArray",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM couldNotSetArray( CompletionStatus cs, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4) {
+        return couldNotSetArray( cs, null, arg0, arg1, arg2, arg3, arg4 ) ;
+    }
+    
+    public BAD_PARAM couldNotSetArray( Throwable t, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4) {
+        return couldNotSetArray( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2, arg3, arg4 ) ;
+    }
+    
+    public BAD_PARAM couldNotSetArray(  Object arg0, Object arg1, Object arg2, Object arg3, Object arg4) {
+        return couldNotSetArray( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2, arg3, arg4 ) ;
+    }
+    
+    public static final int ILLEGAL_BOOTSTRAP_OPERATION = SUNVMCID.value + 216 ;
+    
+    public BAD_PARAM illegalBootstrapOperation( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( ILLEGAL_BOOTSTRAP_OPERATION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.illegalBootstrapOperation",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM illegalBootstrapOperation( CompletionStatus cs, Object arg0) {
+        return illegalBootstrapOperation( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM illegalBootstrapOperation( Throwable t, Object arg0) {
+        return illegalBootstrapOperation( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM illegalBootstrapOperation(  Object arg0) {
+        return illegalBootstrapOperation( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BOOTSTRAP_RUNTIME_EXCEPTION = SUNVMCID.value + 217 ;
+    
+    public BAD_PARAM bootstrapRuntimeException( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BOOTSTRAP_RUNTIME_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.bootstrapRuntimeException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM bootstrapRuntimeException( CompletionStatus cs ) {
+        return bootstrapRuntimeException( cs, null  ) ;
+    }
+    
+    public BAD_PARAM bootstrapRuntimeException( Throwable t ) {
+        return bootstrapRuntimeException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM bootstrapRuntimeException(  ) {
+        return bootstrapRuntimeException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BOOTSTRAP_EXCEPTION = SUNVMCID.value + 218 ;
+    
+    public BAD_PARAM bootstrapException( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BOOTSTRAP_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.bootstrapException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM bootstrapException( CompletionStatus cs ) {
+        return bootstrapException( cs, null  ) ;
+    }
+    
+    public BAD_PARAM bootstrapException( Throwable t ) {
+        return bootstrapException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM bootstrapException(  ) {
+        return bootstrapException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STRING_EXPECTED = SUNVMCID.value + 219 ;
+    
+    public BAD_PARAM stringExpected( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( STRING_EXPECTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.stringExpected",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM stringExpected( CompletionStatus cs ) {
+        return stringExpected( cs, null  ) ;
+    }
+    
+    public BAD_PARAM stringExpected( Throwable t ) {
+        return stringExpected( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM stringExpected(  ) {
+        return stringExpected( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_TYPECODE_KIND = SUNVMCID.value + 220 ;
+    
+    public BAD_PARAM invalidTypecodeKind( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_TYPECODE_KIND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidTypecodeKind",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidTypecodeKind( CompletionStatus cs, Object arg0) {
+        return invalidTypecodeKind( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM invalidTypecodeKind( Throwable t, Object arg0) {
+        return invalidTypecodeKind( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM invalidTypecodeKind(  Object arg0) {
+        return invalidTypecodeKind( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int SOCKET_FACTORY_AND_CONTACT_INFO_LIST_AT_SAME_TIME = SUNVMCID.value + 221 ;
+    
+    public BAD_PARAM socketFactoryAndContactInfoListAtSameTime( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( SOCKET_FACTORY_AND_CONTACT_INFO_LIST_AT_SAME_TIME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.socketFactoryAndContactInfoListAtSameTime",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM socketFactoryAndContactInfoListAtSameTime( CompletionStatus cs ) {
+        return socketFactoryAndContactInfoListAtSameTime( cs, null  ) ;
+    }
+    
+    public BAD_PARAM socketFactoryAndContactInfoListAtSameTime( Throwable t ) {
+        return socketFactoryAndContactInfoListAtSameTime( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM socketFactoryAndContactInfoListAtSameTime(  ) {
+        return socketFactoryAndContactInfoListAtSameTime( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ACCEPTORS_AND_LEGACY_SOCKET_FACTORY_AT_SAME_TIME = SUNVMCID.value + 222 ;
+    
+    public BAD_PARAM acceptorsAndLegacySocketFactoryAtSameTime( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( ACCEPTORS_AND_LEGACY_SOCKET_FACTORY_AT_SAME_TIME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.acceptorsAndLegacySocketFactoryAtSameTime",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM acceptorsAndLegacySocketFactoryAtSameTime( CompletionStatus cs ) {
+        return acceptorsAndLegacySocketFactoryAtSameTime( cs, null  ) ;
+    }
+    
+    public BAD_PARAM acceptorsAndLegacySocketFactoryAtSameTime( Throwable t ) {
+        return acceptorsAndLegacySocketFactoryAtSameTime( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM acceptorsAndLegacySocketFactoryAtSameTime(  ) {
+        return acceptorsAndLegacySocketFactoryAtSameTime( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_ORB_FOR_SERVANT = SUNVMCID.value + 223 ;
+    
+    public BAD_PARAM badOrbForServant( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BAD_ORB_FOR_SERVANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badOrbForServant",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM badOrbForServant( CompletionStatus cs ) {
+        return badOrbForServant( cs, null  ) ;
+    }
+    
+    public BAD_PARAM badOrbForServant( Throwable t ) {
+        return badOrbForServant( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM badOrbForServant(  ) {
+        return badOrbForServant( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_REQUEST_PARTITIONING_POLICY_VALUE = SUNVMCID.value + 224 ;
+    
+    public BAD_PARAM invalidRequestPartitioningPolicyValue( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_REQUEST_PARTITIONING_POLICY_VALUE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidRequestPartitioningPolicyValue",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningPolicyValue( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningPolicyValue( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningPolicyValue( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningPolicyValue( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningPolicyValue(  Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningPolicyValue( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int INVALID_REQUEST_PARTITIONING_COMPONENT_VALUE = SUNVMCID.value + 225 ;
+    
+    public BAD_PARAM invalidRequestPartitioningComponentValue( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_REQUEST_PARTITIONING_COMPONENT_VALUE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidRequestPartitioningComponentValue",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningComponentValue( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningComponentValue( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningComponentValue( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningComponentValue( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningComponentValue(  Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningComponentValue( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int INVALID_REQUEST_PARTITIONING_ID = SUNVMCID.value + 226 ;
+    
+    public BAD_PARAM invalidRequestPartitioningId( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        BAD_PARAM exc = new BAD_PARAM( INVALID_REQUEST_PARTITIONING_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidRequestPartitioningId",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningId( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningId( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningId( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningId( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public BAD_PARAM invalidRequestPartitioningId(  Object arg0, Object arg1, Object arg2) {
+        return invalidRequestPartitioningId( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_IN_SETTING_DYNAMIC_STUB_FACTORY_FACTORY = SUNVMCID.value + 227 ;
+    
+    public BAD_PARAM errorInSettingDynamicStubFactoryFactory( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( ERROR_IN_SETTING_DYNAMIC_STUB_FACTORY_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "ORBUTIL.errorInSettingDynamicStubFactoryFactory",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM errorInSettingDynamicStubFactoryFactory( CompletionStatus cs, Object arg0) {
+        return errorInSettingDynamicStubFactoryFactory( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM errorInSettingDynamicStubFactoryFactory( Throwable t, Object arg0) {
+        return errorInSettingDynamicStubFactoryFactory( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM errorInSettingDynamicStubFactoryFactory(  Object arg0) {
+        return errorInSettingDynamicStubFactoryFactory( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_INV_ORDER
+    ///////////////////////////////////////////////////////////
+    
+    public static final int DSIMETHOD_NOTCALLED = SUNVMCID.value + 201 ;
+    
+    public BAD_INV_ORDER dsimethodNotcalled( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( DSIMETHOD_NOTCALLED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.dsimethodNotcalled",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER dsimethodNotcalled( CompletionStatus cs ) {
+        return dsimethodNotcalled( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER dsimethodNotcalled( Throwable t ) {
+        return dsimethodNotcalled( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER dsimethodNotcalled(  ) {
+        return dsimethodNotcalled( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ARGUMENTS_CALLED_MULTIPLE = SUNVMCID.value + 202 ;
+    
+    public BAD_INV_ORDER argumentsCalledMultiple( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( ARGUMENTS_CALLED_MULTIPLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.argumentsCalledMultiple",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledMultiple( CompletionStatus cs ) {
+        return argumentsCalledMultiple( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledMultiple( Throwable t ) {
+        return argumentsCalledMultiple( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledMultiple(  ) {
+        return argumentsCalledMultiple( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ARGUMENTS_CALLED_AFTER_EXCEPTION = SUNVMCID.value + 203 ;
+    
+    public BAD_INV_ORDER argumentsCalledAfterException( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( ARGUMENTS_CALLED_AFTER_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.argumentsCalledAfterException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledAfterException( CompletionStatus cs ) {
+        return argumentsCalledAfterException( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledAfterException( Throwable t ) {
+        return argumentsCalledAfterException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledAfterException(  ) {
+        return argumentsCalledAfterException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ARGUMENTS_CALLED_NULL_ARGS = SUNVMCID.value + 204 ;
+    
+    public BAD_INV_ORDER argumentsCalledNullArgs( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( ARGUMENTS_CALLED_NULL_ARGS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.argumentsCalledNullArgs",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledNullArgs( CompletionStatus cs ) {
+        return argumentsCalledNullArgs( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledNullArgs( Throwable t ) {
+        return argumentsCalledNullArgs( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsCalledNullArgs(  ) {
+        return argumentsCalledNullArgs( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ARGUMENTS_NOT_CALLED = SUNVMCID.value + 205 ;
+    
+    public BAD_INV_ORDER argumentsNotCalled( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( ARGUMENTS_NOT_CALLED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.argumentsNotCalled",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER argumentsNotCalled( CompletionStatus cs ) {
+        return argumentsNotCalled( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsNotCalled( Throwable t ) {
+        return argumentsNotCalled( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER argumentsNotCalled(  ) {
+        return argumentsNotCalled( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_RESULT_CALLED_MULTIPLE = SUNVMCID.value + 206 ;
+    
+    public BAD_INV_ORDER setResultCalledMultiple( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( SET_RESULT_CALLED_MULTIPLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.setResultCalledMultiple",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER setResultCalledMultiple( CompletionStatus cs ) {
+        return setResultCalledMultiple( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER setResultCalledMultiple( Throwable t ) {
+        return setResultCalledMultiple( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER setResultCalledMultiple(  ) {
+        return setResultCalledMultiple( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_RESULT_AFTER_EXCEPTION = SUNVMCID.value + 207 ;
+    
+    public BAD_INV_ORDER setResultAfterException( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( SET_RESULT_AFTER_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.setResultAfterException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER setResultAfterException( CompletionStatus cs ) {
+        return setResultAfterException( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER setResultAfterException( Throwable t ) {
+        return setResultAfterException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER setResultAfterException(  ) {
+        return setResultAfterException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SET_RESULT_CALLED_NULL_ARGS = SUNVMCID.value + 208 ;
+    
+    public BAD_INV_ORDER setResultCalledNullArgs( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( SET_RESULT_CALLED_NULL_ARGS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.setResultCalledNullArgs",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER setResultCalledNullArgs( CompletionStatus cs ) {
+        return setResultCalledNullArgs( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER setResultCalledNullArgs( Throwable t ) {
+        return setResultCalledNullArgs( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER setResultCalledNullArgs(  ) {
+        return setResultCalledNullArgs( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_TYPECODE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BAD_REMOTE_TYPECODE = SUNVMCID.value + 201 ;
+    
+    public BAD_TYPECODE badRemoteTypecode( CompletionStatus cs, Throwable t ) {
+        BAD_TYPECODE exc = new BAD_TYPECODE( BAD_REMOTE_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badRemoteTypecode",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_TYPECODE badRemoteTypecode( CompletionStatus cs ) {
+        return badRemoteTypecode( cs, null  ) ;
+    }
+    
+    public BAD_TYPECODE badRemoteTypecode( Throwable t ) {
+        return badRemoteTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_TYPECODE badRemoteTypecode(  ) {
+        return badRemoteTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNRESOLVED_RECURSIVE_TYPECODE = SUNVMCID.value + 202 ;
+    
+    public BAD_TYPECODE unresolvedRecursiveTypecode( CompletionStatus cs, Throwable t ) {
+        BAD_TYPECODE exc = new BAD_TYPECODE( UNRESOLVED_RECURSIVE_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unresolvedRecursiveTypecode",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_TYPECODE unresolvedRecursiveTypecode( CompletionStatus cs ) {
+        return unresolvedRecursiveTypecode( cs, null  ) ;
+    }
+    
+    public BAD_TYPECODE unresolvedRecursiveTypecode( Throwable t ) {
+        return unresolvedRecursiveTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_TYPECODE unresolvedRecursiveTypecode(  ) {
+        return unresolvedRecursiveTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // COMM_FAILURE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int CONNECT_FAILURE = SUNVMCID.value + 201 ;
+    
+    public COMM_FAILURE connectFailure( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        COMM_FAILURE exc = new COMM_FAILURE( CONNECT_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "ORBUTIL.connectFailure",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE connectFailure( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return connectFailure( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public COMM_FAILURE connectFailure( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return connectFailure( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public COMM_FAILURE connectFailure(  Object arg0, Object arg1, Object arg2) {
+        return connectFailure( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int CONNECTION_CLOSE_REBIND = SUNVMCID.value + 202 ;
+    
+    public COMM_FAILURE connectionCloseRebind( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( CONNECTION_CLOSE_REBIND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.connectionCloseRebind",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE connectionCloseRebind( CompletionStatus cs ) {
+        return connectionCloseRebind( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE connectionCloseRebind( Throwable t ) {
+        return connectionCloseRebind( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE connectionCloseRebind(  ) {
+        return connectionCloseRebind( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WRITE_ERROR_SEND = SUNVMCID.value + 203 ;
+    
+    public COMM_FAILURE writeErrorSend( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( WRITE_ERROR_SEND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.writeErrorSend",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE writeErrorSend( CompletionStatus cs ) {
+        return writeErrorSend( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE writeErrorSend( Throwable t ) {
+        return writeErrorSend( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE writeErrorSend(  ) {
+        return writeErrorSend( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_PROPERTIES_ERROR = SUNVMCID.value + 204 ;
+    
+    public COMM_FAILURE getPropertiesError( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( GET_PROPERTIES_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getPropertiesError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE getPropertiesError( CompletionStatus cs ) {
+        return getPropertiesError( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE getPropertiesError( Throwable t ) {
+        return getPropertiesError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE getPropertiesError(  ) {
+        return getPropertiesError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BOOTSTRAP_SERVER_NOT_AVAIL = SUNVMCID.value + 205 ;
+    
+    public COMM_FAILURE bootstrapServerNotAvail( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( BOOTSTRAP_SERVER_NOT_AVAIL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.bootstrapServerNotAvail",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE bootstrapServerNotAvail( CompletionStatus cs ) {
+        return bootstrapServerNotAvail( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE bootstrapServerNotAvail( Throwable t ) {
+        return bootstrapServerNotAvail( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE bootstrapServerNotAvail(  ) {
+        return bootstrapServerNotAvail( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVOKE_ERROR = SUNVMCID.value + 206 ;
+    
+    public COMM_FAILURE invokeError( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( INVOKE_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invokeError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE invokeError( CompletionStatus cs ) {
+        return invokeError( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE invokeError( Throwable t ) {
+        return invokeError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE invokeError(  ) {
+        return invokeError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DEFAULT_CREATE_SERVER_SOCKET_GIVEN_NON_IIOP_CLEAR_TEXT = SUNVMCID.value + 207 ;
+    
+    public COMM_FAILURE defaultCreateServerSocketGivenNonIiopClearText( CompletionStatus cs, Throwable t, Object arg0) {
+        COMM_FAILURE exc = new COMM_FAILURE( DEFAULT_CREATE_SERVER_SOCKET_GIVEN_NON_IIOP_CLEAR_TEXT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.defaultCreateServerSocketGivenNonIiopClearText",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE defaultCreateServerSocketGivenNonIiopClearText( CompletionStatus cs, Object arg0) {
+        return defaultCreateServerSocketGivenNonIiopClearText( cs, null, arg0 ) ;
+    }
+    
+    public COMM_FAILURE defaultCreateServerSocketGivenNonIiopClearText( Throwable t, Object arg0) {
+        return defaultCreateServerSocketGivenNonIiopClearText( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public COMM_FAILURE defaultCreateServerSocketGivenNonIiopClearText(  Object arg0) {
+        return defaultCreateServerSocketGivenNonIiopClearText( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int CONNECTION_ABORT = SUNVMCID.value + 208 ;
+    
+    public COMM_FAILURE connectionAbort( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( CONNECTION_ABORT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.connectionAbort",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE connectionAbort( CompletionStatus cs ) {
+        return connectionAbort( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE connectionAbort( Throwable t ) {
+        return connectionAbort( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE connectionAbort(  ) {
+        return connectionAbort( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONNECTION_REBIND = SUNVMCID.value + 209 ;
+    
+    public COMM_FAILURE connectionRebind( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( CONNECTION_REBIND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.connectionRebind",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE connectionRebind( CompletionStatus cs ) {
+        return connectionRebind( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE connectionRebind( Throwable t ) {
+        return connectionRebind( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE connectionRebind(  ) {
+        return connectionRebind( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RECV_MSG_ERROR = SUNVMCID.value + 210 ;
+    
+    public COMM_FAILURE recvMsgError( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( RECV_MSG_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.recvMsgError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE recvMsgError( CompletionStatus cs ) {
+        return recvMsgError( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE recvMsgError( Throwable t ) {
+        return recvMsgError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE recvMsgError(  ) {
+        return recvMsgError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int IOEXCEPTION_WHEN_READING_CONNECTION = SUNVMCID.value + 211 ;
+    
+    public COMM_FAILURE ioexceptionWhenReadingConnection( CompletionStatus cs, Throwable t ) {
+        COMM_FAILURE exc = new COMM_FAILURE( IOEXCEPTION_WHEN_READING_CONNECTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.ioexceptionWhenReadingConnection",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE ioexceptionWhenReadingConnection( CompletionStatus cs ) {
+        return ioexceptionWhenReadingConnection( cs, null  ) ;
+    }
+    
+    public COMM_FAILURE ioexceptionWhenReadingConnection( Throwable t ) {
+        return ioexceptionWhenReadingConnection( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public COMM_FAILURE ioexceptionWhenReadingConnection(  ) {
+        return ioexceptionWhenReadingConnection( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SELECTION_KEY_INVALID = SUNVMCID.value + 212 ;
+    
+    public COMM_FAILURE selectionKeyInvalid( CompletionStatus cs, Throwable t, Object arg0) {
+        COMM_FAILURE exc = new COMM_FAILURE( SELECTION_KEY_INVALID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "ORBUTIL.selectionKeyInvalid",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE selectionKeyInvalid( CompletionStatus cs, Object arg0) {
+        return selectionKeyInvalid( cs, null, arg0 ) ;
+    }
+    
+    public COMM_FAILURE selectionKeyInvalid( Throwable t, Object arg0) {
+        return selectionKeyInvalid( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public COMM_FAILURE selectionKeyInvalid(  Object arg0) {
+        return selectionKeyInvalid( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int EXCEPTION_IN_ACCEPT = SUNVMCID.value + 213 ;
+    
+    public COMM_FAILURE exceptionInAccept( CompletionStatus cs, Throwable t, Object arg0) {
+        COMM_FAILURE exc = new COMM_FAILURE( EXCEPTION_IN_ACCEPT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "ORBUTIL.exceptionInAccept",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE exceptionInAccept( CompletionStatus cs, Object arg0) {
+        return exceptionInAccept( cs, null, arg0 ) ;
+    }
+    
+    public COMM_FAILURE exceptionInAccept( Throwable t, Object arg0) {
+        return exceptionInAccept( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public COMM_FAILURE exceptionInAccept(  Object arg0) {
+        return exceptionInAccept( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int SECURITY_EXCEPTION_IN_ACCEPT = SUNVMCID.value + 214 ;
+    
+    public COMM_FAILURE securityExceptionInAccept( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        COMM_FAILURE exc = new COMM_FAILURE( SECURITY_EXCEPTION_IN_ACCEPT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.FINE, "ORBUTIL.securityExceptionInAccept",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE securityExceptionInAccept( CompletionStatus cs, Object arg0, Object arg1) {
+        return securityExceptionInAccept( cs, null, arg0, arg1 ) ;
+    }
+    
+    public COMM_FAILURE securityExceptionInAccept( Throwable t, Object arg0, Object arg1) {
+        return securityExceptionInAccept( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public COMM_FAILURE securityExceptionInAccept(  Object arg0, Object arg1) {
+        return securityExceptionInAccept( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int TRANSPORT_READ_TIMEOUT_EXCEEDED = SUNVMCID.value + 215 ;
+    
+    public COMM_FAILURE transportReadTimeoutExceeded( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2, Object arg3) {
+        COMM_FAILURE exc = new COMM_FAILURE( TRANSPORT_READ_TIMEOUT_EXCEEDED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[4] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            parameters[3] = arg3 ;
+            doLog( Level.WARNING, "ORBUTIL.transportReadTimeoutExceeded",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE transportReadTimeoutExceeded( CompletionStatus cs, Object arg0, Object arg1, Object arg2, Object arg3) {
+        return transportReadTimeoutExceeded( cs, null, arg0, arg1, arg2, arg3 ) ;
+    }
+    
+    public COMM_FAILURE transportReadTimeoutExceeded( Throwable t, Object arg0, Object arg1, Object arg2, Object arg3) {
+        return transportReadTimeoutExceeded( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2, arg3 ) ;
+    }
+    
+    public COMM_FAILURE transportReadTimeoutExceeded(  Object arg0, Object arg1, Object arg2, Object arg3) {
+        return transportReadTimeoutExceeded( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2, arg3 ) ;
+    }
+    
+    public static final int CREATE_LISTENER_FAILED = SUNVMCID.value + 216 ;
+    
+    public COMM_FAILURE createListenerFailed( CompletionStatus cs, Throwable t, Object arg0) {
+        COMM_FAILURE exc = new COMM_FAILURE( CREATE_LISTENER_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.SEVERE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.SEVERE, "ORBUTIL.createListenerFailed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public COMM_FAILURE createListenerFailed( CompletionStatus cs, Object arg0) {
+        return createListenerFailed( cs, null, arg0 ) ;
+    }
+    
+    public COMM_FAILURE createListenerFailed( Throwable t, Object arg0) {
+        return createListenerFailed( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public COMM_FAILURE createListenerFailed(  Object arg0) {
+        return createListenerFailed( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // DATA_CONVERSION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BAD_STRINGIFIED_IOR_LEN = SUNVMCID.value + 201 ;
+    
+    public DATA_CONVERSION badStringifiedIorLen( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_STRINGIFIED_IOR_LEN, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badStringifiedIorLen",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badStringifiedIorLen( CompletionStatus cs ) {
+        return badStringifiedIorLen( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badStringifiedIorLen( Throwable t ) {
+        return badStringifiedIorLen( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badStringifiedIorLen(  ) {
+        return badStringifiedIorLen( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_STRINGIFIED_IOR = SUNVMCID.value + 202 ;
+    
+    public DATA_CONVERSION badStringifiedIor( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_STRINGIFIED_IOR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badStringifiedIor",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badStringifiedIor( CompletionStatus cs ) {
+        return badStringifiedIor( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badStringifiedIor( Throwable t ) {
+        return badStringifiedIor( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badStringifiedIor(  ) {
+        return badStringifiedIor( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_MODIFIER = SUNVMCID.value + 203 ;
+    
+    public DATA_CONVERSION badModifier( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_MODIFIER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badModifier",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badModifier( CompletionStatus cs ) {
+        return badModifier( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badModifier( Throwable t ) {
+        return badModifier( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badModifier(  ) {
+        return badModifier( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CODESET_INCOMPATIBLE = SUNVMCID.value + 204 ;
+    
+    public DATA_CONVERSION codesetIncompatible( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( CODESET_INCOMPATIBLE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.codesetIncompatible",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION codesetIncompatible( CompletionStatus cs ) {
+        return codesetIncompatible( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION codesetIncompatible( Throwable t ) {
+        return codesetIncompatible( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION codesetIncompatible(  ) {
+        return codesetIncompatible( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_HEX_DIGIT = SUNVMCID.value + 205 ;
+    
+    public DATA_CONVERSION badHexDigit( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_HEX_DIGIT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badHexDigit",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badHexDigit( CompletionStatus cs ) {
+        return badHexDigit( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badHexDigit( Throwable t ) {
+        return badHexDigit( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badHexDigit(  ) {
+        return badHexDigit( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_UNICODE_PAIR = SUNVMCID.value + 206 ;
+    
+    public DATA_CONVERSION badUnicodePair( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_UNICODE_PAIR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badUnicodePair",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badUnicodePair( CompletionStatus cs ) {
+        return badUnicodePair( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badUnicodePair( Throwable t ) {
+        return badUnicodePair( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badUnicodePair(  ) {
+        return badUnicodePair( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BTC_RESULT_MORE_THAN_ONE_CHAR = SUNVMCID.value + 207 ;
+    
+    public DATA_CONVERSION btcResultMoreThanOneChar( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BTC_RESULT_MORE_THAN_ONE_CHAR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.btcResultMoreThanOneChar",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION btcResultMoreThanOneChar( CompletionStatus cs ) {
+        return btcResultMoreThanOneChar( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION btcResultMoreThanOneChar( Throwable t ) {
+        return btcResultMoreThanOneChar( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION btcResultMoreThanOneChar(  ) {
+        return btcResultMoreThanOneChar( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_CODESETS_FROM_CLIENT = SUNVMCID.value + 208 ;
+    
+    public DATA_CONVERSION badCodesetsFromClient( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_CODESETS_FROM_CLIENT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badCodesetsFromClient",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badCodesetsFromClient( CompletionStatus cs ) {
+        return badCodesetsFromClient( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badCodesetsFromClient( Throwable t ) {
+        return badCodesetsFromClient( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badCodesetsFromClient(  ) {
+        return badCodesetsFromClient( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_SINGLE_CHAR_CTB = SUNVMCID.value + 209 ;
+    
+    public DATA_CONVERSION invalidSingleCharCtb( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( INVALID_SINGLE_CHAR_CTB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidSingleCharCtb",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION invalidSingleCharCtb( CompletionStatus cs ) {
+        return invalidSingleCharCtb( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION invalidSingleCharCtb( Throwable t ) {
+        return invalidSingleCharCtb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION invalidSingleCharCtb(  ) {
+        return invalidSingleCharCtb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_GIOP_1_1_CTB = SUNVMCID.value + 210 ;
+    
+    public DATA_CONVERSION badGiop11Ctb( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_GIOP_1_1_CTB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badGiop11Ctb",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badGiop11Ctb( CompletionStatus cs ) {
+        return badGiop11Ctb( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badGiop11Ctb( Throwable t ) {
+        return badGiop11Ctb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badGiop11Ctb(  ) {
+        return badGiop11Ctb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SEQUENCE_BOUNDS = SUNVMCID.value + 212 ;
+    
+    public DATA_CONVERSION badSequenceBounds( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_SEQUENCE_BOUNDS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.badSequenceBounds",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badSequenceBounds( CompletionStatus cs, Object arg0, Object arg1) {
+        return badSequenceBounds( cs, null, arg0, arg1 ) ;
+    }
+    
+    public DATA_CONVERSION badSequenceBounds( Throwable t, Object arg0, Object arg1) {
+        return badSequenceBounds( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public DATA_CONVERSION badSequenceBounds(  Object arg0, Object arg1) {
+        return badSequenceBounds( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int ILLEGAL_SOCKET_FACTORY_TYPE = SUNVMCID.value + 213 ;
+    
+    public DATA_CONVERSION illegalSocketFactoryType( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ILLEGAL_SOCKET_FACTORY_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.illegalSocketFactoryType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION illegalSocketFactoryType( CompletionStatus cs, Object arg0) {
+        return illegalSocketFactoryType( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalSocketFactoryType( Throwable t, Object arg0) {
+        return illegalSocketFactoryType( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalSocketFactoryType(  Object arg0) {
+        return illegalSocketFactoryType( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_CUSTOM_SOCKET_FACTORY = SUNVMCID.value + 214 ;
+    
+    public DATA_CONVERSION badCustomSocketFactory( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_CUSTOM_SOCKET_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badCustomSocketFactory",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badCustomSocketFactory( CompletionStatus cs, Object arg0) {
+        return badCustomSocketFactory( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badCustomSocketFactory( Throwable t, Object arg0) {
+        return badCustomSocketFactory( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badCustomSocketFactory(  Object arg0) {
+        return badCustomSocketFactory( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int FRAGMENT_SIZE_MINIMUM = SUNVMCID.value + 215 ;
+    
+    public DATA_CONVERSION fragmentSizeMinimum( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( FRAGMENT_SIZE_MINIMUM, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.fragmentSizeMinimum",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION fragmentSizeMinimum( CompletionStatus cs, Object arg0, Object arg1) {
+        return fragmentSizeMinimum( cs, null, arg0, arg1 ) ;
+    }
+    
+    public DATA_CONVERSION fragmentSizeMinimum( Throwable t, Object arg0, Object arg1) {
+        return fragmentSizeMinimum( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public DATA_CONVERSION fragmentSizeMinimum(  Object arg0, Object arg1) {
+        return fragmentSizeMinimum( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int FRAGMENT_SIZE_DIV = SUNVMCID.value + 216 ;
+    
+    public DATA_CONVERSION fragmentSizeDiv( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( FRAGMENT_SIZE_DIV, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.fragmentSizeDiv",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION fragmentSizeDiv( CompletionStatus cs, Object arg0, Object arg1) {
+        return fragmentSizeDiv( cs, null, arg0, arg1 ) ;
+    }
+    
+    public DATA_CONVERSION fragmentSizeDiv( Throwable t, Object arg0, Object arg1) {
+        return fragmentSizeDiv( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public DATA_CONVERSION fragmentSizeDiv(  Object arg0, Object arg1) {
+        return fragmentSizeDiv( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int ORB_INITIALIZER_FAILURE = SUNVMCID.value + 217 ;
+    
+    public DATA_CONVERSION orbInitializerFailure( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ORB_INITIALIZER_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.orbInitializerFailure",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION orbInitializerFailure( CompletionStatus cs, Object arg0) {
+        return orbInitializerFailure( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION orbInitializerFailure( Throwable t, Object arg0) {
+        return orbInitializerFailure( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION orbInitializerFailure(  Object arg0) {
+        return orbInitializerFailure( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ORB_INITIALIZER_TYPE = SUNVMCID.value + 218 ;
+    
+    public DATA_CONVERSION orbInitializerType( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ORB_INITIALIZER_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.orbInitializerType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION orbInitializerType( CompletionStatus cs, Object arg0) {
+        return orbInitializerType( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION orbInitializerType( Throwable t, Object arg0) {
+        return orbInitializerType( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION orbInitializerType(  Object arg0) {
+        return orbInitializerType( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ORB_INITIALREFERENCE_SYNTAX = SUNVMCID.value + 219 ;
+    
+    public DATA_CONVERSION orbInitialreferenceSyntax( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ORB_INITIALREFERENCE_SYNTAX, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.orbInitialreferenceSyntax",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION orbInitialreferenceSyntax( CompletionStatus cs ) {
+        return orbInitialreferenceSyntax( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION orbInitialreferenceSyntax( Throwable t ) {
+        return orbInitialreferenceSyntax( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION orbInitialreferenceSyntax(  ) {
+        return orbInitialreferenceSyntax( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ACCEPTOR_INSTANTIATION_FAILURE = SUNVMCID.value + 220 ;
+    
+    public DATA_CONVERSION acceptorInstantiationFailure( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ACCEPTOR_INSTANTIATION_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.acceptorInstantiationFailure",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION acceptorInstantiationFailure( CompletionStatus cs, Object arg0) {
+        return acceptorInstantiationFailure( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION acceptorInstantiationFailure( Throwable t, Object arg0) {
+        return acceptorInstantiationFailure( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION acceptorInstantiationFailure(  Object arg0) {
+        return acceptorInstantiationFailure( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ACCEPTOR_INSTANTIATION_TYPE_FAILURE = SUNVMCID.value + 221 ;
+    
+    public DATA_CONVERSION acceptorInstantiationTypeFailure( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ACCEPTOR_INSTANTIATION_TYPE_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.acceptorInstantiationTypeFailure",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION acceptorInstantiationTypeFailure( CompletionStatus cs, Object arg0) {
+        return acceptorInstantiationTypeFailure( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION acceptorInstantiationTypeFailure( Throwable t, Object arg0) {
+        return acceptorInstantiationTypeFailure( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION acceptorInstantiationTypeFailure(  Object arg0) {
+        return acceptorInstantiationTypeFailure( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ILLEGAL_CONTACT_INFO_LIST_FACTORY_TYPE = SUNVMCID.value + 222 ;
+    
+    public DATA_CONVERSION illegalContactInfoListFactoryType( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ILLEGAL_CONTACT_INFO_LIST_FACTORY_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.illegalContactInfoListFactoryType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION illegalContactInfoListFactoryType( CompletionStatus cs, Object arg0) {
+        return illegalContactInfoListFactoryType( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalContactInfoListFactoryType( Throwable t, Object arg0) {
+        return illegalContactInfoListFactoryType( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalContactInfoListFactoryType(  Object arg0) {
+        return illegalContactInfoListFactoryType( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_CONTACT_INFO_LIST_FACTORY = SUNVMCID.value + 223 ;
+    
+    public DATA_CONVERSION badContactInfoListFactory( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_CONTACT_INFO_LIST_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badContactInfoListFactory",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badContactInfoListFactory( CompletionStatus cs, Object arg0) {
+        return badContactInfoListFactory( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badContactInfoListFactory( Throwable t, Object arg0) {
+        return badContactInfoListFactory( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badContactInfoListFactory(  Object arg0) {
+        return badContactInfoListFactory( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ILLEGAL_IOR_TO_SOCKET_INFO_TYPE = SUNVMCID.value + 224 ;
+    
+    public DATA_CONVERSION illegalIorToSocketInfoType( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ILLEGAL_IOR_TO_SOCKET_INFO_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.illegalIorToSocketInfoType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION illegalIorToSocketInfoType( CompletionStatus cs, Object arg0) {
+        return illegalIorToSocketInfoType( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalIorToSocketInfoType( Throwable t, Object arg0) {
+        return illegalIorToSocketInfoType( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalIorToSocketInfoType(  Object arg0) {
+        return illegalIorToSocketInfoType( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_CUSTOM_IOR_TO_SOCKET_INFO = SUNVMCID.value + 225 ;
+    
+    public DATA_CONVERSION badCustomIorToSocketInfo( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_CUSTOM_IOR_TO_SOCKET_INFO, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badCustomIorToSocketInfo",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badCustomIorToSocketInfo( CompletionStatus cs, Object arg0) {
+        return badCustomIorToSocketInfo( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badCustomIorToSocketInfo( Throwable t, Object arg0) {
+        return badCustomIorToSocketInfo( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badCustomIorToSocketInfo(  Object arg0) {
+        return badCustomIorToSocketInfo( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int ILLEGAL_IIOP_PRIMARY_TO_CONTACT_INFO_TYPE = SUNVMCID.value + 226 ;
+    
+    public DATA_CONVERSION illegalIiopPrimaryToContactInfoType( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( ILLEGAL_IIOP_PRIMARY_TO_CONTACT_INFO_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.illegalIiopPrimaryToContactInfoType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION illegalIiopPrimaryToContactInfoType( CompletionStatus cs, Object arg0) {
+        return illegalIiopPrimaryToContactInfoType( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalIiopPrimaryToContactInfoType( Throwable t, Object arg0) {
+        return illegalIiopPrimaryToContactInfoType( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION illegalIiopPrimaryToContactInfoType(  Object arg0) {
+        return illegalIiopPrimaryToContactInfoType( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_CUSTOM_IIOP_PRIMARY_TO_CONTACT_INFO = SUNVMCID.value + 227 ;
+    
+    public DATA_CONVERSION badCustomIiopPrimaryToContactInfo( CompletionStatus cs, Throwable t, Object arg0) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_CUSTOM_IIOP_PRIMARY_TO_CONTACT_INFO, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badCustomIiopPrimaryToContactInfo",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badCustomIiopPrimaryToContactInfo( CompletionStatus cs, Object arg0) {
+        return badCustomIiopPrimaryToContactInfo( cs, null, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badCustomIiopPrimaryToContactInfo( Throwable t, Object arg0) {
+        return badCustomIiopPrimaryToContactInfo( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public DATA_CONVERSION badCustomIiopPrimaryToContactInfo(  Object arg0) {
+        return badCustomIiopPrimaryToContactInfo( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INV_OBJREF
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BAD_CORBALOC_STRING = SUNVMCID.value + 201 ;
+    
+    public INV_OBJREF badCorbalocString( CompletionStatus cs, Throwable t ) {
+        INV_OBJREF exc = new INV_OBJREF( BAD_CORBALOC_STRING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badCorbalocString",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF badCorbalocString( CompletionStatus cs ) {
+        return badCorbalocString( cs, null  ) ;
+    }
+    
+    public INV_OBJREF badCorbalocString( Throwable t ) {
+        return badCorbalocString( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_OBJREF badCorbalocString(  ) {
+        return badCorbalocString( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_PROFILE_PRESENT = SUNVMCID.value + 202 ;
+    
+    public INV_OBJREF noProfilePresent( CompletionStatus cs, Throwable t ) {
+        INV_OBJREF exc = new INV_OBJREF( NO_PROFILE_PRESENT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noProfilePresent",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF noProfilePresent( CompletionStatus cs ) {
+        return noProfilePresent( cs, null  ) ;
+    }
+    
+    public INV_OBJREF noProfilePresent( Throwable t ) {
+        return noProfilePresent( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INV_OBJREF noProfilePresent(  ) {
+        return noProfilePresent( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INITIALIZE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int CANNOT_CREATE_ORBID_DB = SUNVMCID.value + 201 ;
+    
+    public INITIALIZE cannotCreateOrbidDb( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( CANNOT_CREATE_ORBID_DB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.cannotCreateOrbidDb",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE cannotCreateOrbidDb( CompletionStatus cs ) {
+        return cannotCreateOrbidDb( cs, null  ) ;
+    }
+    
+    public INITIALIZE cannotCreateOrbidDb( Throwable t ) {
+        return cannotCreateOrbidDb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE cannotCreateOrbidDb(  ) {
+        return cannotCreateOrbidDb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANNOT_READ_ORBID_DB = SUNVMCID.value + 202 ;
+    
+    public INITIALIZE cannotReadOrbidDb( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( CANNOT_READ_ORBID_DB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.cannotReadOrbidDb",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE cannotReadOrbidDb( CompletionStatus cs ) {
+        return cannotReadOrbidDb( cs, null  ) ;
+    }
+    
+    public INITIALIZE cannotReadOrbidDb( Throwable t ) {
+        return cannotReadOrbidDb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE cannotReadOrbidDb(  ) {
+        return cannotReadOrbidDb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANNOT_WRITE_ORBID_DB = SUNVMCID.value + 203 ;
+    
+    public INITIALIZE cannotWriteOrbidDb( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( CANNOT_WRITE_ORBID_DB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.cannotWriteOrbidDb",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE cannotWriteOrbidDb( CompletionStatus cs ) {
+        return cannotWriteOrbidDb( cs, null  ) ;
+    }
+    
+    public INITIALIZE cannotWriteOrbidDb( Throwable t ) {
+        return cannotWriteOrbidDb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE cannotWriteOrbidDb(  ) {
+        return cannotWriteOrbidDb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_SERVER_PORT_CALLED_BEFORE_ENDPOINTS_INITIALIZED = SUNVMCID.value + 204 ;
+    
+    public INITIALIZE getServerPortCalledBeforeEndpointsInitialized( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( GET_SERVER_PORT_CALLED_BEFORE_ENDPOINTS_INITIALIZED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getServerPortCalledBeforeEndpointsInitialized",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE getServerPortCalledBeforeEndpointsInitialized( CompletionStatus cs ) {
+        return getServerPortCalledBeforeEndpointsInitialized( cs, null  ) ;
+    }
+    
+    public INITIALIZE getServerPortCalledBeforeEndpointsInitialized( Throwable t ) {
+        return getServerPortCalledBeforeEndpointsInitialized( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE getServerPortCalledBeforeEndpointsInitialized(  ) {
+        return getServerPortCalledBeforeEndpointsInitialized( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PERSISTENT_SERVERPORT_NOT_SET = SUNVMCID.value + 205 ;
+    
+    public INITIALIZE persistentServerportNotSet( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( PERSISTENT_SERVERPORT_NOT_SET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.persistentServerportNotSet",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE persistentServerportNotSet( CompletionStatus cs ) {
+        return persistentServerportNotSet( cs, null  ) ;
+    }
+    
+    public INITIALIZE persistentServerportNotSet( Throwable t ) {
+        return persistentServerportNotSet( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE persistentServerportNotSet(  ) {
+        return persistentServerportNotSet( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PERSISTENT_SERVERID_NOT_SET = SUNVMCID.value + 206 ;
+    
+    public INITIALIZE persistentServeridNotSet( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( PERSISTENT_SERVERID_NOT_SET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.persistentServeridNotSet",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE persistentServeridNotSet( CompletionStatus cs ) {
+        return persistentServeridNotSet( cs, null  ) ;
+    }
+    
+    public INITIALIZE persistentServeridNotSet( Throwable t ) {
+        return persistentServeridNotSet( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE persistentServeridNotSet(  ) {
+        return persistentServeridNotSet( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NON_EXISTENT_ORBID = SUNVMCID.value + 201 ;
+    
+    public INTERNAL nonExistentOrbid( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NON_EXISTENT_ORBID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.nonExistentOrbid",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL nonExistentOrbid( CompletionStatus cs ) {
+        return nonExistentOrbid( cs, null  ) ;
+    }
+    
+    public INTERNAL nonExistentOrbid( Throwable t ) {
+        return nonExistentOrbid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL nonExistentOrbid(  ) {
+        return nonExistentOrbid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_SERVER_SUBCONTRACT = SUNVMCID.value + 202 ;
+    
+    public INTERNAL noServerSubcontract( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NO_SERVER_SUBCONTRACT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noServerSubcontract",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL noServerSubcontract( CompletionStatus cs ) {
+        return noServerSubcontract( cs, null  ) ;
+    }
+    
+    public INTERNAL noServerSubcontract( Throwable t ) {
+        return noServerSubcontract( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL noServerSubcontract(  ) {
+        return noServerSubcontract( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVER_SC_TEMP_SIZE = SUNVMCID.value + 203 ;
+    
+    public INTERNAL serverScTempSize( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVER_SC_TEMP_SIZE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.serverScTempSize",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL serverScTempSize( CompletionStatus cs ) {
+        return serverScTempSize( cs, null  ) ;
+    }
+    
+    public INTERNAL serverScTempSize( Throwable t ) {
+        return serverScTempSize( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL serverScTempSize(  ) {
+        return serverScTempSize( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_CLIENT_SC_CLASS = SUNVMCID.value + 204 ;
+    
+    public INTERNAL noClientScClass( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NO_CLIENT_SC_CLASS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noClientScClass",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL noClientScClass( CompletionStatus cs ) {
+        return noClientScClass( cs, null  ) ;
+    }
+    
+    public INTERNAL noClientScClass( Throwable t ) {
+        return noClientScClass( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL noClientScClass(  ) {
+        return noClientScClass( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVER_SC_NO_IIOP_PROFILE = SUNVMCID.value + 205 ;
+    
+    public INTERNAL serverScNoIiopProfile( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVER_SC_NO_IIOP_PROFILE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.serverScNoIiopProfile",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL serverScNoIiopProfile( CompletionStatus cs ) {
+        return serverScNoIiopProfile( cs, null  ) ;
+    }
+    
+    public INTERNAL serverScNoIiopProfile( Throwable t ) {
+        return serverScNoIiopProfile( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL serverScNoIiopProfile(  ) {
+        return serverScNoIiopProfile( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_SYSTEM_EX_RETURNED_NULL = SUNVMCID.value + 206 ;
+    
+    public INTERNAL getSystemExReturnedNull( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( GET_SYSTEM_EX_RETURNED_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getSystemExReturnedNull",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL getSystemExReturnedNull( CompletionStatus cs ) {
+        return getSystemExReturnedNull( cs, null  ) ;
+    }
+    
+    public INTERNAL getSystemExReturnedNull( Throwable t ) {
+        return getSystemExReturnedNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL getSystemExReturnedNull(  ) {
+        return getSystemExReturnedNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PEEKSTRING_FAILED = SUNVMCID.value + 207 ;
+    
+    public INTERNAL peekstringFailed( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PEEKSTRING_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.peekstringFailed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL peekstringFailed( CompletionStatus cs ) {
+        return peekstringFailed( cs, null  ) ;
+    }
+    
+    public INTERNAL peekstringFailed( Throwable t ) {
+        return peekstringFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL peekstringFailed(  ) {
+        return peekstringFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GET_LOCAL_HOST_FAILED = SUNVMCID.value + 208 ;
+    
+    public INTERNAL getLocalHostFailed( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( GET_LOCAL_HOST_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.getLocalHostFailed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL getLocalHostFailed( CompletionStatus cs ) {
+        return getLocalHostFailed( cs, null  ) ;
+    }
+    
+    public INTERNAL getLocalHostFailed( Throwable t ) {
+        return getLocalHostFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL getLocalHostFailed(  ) {
+        return getLocalHostFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_LOCATE_REQUEST_STATUS = SUNVMCID.value + 210 ;
+    
+    public INTERNAL badLocateRequestStatus( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_LOCATE_REQUEST_STATUS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badLocateRequestStatus",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badLocateRequestStatus( CompletionStatus cs ) {
+        return badLocateRequestStatus( cs, null  ) ;
+    }
+    
+    public INTERNAL badLocateRequestStatus( Throwable t ) {
+        return badLocateRequestStatus( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badLocateRequestStatus(  ) {
+        return badLocateRequestStatus( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STRINGIFY_WRITE_ERROR = SUNVMCID.value + 211 ;
+    
+    public INTERNAL stringifyWriteError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STRINGIFY_WRITE_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.stringifyWriteError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL stringifyWriteError( CompletionStatus cs ) {
+        return stringifyWriteError( cs, null  ) ;
+    }
+    
+    public INTERNAL stringifyWriteError( Throwable t ) {
+        return stringifyWriteError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL stringifyWriteError(  ) {
+        return stringifyWriteError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_GIOP_REQUEST_TYPE = SUNVMCID.value + 212 ;
+    
+    public INTERNAL badGiopRequestType( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_GIOP_REQUEST_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badGiopRequestType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badGiopRequestType( CompletionStatus cs ) {
+        return badGiopRequestType( cs, null  ) ;
+    }
+    
+    public INTERNAL badGiopRequestType( Throwable t ) {
+        return badGiopRequestType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badGiopRequestType(  ) {
+        return badGiopRequestType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ERROR_UNMARSHALING_USEREXC = SUNVMCID.value + 213 ;
+    
+    public INTERNAL errorUnmarshalingUserexc( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ERROR_UNMARSHALING_USEREXC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.errorUnmarshalingUserexc",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorUnmarshalingUserexc( CompletionStatus cs ) {
+        return errorUnmarshalingUserexc( cs, null  ) ;
+    }
+    
+    public INTERNAL errorUnmarshalingUserexc( Throwable t ) {
+        return errorUnmarshalingUserexc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL errorUnmarshalingUserexc(  ) {
+        return errorUnmarshalingUserexc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RequestDispatcherRegistry_ERROR = SUNVMCID.value + 214 ;
+    
+    public INTERNAL requestdispatcherregistryError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( RequestDispatcherRegistry_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.requestdispatcherregistryError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL requestdispatcherregistryError( CompletionStatus cs ) {
+        return requestdispatcherregistryError( cs, null  ) ;
+    }
+    
+    public INTERNAL requestdispatcherregistryError( Throwable t ) {
+        return requestdispatcherregistryError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL requestdispatcherregistryError(  ) {
+        return requestdispatcherregistryError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int LOCATIONFORWARD_ERROR = SUNVMCID.value + 215 ;
+    
+    public INTERNAL locationforwardError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( LOCATIONFORWARD_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.locationforwardError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL locationforwardError( CompletionStatus cs ) {
+        return locationforwardError( cs, null  ) ;
+    }
+    
+    public INTERNAL locationforwardError( Throwable t ) {
+        return locationforwardError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL locationforwardError(  ) {
+        return locationforwardError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WRONG_CLIENTSC = SUNVMCID.value + 216 ;
+    
+    public INTERNAL wrongClientsc( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( WRONG_CLIENTSC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.wrongClientsc",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL wrongClientsc( CompletionStatus cs ) {
+        return wrongClientsc( cs, null  ) ;
+    }
+    
+    public INTERNAL wrongClientsc( Throwable t ) {
+        return wrongClientsc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL wrongClientsc(  ) {
+        return wrongClientsc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SERVANT_READ_OBJECT = SUNVMCID.value + 217 ;
+    
+    public INTERNAL badServantReadObject( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_SERVANT_READ_OBJECT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badServantReadObject",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badServantReadObject( CompletionStatus cs ) {
+        return badServantReadObject( cs, null  ) ;
+    }
+    
+    public INTERNAL badServantReadObject( Throwable t ) {
+        return badServantReadObject( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badServantReadObject(  ) {
+        return badServantReadObject( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int MULT_IIOP_PROF_NOT_SUPPORTED = SUNVMCID.value + 218 ;
+    
+    public INTERNAL multIiopProfNotSupported( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( MULT_IIOP_PROF_NOT_SUPPORTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.multIiopProfNotSupported",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL multIiopProfNotSupported( CompletionStatus cs ) {
+        return multIiopProfNotSupported( cs, null  ) ;
+    }
+    
+    public INTERNAL multIiopProfNotSupported( Throwable t ) {
+        return multIiopProfNotSupported( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL multIiopProfNotSupported(  ) {
+        return multIiopProfNotSupported( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GIOP_MAGIC_ERROR = SUNVMCID.value + 220 ;
+    
+    public INTERNAL giopMagicError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( GIOP_MAGIC_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.giopMagicError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL giopMagicError( CompletionStatus cs ) {
+        return giopMagicError( cs, null  ) ;
+    }
+    
+    public INTERNAL giopMagicError( Throwable t ) {
+        return giopMagicError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL giopMagicError(  ) {
+        return giopMagicError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GIOP_VERSION_ERROR = SUNVMCID.value + 221 ;
+    
+    public INTERNAL giopVersionError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( GIOP_VERSION_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.giopVersionError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL giopVersionError( CompletionStatus cs ) {
+        return giopVersionError( cs, null  ) ;
+    }
+    
+    public INTERNAL giopVersionError( Throwable t ) {
+        return giopVersionError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL giopVersionError(  ) {
+        return giopVersionError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_REPLY_STATUS = SUNVMCID.value + 222 ;
+    
+    public INTERNAL illegalReplyStatus( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ILLEGAL_REPLY_STATUS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.illegalReplyStatus",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL illegalReplyStatus( CompletionStatus cs ) {
+        return illegalReplyStatus( cs, null  ) ;
+    }
+    
+    public INTERNAL illegalReplyStatus( Throwable t ) {
+        return illegalReplyStatus( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL illegalReplyStatus(  ) {
+        return illegalReplyStatus( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_GIOP_MSG_TYPE = SUNVMCID.value + 223 ;
+    
+    public INTERNAL illegalGiopMsgType( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ILLEGAL_GIOP_MSG_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.illegalGiopMsgType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL illegalGiopMsgType( CompletionStatus cs ) {
+        return illegalGiopMsgType( cs, null  ) ;
+    }
+    
+    public INTERNAL illegalGiopMsgType( Throwable t ) {
+        return illegalGiopMsgType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL illegalGiopMsgType(  ) {
+        return illegalGiopMsgType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int FRAGMENTATION_DISALLOWED = SUNVMCID.value + 224 ;
+    
+    public INTERNAL fragmentationDisallowed( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( FRAGMENTATION_DISALLOWED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.fragmentationDisallowed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL fragmentationDisallowed( CompletionStatus cs ) {
+        return fragmentationDisallowed( cs, null  ) ;
+    }
+    
+    public INTERNAL fragmentationDisallowed( Throwable t ) {
+        return fragmentationDisallowed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL fragmentationDisallowed(  ) {
+        return fragmentationDisallowed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_REPLYSTATUS = SUNVMCID.value + 225 ;
+    
+    public INTERNAL badReplystatus( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_REPLYSTATUS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badReplystatus",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badReplystatus( CompletionStatus cs ) {
+        return badReplystatus( cs, null  ) ;
+    }
+    
+    public INTERNAL badReplystatus( Throwable t ) {
+        return badReplystatus( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badReplystatus(  ) {
+        return badReplystatus( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CTB_CONVERTER_FAILURE = SUNVMCID.value + 226 ;
+    
+    public INTERNAL ctbConverterFailure( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CTB_CONVERTER_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.ctbConverterFailure",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL ctbConverterFailure( CompletionStatus cs ) {
+        return ctbConverterFailure( cs, null  ) ;
+    }
+    
+    public INTERNAL ctbConverterFailure( Throwable t ) {
+        return ctbConverterFailure( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL ctbConverterFailure(  ) {
+        return ctbConverterFailure( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BTC_CONVERTER_FAILURE = SUNVMCID.value + 227 ;
+    
+    public INTERNAL btcConverterFailure( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BTC_CONVERTER_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.btcConverterFailure",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL btcConverterFailure( CompletionStatus cs ) {
+        return btcConverterFailure( cs, null  ) ;
+    }
+    
+    public INTERNAL btcConverterFailure( Throwable t ) {
+        return btcConverterFailure( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL btcConverterFailure(  ) {
+        return btcConverterFailure( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WCHAR_ARRAY_UNSUPPORTED_ENCODING = SUNVMCID.value + 228 ;
+    
+    public INTERNAL wcharArrayUnsupportedEncoding( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( WCHAR_ARRAY_UNSUPPORTED_ENCODING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.wcharArrayUnsupportedEncoding",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL wcharArrayUnsupportedEncoding( CompletionStatus cs ) {
+        return wcharArrayUnsupportedEncoding( cs, null  ) ;
+    }
+    
+    public INTERNAL wcharArrayUnsupportedEncoding( Throwable t ) {
+        return wcharArrayUnsupportedEncoding( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL wcharArrayUnsupportedEncoding(  ) {
+        return wcharArrayUnsupportedEncoding( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_TARGET_ADDRESS_DISPOSITION = SUNVMCID.value + 229 ;
+    
+    public INTERNAL illegalTargetAddressDisposition( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ILLEGAL_TARGET_ADDRESS_DISPOSITION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.illegalTargetAddressDisposition",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL illegalTargetAddressDisposition( CompletionStatus cs ) {
+        return illegalTargetAddressDisposition( cs, null  ) ;
+    }
+    
+    public INTERNAL illegalTargetAddressDisposition( Throwable t ) {
+        return illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL illegalTargetAddressDisposition(  ) {
+        return illegalTargetAddressDisposition( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NULL_REPLY_IN_GET_ADDR_DISPOSITION = SUNVMCID.value + 230 ;
+    
+    public INTERNAL nullReplyInGetAddrDisposition( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NULL_REPLY_IN_GET_ADDR_DISPOSITION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.nullReplyInGetAddrDisposition",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL nullReplyInGetAddrDisposition( CompletionStatus cs ) {
+        return nullReplyInGetAddrDisposition( cs, null  ) ;
+    }
+    
+    public INTERNAL nullReplyInGetAddrDisposition( Throwable t ) {
+        return nullReplyInGetAddrDisposition( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL nullReplyInGetAddrDisposition(  ) {
+        return nullReplyInGetAddrDisposition( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ORB_TARGET_ADDR_PREFERENCE_IN_EXTRACT_OBJECTKEY_INVALID = SUNVMCID.value + 231 ;
+    
+    public INTERNAL orbTargetAddrPreferenceInExtractObjectkeyInvalid( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ORB_TARGET_ADDR_PREFERENCE_IN_EXTRACT_OBJECTKEY_INVALID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.orbTargetAddrPreferenceInExtractObjectkeyInvalid",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL orbTargetAddrPreferenceInExtractObjectkeyInvalid( CompletionStatus cs ) {
+        return orbTargetAddrPreferenceInExtractObjectkeyInvalid( cs, null  ) ;
+    }
+    
+    public INTERNAL orbTargetAddrPreferenceInExtractObjectkeyInvalid( Throwable t ) {
+        return orbTargetAddrPreferenceInExtractObjectkeyInvalid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL orbTargetAddrPreferenceInExtractObjectkeyInvalid(  ) {
+        return orbTargetAddrPreferenceInExtractObjectkeyInvalid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_ISSTREAMED_TCKIND = SUNVMCID.value + 232 ;
+    
+    public INTERNAL invalidIsstreamedTckind( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( INVALID_ISSTREAMED_TCKIND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidIsstreamedTckind",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidIsstreamedTckind( CompletionStatus cs, Object arg0) {
+        return invalidIsstreamedTckind( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL invalidIsstreamedTckind( Throwable t, Object arg0) {
+        return invalidIsstreamedTckind( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL invalidIsstreamedTckind(  Object arg0) {
+        return invalidIsstreamedTckind( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INVALID_JDK1_3_1_PATCH_LEVEL = SUNVMCID.value + 233 ;
+    
+    public INTERNAL invalidJdk131PatchLevel( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INVALID_JDK1_3_1_PATCH_LEVEL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidJdk131PatchLevel",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidJdk131PatchLevel( CompletionStatus cs ) {
+        return invalidJdk131PatchLevel( cs, null  ) ;
+    }
+    
+    public INTERNAL invalidJdk131PatchLevel( Throwable t ) {
+        return invalidJdk131PatchLevel( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL invalidJdk131PatchLevel(  ) {
+        return invalidJdk131PatchLevel( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SVCCTX_UNMARSHAL_ERROR = SUNVMCID.value + 234 ;
+    
+    public INTERNAL svcctxUnmarshalError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SVCCTX_UNMARSHAL_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.svcctxUnmarshalError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL svcctxUnmarshalError( CompletionStatus cs ) {
+        return svcctxUnmarshalError( cs, null  ) ;
+    }
+    
+    public INTERNAL svcctxUnmarshalError( Throwable t ) {
+        return svcctxUnmarshalError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL svcctxUnmarshalError(  ) {
+        return svcctxUnmarshalError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NULL_IOR = SUNVMCID.value + 235 ;
+    
+    public INTERNAL nullIor( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NULL_IOR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.nullIor",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL nullIor( CompletionStatus cs ) {
+        return nullIor( cs, null  ) ;
+    }
+    
+    public INTERNAL nullIor( Throwable t ) {
+        return nullIor( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL nullIor(  ) {
+        return nullIor( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNSUPPORTED_GIOP_VERSION = SUNVMCID.value + 236 ;
+    
+    public INTERNAL unsupportedGiopVersion( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( UNSUPPORTED_GIOP_VERSION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.unsupportedGiopVersion",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unsupportedGiopVersion( CompletionStatus cs, Object arg0) {
+        return unsupportedGiopVersion( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL unsupportedGiopVersion( Throwable t, Object arg0) {
+        return unsupportedGiopVersion( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL unsupportedGiopVersion(  Object arg0) {
+        return unsupportedGiopVersion( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int APPLICATION_EXCEPTION_IN_SPECIAL_METHOD = SUNVMCID.value + 237 ;
+    
+    public INTERNAL applicationExceptionInSpecialMethod( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( APPLICATION_EXCEPTION_IN_SPECIAL_METHOD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.applicationExceptionInSpecialMethod",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL applicationExceptionInSpecialMethod( CompletionStatus cs ) {
+        return applicationExceptionInSpecialMethod( cs, null  ) ;
+    }
+    
+    public INTERNAL applicationExceptionInSpecialMethod( Throwable t ) {
+        return applicationExceptionInSpecialMethod( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL applicationExceptionInSpecialMethod(  ) {
+        return applicationExceptionInSpecialMethod( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STATEMENT_NOT_REACHABLE1 = SUNVMCID.value + 238 ;
+    
+    public INTERNAL statementNotReachable1( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STATEMENT_NOT_REACHABLE1, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.statementNotReachable1",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL statementNotReachable1( CompletionStatus cs ) {
+        return statementNotReachable1( cs, null  ) ;
+    }
+    
+    public INTERNAL statementNotReachable1( Throwable t ) {
+        return statementNotReachable1( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL statementNotReachable1(  ) {
+        return statementNotReachable1( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STATEMENT_NOT_REACHABLE2 = SUNVMCID.value + 239 ;
+    
+    public INTERNAL statementNotReachable2( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STATEMENT_NOT_REACHABLE2, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.statementNotReachable2",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL statementNotReachable2( CompletionStatus cs ) {
+        return statementNotReachable2( cs, null  ) ;
+    }
+    
+    public INTERNAL statementNotReachable2( Throwable t ) {
+        return statementNotReachable2( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL statementNotReachable2(  ) {
+        return statementNotReachable2( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STATEMENT_NOT_REACHABLE3 = SUNVMCID.value + 240 ;
+    
+    public INTERNAL statementNotReachable3( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STATEMENT_NOT_REACHABLE3, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.statementNotReachable3",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL statementNotReachable3( CompletionStatus cs ) {
+        return statementNotReachable3( cs, null  ) ;
+    }
+    
+    public INTERNAL statementNotReachable3( Throwable t ) {
+        return statementNotReachable3( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL statementNotReachable3(  ) {
+        return statementNotReachable3( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STATEMENT_NOT_REACHABLE4 = SUNVMCID.value + 241 ;
+    
+    public INTERNAL statementNotReachable4( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STATEMENT_NOT_REACHABLE4, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.statementNotReachable4",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL statementNotReachable4( CompletionStatus cs ) {
+        return statementNotReachable4( cs, null  ) ;
+    }
+    
+    public INTERNAL statementNotReachable4( Throwable t ) {
+        return statementNotReachable4( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL statementNotReachable4(  ) {
+        return statementNotReachable4( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STATEMENT_NOT_REACHABLE5 = SUNVMCID.value + 242 ;
+    
+    public INTERNAL statementNotReachable5( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STATEMENT_NOT_REACHABLE5, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.statementNotReachable5",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL statementNotReachable5( CompletionStatus cs ) {
+        return statementNotReachable5( cs, null  ) ;
+    }
+    
+    public INTERNAL statementNotReachable5( Throwable t ) {
+        return statementNotReachable5( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL statementNotReachable5(  ) {
+        return statementNotReachable5( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STATEMENT_NOT_REACHABLE6 = SUNVMCID.value + 243 ;
+    
+    public INTERNAL statementNotReachable6( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( STATEMENT_NOT_REACHABLE6, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.statementNotReachable6",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL statementNotReachable6( CompletionStatus cs ) {
+        return statementNotReachable6( cs, null  ) ;
+    }
+    
+    public INTERNAL statementNotReachable6( Throwable t ) {
+        return statementNotReachable6( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL statementNotReachable6(  ) {
+        return statementNotReachable6( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_DII_EXCEPTION = SUNVMCID.value + 244 ;
+    
+    public INTERNAL unexpectedDiiException( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( UNEXPECTED_DII_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unexpectedDiiException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unexpectedDiiException( CompletionStatus cs ) {
+        return unexpectedDiiException( cs, null  ) ;
+    }
+    
+    public INTERNAL unexpectedDiiException( Throwable t ) {
+        return unexpectedDiiException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL unexpectedDiiException(  ) {
+        return unexpectedDiiException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int METHOD_SHOULD_NOT_BE_CALLED = SUNVMCID.value + 245 ;
+    
+    public INTERNAL methodShouldNotBeCalled( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( METHOD_SHOULD_NOT_BE_CALLED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.methodShouldNotBeCalled",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL methodShouldNotBeCalled( CompletionStatus cs ) {
+        return methodShouldNotBeCalled( cs, null  ) ;
+    }
+    
+    public INTERNAL methodShouldNotBeCalled( Throwable t ) {
+        return methodShouldNotBeCalled( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL methodShouldNotBeCalled(  ) {
+        return methodShouldNotBeCalled( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANCEL_NOT_SUPPORTED = SUNVMCID.value + 246 ;
+    
+    public INTERNAL cancelNotSupported( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CANCEL_NOT_SUPPORTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.cancelNotSupported",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL cancelNotSupported( CompletionStatus cs ) {
+        return cancelNotSupported( cs, null  ) ;
+    }
+    
+    public INTERNAL cancelNotSupported( Throwable t ) {
+        return cancelNotSupported( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL cancelNotSupported(  ) {
+        return cancelNotSupported( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EMPTY_STACK_RUN_SERVANT_POST_INVOKE = SUNVMCID.value + 247 ;
+    
+    public INTERNAL emptyStackRunServantPostInvoke( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EMPTY_STACK_RUN_SERVANT_POST_INVOKE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.emptyStackRunServantPostInvoke",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL emptyStackRunServantPostInvoke( CompletionStatus cs ) {
+        return emptyStackRunServantPostInvoke( cs, null  ) ;
+    }
+    
+    public INTERNAL emptyStackRunServantPostInvoke( Throwable t ) {
+        return emptyStackRunServantPostInvoke( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL emptyStackRunServantPostInvoke(  ) {
+        return emptyStackRunServantPostInvoke( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PROBLEM_WITH_EXCEPTION_TYPECODE = SUNVMCID.value + 248 ;
+    
+    public INTERNAL problemWithExceptionTypecode( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PROBLEM_WITH_EXCEPTION_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.problemWithExceptionTypecode",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL problemWithExceptionTypecode( CompletionStatus cs ) {
+        return problemWithExceptionTypecode( cs, null  ) ;
+    }
+    
+    public INTERNAL problemWithExceptionTypecode( Throwable t ) {
+        return problemWithExceptionTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL problemWithExceptionTypecode(  ) {
+        return problemWithExceptionTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_SUBCONTRACT_ID = SUNVMCID.value + 249 ;
+    
+    public INTERNAL illegalSubcontractId( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( ILLEGAL_SUBCONTRACT_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.illegalSubcontractId",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL illegalSubcontractId( CompletionStatus cs, Object arg0) {
+        return illegalSubcontractId( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL illegalSubcontractId( Throwable t, Object arg0) {
+        return illegalSubcontractId( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL illegalSubcontractId(  Object arg0) {
+        return illegalSubcontractId( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_SYSTEM_EXCEPTION_IN_LOCATE_REPLY = SUNVMCID.value + 250 ;
+    
+    public INTERNAL badSystemExceptionInLocateReply( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_SYSTEM_EXCEPTION_IN_LOCATE_REPLY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badSystemExceptionInLocateReply",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badSystemExceptionInLocateReply( CompletionStatus cs ) {
+        return badSystemExceptionInLocateReply( cs, null  ) ;
+    }
+    
+    public INTERNAL badSystemExceptionInLocateReply( Throwable t ) {
+        return badSystemExceptionInLocateReply( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badSystemExceptionInLocateReply(  ) {
+        return badSystemExceptionInLocateReply( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SYSTEM_EXCEPTION_IN_REPLY = SUNVMCID.value + 251 ;
+    
+    public INTERNAL badSystemExceptionInReply( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_SYSTEM_EXCEPTION_IN_REPLY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badSystemExceptionInReply",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badSystemExceptionInReply( CompletionStatus cs ) {
+        return badSystemExceptionInReply( cs, null  ) ;
+    }
+    
+    public INTERNAL badSystemExceptionInReply( Throwable t ) {
+        return badSystemExceptionInReply( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badSystemExceptionInReply(  ) {
+        return badSystemExceptionInReply( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_COMPLETION_STATUS_IN_LOCATE_REPLY = SUNVMCID.value + 252 ;
+    
+    public INTERNAL badCompletionStatusInLocateReply( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( BAD_COMPLETION_STATUS_IN_LOCATE_REPLY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badCompletionStatusInLocateReply",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badCompletionStatusInLocateReply( CompletionStatus cs, Object arg0) {
+        return badCompletionStatusInLocateReply( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL badCompletionStatusInLocateReply( Throwable t, Object arg0) {
+        return badCompletionStatusInLocateReply( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL badCompletionStatusInLocateReply(  Object arg0) {
+        return badCompletionStatusInLocateReply( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_COMPLETION_STATUS_IN_REPLY = SUNVMCID.value + 253 ;
+    
+    public INTERNAL badCompletionStatusInReply( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( BAD_COMPLETION_STATUS_IN_REPLY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badCompletionStatusInReply",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badCompletionStatusInReply( CompletionStatus cs, Object arg0) {
+        return badCompletionStatusInReply( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL badCompletionStatusInReply( Throwable t, Object arg0) {
+        return badCompletionStatusInReply( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL badCompletionStatusInReply(  Object arg0) {
+        return badCompletionStatusInReply( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BADKIND_CANNOT_OCCUR = SUNVMCID.value + 254 ;
+    
+    public INTERNAL badkindCannotOccur( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BADKIND_CANNOT_OCCUR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badkindCannotOccur",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badkindCannotOccur( CompletionStatus cs ) {
+        return badkindCannotOccur( cs, null  ) ;
+    }
+    
+    public INTERNAL badkindCannotOccur( Throwable t ) {
+        return badkindCannotOccur( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badkindCannotOccur(  ) {
+        return badkindCannotOccur( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ERROR_RESOLVING_ALIAS = SUNVMCID.value + 255 ;
+    
+    public INTERNAL errorResolvingAlias( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ERROR_RESOLVING_ALIAS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.errorResolvingAlias",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorResolvingAlias( CompletionStatus cs ) {
+        return errorResolvingAlias( cs, null  ) ;
+    }
+    
+    public INTERNAL errorResolvingAlias( Throwable t ) {
+        return errorResolvingAlias( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL errorResolvingAlias(  ) {
+        return errorResolvingAlias( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TK_LONG_DOUBLE_NOT_SUPPORTED = SUNVMCID.value + 256 ;
+    
+    public INTERNAL tkLongDoubleNotSupported( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( TK_LONG_DOUBLE_NOT_SUPPORTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.tkLongDoubleNotSupported",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL tkLongDoubleNotSupported( CompletionStatus cs ) {
+        return tkLongDoubleNotSupported( cs, null  ) ;
+    }
+    
+    public INTERNAL tkLongDoubleNotSupported( Throwable t ) {
+        return tkLongDoubleNotSupported( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL tkLongDoubleNotSupported(  ) {
+        return tkLongDoubleNotSupported( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int TYPECODE_NOT_SUPPORTED = SUNVMCID.value + 257 ;
+    
+    public INTERNAL typecodeNotSupported( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( TYPECODE_NOT_SUPPORTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.typecodeNotSupported",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL typecodeNotSupported( CompletionStatus cs ) {
+        return typecodeNotSupported( cs, null  ) ;
+    }
+    
+    public INTERNAL typecodeNotSupported( Throwable t ) {
+        return typecodeNotSupported( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL typecodeNotSupported(  ) {
+        return typecodeNotSupported( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BOUNDS_CANNOT_OCCUR = SUNVMCID.value + 259 ;
+    
+    public INTERNAL boundsCannotOccur( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BOUNDS_CANNOT_OCCUR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.boundsCannotOccur",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL boundsCannotOccur( CompletionStatus cs ) {
+        return boundsCannotOccur( cs, null  ) ;
+    }
+    
+    public INTERNAL boundsCannotOccur( Throwable t ) {
+        return boundsCannotOccur( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL boundsCannotOccur(  ) {
+        return boundsCannotOccur( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NUM_INVOCATIONS_ALREADY_ZERO = SUNVMCID.value + 261 ;
+    
+    public INTERNAL numInvocationsAlreadyZero( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NUM_INVOCATIONS_ALREADY_ZERO, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.numInvocationsAlreadyZero",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL numInvocationsAlreadyZero( CompletionStatus cs ) {
+        return numInvocationsAlreadyZero( cs, null  ) ;
+    }
+    
+    public INTERNAL numInvocationsAlreadyZero( Throwable t ) {
+        return numInvocationsAlreadyZero( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL numInvocationsAlreadyZero(  ) {
+        return numInvocationsAlreadyZero( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ERROR_INIT_BADSERVERIDHANDLER = SUNVMCID.value + 262 ;
+    
+    public INTERNAL errorInitBadserveridhandler( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ERROR_INIT_BADSERVERIDHANDLER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.errorInitBadserveridhandler",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorInitBadserveridhandler( CompletionStatus cs ) {
+        return errorInitBadserveridhandler( cs, null  ) ;
+    }
+    
+    public INTERNAL errorInitBadserveridhandler( Throwable t ) {
+        return errorInitBadserveridhandler( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL errorInitBadserveridhandler(  ) {
+        return errorInitBadserveridhandler( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_TOA = SUNVMCID.value + 263 ;
+    
+    public INTERNAL noToa( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NO_TOA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noToa",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL noToa( CompletionStatus cs ) {
+        return noToa( cs, null  ) ;
+    }
+    
+    public INTERNAL noToa( Throwable t ) {
+        return noToa( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL noToa(  ) {
+        return noToa( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_POA = SUNVMCID.value + 264 ;
+    
+    public INTERNAL noPoa( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NO_POA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noPoa",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL noPoa( CompletionStatus cs ) {
+        return noPoa( cs, null  ) ;
+    }
+    
+    public INTERNAL noPoa( Throwable t ) {
+        return noPoa( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL noPoa(  ) {
+        return noPoa( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVOCATION_INFO_STACK_EMPTY = SUNVMCID.value + 265 ;
+    
+    public INTERNAL invocationInfoStackEmpty( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INVOCATION_INFO_STACK_EMPTY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invocationInfoStackEmpty",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invocationInfoStackEmpty( CompletionStatus cs ) {
+        return invocationInfoStackEmpty( cs, null  ) ;
+    }
+    
+    public INTERNAL invocationInfoStackEmpty( Throwable t ) {
+        return invocationInfoStackEmpty( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL invocationInfoStackEmpty(  ) {
+        return invocationInfoStackEmpty( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_CODE_SET_STRING = SUNVMCID.value + 266 ;
+    
+    public INTERNAL badCodeSetString( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_CODE_SET_STRING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badCodeSetString",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badCodeSetString( CompletionStatus cs ) {
+        return badCodeSetString( cs, null  ) ;
+    }
+    
+    public INTERNAL badCodeSetString( Throwable t ) {
+        return badCodeSetString( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badCodeSetString(  ) {
+        return badCodeSetString( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_NATIVE_CODESET = SUNVMCID.value + 267 ;
+    
+    public INTERNAL unknownNativeCodeset( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( UNKNOWN_NATIVE_CODESET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.unknownNativeCodeset",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unknownNativeCodeset( CompletionStatus cs, Object arg0) {
+        return unknownNativeCodeset( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL unknownNativeCodeset( Throwable t, Object arg0) {
+        return unknownNativeCodeset( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL unknownNativeCodeset(  Object arg0) {
+        return unknownNativeCodeset( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int UNKNOWN_CONVERSION_CODE_SET = SUNVMCID.value + 268 ;
+    
+    public INTERNAL unknownConversionCodeSet( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( UNKNOWN_CONVERSION_CODE_SET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.unknownConversionCodeSet",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unknownConversionCodeSet( CompletionStatus cs, Object arg0) {
+        return unknownConversionCodeSet( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL unknownConversionCodeSet( Throwable t, Object arg0) {
+        return unknownConversionCodeSet( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL unknownConversionCodeSet(  Object arg0) {
+        return unknownConversionCodeSet( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INVALID_CODE_SET_NUMBER = SUNVMCID.value + 269 ;
+    
+    public INTERNAL invalidCodeSetNumber( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INVALID_CODE_SET_NUMBER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidCodeSetNumber",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidCodeSetNumber( CompletionStatus cs ) {
+        return invalidCodeSetNumber( cs, null  ) ;
+    }
+    
+    public INTERNAL invalidCodeSetNumber( Throwable t ) {
+        return invalidCodeSetNumber( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL invalidCodeSetNumber(  ) {
+        return invalidCodeSetNumber( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_CODE_SET_STRING = SUNVMCID.value + 270 ;
+    
+    public INTERNAL invalidCodeSetString( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( INVALID_CODE_SET_STRING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidCodeSetString",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidCodeSetString( CompletionStatus cs, Object arg0) {
+        return invalidCodeSetString( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL invalidCodeSetString( Throwable t, Object arg0) {
+        return invalidCodeSetString( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL invalidCodeSetString(  Object arg0) {
+        return invalidCodeSetString( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INVALID_CTB_CONVERTER_NAME = SUNVMCID.value + 271 ;
+    
+    public INTERNAL invalidCtbConverterName( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( INVALID_CTB_CONVERTER_NAME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidCtbConverterName",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidCtbConverterName( CompletionStatus cs, Object arg0) {
+        return invalidCtbConverterName( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL invalidCtbConverterName( Throwable t, Object arg0) {
+        return invalidCtbConverterName( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL invalidCtbConverterName(  Object arg0) {
+        return invalidCtbConverterName( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INVALID_BTC_CONVERTER_NAME = SUNVMCID.value + 272 ;
+    
+    public INTERNAL invalidBtcConverterName( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( INVALID_BTC_CONVERTER_NAME, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidBtcConverterName",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidBtcConverterName( CompletionStatus cs, Object arg0) {
+        return invalidBtcConverterName( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL invalidBtcConverterName( Throwable t, Object arg0) {
+        return invalidBtcConverterName( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL invalidBtcConverterName(  Object arg0) {
+        return invalidBtcConverterName( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int COULD_NOT_DUPLICATE_CDR_INPUT_STREAM = SUNVMCID.value + 273 ;
+    
+    public INTERNAL couldNotDuplicateCdrInputStream( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( COULD_NOT_DUPLICATE_CDR_INPUT_STREAM, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotDuplicateCdrInputStream",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL couldNotDuplicateCdrInputStream( CompletionStatus cs ) {
+        return couldNotDuplicateCdrInputStream( cs, null  ) ;
+    }
+    
+    public INTERNAL couldNotDuplicateCdrInputStream( Throwable t ) {
+        return couldNotDuplicateCdrInputStream( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL couldNotDuplicateCdrInputStream(  ) {
+        return couldNotDuplicateCdrInputStream( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BOOTSTRAP_APPLICATION_EXCEPTION = SUNVMCID.value + 274 ;
+    
+    public INTERNAL bootstrapApplicationException( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BOOTSTRAP_APPLICATION_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.bootstrapApplicationException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL bootstrapApplicationException( CompletionStatus cs ) {
+        return bootstrapApplicationException( cs, null  ) ;
+    }
+    
+    public INTERNAL bootstrapApplicationException( Throwable t ) {
+        return bootstrapApplicationException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL bootstrapApplicationException(  ) {
+        return bootstrapApplicationException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DUPLICATE_INDIRECTION_OFFSET = SUNVMCID.value + 275 ;
+    
+    public INTERNAL duplicateIndirectionOffset( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( DUPLICATE_INDIRECTION_OFFSET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.duplicateIndirectionOffset",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL duplicateIndirectionOffset( CompletionStatus cs ) {
+        return duplicateIndirectionOffset( cs, null  ) ;
+    }
+    
+    public INTERNAL duplicateIndirectionOffset( Throwable t ) {
+        return duplicateIndirectionOffset( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL duplicateIndirectionOffset(  ) {
+        return duplicateIndirectionOffset( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_MESSAGE_TYPE_FOR_CANCEL = SUNVMCID.value + 276 ;
+    
+    public INTERNAL badMessageTypeForCancel( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_MESSAGE_TYPE_FOR_CANCEL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badMessageTypeForCancel",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badMessageTypeForCancel( CompletionStatus cs ) {
+        return badMessageTypeForCancel( cs, null  ) ;
+    }
+    
+    public INTERNAL badMessageTypeForCancel( Throwable t ) {
+        return badMessageTypeForCancel( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badMessageTypeForCancel(  ) {
+        return badMessageTypeForCancel( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DUPLICATE_EXCEPTION_DETAIL_MESSAGE = SUNVMCID.value + 277 ;
+    
+    public INTERNAL duplicateExceptionDetailMessage( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( DUPLICATE_EXCEPTION_DETAIL_MESSAGE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.duplicateExceptionDetailMessage",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL duplicateExceptionDetailMessage( CompletionStatus cs ) {
+        return duplicateExceptionDetailMessage( cs, null  ) ;
+    }
+    
+    public INTERNAL duplicateExceptionDetailMessage( Throwable t ) {
+        return duplicateExceptionDetailMessage( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL duplicateExceptionDetailMessage(  ) {
+        return duplicateExceptionDetailMessage( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_EXCEPTION_DETAIL_MESSAGE_SERVICE_CONTEXT_TYPE = SUNVMCID.value + 278 ;
+    
+    public INTERNAL badExceptionDetailMessageServiceContextType( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_EXCEPTION_DETAIL_MESSAGE_SERVICE_CONTEXT_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badExceptionDetailMessageServiceContextType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badExceptionDetailMessageServiceContextType( CompletionStatus cs ) {
+        return badExceptionDetailMessageServiceContextType( cs, null  ) ;
+    }
+    
+    public INTERNAL badExceptionDetailMessageServiceContextType( Throwable t ) {
+        return badExceptionDetailMessageServiceContextType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badExceptionDetailMessageServiceContextType(  ) {
+        return badExceptionDetailMessageServiceContextType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_DIRECT_BYTE_BUFFER_WITH_NON_CHANNEL_SOCKET = SUNVMCID.value + 279 ;
+    
+    public INTERNAL unexpectedDirectByteBufferWithNonChannelSocket( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( UNEXPECTED_DIRECT_BYTE_BUFFER_WITH_NON_CHANNEL_SOCKET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unexpectedDirectByteBufferWithNonChannelSocket",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unexpectedDirectByteBufferWithNonChannelSocket( CompletionStatus cs ) {
+        return unexpectedDirectByteBufferWithNonChannelSocket( cs, null  ) ;
+    }
+    
+    public INTERNAL unexpectedDirectByteBufferWithNonChannelSocket( Throwable t ) {
+        return unexpectedDirectByteBufferWithNonChannelSocket( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL unexpectedDirectByteBufferWithNonChannelSocket(  ) {
+        return unexpectedDirectByteBufferWithNonChannelSocket( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_NON_DIRECT_BYTE_BUFFER_WITH_CHANNEL_SOCKET = SUNVMCID.value + 280 ;
+    
+    public INTERNAL unexpectedNonDirectByteBufferWithChannelSocket( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( UNEXPECTED_NON_DIRECT_BYTE_BUFFER_WITH_CHANNEL_SOCKET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unexpectedNonDirectByteBufferWithChannelSocket",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unexpectedNonDirectByteBufferWithChannelSocket( CompletionStatus cs ) {
+        return unexpectedNonDirectByteBufferWithChannelSocket( cs, null  ) ;
+    }
+    
+    public INTERNAL unexpectedNonDirectByteBufferWithChannelSocket( Throwable t ) {
+        return unexpectedNonDirectByteBufferWithChannelSocket( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL unexpectedNonDirectByteBufferWithChannelSocket(  ) {
+        return unexpectedNonDirectByteBufferWithChannelSocket( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_CONTACT_INFO_LIST_ITERATOR_FAILURE_EXCEPTION = SUNVMCID.value + 282 ;
+    
+    public INTERNAL invalidContactInfoListIteratorFailureException( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INVALID_CONTACT_INFO_LIST_ITERATOR_FAILURE_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidContactInfoListIteratorFailureException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidContactInfoListIteratorFailureException( CompletionStatus cs ) {
+        return invalidContactInfoListIteratorFailureException( cs, null  ) ;
+    }
+    
+    public INTERNAL invalidContactInfoListIteratorFailureException( Throwable t ) {
+        return invalidContactInfoListIteratorFailureException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL invalidContactInfoListIteratorFailureException(  ) {
+        return invalidContactInfoListIteratorFailureException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int REMARSHAL_WITH_NOWHERE_TO_GO = SUNVMCID.value + 283 ;
+    
+    public INTERNAL remarshalWithNowhereToGo( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( REMARSHAL_WITH_NOWHERE_TO_GO, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.remarshalWithNowhereToGo",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL remarshalWithNowhereToGo( CompletionStatus cs ) {
+        return remarshalWithNowhereToGo( cs, null  ) ;
+    }
+    
+    public INTERNAL remarshalWithNowhereToGo( Throwable t ) {
+        return remarshalWithNowhereToGo( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL remarshalWithNowhereToGo(  ) {
+        return remarshalWithNowhereToGo( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_WHEN_SENDING_CLOSE_CONNECTION = SUNVMCID.value + 284 ;
+    
+    public INTERNAL exceptionWhenSendingCloseConnection( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( EXCEPTION_WHEN_SENDING_CLOSE_CONNECTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.exceptionWhenSendingCloseConnection",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL exceptionWhenSendingCloseConnection( CompletionStatus cs ) {
+        return exceptionWhenSendingCloseConnection( cs, null  ) ;
+    }
+    
+    public INTERNAL exceptionWhenSendingCloseConnection( Throwable t ) {
+        return exceptionWhenSendingCloseConnection( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL exceptionWhenSendingCloseConnection(  ) {
+        return exceptionWhenSendingCloseConnection( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVOCATION_ERROR_IN_REFLECTIVE_TIE = SUNVMCID.value + 285 ;
+    
+    public INTERNAL invocationErrorInReflectiveTie( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        INTERNAL exc = new INTERNAL( INVOCATION_ERROR_IN_REFLECTIVE_TIE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.invocationErrorInReflectiveTie",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invocationErrorInReflectiveTie( CompletionStatus cs, Object arg0, Object arg1) {
+        return invocationErrorInReflectiveTie( cs, null, arg0, arg1 ) ;
+    }
+    
+    public INTERNAL invocationErrorInReflectiveTie( Throwable t, Object arg0, Object arg1) {
+        return invocationErrorInReflectiveTie( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public INTERNAL invocationErrorInReflectiveTie(  Object arg0, Object arg1) {
+        return invocationErrorInReflectiveTie( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int BAD_HELPER_WRITE_METHOD = SUNVMCID.value + 286 ;
+    
+    public INTERNAL badHelperWriteMethod( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( BAD_HELPER_WRITE_METHOD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badHelperWriteMethod",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badHelperWriteMethod( CompletionStatus cs, Object arg0) {
+        return badHelperWriteMethod( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL badHelperWriteMethod( Throwable t, Object arg0) {
+        return badHelperWriteMethod( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL badHelperWriteMethod(  Object arg0) {
+        return badHelperWriteMethod( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_HELPER_READ_METHOD = SUNVMCID.value + 287 ;
+    
+    public INTERNAL badHelperReadMethod( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( BAD_HELPER_READ_METHOD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badHelperReadMethod",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badHelperReadMethod( CompletionStatus cs, Object arg0) {
+        return badHelperReadMethod( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL badHelperReadMethod( Throwable t, Object arg0) {
+        return badHelperReadMethod( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL badHelperReadMethod(  Object arg0) {
+        return badHelperReadMethod( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_HELPER_ID_METHOD = SUNVMCID.value + 288 ;
+    
+    public INTERNAL badHelperIdMethod( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( BAD_HELPER_ID_METHOD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badHelperIdMethod",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badHelperIdMethod( CompletionStatus cs, Object arg0) {
+        return badHelperIdMethod( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL badHelperIdMethod( Throwable t, Object arg0) {
+        return badHelperIdMethod( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL badHelperIdMethod(  Object arg0) {
+        return badHelperIdMethod( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int WRITE_UNDECLARED_EXCEPTION = SUNVMCID.value + 289 ;
+    
+    public INTERNAL writeUndeclaredException( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( WRITE_UNDECLARED_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.writeUndeclaredException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL writeUndeclaredException( CompletionStatus cs, Object arg0) {
+        return writeUndeclaredException( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL writeUndeclaredException( Throwable t, Object arg0) {
+        return writeUndeclaredException( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL writeUndeclaredException(  Object arg0) {
+        return writeUndeclaredException( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int READ_UNDECLARED_EXCEPTION = SUNVMCID.value + 290 ;
+    
+    public INTERNAL readUndeclaredException( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( READ_UNDECLARED_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.readUndeclaredException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL readUndeclaredException( CompletionStatus cs, Object arg0) {
+        return readUndeclaredException( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL readUndeclaredException( Throwable t, Object arg0) {
+        return readUndeclaredException( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL readUndeclaredException(  Object arg0) {
+        return readUndeclaredException( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int UNABLE_TO_SET_SOCKET_FACTORY_ORB = SUNVMCID.value + 291 ;
+    
+    public INTERNAL unableToSetSocketFactoryOrb( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( UNABLE_TO_SET_SOCKET_FACTORY_ORB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unableToSetSocketFactoryOrb",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unableToSetSocketFactoryOrb( CompletionStatus cs ) {
+        return unableToSetSocketFactoryOrb( cs, null  ) ;
+    }
+    
+    public INTERNAL unableToSetSocketFactoryOrb( Throwable t ) {
+        return unableToSetSocketFactoryOrb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL unableToSetSocketFactoryOrb(  ) {
+        return unableToSetSocketFactoryOrb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_EXCEPTION = SUNVMCID.value + 292 ;
+    
+    public INTERNAL unexpectedException( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( UNEXPECTED_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unexpectedException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unexpectedException( CompletionStatus cs ) {
+        return unexpectedException( cs, null  ) ;
+    }
+    
+    public INTERNAL unexpectedException( Throwable t ) {
+        return unexpectedException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL unexpectedException(  ) {
+        return unexpectedException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_INVOCATION_HANDLER = SUNVMCID.value + 293 ;
+    
+    public INTERNAL noInvocationHandler( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( NO_INVOCATION_HANDLER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.noInvocationHandler",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL noInvocationHandler( CompletionStatus cs, Object arg0) {
+        return noInvocationHandler( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL noInvocationHandler( Throwable t, Object arg0) {
+        return noInvocationHandler( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL noInvocationHandler(  Object arg0) {
+        return noInvocationHandler( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INVALID_BUFF_MGR_STRATEGY = SUNVMCID.value + 294 ;
+    
+    public INTERNAL invalidBuffMgrStrategy( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( INVALID_BUFF_MGR_STRATEGY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidBuffMgrStrategy",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invalidBuffMgrStrategy( CompletionStatus cs, Object arg0) {
+        return invalidBuffMgrStrategy( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL invalidBuffMgrStrategy( Throwable t, Object arg0) {
+        return invalidBuffMgrStrategy( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL invalidBuffMgrStrategy(  Object arg0) {
+        return invalidBuffMgrStrategy( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int JAVA_STREAM_INIT_FAILED = SUNVMCID.value + 295 ;
+    
+    public INTERNAL javaStreamInitFailed( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( JAVA_STREAM_INIT_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.javaStreamInitFailed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL javaStreamInitFailed( CompletionStatus cs ) {
+        return javaStreamInitFailed( cs, null  ) ;
+    }
+    
+    public INTERNAL javaStreamInitFailed( Throwable t ) {
+        return javaStreamInitFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL javaStreamInitFailed(  ) {
+        return javaStreamInitFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DUPLICATE_ORB_VERSION_SERVICE_CONTEXT = SUNVMCID.value + 296 ;
+    
+    public INTERNAL duplicateOrbVersionServiceContext( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( DUPLICATE_ORB_VERSION_SERVICE_CONTEXT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.duplicateOrbVersionServiceContext",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL duplicateOrbVersionServiceContext( CompletionStatus cs ) {
+        return duplicateOrbVersionServiceContext( cs, null  ) ;
+    }
+    
+    public INTERNAL duplicateOrbVersionServiceContext( Throwable t ) {
+        return duplicateOrbVersionServiceContext( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL duplicateOrbVersionServiceContext(  ) {
+        return duplicateOrbVersionServiceContext( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DUPLICATE_SENDING_CONTEXT_SERVICE_CONTEXT = SUNVMCID.value + 297 ;
+    
+    public INTERNAL duplicateSendingContextServiceContext( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( DUPLICATE_SENDING_CONTEXT_SERVICE_CONTEXT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.duplicateSendingContextServiceContext",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL duplicateSendingContextServiceContext( CompletionStatus cs ) {
+        return duplicateSendingContextServiceContext( cs, null  ) ;
+    }
+    
+    public INTERNAL duplicateSendingContextServiceContext( Throwable t ) {
+        return duplicateSendingContextServiceContext( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL duplicateSendingContextServiceContext(  ) {
+        return duplicateSendingContextServiceContext( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // MARSHAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int CHUNK_OVERFLOW = SUNVMCID.value + 201 ;
+    
+    public MARSHAL chunkOverflow( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( CHUNK_OVERFLOW, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.chunkOverflow",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL chunkOverflow( CompletionStatus cs ) {
+        return chunkOverflow( cs, null  ) ;
+    }
+    
+    public MARSHAL chunkOverflow( Throwable t ) {
+        return chunkOverflow( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL chunkOverflow(  ) {
+        return chunkOverflow( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_EOF = SUNVMCID.value + 202 ;
+    
+    public MARSHAL unexpectedEof( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( UNEXPECTED_EOF, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unexpectedEof",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unexpectedEof( CompletionStatus cs ) {
+        return unexpectedEof( cs, null  ) ;
+    }
+    
+    public MARSHAL unexpectedEof( Throwable t ) {
+        return unexpectedEof( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL unexpectedEof(  ) {
+        return unexpectedEof( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int READ_OBJECT_EXCEPTION = SUNVMCID.value + 203 ;
+    
+    public MARSHAL readObjectException( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( READ_OBJECT_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.readObjectException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL readObjectException( CompletionStatus cs ) {
+        return readObjectException( cs, null  ) ;
+    }
+    
+    public MARSHAL readObjectException( Throwable t ) {
+        return readObjectException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL readObjectException(  ) {
+        return readObjectException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CHARACTER_OUTOFRANGE = SUNVMCID.value + 204 ;
+    
+    public MARSHAL characterOutofrange( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( CHARACTER_OUTOFRANGE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.characterOutofrange",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL characterOutofrange( CompletionStatus cs ) {
+        return characterOutofrange( cs, null  ) ;
+    }
+    
+    public MARSHAL characterOutofrange( Throwable t ) {
+        return characterOutofrange( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL characterOutofrange(  ) {
+        return characterOutofrange( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DSI_RESULT_EXCEPTION = SUNVMCID.value + 205 ;
+    
+    public MARSHAL dsiResultException( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( DSI_RESULT_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.dsiResultException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL dsiResultException( CompletionStatus cs ) {
+        return dsiResultException( cs, null  ) ;
+    }
+    
+    public MARSHAL dsiResultException( Throwable t ) {
+        return dsiResultException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL dsiResultException(  ) {
+        return dsiResultException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int IIOPINPUTSTREAM_GROW = SUNVMCID.value + 206 ;
+    
+    public MARSHAL iiopinputstreamGrow( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( IIOPINPUTSTREAM_GROW, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.iiopinputstreamGrow",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL iiopinputstreamGrow( CompletionStatus cs ) {
+        return iiopinputstreamGrow( cs, null  ) ;
+    }
+    
+    public MARSHAL iiopinputstreamGrow( Throwable t ) {
+        return iiopinputstreamGrow( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL iiopinputstreamGrow(  ) {
+        return iiopinputstreamGrow( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int END_OF_STREAM = SUNVMCID.value + 207 ;
+    
+    public MARSHAL endOfStream( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( END_OF_STREAM, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.endOfStream",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL endOfStream( CompletionStatus cs ) {
+        return endOfStream( cs, null  ) ;
+    }
+    
+    public MARSHAL endOfStream( Throwable t ) {
+        return endOfStream( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL endOfStream(  ) {
+        return endOfStream( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_OBJECT_KEY = SUNVMCID.value + 208 ;
+    
+    public MARSHAL invalidObjectKey( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( INVALID_OBJECT_KEY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidObjectKey",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL invalidObjectKey( CompletionStatus cs ) {
+        return invalidObjectKey( cs, null  ) ;
+    }
+    
+    public MARSHAL invalidObjectKey( Throwable t ) {
+        return invalidObjectKey( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL invalidObjectKey(  ) {
+        return invalidObjectKey( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int MALFORMED_URL = SUNVMCID.value + 209 ;
+    
+    public MARSHAL malformedUrl( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        MARSHAL exc = new MARSHAL( MALFORMED_URL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.malformedUrl",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL malformedUrl( CompletionStatus cs, Object arg0, Object arg1) {
+        return malformedUrl( cs, null, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL malformedUrl( Throwable t, Object arg0, Object arg1) {
+        return malformedUrl( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL malformedUrl(  Object arg0, Object arg1) {
+        return malformedUrl( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int VALUEHANDLER_READ_ERROR = SUNVMCID.value + 210 ;
+    
+    public MARSHAL valuehandlerReadError( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( VALUEHANDLER_READ_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.valuehandlerReadError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL valuehandlerReadError( CompletionStatus cs ) {
+        return valuehandlerReadError( cs, null  ) ;
+    }
+    
+    public MARSHAL valuehandlerReadError( Throwable t ) {
+        return valuehandlerReadError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL valuehandlerReadError(  ) {
+        return valuehandlerReadError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int VALUEHANDLER_READ_EXCEPTION = SUNVMCID.value + 211 ;
+    
+    public MARSHAL valuehandlerReadException( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( VALUEHANDLER_READ_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.valuehandlerReadException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL valuehandlerReadException( CompletionStatus cs ) {
+        return valuehandlerReadException( cs, null  ) ;
+    }
+    
+    public MARSHAL valuehandlerReadException( Throwable t ) {
+        return valuehandlerReadException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL valuehandlerReadException(  ) {
+        return valuehandlerReadException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_KIND = SUNVMCID.value + 212 ;
+    
+    public MARSHAL badKind( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( BAD_KIND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badKind",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badKind( CompletionStatus cs ) {
+        return badKind( cs, null  ) ;
+    }
+    
+    public MARSHAL badKind( Throwable t ) {
+        return badKind( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL badKind(  ) {
+        return badKind( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CNFE_READ_CLASS = SUNVMCID.value + 213 ;
+    
+    public MARSHAL cnfeReadClass( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( CNFE_READ_CLASS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.cnfeReadClass",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL cnfeReadClass( CompletionStatus cs, Object arg0) {
+        return cnfeReadClass( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL cnfeReadClass( Throwable t, Object arg0) {
+        return cnfeReadClass( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL cnfeReadClass(  Object arg0) {
+        return cnfeReadClass( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_REP_ID_INDIRECTION = SUNVMCID.value + 214 ;
+    
+    public MARSHAL badRepIdIndirection( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( BAD_REP_ID_INDIRECTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badRepIdIndirection",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badRepIdIndirection( CompletionStatus cs, Object arg0) {
+        return badRepIdIndirection( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL badRepIdIndirection( Throwable t, Object arg0) {
+        return badRepIdIndirection( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL badRepIdIndirection(  Object arg0) {
+        return badRepIdIndirection( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_CODEBASE_INDIRECTION = SUNVMCID.value + 215 ;
+    
+    public MARSHAL badCodebaseIndirection( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( BAD_CODEBASE_INDIRECTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badCodebaseIndirection",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badCodebaseIndirection( CompletionStatus cs, Object arg0) {
+        return badCodebaseIndirection( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL badCodebaseIndirection( Throwable t, Object arg0) {
+        return badCodebaseIndirection( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL badCodebaseIndirection(  Object arg0) {
+        return badCodebaseIndirection( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int UNKNOWN_CODESET = SUNVMCID.value + 216 ;
+    
+    public MARSHAL unknownCodeset( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( UNKNOWN_CODESET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.unknownCodeset",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unknownCodeset( CompletionStatus cs, Object arg0) {
+        return unknownCodeset( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL unknownCodeset( Throwable t, Object arg0) {
+        return unknownCodeset( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL unknownCodeset(  Object arg0) {
+        return unknownCodeset( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int WCHAR_DATA_IN_GIOP_1_0 = SUNVMCID.value + 217 ;
+    
+    public MARSHAL wcharDataInGiop10( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( WCHAR_DATA_IN_GIOP_1_0, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.wcharDataInGiop10",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL wcharDataInGiop10( CompletionStatus cs ) {
+        return wcharDataInGiop10( cs, null  ) ;
+    }
+    
+    public MARSHAL wcharDataInGiop10( Throwable t ) {
+        return wcharDataInGiop10( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL wcharDataInGiop10(  ) {
+        return wcharDataInGiop10( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NEGATIVE_STRING_LENGTH = SUNVMCID.value + 218 ;
+    
+    public MARSHAL negativeStringLength( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( NEGATIVE_STRING_LENGTH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.negativeStringLength",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL negativeStringLength( CompletionStatus cs, Object arg0) {
+        return negativeStringLength( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL negativeStringLength( Throwable t, Object arg0) {
+        return negativeStringLength( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL negativeStringLength(  Object arg0) {
+        return negativeStringLength( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int EXPECTED_TYPE_NULL_AND_NO_REP_ID = SUNVMCID.value + 219 ;
+    
+    public MARSHAL expectedTypeNullAndNoRepId( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( EXPECTED_TYPE_NULL_AND_NO_REP_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.expectedTypeNullAndNoRepId",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL expectedTypeNullAndNoRepId( CompletionStatus cs ) {
+        return expectedTypeNullAndNoRepId( cs, null  ) ;
+    }
+    
+    public MARSHAL expectedTypeNullAndNoRepId( Throwable t ) {
+        return expectedTypeNullAndNoRepId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL expectedTypeNullAndNoRepId(  ) {
+        return expectedTypeNullAndNoRepId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int READ_VALUE_AND_NO_REP_ID = SUNVMCID.value + 220 ;
+    
+    public MARSHAL readValueAndNoRepId( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( READ_VALUE_AND_NO_REP_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.readValueAndNoRepId",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL readValueAndNoRepId( CompletionStatus cs ) {
+        return readValueAndNoRepId( cs, null  ) ;
+    }
+    
+    public MARSHAL readValueAndNoRepId( Throwable t ) {
+        return readValueAndNoRepId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL readValueAndNoRepId(  ) {
+        return readValueAndNoRepId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_ENCLOSING_VALUETYPE = SUNVMCID.value + 222 ;
+    
+    public MARSHAL unexpectedEnclosingValuetype( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        MARSHAL exc = new MARSHAL( UNEXPECTED_ENCLOSING_VALUETYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.unexpectedEnclosingValuetype",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unexpectedEnclosingValuetype( CompletionStatus cs, Object arg0, Object arg1) {
+        return unexpectedEnclosingValuetype( cs, null, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL unexpectedEnclosingValuetype( Throwable t, Object arg0, Object arg1) {
+        return unexpectedEnclosingValuetype( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL unexpectedEnclosingValuetype(  Object arg0, Object arg1) {
+        return unexpectedEnclosingValuetype( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int POSITIVE_END_TAG = SUNVMCID.value + 223 ;
+    
+    public MARSHAL positiveEndTag( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        MARSHAL exc = new MARSHAL( POSITIVE_END_TAG, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.positiveEndTag",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL positiveEndTag( CompletionStatus cs, Object arg0, Object arg1) {
+        return positiveEndTag( cs, null, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL positiveEndTag( Throwable t, Object arg0, Object arg1) {
+        return positiveEndTag( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL positiveEndTag(  Object arg0, Object arg1) {
+        return positiveEndTag( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int NULL_OUT_CALL = SUNVMCID.value + 224 ;
+    
+    public MARSHAL nullOutCall( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( NULL_OUT_CALL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.nullOutCall",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL nullOutCall( CompletionStatus cs ) {
+        return nullOutCall( cs, null  ) ;
+    }
+    
+    public MARSHAL nullOutCall( Throwable t ) {
+        return nullOutCall( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL nullOutCall(  ) {
+        return nullOutCall( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WRITE_LOCAL_OBJECT = SUNVMCID.value + 225 ;
+    
+    public MARSHAL writeLocalObject( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( WRITE_LOCAL_OBJECT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.writeLocalObject",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL writeLocalObject( CompletionStatus cs ) {
+        return writeLocalObject( cs, null  ) ;
+    }
+    
+    public MARSHAL writeLocalObject( Throwable t ) {
+        return writeLocalObject( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL writeLocalObject(  ) {
+        return writeLocalObject( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_INSERTOBJ_PARAM = SUNVMCID.value + 226 ;
+    
+    public MARSHAL badInsertobjParam( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( BAD_INSERTOBJ_PARAM, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badInsertobjParam",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badInsertobjParam( CompletionStatus cs, Object arg0) {
+        return badInsertobjParam( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL badInsertobjParam( Throwable t, Object arg0) {
+        return badInsertobjParam( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL badInsertobjParam(  Object arg0) {
+        return badInsertobjParam( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int CUSTOM_WRAPPER_WITH_CODEBASE = SUNVMCID.value + 227 ;
+    
+    public MARSHAL customWrapperWithCodebase( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( CUSTOM_WRAPPER_WITH_CODEBASE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.customWrapperWithCodebase",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL customWrapperWithCodebase( CompletionStatus cs ) {
+        return customWrapperWithCodebase( cs, null  ) ;
+    }
+    
+    public MARSHAL customWrapperWithCodebase( Throwable t ) {
+        return customWrapperWithCodebase( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL customWrapperWithCodebase(  ) {
+        return customWrapperWithCodebase( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CUSTOM_WRAPPER_INDIRECTION = SUNVMCID.value + 228 ;
+    
+    public MARSHAL customWrapperIndirection( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( CUSTOM_WRAPPER_INDIRECTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.customWrapperIndirection",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL customWrapperIndirection( CompletionStatus cs ) {
+        return customWrapperIndirection( cs, null  ) ;
+    }
+    
+    public MARSHAL customWrapperIndirection( Throwable t ) {
+        return customWrapperIndirection( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL customWrapperIndirection(  ) {
+        return customWrapperIndirection( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CUSTOM_WRAPPER_NOT_SINGLE_REPID = SUNVMCID.value + 229 ;
+    
+    public MARSHAL customWrapperNotSingleRepid( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( CUSTOM_WRAPPER_NOT_SINGLE_REPID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.customWrapperNotSingleRepid",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL customWrapperNotSingleRepid( CompletionStatus cs ) {
+        return customWrapperNotSingleRepid( cs, null  ) ;
+    }
+    
+    public MARSHAL customWrapperNotSingleRepid( Throwable t ) {
+        return customWrapperNotSingleRepid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL customWrapperNotSingleRepid(  ) {
+        return customWrapperNotSingleRepid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_VALUE_TAG = SUNVMCID.value + 230 ;
+    
+    public MARSHAL badValueTag( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( BAD_VALUE_TAG, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.badValueTag",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badValueTag( CompletionStatus cs, Object arg0) {
+        return badValueTag( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL badValueTag( Throwable t, Object arg0) {
+        return badValueTag( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL badValueTag(  Object arg0) {
+        return badValueTag( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_TYPECODE_FOR_CUSTOM_VALUE = SUNVMCID.value + 231 ;
+    
+    public MARSHAL badTypecodeForCustomValue( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( BAD_TYPECODE_FOR_CUSTOM_VALUE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badTypecodeForCustomValue",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badTypecodeForCustomValue( CompletionStatus cs ) {
+        return badTypecodeForCustomValue( cs, null  ) ;
+    }
+    
+    public MARSHAL badTypecodeForCustomValue( Throwable t ) {
+        return badTypecodeForCustomValue( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL badTypecodeForCustomValue(  ) {
+        return badTypecodeForCustomValue( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ERROR_INVOKING_HELPER_WRITE = SUNVMCID.value + 232 ;
+    
+    public MARSHAL errorInvokingHelperWrite( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( ERROR_INVOKING_HELPER_WRITE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.errorInvokingHelperWrite",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL errorInvokingHelperWrite( CompletionStatus cs ) {
+        return errorInvokingHelperWrite( cs, null  ) ;
+    }
+    
+    public MARSHAL errorInvokingHelperWrite( Throwable t ) {
+        return errorInvokingHelperWrite( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL errorInvokingHelperWrite(  ) {
+        return errorInvokingHelperWrite( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_DIGIT_IN_FIXED = SUNVMCID.value + 233 ;
+    
+    public MARSHAL badDigitInFixed( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( BAD_DIGIT_IN_FIXED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badDigitInFixed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badDigitInFixed( CompletionStatus cs ) {
+        return badDigitInFixed( cs, null  ) ;
+    }
+    
+    public MARSHAL badDigitInFixed( Throwable t ) {
+        return badDigitInFixed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL badDigitInFixed(  ) {
+        return badDigitInFixed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int REF_TYPE_INDIR_TYPE = SUNVMCID.value + 234 ;
+    
+    public MARSHAL refTypeIndirType( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( REF_TYPE_INDIR_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.refTypeIndirType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL refTypeIndirType( CompletionStatus cs ) {
+        return refTypeIndirType( cs, null  ) ;
+    }
+    
+    public MARSHAL refTypeIndirType( Throwable t ) {
+        return refTypeIndirType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL refTypeIndirType(  ) {
+        return refTypeIndirType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_RESERVED_LENGTH = SUNVMCID.value + 235 ;
+    
+    public MARSHAL badReservedLength( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( BAD_RESERVED_LENGTH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badReservedLength",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badReservedLength( CompletionStatus cs ) {
+        return badReservedLength( cs, null  ) ;
+    }
+    
+    public MARSHAL badReservedLength( Throwable t ) {
+        return badReservedLength( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL badReservedLength(  ) {
+        return badReservedLength( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NULL_NOT_ALLOWED = SUNVMCID.value + 236 ;
+    
+    public MARSHAL nullNotAllowed( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( NULL_NOT_ALLOWED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.nullNotAllowed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL nullNotAllowed( CompletionStatus cs ) {
+        return nullNotAllowed( cs, null  ) ;
+    }
+    
+    public MARSHAL nullNotAllowed( Throwable t ) {
+        return nullNotAllowed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL nullNotAllowed(  ) {
+        return nullNotAllowed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNION_DISCRIMINATOR_ERROR = SUNVMCID.value + 238 ;
+    
+    public MARSHAL unionDiscriminatorError( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( UNION_DISCRIMINATOR_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unionDiscriminatorError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unionDiscriminatorError( CompletionStatus cs ) {
+        return unionDiscriminatorError( cs, null  ) ;
+    }
+    
+    public MARSHAL unionDiscriminatorError( Throwable t ) {
+        return unionDiscriminatorError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL unionDiscriminatorError(  ) {
+        return unionDiscriminatorError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANNOT_MARSHAL_NATIVE = SUNVMCID.value + 239 ;
+    
+    public MARSHAL cannotMarshalNative( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( CANNOT_MARSHAL_NATIVE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.cannotMarshalNative",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL cannotMarshalNative( CompletionStatus cs ) {
+        return cannotMarshalNative( cs, null  ) ;
+    }
+    
+    public MARSHAL cannotMarshalNative( Throwable t ) {
+        return cannotMarshalNative( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL cannotMarshalNative(  ) {
+        return cannotMarshalNative( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANNOT_MARSHAL_BAD_TCKIND = SUNVMCID.value + 240 ;
+    
+    public MARSHAL cannotMarshalBadTckind( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( CANNOT_MARSHAL_BAD_TCKIND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.cannotMarshalBadTckind",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL cannotMarshalBadTckind( CompletionStatus cs ) {
+        return cannotMarshalBadTckind( cs, null  ) ;
+    }
+    
+    public MARSHAL cannotMarshalBadTckind( Throwable t ) {
+        return cannotMarshalBadTckind( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL cannotMarshalBadTckind(  ) {
+        return cannotMarshalBadTckind( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_INDIRECTION = SUNVMCID.value + 241 ;
+    
+    public MARSHAL invalidIndirection( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( INVALID_INDIRECTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.invalidIndirection",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL invalidIndirection( CompletionStatus cs, Object arg0) {
+        return invalidIndirection( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL invalidIndirection( Throwable t, Object arg0) {
+        return invalidIndirection( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL invalidIndirection(  Object arg0) {
+        return invalidIndirection( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int INDIRECTION_NOT_FOUND = SUNVMCID.value + 242 ;
+    
+    public MARSHAL indirectionNotFound( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( INDIRECTION_NOT_FOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "ORBUTIL.indirectionNotFound",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL indirectionNotFound( CompletionStatus cs, Object arg0) {
+        return indirectionNotFound( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL indirectionNotFound( Throwable t, Object arg0) {
+        return indirectionNotFound( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL indirectionNotFound(  Object arg0) {
+        return indirectionNotFound( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int RECURSIVE_TYPECODE_ERROR = SUNVMCID.value + 243 ;
+    
+    public MARSHAL recursiveTypecodeError( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( RECURSIVE_TYPECODE_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.recursiveTypecodeError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL recursiveTypecodeError( CompletionStatus cs ) {
+        return recursiveTypecodeError( cs, null  ) ;
+    }
+    
+    public MARSHAL recursiveTypecodeError( Throwable t ) {
+        return recursiveTypecodeError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL recursiveTypecodeError(  ) {
+        return recursiveTypecodeError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_SIMPLE_TYPECODE = SUNVMCID.value + 244 ;
+    
+    public MARSHAL invalidSimpleTypecode( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( INVALID_SIMPLE_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidSimpleTypecode",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL invalidSimpleTypecode( CompletionStatus cs ) {
+        return invalidSimpleTypecode( cs, null  ) ;
+    }
+    
+    public MARSHAL invalidSimpleTypecode( Throwable t ) {
+        return invalidSimpleTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL invalidSimpleTypecode(  ) {
+        return invalidSimpleTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_COMPLEX_TYPECODE = SUNVMCID.value + 245 ;
+    
+    public MARSHAL invalidComplexTypecode( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( INVALID_COMPLEX_TYPECODE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidComplexTypecode",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL invalidComplexTypecode( CompletionStatus cs ) {
+        return invalidComplexTypecode( cs, null  ) ;
+    }
+    
+    public MARSHAL invalidComplexTypecode( Throwable t ) {
+        return invalidComplexTypecode( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL invalidComplexTypecode(  ) {
+        return invalidComplexTypecode( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_TYPECODE_KIND_MARSHAL = SUNVMCID.value + 246 ;
+    
+    public MARSHAL invalidTypecodeKindMarshal( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( INVALID_TYPECODE_KIND_MARSHAL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.invalidTypecodeKindMarshal",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL invalidTypecodeKindMarshal( CompletionStatus cs ) {
+        return invalidTypecodeKindMarshal( cs, null  ) ;
+    }
+    
+    public MARSHAL invalidTypecodeKindMarshal( Throwable t ) {
+        return invalidTypecodeKindMarshal( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL invalidTypecodeKindMarshal(  ) {
+        return invalidTypecodeKindMarshal( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_UNION_DEFAULT = SUNVMCID.value + 247 ;
+    
+    public MARSHAL unexpectedUnionDefault( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( UNEXPECTED_UNION_DEFAULT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unexpectedUnionDefault",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unexpectedUnionDefault( CompletionStatus cs ) {
+        return unexpectedUnionDefault( cs, null  ) ;
+    }
+    
+    public MARSHAL unexpectedUnionDefault( Throwable t ) {
+        return unexpectedUnionDefault( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL unexpectedUnionDefault(  ) {
+        return unexpectedUnionDefault( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_UNION_DISCRIMINATOR_TYPE = SUNVMCID.value + 248 ;
+    
+    public MARSHAL illegalUnionDiscriminatorType( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( ILLEGAL_UNION_DISCRIMINATOR_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.illegalUnionDiscriminatorType",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL illegalUnionDiscriminatorType( CompletionStatus cs ) {
+        return illegalUnionDiscriminatorType( cs, null  ) ;
+    }
+    
+    public MARSHAL illegalUnionDiscriminatorType( Throwable t ) {
+        return illegalUnionDiscriminatorType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL illegalUnionDiscriminatorType(  ) {
+        return illegalUnionDiscriminatorType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int COULD_NOT_SKIP_BYTES = SUNVMCID.value + 249 ;
+    
+    public MARSHAL couldNotSkipBytes( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        MARSHAL exc = new MARSHAL( COULD_NOT_SKIP_BYTES, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotSkipBytes",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL couldNotSkipBytes( CompletionStatus cs, Object arg0, Object arg1) {
+        return couldNotSkipBytes( cs, null, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL couldNotSkipBytes( Throwable t, Object arg0, Object arg1) {
+        return couldNotSkipBytes( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL couldNotSkipBytes(  Object arg0, Object arg1) {
+        return couldNotSkipBytes( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int BAD_CHUNK_LENGTH = SUNVMCID.value + 250 ;
+    
+    public MARSHAL badChunkLength( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        MARSHAL exc = new MARSHAL( BAD_CHUNK_LENGTH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.badChunkLength",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badChunkLength( CompletionStatus cs, Object arg0, Object arg1) {
+        return badChunkLength( cs, null, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL badChunkLength( Throwable t, Object arg0, Object arg1) {
+        return badChunkLength( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL badChunkLength(  Object arg0, Object arg1) {
+        return badChunkLength( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int UNABLE_TO_LOCATE_REP_ID_ARRAY = SUNVMCID.value + 251 ;
+    
+    public MARSHAL unableToLocateRepIdArray( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( UNABLE_TO_LOCATE_REP_ID_ARRAY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.unableToLocateRepIdArray",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unableToLocateRepIdArray( CompletionStatus cs, Object arg0) {
+        return unableToLocateRepIdArray( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL unableToLocateRepIdArray( Throwable t, Object arg0) {
+        return unableToLocateRepIdArray( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL unableToLocateRepIdArray(  Object arg0) {
+        return unableToLocateRepIdArray( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_FIXED = SUNVMCID.value + 252 ;
+    
+    public MARSHAL badFixed( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        MARSHAL exc = new MARSHAL( BAD_FIXED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.badFixed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badFixed( CompletionStatus cs, Object arg0, Object arg1) {
+        return badFixed( cs, null, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL badFixed( Throwable t, Object arg0, Object arg1) {
+        return badFixed( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL badFixed(  Object arg0, Object arg1) {
+        return badFixed( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int READ_OBJECT_LOAD_CLASS_FAILURE = SUNVMCID.value + 253 ;
+    
+    public MARSHAL readObjectLoadClassFailure( CompletionStatus cs, Throwable t, Object arg0, Object arg1) {
+        MARSHAL exc = new MARSHAL( READ_OBJECT_LOAD_CLASS_FAILURE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[2] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            doLog( Level.WARNING, "ORBUTIL.readObjectLoadClassFailure",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL readObjectLoadClassFailure( CompletionStatus cs, Object arg0, Object arg1) {
+        return readObjectLoadClassFailure( cs, null, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL readObjectLoadClassFailure( Throwable t, Object arg0, Object arg1) {
+        return readObjectLoadClassFailure( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ;
+    }
+    
+    public MARSHAL readObjectLoadClassFailure(  Object arg0, Object arg1) {
+        return readObjectLoadClassFailure( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ;
+    }
+    
+    public static final int COULD_NOT_INSTANTIATE_HELPER = SUNVMCID.value + 254 ;
+    
+    public MARSHAL couldNotInstantiateHelper( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( COULD_NOT_INSTANTIATE_HELPER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotInstantiateHelper",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL couldNotInstantiateHelper( CompletionStatus cs, Object arg0) {
+        return couldNotInstantiateHelper( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL couldNotInstantiateHelper( Throwable t, Object arg0) {
+        return couldNotInstantiateHelper( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL couldNotInstantiateHelper(  Object arg0) {
+        return couldNotInstantiateHelper( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_TOA_OAID = SUNVMCID.value + 255 ;
+    
+    public MARSHAL badToaOaid( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( BAD_TOA_OAID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badToaOaid",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badToaOaid( CompletionStatus cs ) {
+        return badToaOaid( cs, null  ) ;
+    }
+    
+    public MARSHAL badToaOaid( Throwable t ) {
+        return badToaOaid( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL badToaOaid(  ) {
+        return badToaOaid( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int COULD_NOT_INVOKE_HELPER_READ_METHOD = SUNVMCID.value + 256 ;
+    
+    public MARSHAL couldNotInvokeHelperReadMethod( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( COULD_NOT_INVOKE_HELPER_READ_METHOD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotInvokeHelperReadMethod",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL couldNotInvokeHelperReadMethod( CompletionStatus cs, Object arg0) {
+        return couldNotInvokeHelperReadMethod( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL couldNotInvokeHelperReadMethod( Throwable t, Object arg0) {
+        return couldNotInvokeHelperReadMethod( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL couldNotInvokeHelperReadMethod(  Object arg0) {
+        return couldNotInvokeHelperReadMethod( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int COULD_NOT_FIND_CLASS = SUNVMCID.value + 257 ;
+    
+    public MARSHAL couldNotFindClass( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( COULD_NOT_FIND_CLASS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.couldNotFindClass",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL couldNotFindClass( CompletionStatus cs ) {
+        return couldNotFindClass( cs, null  ) ;
+    }
+    
+    public MARSHAL couldNotFindClass( Throwable t ) {
+        return couldNotFindClass( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL couldNotFindClass(  ) {
+        return couldNotFindClass( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_ARGUMENTS_NVLIST = SUNVMCID.value + 258 ;
+    
+    public MARSHAL badArgumentsNvlist( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( BAD_ARGUMENTS_NVLIST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.badArgumentsNvlist",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL badArgumentsNvlist( CompletionStatus cs ) {
+        return badArgumentsNvlist( cs, null  ) ;
+    }
+    
+    public MARSHAL badArgumentsNvlist( Throwable t ) {
+        return badArgumentsNvlist( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL badArgumentsNvlist(  ) {
+        return badArgumentsNvlist( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int STUB_CREATE_ERROR = SUNVMCID.value + 259 ;
+    
+    public MARSHAL stubCreateError( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( STUB_CREATE_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.stubCreateError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL stubCreateError( CompletionStatus cs ) {
+        return stubCreateError( cs, null  ) ;
+    }
+    
+    public MARSHAL stubCreateError( Throwable t ) {
+        return stubCreateError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL stubCreateError(  ) {
+        return stubCreateError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int JAVA_SERIALIZATION_EXCEPTION = SUNVMCID.value + 260 ;
+    
+    public MARSHAL javaSerializationException( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( JAVA_SERIALIZATION_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "ORBUTIL.javaSerializationException",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL javaSerializationException( CompletionStatus cs, Object arg0) {
+        return javaSerializationException( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL javaSerializationException( Throwable t, Object arg0) {
+        return javaSerializationException( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL javaSerializationException(  Object arg0) {
+        return javaSerializationException( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // NO_IMPLEMENT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int GENERIC_NO_IMPL = SUNVMCID.value + 201 ;
+    
+    public NO_IMPLEMENT genericNoImpl( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( GENERIC_NO_IMPL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.genericNoImpl",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT genericNoImpl( CompletionStatus cs ) {
+        return genericNoImpl( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT genericNoImpl( Throwable t ) {
+        return genericNoImpl( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT genericNoImpl(  ) {
+        return genericNoImpl( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONTEXT_NOT_IMPLEMENTED = SUNVMCID.value + 202 ;
+    
+    public NO_IMPLEMENT contextNotImplemented( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( CONTEXT_NOT_IMPLEMENTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.contextNotImplemented",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT contextNotImplemented( CompletionStatus cs ) {
+        return contextNotImplemented( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT contextNotImplemented( Throwable t ) {
+        return contextNotImplemented( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT contextNotImplemented(  ) {
+        return contextNotImplemented( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int GETINTERFACE_NOT_IMPLEMENTED = SUNVMCID.value + 203 ;
+    
+    public NO_IMPLEMENT getinterfaceNotImplemented( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( GETINTERFACE_NOT_IMPLEMENTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.getinterfaceNotImplemented",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT getinterfaceNotImplemented( CompletionStatus cs ) {
+        return getinterfaceNotImplemented( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT getinterfaceNotImplemented( Throwable t ) {
+        return getinterfaceNotImplemented( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT getinterfaceNotImplemented(  ) {
+        return getinterfaceNotImplemented( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SEND_DEFERRED_NOTIMPLEMENTED = SUNVMCID.value + 204 ;
+    
+    public NO_IMPLEMENT sendDeferredNotimplemented( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( SEND_DEFERRED_NOTIMPLEMENTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.sendDeferredNotimplemented",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT sendDeferredNotimplemented( CompletionStatus cs ) {
+        return sendDeferredNotimplemented( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT sendDeferredNotimplemented( Throwable t ) {
+        return sendDeferredNotimplemented( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT sendDeferredNotimplemented(  ) {
+        return sendDeferredNotimplemented( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int LONG_DOUBLE_NOT_IMPLEMENTED = SUNVMCID.value + 205 ;
+    
+    public NO_IMPLEMENT longDoubleNotImplemented( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( LONG_DOUBLE_NOT_IMPLEMENTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.longDoubleNotImplemented",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT longDoubleNotImplemented( CompletionStatus cs ) {
+        return longDoubleNotImplemented( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT longDoubleNotImplemented( Throwable t ) {
+        return longDoubleNotImplemented( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT longDoubleNotImplemented(  ) {
+        return longDoubleNotImplemented( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJ_ADAPTER
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NO_SERVER_SC_IN_DISPATCH = SUNVMCID.value + 201 ;
+    
+    public OBJ_ADAPTER noServerScInDispatch( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( NO_SERVER_SC_IN_DISPATCH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noServerScInDispatch",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER noServerScInDispatch( CompletionStatus cs ) {
+        return noServerScInDispatch( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER noServerScInDispatch( Throwable t ) {
+        return noServerScInDispatch( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER noServerScInDispatch(  ) {
+        return noServerScInDispatch( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ORB_CONNECT_ERROR = SUNVMCID.value + 202 ;
+    
+    public OBJ_ADAPTER orbConnectError( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( ORB_CONNECT_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.orbConnectError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER orbConnectError( CompletionStatus cs ) {
+        return orbConnectError( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER orbConnectError( Throwable t ) {
+        return orbConnectError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER orbConnectError(  ) {
+        return orbConnectError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ADAPTER_INACTIVE_IN_ACTIVATION = SUNVMCID.value + 203 ;
+    
+    public OBJ_ADAPTER adapterInactiveInActivation( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( ADAPTER_INACTIVE_IN_ACTIVATION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.adapterInactiveInActivation",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER adapterInactiveInActivation( CompletionStatus cs ) {
+        return adapterInactiveInActivation( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER adapterInactiveInActivation( Throwable t ) {
+        return adapterInactiveInActivation( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER adapterInactiveInActivation(  ) {
+        return adapterInactiveInActivation( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJECT_NOT_EXIST
+    ///////////////////////////////////////////////////////////
+    
+    public static final int LOCATE_UNKNOWN_OBJECT = SUNVMCID.value + 201 ;
+    
+    public OBJECT_NOT_EXIST locateUnknownObject( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( LOCATE_UNKNOWN_OBJECT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.locateUnknownObject",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST locateUnknownObject( CompletionStatus cs ) {
+        return locateUnknownObject( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST locateUnknownObject( Throwable t ) {
+        return locateUnknownObject( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST locateUnknownObject(  ) {
+        return locateUnknownObject( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SERVER_ID = SUNVMCID.value + 202 ;
+    
+    public OBJECT_NOT_EXIST badServerId( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( BAD_SERVER_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.badServerId",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST badServerId( CompletionStatus cs ) {
+        return badServerId( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badServerId( Throwable t ) {
+        return badServerId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badServerId(  ) {
+        return badServerId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SKELETON = SUNVMCID.value + 203 ;
+    
+    public OBJECT_NOT_EXIST badSkeleton( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( BAD_SKELETON, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badSkeleton",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST badSkeleton( CompletionStatus cs ) {
+        return badSkeleton( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badSkeleton( Throwable t ) {
+        return badSkeleton( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badSkeleton(  ) {
+        return badSkeleton( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_NOT_FOUND = SUNVMCID.value + 204 ;
+    
+    public OBJECT_NOT_EXIST servantNotFound( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( SERVANT_NOT_FOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.servantNotFound",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST servantNotFound( CompletionStatus cs ) {
+        return servantNotFound( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST servantNotFound( Throwable t ) {
+        return servantNotFound( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST servantNotFound(  ) {
+        return servantNotFound( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_OBJECT_ADAPTER_FACTORY = SUNVMCID.value + 205 ;
+    
+    public OBJECT_NOT_EXIST noObjectAdapterFactory( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( NO_OBJECT_ADAPTER_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noObjectAdapterFactory",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST noObjectAdapterFactory( CompletionStatus cs ) {
+        return noObjectAdapterFactory( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST noObjectAdapterFactory( Throwable t ) {
+        return noObjectAdapterFactory( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST noObjectAdapterFactory(  ) {
+        return noObjectAdapterFactory( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_ADAPTER_ID = SUNVMCID.value + 206 ;
+    
+    public OBJECT_NOT_EXIST badAdapterId( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( BAD_ADAPTER_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.badAdapterId",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST badAdapterId( CompletionStatus cs ) {
+        return badAdapterId( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badAdapterId( Throwable t ) {
+        return badAdapterId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badAdapterId(  ) {
+        return badAdapterId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DYN_ANY_DESTROYED = SUNVMCID.value + 207 ;
+    
+    public OBJECT_NOT_EXIST dynAnyDestroyed( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( DYN_ANY_DESTROYED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.dynAnyDestroyed",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST dynAnyDestroyed( CompletionStatus cs ) {
+        return dynAnyDestroyed( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST dynAnyDestroyed( Throwable t ) {
+        return dynAnyDestroyed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST dynAnyDestroyed(  ) {
+        return dynAnyDestroyed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // TRANSIENT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int REQUEST_CANCELED = SUNVMCID.value + 201 ;
+    
+    public TRANSIENT requestCanceled( CompletionStatus cs, Throwable t ) {
+        TRANSIENT exc = new TRANSIENT( REQUEST_CANCELED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.requestCanceled",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSIENT requestCanceled( CompletionStatus cs ) {
+        return requestCanceled( cs, null  ) ;
+    }
+    
+    public TRANSIENT requestCanceled( Throwable t ) {
+        return requestCanceled( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSIENT requestCanceled(  ) {
+        return requestCanceled( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // UNKNOWN
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNKNOWN_CORBA_EXC = SUNVMCID.value + 201 ;
+    
+    public UNKNOWN unknownCorbaExc( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_CORBA_EXC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unknownCorbaExc",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownCorbaExc( CompletionStatus cs ) {
+        return unknownCorbaExc( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownCorbaExc( Throwable t ) {
+        return unknownCorbaExc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownCorbaExc(  ) {
+        return unknownCorbaExc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int RUNTIMEEXCEPTION = SUNVMCID.value + 202 ;
+    
+    public UNKNOWN runtimeexception( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( RUNTIMEEXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.runtimeexception",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN runtimeexception( CompletionStatus cs ) {
+        return runtimeexception( cs, null  ) ;
+    }
+    
+    public UNKNOWN runtimeexception( Throwable t ) {
+        return runtimeexception( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN runtimeexception(  ) {
+        return runtimeexception( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_SERVER_ERROR = SUNVMCID.value + 203 ;
+    
+    public UNKNOWN unknownServerError( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_SERVER_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unknownServerError",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownServerError( CompletionStatus cs ) {
+        return unknownServerError( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownServerError( Throwable t ) {
+        return unknownServerError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownServerError(  ) {
+        return unknownServerError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_DSI_SYSEX = SUNVMCID.value + 204 ;
+    
+    public UNKNOWN unknownDsiSysex( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_DSI_SYSEX, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unknownDsiSysex",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownDsiSysex( CompletionStatus cs ) {
+        return unknownDsiSysex( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownDsiSysex( Throwable t ) {
+        return unknownDsiSysex( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownDsiSysex(  ) {
+        return unknownDsiSysex( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_SYSEX = SUNVMCID.value + 205 ;
+    
+    public UNKNOWN unknownSysex( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_SYSEX, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.unknownSysex",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownSysex( CompletionStatus cs ) {
+        return unknownSysex( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownSysex( Throwable t ) {
+        return unknownSysex( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownSysex(  ) {
+        return unknownSysex( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WRONG_INTERFACE_DEF = SUNVMCID.value + 206 ;
+    
+    public UNKNOWN wrongInterfaceDef( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( WRONG_INTERFACE_DEF, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.wrongInterfaceDef",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN wrongInterfaceDef( CompletionStatus cs ) {
+        return wrongInterfaceDef( cs, null  ) ;
+    }
+    
+    public UNKNOWN wrongInterfaceDef( Throwable t ) {
+        return wrongInterfaceDef( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN wrongInterfaceDef(  ) {
+        return wrongInterfaceDef( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_INTERFACE_DEF_STUB = SUNVMCID.value + 207 ;
+    
+    public UNKNOWN noInterfaceDefStub( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( NO_INTERFACE_DEF_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "ORBUTIL.noInterfaceDefStub",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN noInterfaceDefStub( CompletionStatus cs ) {
+        return noInterfaceDefStub( cs, null  ) ;
+    }
+    
+    public UNKNOWN noInterfaceDefStub( Throwable t ) {
+        return noInterfaceDefStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN noInterfaceDefStub(  ) {
+        return noInterfaceDefStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_EXCEPTION_IN_DISPATCH = SUNVMCID.value + 209 ;
+    
+    public UNKNOWN unknownExceptionInDispatch( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_EXCEPTION_IN_DISPATCH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "ORBUTIL.unknownExceptionInDispatch",
+                parameters, ORBUtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownExceptionInDispatch( CompletionStatus cs ) {
+        return unknownExceptionInDispatch( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownExceptionInDispatch( Throwable t ) {
+        return unknownExceptionInDispatch( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownExceptionInDispatch(  ) {
+        return unknownExceptionInDispatch( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,297 @@
+ORBUTIL.adapterIdNotAvailable="IOP01210201: (BAD_OPERATION) Adapter ID not available"
+ORBUTIL.serverIdNotAvailable="IOP01210202: (BAD_OPERATION) Server ID not available"
+ORBUTIL.orbIdNotAvailable="IOP01210203: (BAD_OPERATION) ORB ID not available"
+ORBUTIL.objectAdapterIdNotAvailable="IOP01210204: (BAD_OPERATION) Object adapter ID not available"
+ORBUTIL.connectingServant="IOP01210205: (BAD_OPERATION) Error connecting servant"
+ORBUTIL.extractWrongType="IOP01210206: (BAD_OPERATION) Expected typecode kind {0} but got typecode kind {1}"
+ORBUTIL.extractWrongTypeList="IOP01210207: (BAD_OPERATION) Expected typecode kind to be one of {0} but got typecode kind {1}"
+ORBUTIL.badStringBounds="IOP01210208: (BAD_OPERATION) String length of {0} exceeds bounded string length of {1}"
+ORBUTIL.insertObjectIncompatible="IOP01210210: (BAD_OPERATION) Tried to insert an object of an incompatible type into an Any for an object reference"
+ORBUTIL.insertObjectFailed="IOP01210211: (BAD_OPERATION) insert_Object call failed on an Any"
+ORBUTIL.extractObjectIncompatible="IOP01210212: (BAD_OPERATION) extract_Object call failed on an Any"
+ORBUTIL.fixedNotMatch="IOP01210213: (BAD_OPERATION) Fixed type does not match typecode"
+ORBUTIL.fixedBadTypecode="IOP01210214: (BAD_OPERATION) Tried to insert Fixed type for non-Fixed typecode"
+ORBUTIL.setExceptionCalledNullArgs="IOP01210223: (BAD_OPERATION) set_exception(Any) called with null args for DSI ServerRequest"
+ORBUTIL.setExceptionCalledBadType="IOP01210224: (BAD_OPERATION) set_exception(Any) called with a bad (non-exception) type"
+ORBUTIL.contextCalledOutOfOrder="IOP01210225: (BAD_OPERATION) ctx() called out of order for DSI ServerRequest"
+ORBUTIL.badOrbConfigurator="IOP01210226: (BAD_OPERATION) ORB configurator class {0} could not be instantiated"
+ORBUTIL.orbConfiguratorError="IOP01210227: (BAD_OPERATION) Error in running ORB configurator"
+ORBUTIL.orbDestroyed="IOP01210228: (BAD_OPERATION) This ORB instance has been destroyed, so no operations can be performed on it"
+ORBUTIL.negativeBounds="IOP01210229: (BAD_OPERATION) Negative bound for string TypeCode is illegal"
+ORBUTIL.extractNotInitialized="IOP01210230: (BAD_OPERATION) Called typecode extract on an uninitialized typecode"
+ORBUTIL.extractObjectFailed="IOP01210231: (BAD_OPERATION) extract_Object failed on an uninitialized Any"
+ORBUTIL.methodNotFoundInTie="IOP01210232: (BAD_OPERATION) Could not find method named {0} in class {1} in reflective Tie"
+ORBUTIL.classNotFound1="IOP01210233: (BAD_OPERATION) ClassNotFoundException while attempting to load preferred stub named {0}"
+ORBUTIL.classNotFound2="IOP01210234: (BAD_OPERATION) ClassNotFoundException while attempting to load alternate stub named {0}"
+ORBUTIL.classNotFound3="IOP01210235: (BAD_OPERATION) ClassNotFoundException while attempting to load interface {0}"
+ORBUTIL.getDelegateServantNotActive="IOP01210236: (BAD_OPERATION) POA ServantNotActive exception while trying get an org.omg.CORBA.Portable.Delegate for an org.omg.PortableServer.Servant"
+ORBUTIL.getDelegateWrongPolicy="IOP01210237: (BAD_OPERATION) POA WrongPolicy exception while trying get an org.omg.CORBA.Portable.Delegate for an org.omg.PortableServer.Servant"
+ORBUTIL.setDelegateRequiresStub="IOP01210238: (BAD_OPERATION) Call to StubAdapter.setDelegate did not pass a stub"
+ORBUTIL.getDelegateRequiresStub="IOP01210239: (BAD_OPERATION) Call to StubAdapter.getDelegate did not pass a stub"
+ORBUTIL.getTypeIdsRequiresStub="IOP01210240: (BAD_OPERATION) Call to StubAdapter.getTypeIds did not pass a stub"
+ORBUTIL.getOrbRequiresStub="IOP01210241: (BAD_OPERATION) Call to StubAdapter.getORB did not pass a stub"
+ORBUTIL.connectRequiresStub="IOP01210242: (BAD_OPERATION) Call to StubAdapter.connect did not pass a stub"
+ORBUTIL.isLocalRequiresStub="IOP01210243: (BAD_OPERATION) Call to StubAdapter.isLocal did not pass a stub"
+ORBUTIL.requestRequiresStub="IOP01210244: (BAD_OPERATION) Call to StubAdapter.request did not pass a stub"
+ORBUTIL.badActivateTieCall="IOP01210245: (BAD_OPERATION) Call to StubAdapter.activateTie did not pass a valid Tie"
+ORBUTIL.nullParam="IOP00110201: (BAD_PARAM) Null parameter"
+ORBUTIL.unableFindValueFactory="IOP00110202: (BAD_PARAM) Unable to find value factory"
+ORBUTIL.abstractFromNonAbstract="IOP00110203: (BAD_PARAM) Abstract interface derived from non-abstract interface"
+ORBUTIL.invalidTaggedProfile="IOP00110204: (BAD_PARAM) Error in reading IIOP TaggedProfile"
+ORBUTIL.objrefFromForeignOrb="IOP00110205: (BAD_PARAM) Object reference came from foreign ORB"
+ORBUTIL.localObjectNotAllowed="IOP00110206: (BAD_PARAM) Local object not allowed"
+ORBUTIL.nullObjectReference="IOP00110207: (BAD_PARAM) null object reference"
+ORBUTIL.couldNotLoadClass="IOP00110208: (BAD_PARAM) Could not load class {0}"
+ORBUTIL.badUrl="IOP00110209: (BAD_PARAM) Malformed URL {0}"
+ORBUTIL.fieldNotFound="IOP00110210: (BAD_PARAM) Field {0} not found in parser data object"
+ORBUTIL.errorSettingField="IOP00110211: (BAD_PARAM) Error in setting field {0} to value {1} in parser data object"
+ORBUTIL.boundsErrorInDiiRequest="IOP00110212: (BAD_PARAM) Bounds error occurred in DII request"
+ORBUTIL.persistentServerInitError="IOP00110213: (BAD_PARAM) Initialization error for persistent server"
+ORBUTIL.couldNotCreateArray="IOP00110214: (BAD_PARAM) Could not create array for field {0} with component type {1} and size {2}"
+ORBUTIL.couldNotSetArray="IOP00110215: (BAD_PARAM) Could not set array for field {0} at index {1} with component type {2} and size {3} to value {4}"
+ORBUTIL.illegalBootstrapOperation="IOP00110216: (BAD_PARAM) Illegal bootstrap operation {0}"
+ORBUTIL.bootstrapRuntimeException="IOP00110217: (BAD_PARAM) Runtime Exception during bootstrap operation"
+ORBUTIL.bootstrapException="IOP00110218: (BAD_PARAM) Exception during bootstrap operation"
+ORBUTIL.stringExpected="IOP00110219: (BAD_PARAM) Expected a string, but argument was not of String type"
+ORBUTIL.invalidTypecodeKind="IOP00110220: (BAD_PARAM) {0} does not represent a valid kind of typecode"
+ORBUTIL.socketFactoryAndContactInfoListAtSameTime="IOP00110221: (BAD_PARAM) cannot have a SocketFactory and a ContactInfoList at the same time"
+ORBUTIL.acceptorsAndLegacySocketFactoryAtSameTime="IOP00110222: (BAD_PARAM) cannot have Acceptors and a legacy SocketFactory at the same time"
+ORBUTIL.badOrbForServant="IOP00110223: (BAD_PARAM) Reflective POA Servant requires an instance of org.omg.CORBA_2_3.ORB"
+ORBUTIL.invalidRequestPartitioningPolicyValue="IOP00110224: (BAD_PARAM) Request partitioning value specified, {0}, is outside supported range, {1} - {2}"
+ORBUTIL.invalidRequestPartitioningComponentValue="IOP00110225: (BAD_PARAM) Could not set request partitioning component value to {0}, valid values are {1} - {2}"
+ORBUTIL.invalidRequestPartitioningId="IOP00110226: (BAD_PARAM) Invalid request partitioning id {0}, valid values are {1} - {2}"
+ORBUTIL.errorInSettingDynamicStubFactoryFactory="IOP00110227: (BAD_PARAM) ORBDynamicStubFactoryFactoryClass property had value {0}, which could not be loaded by the ORB ClassLoader"
+ORBUTIL.dsimethodNotcalled="IOP01610201: (BAD_INV_ORDER) DSI method not called"
+ORBUTIL.argumentsCalledMultiple="IOP01610202: (BAD_INV_ORDER) arguments(NVList) called more than once for DSI ServerRequest"
+ORBUTIL.argumentsCalledAfterException="IOP01610203: (BAD_INV_ORDER) arguments(NVList) called after exceptions set for DSI ServerRequest"
+ORBUTIL.argumentsCalledNullArgs="IOP01610204: (BAD_INV_ORDER) arguments(NVList) called with null args for DSI ServerRequest"
+ORBUTIL.argumentsNotCalled="IOP01610205: (BAD_INV_ORDER) arguments(NVList) not called for DSI ServerRequest"
+ORBUTIL.setResultCalledMultiple="IOP01610206: (BAD_INV_ORDER) set_result(Any) called more than once for DSI ServerRequest"
+ORBUTIL.setResultAfterException="IOP01610207: (BAD_INV_ORDER) set_result(Any) called exception was set for DSI ServerRequest"
+ORBUTIL.setResultCalledNullArgs="IOP01610208: (BAD_INV_ORDER) set_result(Any) called with null args for DSI ServerRequest"
+ORBUTIL.badRemoteTypecode="IOP01110201: (BAD_TYPECODE) Foreign to native typecode conversion constructor should not be called with native typecode"
+ORBUTIL.unresolvedRecursiveTypecode="IOP01110202: (BAD_TYPECODE) Invoked operation on unresolved recursive TypeCode"
+ORBUTIL.connectFailure="IOP00410201: (COMM_FAILURE) Connection failure: socketType: {0}; hostname: {1}; port: {2}"
+ORBUTIL.connectionCloseRebind="IOP00410202: (COMM_FAILURE) Connection close: rebind"
+ORBUTIL.writeErrorSend="IOP00410203: (COMM_FAILURE) Write error sent"
+ORBUTIL.getPropertiesError="IOP00410204: (COMM_FAILURE) Get properties error"
+ORBUTIL.bootstrapServerNotAvail="IOP00410205: (COMM_FAILURE) Bootstrap server is not available"
+ORBUTIL.invokeError="IOP00410206: (COMM_FAILURE) Invocation error"
+ORBUTIL.defaultCreateServerSocketGivenNonIiopClearText="IOP00410207: (COMM_FAILURE) DefaultSocketFactory.createServerSocket only handles IIOP_CLEAR_TEXT, given {0}"
+ORBUTIL.connectionAbort="IOP00410208: (COMM_FAILURE) Connection abort"
+ORBUTIL.connectionRebind="IOP00410209: (COMM_FAILURE) Connection rebind"
+ORBUTIL.recvMsgError="IOP00410210: (COMM_FAILURE) Received a GIOP MessageError, indicating header corruption or version mismatch"
+ORBUTIL.ioexceptionWhenReadingConnection="IOP00410211: (COMM_FAILURE) IOException when reading connection"
+ORBUTIL.selectionKeyInvalid="IOP00410212: (COMM_FAILURE) SelectionKey invalid on channel, {0}"
+ORBUTIL.exceptionInAccept="IOP00410213: (COMM_FAILURE) Unexpected {0} in accept"
+ORBUTIL.securityExceptionInAccept="IOP00410214: (COMM_FAILURE) Unexpected {0}, has permissions {1}"
+ORBUTIL.transportReadTimeoutExceeded="IOP00410215: (COMM_FAILURE) Read of full message failed : bytes requested = {0} bytes read = {1} max wait time = {2} total time spent waiting = {3}"
+ORBUTIL.createListenerFailed="IOP00410216: (COMM_FAILURE) Unable to create listener thread on the specified port: {0}"
+ORBUTIL.badStringifiedIorLen="IOP02410201: (DATA_CONVERSION) A character did not map to the transmission code set"
+ORBUTIL.badStringifiedIor="IOP02410202: (DATA_CONVERSION) Bad stringified IOR"
+ORBUTIL.badModifier="IOP02410203: (DATA_CONVERSION) Unable to perform resolve_initial_references due to bad host or port configuration"
+ORBUTIL.codesetIncompatible="IOP02410204: (DATA_CONVERSION) Codesets incompatible"
+ORBUTIL.badHexDigit="IOP02410205: (DATA_CONVERSION) Illegal hexadecimal digit"
+ORBUTIL.badUnicodePair="IOP02410206: (DATA_CONVERSION) Invalid unicode pair detected during code set conversion"
+ORBUTIL.btcResultMoreThanOneChar="IOP02410207: (DATA_CONVERSION) Tried to convert bytes to a single java char, but conversion yielded more than one Java char (Surrogate pair?)"
+ORBUTIL.badCodesetsFromClient="IOP02410208: (DATA_CONVERSION) Client sent code set service context that we do not support"
+ORBUTIL.invalidSingleCharCtb="IOP02410209: (DATA_CONVERSION) Char to byte conversion for a CORBA char resulted in more than one byte"
+ORBUTIL.badGiop11Ctb="IOP02410210: (DATA_CONVERSION) Character to byte conversion did not exactly double number of chars (GIOP 1.1 only)"
+ORBUTIL.badSequenceBounds="IOP02410212: (DATA_CONVERSION) Tried to insert a sequence of length {0} into a bounded sequence of maximum length {1} in an Any"
+ORBUTIL.illegalSocketFactoryType="IOP02410213: (DATA_CONVERSION) Class {0} is not a subtype of ORBSocketFactory"
+ORBUTIL.badCustomSocketFactory="IOP02410214: (DATA_CONVERSION) {0} is not a valid custom socket factory"
+ORBUTIL.fragmentSizeMinimum="IOP02410215: (DATA_CONVERSION) Fragment size {0} is too small: it must be at least {1}"
+ORBUTIL.fragmentSizeDiv="IOP02410216: (DATA_CONVERSION) Illegal valiue for fragment size ({0}): must be divisible by {1}"
+ORBUTIL.orbInitializerFailure="IOP02410217: (DATA_CONVERSION) Could not instantiate ORBInitializer {0}"
+ORBUTIL.orbInitializerType="IOP02410218: (DATA_CONVERSION) orb initializer class {0} is not a subtype of ORBInitializer"
+ORBUTIL.orbInitialreferenceSyntax="IOP02410219: (DATA_CONVERSION) Bad syntax for ORBInitialReference"
+ORBUTIL.acceptorInstantiationFailure="IOP02410220: (DATA_CONVERSION) Could not instantiate Acceptor {0}"
+ORBUTIL.acceptorInstantiationTypeFailure="IOP02410221: (DATA_CONVERSION) Acceptor class {0} is not a subtype of Acceptor"
+ORBUTIL.illegalContactInfoListFactoryType="IOP02410222: (DATA_CONVERSION) Class {0} is not a subtype of CorbaContactInfoListFactory"
+ORBUTIL.badContactInfoListFactory="IOP02410223: (DATA_CONVERSION) {0} is not a valid CorbaContactInfoListFactory"
+ORBUTIL.illegalIorToSocketInfoType="IOP02410224: (DATA_CONVERSION) Class {0} is not a subtype of IORToSocketInfo"
+ORBUTIL.badCustomIorToSocketInfo="IOP02410225: (DATA_CONVERSION) {0} is not a valid custom IORToSocketInfo"
+ORBUTIL.illegalIiopPrimaryToContactInfoType="IOP02410226: (DATA_CONVERSION) Class {0} is not a subtype of IIOPPrimaryToContactInfo"
+ORBUTIL.badCustomIiopPrimaryToContactInfo="IOP02410227: (DATA_CONVERSION) {0} is not a valid custom IIOPPrimaryToContactInfo"
+ORBUTIL.badCorbalocString="IOP00510201: (INV_OBJREF) Bad corbaloc: URL"
+ORBUTIL.noProfilePresent="IOP00510202: (INV_OBJREF) No profile in IOR"
+ORBUTIL.cannotCreateOrbidDb="IOP00910201: (INITIALIZE) Cannot create ORB ID datastore"
+ORBUTIL.cannotReadOrbidDb="IOP00910202: (INITIALIZE) Cannot read ORB ID datastore"
+ORBUTIL.cannotWriteOrbidDb="IOP00910203: (INITIALIZE) Cannot write ORB ID datastore"
+ORBUTIL.getServerPortCalledBeforeEndpointsInitialized="IOP00910204: (INITIALIZE) legacyGetServerPort called before endpoints initialized"
+ORBUTIL.persistentServerportNotSet="IOP00910205: (INITIALIZE) Persistent server port is not set"
+ORBUTIL.persistentServeridNotSet="IOP00910206: (INITIALIZE) Persistent server ID is not set"
+ORBUTIL.nonExistentOrbid="IOP00710201: (INTERNAL) Non-existent ORB ID"
+ORBUTIL.noServerSubcontract="IOP00710202: (INTERNAL) No server request dispatcher"
+ORBUTIL.serverScTempSize="IOP00710203: (INTERNAL) server request dispatcher template size error"
+ORBUTIL.noClientScClass="IOP00710204: (INTERNAL) No client request dispatcher class"
+ORBUTIL.serverScNoIiopProfile="IOP00710205: (INTERNAL) No IIOP profile in server request dispatcher"
+ORBUTIL.getSystemExReturnedNull="IOP00710206: (INTERNAL) getSystemException returned null"
+ORBUTIL.peekstringFailed="IOP00710207: (INTERNAL) The repository ID of a user exception had a bad length"
+ORBUTIL.getLocalHostFailed="IOP00710208: (INTERNAL) Unable to determine local hostname from InetAddress.getLocalHost().getHostName()"
+ORBUTIL.badLocateRequestStatus="IOP00710210: (INTERNAL) Bad locate request status in IIOP locate reply"
+ORBUTIL.stringifyWriteError="IOP00710211: (INTERNAL) Error while stringifying an object reference"
+ORBUTIL.badGiopRequestType="IOP00710212: (INTERNAL) IIOP message with bad GIOP 1.0 message type"
+ORBUTIL.errorUnmarshalingUserexc="IOP00710213: (INTERNAL) Error in unmarshalling user exception"
+ORBUTIL.requestdispatcherregistryError="IOP00710214: (INTERNAL) Overflow in RequestDispatcherRegistry"
+ORBUTIL.locationforwardError="IOP00710215: (INTERNAL) Error in processing a LocationForward"
+ORBUTIL.wrongClientsc="IOP00710216: (INTERNAL) Wrong client request dispatcher"
+ORBUTIL.badServantReadObject="IOP00710217: (INTERNAL) Bad servant in read_Object"
+ORBUTIL.multIiopProfNotSupported="IOP00710218: (INTERNAL) multiple IIOP profiles not supported"
+ORBUTIL.giopMagicError="IOP00710220: (INTERNAL) Error in GIOP magic"
+ORBUTIL.giopVersionError="IOP00710221: (INTERNAL) Error in GIOP version"
+ORBUTIL.illegalReplyStatus="IOP00710222: (INTERNAL) Illegal reply status in GIOP reply message"
+ORBUTIL.illegalGiopMsgType="IOP00710223: (INTERNAL) Illegal GIOP message type"
+ORBUTIL.fragmentationDisallowed="IOP00710224: (INTERNAL) Fragmentation not allowed for this message type"
+ORBUTIL.badReplystatus="IOP00710225: (INTERNAL) Bad status in the IIOP reply message"
+ORBUTIL.ctbConverterFailure="IOP00710226: (INTERNAL) character to byte converter failure"
+ORBUTIL.btcConverterFailure="IOP00710227: (INTERNAL) byte to character converter failure"
+ORBUTIL.wcharArrayUnsupportedEncoding="IOP00710228: (INTERNAL) Unsupported wchar encoding: ORB only supports fixed width UTF-16 encoding"
+ORBUTIL.illegalTargetAddressDisposition="IOP00710229: (INTERNAL) Illegal target address disposition value"
+ORBUTIL.nullReplyInGetAddrDisposition="IOP00710230: (INTERNAL) No reply while attempting to get addressing disposition"
+ORBUTIL.orbTargetAddrPreferenceInExtractObjectkeyInvalid="IOP00710231: (INTERNAL) Invalid GIOP target addressing preference"
+ORBUTIL.invalidIsstreamedTckind="IOP00710232: (INTERNAL) Invalid isStreamed TCKind {0}"
+ORBUTIL.invalidJdk131PatchLevel="IOP00710233: (INTERNAL) Found a JDK 1.3.1 patch level indicator with value less than JDK 1.3.1_01 value of 1"
+ORBUTIL.svcctxUnmarshalError="IOP00710234: (INTERNAL) Error unmarshalling service context data"
+ORBUTIL.nullIor="IOP00710235: (INTERNAL) null IOR"
+ORBUTIL.unsupportedGiopVersion="IOP00710236: (INTERNAL) Unsupported GIOP version {0}"
+ORBUTIL.applicationExceptionInSpecialMethod="IOP00710237: (INTERNAL) Application exception in special method: should not happen"
+ORBUTIL.statementNotReachable1="IOP00710238: (INTERNAL) Assertion failed: statement not reachable (1)"
+ORBUTIL.statementNotReachable2="IOP00710239: (INTERNAL) Assertion failed: statement not reachable (2)"
+ORBUTIL.statementNotReachable3="IOP00710240: (INTERNAL) Assertion failed: statement not reachable (3)"
+ORBUTIL.statementNotReachable4="IOP00710241: (INTERNAL) Assertion failed: statement not reachable (4)"
+ORBUTIL.statementNotReachable5="IOP00710242: (INTERNAL) Assertion failed: statement not reachable (5)"
+ORBUTIL.statementNotReachable6="IOP00710243: (INTERNAL) Assertion failed: statement not reachable (6)"
+ORBUTIL.unexpectedDiiException="IOP00710244: (INTERNAL) Unexpected exception while unmarshalling DII user exception"
+ORBUTIL.methodShouldNotBeCalled="IOP00710245: (INTERNAL) This method should never be called"
+ORBUTIL.cancelNotSupported="IOP00710246: (INTERNAL) We do not support cancel request for GIOP 1.1"
+ORBUTIL.emptyStackRunServantPostInvoke="IOP00710247: (INTERNAL) Empty stack exception while calling runServantPostInvoke"
+ORBUTIL.problemWithExceptionTypecode="IOP00710248: (INTERNAL) Bad exception typecode"
+ORBUTIL.illegalSubcontractId="IOP00710249: (INTERNAL) Illegal Subcontract id {0}"
+ORBUTIL.badSystemExceptionInLocateReply="IOP00710250: (INTERNAL) Bad system exception in locate reply"
+ORBUTIL.badSystemExceptionInReply="IOP00710251: (INTERNAL) Bad system exception in reply"
+ORBUTIL.badCompletionStatusInLocateReply="IOP00710252: (INTERNAL) Bad CompletionStatus {0} in locate reply"
+ORBUTIL.badCompletionStatusInReply="IOP00710253: (INTERNAL) Bad CompletionStatus {0} in reply"
+ORBUTIL.badkindCannotOccur="IOP00710254: (INTERNAL) The BadKind exception should never occur here"
+ORBUTIL.errorResolvingAlias="IOP00710255: (INTERNAL) Could not resolve alias typecode"
+ORBUTIL.tkLongDoubleNotSupported="IOP00710256: (INTERNAL) The long double type is not supported in Java"
+ORBUTIL.typecodeNotSupported="IOP00710257: (INTERNAL) Illegal typecode kind"
+ORBUTIL.boundsCannotOccur="IOP00710259: (INTERNAL) Bounds exception cannot occur in this context"
+ORBUTIL.numInvocationsAlreadyZero="IOP00710261: (INTERNAL) Number of invocations is already zero, but another invocation has completed"
+ORBUTIL.errorInitBadserveridhandler="IOP00710262: (INTERNAL) Error in constructing instance of bad server ID handler"
+ORBUTIL.noToa="IOP00710263: (INTERNAL) No TOAFactory is availble"
+ORBUTIL.noPoa="IOP00710264: (INTERNAL) No POAFactory is availble"
+ORBUTIL.invocationInfoStackEmpty="IOP00710265: (INTERNAL) Invocation info stack is unexpectedly empty"
+ORBUTIL.badCodeSetString="IOP00710266: (INTERNAL) Empty or null code set string"
+ORBUTIL.unknownNativeCodeset="IOP00710267: (INTERNAL) Unknown native codeset: {0}"
+ORBUTIL.unknownConversionCodeSet="IOP00710268: (INTERNAL) Unknown conversion codset: {0}"
+ORBUTIL.invalidCodeSetNumber="IOP00710269: (INTERNAL) Invalid codeset number"
+ORBUTIL.invalidCodeSetString="IOP00710270: (INTERNAL) Invalid codeset string {0}"
+ORBUTIL.invalidCtbConverterName="IOP00710271: (INTERNAL) Invalid CTB converter {0}"
+ORBUTIL.invalidBtcConverterName="IOP00710272: (INTERNAL) Invalid BTC converter {0}"
+ORBUTIL.couldNotDuplicateCdrInputStream="IOP00710273: (INTERNAL) Could not duplicate CDRInputStream"
+ORBUTIL.bootstrapApplicationException="IOP00710274: (INTERNAL) BootstrapResolver caught an unexpected ApplicationException"
+ORBUTIL.duplicateIndirectionOffset="IOP00710275: (INTERNAL) Old entry in serialization indirection table has a different value than the value being added with the same key"
+ORBUTIL.badMessageTypeForCancel="IOP00710276: (INTERNAL) GIOP Cancel request contained a bad request ID: the request ID did not match the request that was to be cancelled"
+ORBUTIL.duplicateExceptionDetailMessage="IOP00710277: (INTERNAL) Duplicate ExceptionDetailMessage"
+ORBUTIL.badExceptionDetailMessageServiceContextType="IOP00710278: (INTERNAL) Bad ExceptionDetailMessage ServiceContext type"
+ORBUTIL.unexpectedDirectByteBufferWithNonChannelSocket="IOP00710279: (INTERNAL) unexpected direct ByteBuffer with non-channel socket"
+ORBUTIL.unexpectedNonDirectByteBufferWithChannelSocket="IOP00710280: (INTERNAL) unexpected non-direct ByteBuffer with channel socket"
+ORBUTIL.invalidContactInfoListIteratorFailureException="IOP00710282: (INTERNAL) There should be at least one CorbaContactInfo to try (and fail) so this error should not be seen."
+ORBUTIL.remarshalWithNowhereToGo="IOP00710283: (INTERNAL) Remarshal with nowhere to go"
+ORBUTIL.exceptionWhenSendingCloseConnection="IOP00710284: (INTERNAL) Exception when sending close connection"
+ORBUTIL.invocationErrorInReflectiveTie="IOP00710285: (INTERNAL) A reflective tie got an error while invoking method {0} on class {1}"
+ORBUTIL.badHelperWriteMethod="IOP00710286: (INTERNAL) Could not find or invoke write method on exception Helper class {0}"
+ORBUTIL.badHelperReadMethod="IOP00710287: (INTERNAL) Could not find or invoke read method on exception Helper class {0}"
+ORBUTIL.badHelperIdMethod="IOP00710288: (INTERNAL) Could not find or invoke id method on exception Helper class {0}"
+ORBUTIL.writeUndeclaredException="IOP00710289: (INTERNAL) Tried to write exception of type {0} that was not declared on method"
+ORBUTIL.readUndeclaredException="IOP00710290: (INTERNAL) Tried to read undeclared exception with ID {0}"
+ORBUTIL.unableToSetSocketFactoryOrb="IOP00710291: (INTERNAL) Unable to setSocketFactoryORB"
+ORBUTIL.unexpectedException="IOP00710292: (INTERNAL) Unexpected exception occurred where no exception should occur"
+ORBUTIL.noInvocationHandler="IOP00710293: (INTERNAL) No invocation handler available for {0}"
+ORBUTIL.invalidBuffMgrStrategy="IOP00710294: (INTERNAL) {0}: invalid buffer manager strategy for Java serialization"
+ORBUTIL.javaStreamInitFailed="IOP00710295: (INTERNAL) Java stream initialization failed"
+ORBUTIL.duplicateOrbVersionServiceContext="IOP00710296: (INTERNAL) An ORBVersionServiceContext was already in the service context list"
+ORBUTIL.duplicateSendingContextServiceContext="IOP00710297: (INTERNAL) A SendingContextServiceContext was already in the service context list"
+ORBUTIL.chunkOverflow="IOP00810201: (MARSHAL) Data read past end of chunk without closing the chunk"
+ORBUTIL.unexpectedEof="IOP00810202: (MARSHAL) Grow buffer strategy called underflow handler"
+ORBUTIL.readObjectException="IOP00810203: (MARSHAL) Error in reading marshalled object"
+ORBUTIL.characterOutofrange="IOP00810204: (MARSHAL) Character not IOS Latin-1 compliant in marshalling"
+ORBUTIL.dsiResultException="IOP00810205: (MARSHAL) Exception thrown during result() on ServerRequest"
+ORBUTIL.iiopinputstreamGrow="IOP00810206: (MARSHAL) grow() called on IIOPInputStream"
+ORBUTIL.endOfStream="IOP00810207: (MARSHAL) Underflow in BufferManagerReadStream after last fragment in message"
+ORBUTIL.invalidObjectKey="IOP00810208: (MARSHAL) Invalid ObjectKey in request header"
+ORBUTIL.malformedUrl="IOP00810209: (MARSHAL) Unable to locate value class for repository ID {0} because codebase URL {1] is malformed"
+ORBUTIL.valuehandlerReadError="IOP00810210: (MARSHAL) Error from readValue on ValueHandler in CDRInputStream"
+ORBUTIL.valuehandlerReadException="IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream"
+ORBUTIL.badKind="IOP00810212: (MARSHAL) Bad kind in isCustomType in CDRInputStream"
+ORBUTIL.cnfeReadClass="IOP00810213: (MARSHAL) Could not find class {0} in CDRInputStream.readClass"
+ORBUTIL.badRepIdIndirection="IOP00810214: (MARSHAL) Bad repository ID indirection at index {0}"
+ORBUTIL.badCodebaseIndirection="IOP00810215: (MARSHAL) Bad codebase string indirection at index {0}"
+ORBUTIL.unknownCodeset="IOP00810216: (MARSHAL) Unknown code set {0} specified by client ORB as a negotiated code set"
+ORBUTIL.wcharDataInGiop10="IOP00810217: (MARSHAL) Attempt to marshal wide character or string data in GIOP 1.0"
+ORBUTIL.negativeStringLength="IOP00810218: (MARSHAL) String or wstring with a negative length {0}"
+ORBUTIL.expectedTypeNullAndNoRepId="IOP00810219: (MARSHAL) CDRInputStream.read_value(null) called, but no repository ID information on the wire"
+ORBUTIL.readValueAndNoRepId="IOP00810220: (MARSHAL) CDRInputStream.read_value() called, but no repository ID information on the wire"
+ORBUTIL.unexpectedEnclosingValuetype="IOP00810222: (MARSHAL) Received end tag {0}, which is less than the expected value {1}"
+ORBUTIL.positiveEndTag="IOP00810223: (MARSHAL) Read non-negative end tag {0} at offset {1} (end tags should always be negative)"
+ORBUTIL.nullOutCall="IOP00810224: (MARSHAL) Out call descriptor is missing"
+ORBUTIL.writeLocalObject="IOP00810225: (MARSHAL) write_Object called with a local object"
+ORBUTIL.badInsertobjParam="IOP00810226: (MARSHAL) Tried to insert non-ObjectImpl {0} into an Any via insert_Object"
+ORBUTIL.customWrapperWithCodebase="IOP00810227: (MARSHAL) Codebase present in RMI-IIOP stream format version 1 optional data valuetype header"
+ORBUTIL.customWrapperIndirection="IOP00810228: (MARSHAL) Indirection preseint in RMI-IIOP stream format version 2 optional data valuetype header"
+ORBUTIL.customWrapperNotSingleRepid="IOP00810229: (MARSHAL) 0 or more than one repository ID found reading the optional data valuetype header"
+ORBUTIL.badValueTag="IOP00810230: (MARSHAL) Bad valuetag {0} found while reading repository IDs"
+ORBUTIL.badTypecodeForCustomValue="IOP00810231: (MARSHAL) Bad typecode found for custom valuetype"
+ORBUTIL.errorInvokingHelperWrite="IOP00810232: (MARSHAL) An error occurred using reflection to invoke IDL Helper write method"
+ORBUTIL.badDigitInFixed="IOP00810233: (MARSHAL) A bad digit was found while marshalling an IDL fixed type"
+ORBUTIL.refTypeIndirType="IOP00810234: (MARSHAL) Referenced type of indirect type not marshaled"
+ORBUTIL.badReservedLength="IOP00810235: (MARSHAL) Request message reserved bytes has invalid length"
+ORBUTIL.nullNotAllowed="IOP00810236: (MARSHAL) A null object is not allowed here"
+ORBUTIL.unionDiscriminatorError="IOP00810238: (MARSHAL) Error in typecode union discriminator"
+ORBUTIL.cannotMarshalNative="IOP00810239: (MARSHAL) Cannot marshal a native TypeCode"
+ORBUTIL.cannotMarshalBadTckind="IOP00810240: (MARSHAL) Cannot marshal an invalid TypeCode kind"
+ORBUTIL.invalidIndirection="IOP00810241: (MARSHAL) Invalid indirection value {0} (>-4): probable stream corruption"
+ORBUTIL.indirectionNotFound="IOP00810242: (MARSHAL) No type found at indirection {0}: probably stream corruption"
+ORBUTIL.recursiveTypecodeError="IOP00810243: (MARSHAL) Recursive TypeCode not supported by InputStream subtype"
+ORBUTIL.invalidSimpleTypecode="IOP00810244: (MARSHAL) TypeCode is of wrong kind to be simple"
+ORBUTIL.invalidComplexTypecode="IOP00810245: (MARSHAL) TypeCode is of wrong kind to be complex"
+ORBUTIL.invalidTypecodeKindMarshal="IOP00810246: (MARSHAL) Cannot marshal typecode of invalid kind"
+ORBUTIL.unexpectedUnionDefault="IOP00810247: (MARSHAL) Default union branch not expected"
+ORBUTIL.illegalUnionDiscriminatorType="IOP00810248: (MARSHAL) Illegal discriminator type in union"
+ORBUTIL.couldNotSkipBytes="IOP00810249: (MARSHAL) Could not skip over {0} bytes at offset {1}"
+ORBUTIL.badChunkLength="IOP00810250: (MARSHAL) Incorrect chunk length {0} at offset {1}"
+ORBUTIL.unableToLocateRepIdArray="IOP00810251: (MARSHAL) Unable to locate array of repository IDs from indirection {0}"
+ORBUTIL.badFixed="IOP00810252: (MARSHAL) Fixed of length {0} in buffer of length {1}"
+ORBUTIL.readObjectLoadClassFailure="IOP00810253: (MARSHAL) Failed to load stub for {0} with class {1}"
+ORBUTIL.couldNotInstantiateHelper="IOP00810254: (MARSHAL) Could not instantiate Helper class {0}"
+ORBUTIL.badToaOaid="IOP00810255: (MARSHAL) Bad ObjectAdapterId for TOA"
+ORBUTIL.couldNotInvokeHelperReadMethod="IOP00810256: (MARSHAL) Could not invoke helper read method for helper {0}"
+ORBUTIL.couldNotFindClass="IOP00810257: (MARSHAL) Could not find class"
+ORBUTIL.badArgumentsNvlist="IOP00810258: (MARSHAL) Error in arguments(NVList) for DSI ServerRequest"
+ORBUTIL.stubCreateError="IOP00810259: (MARSHAL) Could not create stub"
+ORBUTIL.javaSerializationException="IOP00810260: (MARSHAL) Java serialization exception during {0} operation"
+ORBUTIL.genericNoImpl="IOP01010201: (NO_IMPLEMENT) feature not implemented"
+ORBUTIL.contextNotImplemented="IOP01010202: (NO_IMPLEMENT) IDL request context is not implemented"
+ORBUTIL.getinterfaceNotImplemented="IOP01010203: (NO_IMPLEMENT) getInterface() is not implemented"
+ORBUTIL.sendDeferredNotimplemented="IOP01010204: (NO_IMPLEMENT) send deferred is not implemented"
+ORBUTIL.longDoubleNotImplemented="IOP01010205: (NO_IMPLEMENT) IDL type long double is not supported in Java"
+ORBUTIL.noServerScInDispatch="IOP02310201: (OBJ_ADAPTER) No server request dispatcher found when dispatching request to object adapter"
+ORBUTIL.orbConnectError="IOP02310202: (OBJ_ADAPTER) Error in connecting servant to ORB"
+ORBUTIL.adapterInactiveInActivation="IOP02310203: (OBJ_ADAPTER) StubAdapter.getDelegate failed to activate a Servant"
+ORBUTIL.locateUnknownObject="IOP02510201: (OBJECT_NOT_EXIST) Locate response indicated that the object was unknown"
+ORBUTIL.badServerId="IOP02510202: (OBJECT_NOT_EXIST) The server ID in the target object key does not match the server key expected by the server"
+ORBUTIL.badSkeleton="IOP02510203: (OBJECT_NOT_EXIST) No skeleton found in the server that matches the target object key"
+ORBUTIL.servantNotFound="IOP02510204: (OBJECT_NOT_EXIST) Servant not found"
+ORBUTIL.noObjectAdapterFactory="IOP02510205: (OBJECT_NOT_EXIST) No object adapter factory"
+ORBUTIL.badAdapterId="IOP02510206: (OBJECT_NOT_EXIST) Bad adapter ID"
+ORBUTIL.dynAnyDestroyed="IOP02510207: (OBJECT_NOT_EXIST) Dynamic Any was destroyed: all operations are invalid"
+ORBUTIL.requestCanceled="IOP01710201: (TRANSIENT) Request cancelled by exception"
+ORBUTIL.unknownCorbaExc="IOP00010201: (UNKNOWN) Unknown user exception while unmarshalling"
+ORBUTIL.runtimeexception="IOP00010202: (UNKNOWN) Unknown user exception thrown by the server"
+ORBUTIL.unknownServerError="IOP00010203: (UNKNOWN) Unknown exception or error thrown by the ORB or application"
+ORBUTIL.unknownDsiSysex="IOP00010204: (UNKNOWN) Error while marshalling SystemException after DSI-based invocation"
+ORBUTIL.unknownSysex="IOP00010205: (UNKNOWN) Error while unmarshalling SystemException"
+ORBUTIL.wrongInterfaceDef="IOP00010206: (UNKNOWN) InterfaceDef object of wrong type returned by server"
+ORBUTIL.noInterfaceDefStub="IOP00010207: (UNKNOWN) org.omg.CORBA._InterfaceDefStub class not available"
+ORBUTIL.unknownExceptionInDispatch="IOP00010209: (UNKNOWN) UnknownException in dispatch"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/POASystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,2094 @@
+// Log wrapper class for Sun private system exceptions in group POA
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/POA.mc on Fri May 25 16:50:41 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.BAD_INV_ORDER ;
+import org.omg.CORBA.BAD_OPERATION ;
+import org.omg.CORBA.BAD_PARAM ;
+import org.omg.CORBA.INTERNAL ;
+import org.omg.CORBA.NO_IMPLEMENT ;
+import org.omg.CORBA.OBJ_ADAPTER ;
+import org.omg.CORBA.INITIALIZE ;
+import org.omg.CORBA.TRANSIENT ;
+import org.omg.CORBA.UNKNOWN ;
+import org.omg.CORBA.OBJECT_NOT_EXIST ;
+
+public class POASystemException extends LogWrapperBase {
+    
+    public POASystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new POASystemException( logger ) ;
+        }
+    } ;
+    
+    public static POASystemException get( ORB orb, String logDomain )
+    {
+        POASystemException wrapper = 
+            (POASystemException) orb.getLogWrapper( logDomain, 
+                "POA", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static POASystemException get( String logDomain )
+    {
+        POASystemException wrapper = 
+            (POASystemException) ORB.staticGetLogWrapper( logDomain, 
+                "POA", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_INV_ORDER
+    ///////////////////////////////////////////////////////////
+    
+    public static final int SERVANT_MANAGER_ALREADY_SET = SUNVMCID.value + 1001 ;
+    
+    public BAD_INV_ORDER servantManagerAlreadySet( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( SERVANT_MANAGER_ALREADY_SET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantManagerAlreadySet",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER servantManagerAlreadySet( CompletionStatus cs ) {
+        return servantManagerAlreadySet( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER servantManagerAlreadySet( Throwable t ) {
+        return servantManagerAlreadySet( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER servantManagerAlreadySet(  ) {
+        return servantManagerAlreadySet( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DESTROY_DEADLOCK = SUNVMCID.value + 1002 ;
+    
+    public BAD_INV_ORDER destroyDeadlock( CompletionStatus cs, Throwable t ) {
+        BAD_INV_ORDER exc = new BAD_INV_ORDER( DESTROY_DEADLOCK, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.destroyDeadlock",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_INV_ORDER destroyDeadlock( CompletionStatus cs ) {
+        return destroyDeadlock( cs, null  ) ;
+    }
+    
+    public BAD_INV_ORDER destroyDeadlock( Throwable t ) {
+        return destroyDeadlock( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_INV_ORDER destroyDeadlock(  ) {
+        return destroyDeadlock( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_OPERATION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int SERVANT_ORB = SUNVMCID.value + 1001 ;
+    
+    public BAD_OPERATION servantOrb( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( SERVANT_ORB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantOrb",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION servantOrb( CompletionStatus cs ) {
+        return servantOrb( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION servantOrb( Throwable t ) {
+        return servantOrb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION servantOrb(  ) {
+        return servantOrb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SERVANT = SUNVMCID.value + 1002 ;
+    
+    public BAD_OPERATION badServant( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( BAD_SERVANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.badServant",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION badServant( CompletionStatus cs ) {
+        return badServant( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION badServant( Throwable t ) {
+        return badServant( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION badServant(  ) {
+        return badServant( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_FORWARD_REQUEST = SUNVMCID.value + 1003 ;
+    
+    public BAD_OPERATION illegalForwardRequest( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ILLEGAL_FORWARD_REQUEST, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.illegalForwardRequest",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION illegalForwardRequest( CompletionStatus cs ) {
+        return illegalForwardRequest( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION illegalForwardRequest( Throwable t ) {
+        return illegalForwardRequest( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION illegalForwardRequest(  ) {
+        return illegalForwardRequest( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_PARAM
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BAD_TRANSACTION_CONTEXT = SUNVMCID.value + 1001 ;
+    
+    public BAD_PARAM badTransactionContext( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BAD_TRANSACTION_CONTEXT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.badTransactionContext",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM badTransactionContext( CompletionStatus cs ) {
+        return badTransactionContext( cs, null  ) ;
+    }
+    
+    public BAD_PARAM badTransactionContext( Throwable t ) {
+        return badTransactionContext( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM badTransactionContext(  ) {
+        return badTransactionContext( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_REPOSITORY_ID = SUNVMCID.value + 1002 ;
+    
+    public BAD_PARAM badRepositoryId( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( BAD_REPOSITORY_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.badRepositoryId",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM badRepositoryId( CompletionStatus cs ) {
+        return badRepositoryId( cs, null  ) ;
+    }
+    
+    public BAD_PARAM badRepositoryId( Throwable t ) {
+        return badRepositoryId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM badRepositoryId(  ) {
+        return badRepositoryId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int INVOKESETUP = SUNVMCID.value + 1001 ;
+    
+    public INTERNAL invokesetup( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( INVOKESETUP, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.invokesetup",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL invokesetup( CompletionStatus cs ) {
+        return invokesetup( cs, null  ) ;
+    }
+    
+    public INTERNAL invokesetup( Throwable t ) {
+        return invokesetup( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL invokesetup(  ) {
+        return invokesetup( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_LOCALREPLYSTATUS = SUNVMCID.value + 1002 ;
+    
+    public INTERNAL badLocalreplystatus( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_LOCALREPLYSTATUS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.badLocalreplystatus",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badLocalreplystatus( CompletionStatus cs ) {
+        return badLocalreplystatus( cs, null  ) ;
+    }
+    
+    public INTERNAL badLocalreplystatus( Throwable t ) {
+        return badLocalreplystatus( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badLocalreplystatus(  ) {
+        return badLocalreplystatus( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PERSISTENT_SERVERPORT_ERROR = SUNVMCID.value + 1003 ;
+    
+    public INTERNAL persistentServerportError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PERSISTENT_SERVERPORT_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.persistentServerportError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL persistentServerportError( CompletionStatus cs ) {
+        return persistentServerportError( cs, null  ) ;
+    }
+    
+    public INTERNAL persistentServerportError( Throwable t ) {
+        return persistentServerportError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL persistentServerportError(  ) {
+        return persistentServerportError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_DISPATCH = SUNVMCID.value + 1004 ;
+    
+    public INTERNAL servantDispatch( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVANT_DISPATCH, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantDispatch",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL servantDispatch( CompletionStatus cs ) {
+        return servantDispatch( cs, null  ) ;
+    }
+    
+    public INTERNAL servantDispatch( Throwable t ) {
+        return servantDispatch( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL servantDispatch(  ) {
+        return servantDispatch( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WRONG_CLIENTSC = SUNVMCID.value + 1005 ;
+    
+    public INTERNAL wrongClientsc( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( WRONG_CLIENTSC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.wrongClientsc",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL wrongClientsc( CompletionStatus cs ) {
+        return wrongClientsc( cs, null  ) ;
+    }
+    
+    public INTERNAL wrongClientsc( Throwable t ) {
+        return wrongClientsc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL wrongClientsc(  ) {
+        return wrongClientsc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANT_CLONE_TEMPLATE = SUNVMCID.value + 1006 ;
+    
+    public INTERNAL cantCloneTemplate( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CANT_CLONE_TEMPLATE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.cantCloneTemplate",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL cantCloneTemplate( CompletionStatus cs ) {
+        return cantCloneTemplate( cs, null  ) ;
+    }
+    
+    public INTERNAL cantCloneTemplate( Throwable t ) {
+        return cantCloneTemplate( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL cantCloneTemplate(  ) {
+        return cantCloneTemplate( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POACURRENT_UNBALANCED_STACK = SUNVMCID.value + 1007 ;
+    
+    public INTERNAL poacurrentUnbalancedStack( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( POACURRENT_UNBALANCED_STACK, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poacurrentUnbalancedStack",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL poacurrentUnbalancedStack( CompletionStatus cs ) {
+        return poacurrentUnbalancedStack( cs, null  ) ;
+    }
+    
+    public INTERNAL poacurrentUnbalancedStack( Throwable t ) {
+        return poacurrentUnbalancedStack( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL poacurrentUnbalancedStack(  ) {
+        return poacurrentUnbalancedStack( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POACURRENT_NULL_FIELD = SUNVMCID.value + 1008 ;
+    
+    public INTERNAL poacurrentNullField( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( POACURRENT_NULL_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poacurrentNullField",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL poacurrentNullField( CompletionStatus cs ) {
+        return poacurrentNullField( cs, null  ) ;
+    }
+    
+    public INTERNAL poacurrentNullField( Throwable t ) {
+        return poacurrentNullField( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL poacurrentNullField(  ) {
+        return poacurrentNullField( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_INTERNAL_GET_SERVANT_ERROR = SUNVMCID.value + 1009 ;
+    
+    public INTERNAL poaInternalGetServantError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( POA_INTERNAL_GET_SERVANT_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaInternalGetServantError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL poaInternalGetServantError( CompletionStatus cs ) {
+        return poaInternalGetServantError( cs, null  ) ;
+    }
+    
+    public INTERNAL poaInternalGetServantError( Throwable t ) {
+        return poaInternalGetServantError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL poaInternalGetServantError(  ) {
+        return poaInternalGetServantError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int MAKE_FACTORY_NOT_POA = SUNVMCID.value + 1010 ;
+    
+    public INTERNAL makeFactoryNotPoa( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( MAKE_FACTORY_NOT_POA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "POA.makeFactoryNotPoa",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL makeFactoryNotPoa( CompletionStatus cs, Object arg0) {
+        return makeFactoryNotPoa( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL makeFactoryNotPoa( Throwable t, Object arg0) {
+        return makeFactoryNotPoa( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL makeFactoryNotPoa(  Object arg0) {
+        return makeFactoryNotPoa( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int DUPLICATE_ORB_VERSION_SC = SUNVMCID.value + 1011 ;
+    
+    public INTERNAL duplicateOrbVersionSc( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( DUPLICATE_ORB_VERSION_SC, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.duplicateOrbVersionSc",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL duplicateOrbVersionSc( CompletionStatus cs ) {
+        return duplicateOrbVersionSc( cs, null  ) ;
+    }
+    
+    public INTERNAL duplicateOrbVersionSc( Throwable t ) {
+        return duplicateOrbVersionSc( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL duplicateOrbVersionSc(  ) {
+        return duplicateOrbVersionSc( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PREINVOKE_CLONE_ERROR = SUNVMCID.value + 1012 ;
+    
+    public INTERNAL preinvokeCloneError( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PREINVOKE_CLONE_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.preinvokeCloneError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL preinvokeCloneError( CompletionStatus cs ) {
+        return preinvokeCloneError( cs, null  ) ;
+    }
+    
+    public INTERNAL preinvokeCloneError( Throwable t ) {
+        return preinvokeCloneError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL preinvokeCloneError(  ) {
+        return preinvokeCloneError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PREINVOKE_POA_DESTROYED = SUNVMCID.value + 1013 ;
+    
+    public INTERNAL preinvokePoaDestroyed( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PREINVOKE_POA_DESTROYED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.preinvokePoaDestroyed",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL preinvokePoaDestroyed( CompletionStatus cs ) {
+        return preinvokePoaDestroyed( cs, null  ) ;
+    }
+    
+    public INTERNAL preinvokePoaDestroyed( Throwable t ) {
+        return preinvokePoaDestroyed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL preinvokePoaDestroyed(  ) {
+        return preinvokePoaDestroyed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PMF_CREATE_RETAIN = SUNVMCID.value + 1014 ;
+    
+    public INTERNAL pmfCreateRetain( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PMF_CREATE_RETAIN, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.pmfCreateRetain",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL pmfCreateRetain( CompletionStatus cs ) {
+        return pmfCreateRetain( cs, null  ) ;
+    }
+    
+    public INTERNAL pmfCreateRetain( Throwable t ) {
+        return pmfCreateRetain( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL pmfCreateRetain(  ) {
+        return pmfCreateRetain( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PMF_CREATE_NON_RETAIN = SUNVMCID.value + 1015 ;
+    
+    public INTERNAL pmfCreateNonRetain( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( PMF_CREATE_NON_RETAIN, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.pmfCreateNonRetain",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL pmfCreateNonRetain( CompletionStatus cs ) {
+        return pmfCreateNonRetain( cs, null  ) ;
+    }
+    
+    public INTERNAL pmfCreateNonRetain( Throwable t ) {
+        return pmfCreateNonRetain( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL pmfCreateNonRetain(  ) {
+        return pmfCreateNonRetain( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POLICY_MEDIATOR_BAD_POLICY_IN_FACTORY = SUNVMCID.value + 1016 ;
+    
+    public INTERNAL policyMediatorBadPolicyInFactory( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( POLICY_MEDIATOR_BAD_POLICY_IN_FACTORY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.policyMediatorBadPolicyInFactory",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL policyMediatorBadPolicyInFactory( CompletionStatus cs ) {
+        return policyMediatorBadPolicyInFactory( cs, null  ) ;
+    }
+    
+    public INTERNAL policyMediatorBadPolicyInFactory( Throwable t ) {
+        return policyMediatorBadPolicyInFactory( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL policyMediatorBadPolicyInFactory(  ) {
+        return policyMediatorBadPolicyInFactory( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_TO_ID_OAA = SUNVMCID.value + 1017 ;
+    
+    public INTERNAL servantToIdOaa( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVANT_TO_ID_OAA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantToIdOaa",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL servantToIdOaa( CompletionStatus cs ) {
+        return servantToIdOaa( cs, null  ) ;
+    }
+    
+    public INTERNAL servantToIdOaa( Throwable t ) {
+        return servantToIdOaa( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL servantToIdOaa(  ) {
+        return servantToIdOaa( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_TO_ID_SAA = SUNVMCID.value + 1018 ;
+    
+    public INTERNAL servantToIdSaa( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVANT_TO_ID_SAA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantToIdSaa",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL servantToIdSaa( CompletionStatus cs ) {
+        return servantToIdSaa( cs, null  ) ;
+    }
+    
+    public INTERNAL servantToIdSaa( Throwable t ) {
+        return servantToIdSaa( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL servantToIdSaa(  ) {
+        return servantToIdSaa( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_TO_ID_WP = SUNVMCID.value + 1019 ;
+    
+    public INTERNAL servantToIdWp( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVANT_TO_ID_WP, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantToIdWp",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL servantToIdWp( CompletionStatus cs ) {
+        return servantToIdWp( cs, null  ) ;
+    }
+    
+    public INTERNAL servantToIdWp( Throwable t ) {
+        return servantToIdWp( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL servantToIdWp(  ) {
+        return servantToIdWp( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CANT_RESOLVE_ROOT_POA = SUNVMCID.value + 1020 ;
+    
+    public INTERNAL cantResolveRootPoa( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( CANT_RESOLVE_ROOT_POA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.cantResolveRootPoa",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL cantResolveRootPoa( CompletionStatus cs ) {
+        return cantResolveRootPoa( cs, null  ) ;
+    }
+    
+    public INTERNAL cantResolveRootPoa( Throwable t ) {
+        return cantResolveRootPoa( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL cantResolveRootPoa(  ) {
+        return cantResolveRootPoa( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_MUST_BE_LOCAL = SUNVMCID.value + 1021 ;
+    
+    public INTERNAL servantMustBeLocal( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( SERVANT_MUST_BE_LOCAL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantMustBeLocal",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL servantMustBeLocal( CompletionStatus cs ) {
+        return servantMustBeLocal( cs, null  ) ;
+    }
+    
+    public INTERNAL servantMustBeLocal( Throwable t ) {
+        return servantMustBeLocal( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL servantMustBeLocal(  ) {
+        return servantMustBeLocal( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_PROFILES_IN_IOR = SUNVMCID.value + 1022 ;
+    
+    public INTERNAL noProfilesInIor( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( NO_PROFILES_IN_IOR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.noProfilesInIor",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL noProfilesInIor( CompletionStatus cs ) {
+        return noProfilesInIor( cs, null  ) ;
+    }
+    
+    public INTERNAL noProfilesInIor( Throwable t ) {
+        return noProfilesInIor( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL noProfilesInIor(  ) {
+        return noProfilesInIor( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int AOM_ENTRY_DEC_ZERO = SUNVMCID.value + 1023 ;
+    
+    public INTERNAL aomEntryDecZero( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( AOM_ENTRY_DEC_ZERO, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.aomEntryDecZero",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL aomEntryDecZero( CompletionStatus cs ) {
+        return aomEntryDecZero( cs, null  ) ;
+    }
+    
+    public INTERNAL aomEntryDecZero( Throwable t ) {
+        return aomEntryDecZero( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL aomEntryDecZero(  ) {
+        return aomEntryDecZero( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ADD_POA_INACTIVE = SUNVMCID.value + 1024 ;
+    
+    public INTERNAL addPoaInactive( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ADD_POA_INACTIVE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.addPoaInactive",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL addPoaInactive( CompletionStatus cs ) {
+        return addPoaInactive( cs, null  ) ;
+    }
+    
+    public INTERNAL addPoaInactive( Throwable t ) {
+        return addPoaInactive( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL addPoaInactive(  ) {
+        return addPoaInactive( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ILLEGAL_POA_STATE_TRANS = SUNVMCID.value + 1025 ;
+    
+    public INTERNAL illegalPoaStateTrans( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( ILLEGAL_POA_STATE_TRANS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.illegalPoaStateTrans",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL illegalPoaStateTrans( CompletionStatus cs ) {
+        return illegalPoaStateTrans( cs, null  ) ;
+    }
+    
+    public INTERNAL illegalPoaStateTrans( Throwable t ) {
+        return illegalPoaStateTrans( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL illegalPoaStateTrans(  ) {
+        return illegalPoaStateTrans( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNEXPECTED_EXCEPTION = SUNVMCID.value + 1026 ;
+    
+    public INTERNAL unexpectedException( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( UNEXPECTED_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "POA.unexpectedException",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL unexpectedException( CompletionStatus cs, Object arg0) {
+        return unexpectedException( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL unexpectedException( Throwable t, Object arg0) {
+        return unexpectedException( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL unexpectedException(  Object arg0) {
+        return unexpectedException( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // NO_IMPLEMENT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int SINGLE_THREAD_NOT_SUPPORTED = SUNVMCID.value + 1001 ;
+    
+    public NO_IMPLEMENT singleThreadNotSupported( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( SINGLE_THREAD_NOT_SUPPORTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.singleThreadNotSupported",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT singleThreadNotSupported( CompletionStatus cs ) {
+        return singleThreadNotSupported( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT singleThreadNotSupported( Throwable t ) {
+        return singleThreadNotSupported( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT singleThreadNotSupported(  ) {
+        return singleThreadNotSupported( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int METHOD_NOT_IMPLEMENTED = SUNVMCID.value + 1002 ;
+    
+    public NO_IMPLEMENT methodNotImplemented( CompletionStatus cs, Throwable t ) {
+        NO_IMPLEMENT exc = new NO_IMPLEMENT( METHOD_NOT_IMPLEMENTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.methodNotImplemented",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public NO_IMPLEMENT methodNotImplemented( CompletionStatus cs ) {
+        return methodNotImplemented( cs, null  ) ;
+    }
+    
+    public NO_IMPLEMENT methodNotImplemented( Throwable t ) {
+        return methodNotImplemented( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public NO_IMPLEMENT methodNotImplemented(  ) {
+        return methodNotImplemented( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJ_ADAPTER
+    ///////////////////////////////////////////////////////////
+    
+    public static final int POA_LOOKUP_ERROR = SUNVMCID.value + 1001 ;
+    
+    public OBJ_ADAPTER poaLookupError( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_LOOKUP_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaLookupError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaLookupError( CompletionStatus cs ) {
+        return poaLookupError( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaLookupError( Throwable t ) {
+        return poaLookupError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaLookupError(  ) {
+        return poaLookupError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_INACTIVE = SUNVMCID.value + 1002 ;
+    
+    public OBJ_ADAPTER poaInactive( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_INACTIVE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "POA.poaInactive",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaInactive( CompletionStatus cs ) {
+        return poaInactive( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaInactive( Throwable t ) {
+        return poaInactive( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaInactive(  ) {
+        return poaInactive( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_NO_SERVANT_MANAGER = SUNVMCID.value + 1003 ;
+    
+    public OBJ_ADAPTER poaNoServantManager( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_NO_SERVANT_MANAGER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaNoServantManager",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaNoServantManager( CompletionStatus cs ) {
+        return poaNoServantManager( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaNoServantManager( Throwable t ) {
+        return poaNoServantManager( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaNoServantManager(  ) {
+        return poaNoServantManager( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_NO_DEFAULT_SERVANT = SUNVMCID.value + 1004 ;
+    
+    public OBJ_ADAPTER poaNoDefaultServant( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_NO_DEFAULT_SERVANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaNoDefaultServant",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaNoDefaultServant( CompletionStatus cs ) {
+        return poaNoDefaultServant( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaNoDefaultServant( Throwable t ) {
+        return poaNoDefaultServant( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaNoDefaultServant(  ) {
+        return poaNoDefaultServant( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_SERVANT_NOT_UNIQUE = SUNVMCID.value + 1005 ;
+    
+    public OBJ_ADAPTER poaServantNotUnique( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_SERVANT_NOT_UNIQUE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaServantNotUnique",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaServantNotUnique( CompletionStatus cs ) {
+        return poaServantNotUnique( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaServantNotUnique( Throwable t ) {
+        return poaServantNotUnique( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaServantNotUnique(  ) {
+        return poaServantNotUnique( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_WRONG_POLICY = SUNVMCID.value + 1006 ;
+    
+    public OBJ_ADAPTER poaWrongPolicy( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_WRONG_POLICY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaWrongPolicy",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaWrongPolicy( CompletionStatus cs ) {
+        return poaWrongPolicy( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaWrongPolicy( Throwable t ) {
+        return poaWrongPolicy( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaWrongPolicy(  ) {
+        return poaWrongPolicy( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int FINDPOA_ERROR = SUNVMCID.value + 1007 ;
+    
+    public OBJ_ADAPTER findpoaError( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( FINDPOA_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.findpoaError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER findpoaError( CompletionStatus cs ) {
+        return findpoaError( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER findpoaError( Throwable t ) {
+        return findpoaError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER findpoaError(  ) {
+        return findpoaError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_SERVANT_ACTIVATOR_LOOKUP_FAILED = SUNVMCID.value + 1009 ;
+    
+    public OBJ_ADAPTER poaServantActivatorLookupFailed( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_SERVANT_ACTIVATOR_LOOKUP_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaServantActivatorLookupFailed",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaServantActivatorLookupFailed( CompletionStatus cs ) {
+        return poaServantActivatorLookupFailed( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaServantActivatorLookupFailed( Throwable t ) {
+        return poaServantActivatorLookupFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaServantActivatorLookupFailed(  ) {
+        return poaServantActivatorLookupFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_BAD_SERVANT_MANAGER = SUNVMCID.value + 1010 ;
+    
+    public OBJ_ADAPTER poaBadServantManager( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_BAD_SERVANT_MANAGER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaBadServantManager",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaBadServantManager( CompletionStatus cs ) {
+        return poaBadServantManager( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaBadServantManager( Throwable t ) {
+        return poaBadServantManager( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaBadServantManager(  ) {
+        return poaBadServantManager( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_SERVANT_LOCATOR_LOOKUP_FAILED = SUNVMCID.value + 1011 ;
+    
+    public OBJ_ADAPTER poaServantLocatorLookupFailed( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_SERVANT_LOCATOR_LOOKUP_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaServantLocatorLookupFailed",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaServantLocatorLookupFailed( CompletionStatus cs ) {
+        return poaServantLocatorLookupFailed( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaServantLocatorLookupFailed( Throwable t ) {
+        return poaServantLocatorLookupFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaServantLocatorLookupFailed(  ) {
+        return poaServantLocatorLookupFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_UNKNOWN_POLICY = SUNVMCID.value + 1012 ;
+    
+    public OBJ_ADAPTER poaUnknownPolicy( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_UNKNOWN_POLICY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaUnknownPolicy",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaUnknownPolicy( CompletionStatus cs ) {
+        return poaUnknownPolicy( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaUnknownPolicy( Throwable t ) {
+        return poaUnknownPolicy( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaUnknownPolicy(  ) {
+        return poaUnknownPolicy( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int POA_NOT_FOUND = SUNVMCID.value + 1013 ;
+    
+    public OBJ_ADAPTER poaNotFound( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( POA_NOT_FOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.poaNotFound",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER poaNotFound( CompletionStatus cs ) {
+        return poaNotFound( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER poaNotFound( Throwable t ) {
+        return poaNotFound( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER poaNotFound(  ) {
+        return poaNotFound( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_LOOKUP = SUNVMCID.value + 1014 ;
+    
+    public OBJ_ADAPTER servantLookup( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( SERVANT_LOOKUP, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantLookup",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER servantLookup( CompletionStatus cs ) {
+        return servantLookup( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER servantLookup( Throwable t ) {
+        return servantLookup( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER servantLookup(  ) {
+        return servantLookup( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int LOCAL_SERVANT_LOOKUP = SUNVMCID.value + 1015 ;
+    
+    public OBJ_ADAPTER localServantLookup( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( LOCAL_SERVANT_LOOKUP, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.localServantLookup",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER localServantLookup( CompletionStatus cs ) {
+        return localServantLookup( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER localServantLookup( Throwable t ) {
+        return localServantLookup( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER localServantLookup(  ) {
+        return localServantLookup( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int SERVANT_MANAGER_BAD_TYPE = SUNVMCID.value + 1016 ;
+    
+    public OBJ_ADAPTER servantManagerBadType( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( SERVANT_MANAGER_BAD_TYPE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.servantManagerBadType",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER servantManagerBadType( CompletionStatus cs ) {
+        return servantManagerBadType( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER servantManagerBadType( Throwable t ) {
+        return servantManagerBadType( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER servantManagerBadType(  ) {
+        return servantManagerBadType( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int DEFAULT_POA_NOT_POAIMPL = SUNVMCID.value + 1017 ;
+    
+    public OBJ_ADAPTER defaultPoaNotPoaimpl( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( DEFAULT_POA_NOT_POAIMPL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.defaultPoaNotPoaimpl",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER defaultPoaNotPoaimpl( CompletionStatus cs ) {
+        return defaultPoaNotPoaimpl( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER defaultPoaNotPoaimpl( Throwable t ) {
+        return defaultPoaNotPoaimpl( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER defaultPoaNotPoaimpl(  ) {
+        return defaultPoaNotPoaimpl( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int WRONG_POLICIES_FOR_THIS_OBJECT = SUNVMCID.value + 1018 ;
+    
+    public OBJ_ADAPTER wrongPoliciesForThisObject( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( WRONG_POLICIES_FOR_THIS_OBJECT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.wrongPoliciesForThisObject",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER wrongPoliciesForThisObject( CompletionStatus cs ) {
+        return wrongPoliciesForThisObject( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER wrongPoliciesForThisObject( Throwable t ) {
+        return wrongPoliciesForThisObject( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER wrongPoliciesForThisObject(  ) {
+        return wrongPoliciesForThisObject( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int THIS_OBJECT_SERVANT_NOT_ACTIVE = SUNVMCID.value + 1019 ;
+    
+    public OBJ_ADAPTER thisObjectServantNotActive( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( THIS_OBJECT_SERVANT_NOT_ACTIVE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.thisObjectServantNotActive",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER thisObjectServantNotActive( CompletionStatus cs ) {
+        return thisObjectServantNotActive( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER thisObjectServantNotActive( Throwable t ) {
+        return thisObjectServantNotActive( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER thisObjectServantNotActive(  ) {
+        return thisObjectServantNotActive( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int THIS_OBJECT_WRONG_POLICY = SUNVMCID.value + 1020 ;
+    
+    public OBJ_ADAPTER thisObjectWrongPolicy( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( THIS_OBJECT_WRONG_POLICY, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.thisObjectWrongPolicy",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER thisObjectWrongPolicy( CompletionStatus cs ) {
+        return thisObjectWrongPolicy( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER thisObjectWrongPolicy( Throwable t ) {
+        return thisObjectWrongPolicy( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER thisObjectWrongPolicy(  ) {
+        return thisObjectWrongPolicy( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NO_CONTEXT = SUNVMCID.value + 1021 ;
+    
+    public OBJ_ADAPTER noContext( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( NO_CONTEXT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "POA.noContext",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER noContext( CompletionStatus cs ) {
+        return noContext( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER noContext( Throwable t ) {
+        return noContext( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER noContext(  ) {
+        return noContext( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INCARNATE_RETURNED_NULL = SUNVMCID.value + 1022 ;
+    
+    public OBJ_ADAPTER incarnateReturnedNull( CompletionStatus cs, Throwable t ) {
+        OBJ_ADAPTER exc = new OBJ_ADAPTER( INCARNATE_RETURNED_NULL, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.incarnateReturnedNull",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJ_ADAPTER incarnateReturnedNull( CompletionStatus cs ) {
+        return incarnateReturnedNull( cs, null  ) ;
+    }
+    
+    public OBJ_ADAPTER incarnateReturnedNull( Throwable t ) {
+        return incarnateReturnedNull( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJ_ADAPTER incarnateReturnedNull(  ) {
+        return incarnateReturnedNull( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INITIALIZE
+    ///////////////////////////////////////////////////////////
+    
+    public static final int JTS_INIT_ERROR = SUNVMCID.value + 1001 ;
+    
+    public INITIALIZE jtsInitError( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( JTS_INIT_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.jtsInitError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE jtsInitError( CompletionStatus cs ) {
+        return jtsInitError( cs, null  ) ;
+    }
+    
+    public INITIALIZE jtsInitError( Throwable t ) {
+        return jtsInitError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE jtsInitError(  ) {
+        return jtsInitError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PERSISTENT_SERVERID_NOT_SET = SUNVMCID.value + 1002 ;
+    
+    public INITIALIZE persistentServeridNotSet( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( PERSISTENT_SERVERID_NOT_SET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.persistentServeridNotSet",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE persistentServeridNotSet( CompletionStatus cs ) {
+        return persistentServeridNotSet( cs, null  ) ;
+    }
+    
+    public INITIALIZE persistentServeridNotSet( Throwable t ) {
+        return persistentServeridNotSet( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE persistentServeridNotSet(  ) {
+        return persistentServeridNotSet( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int PERSISTENT_SERVERPORT_NOT_SET = SUNVMCID.value + 1003 ;
+    
+    public INITIALIZE persistentServerportNotSet( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( PERSISTENT_SERVERPORT_NOT_SET, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.persistentServerportNotSet",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE persistentServerportNotSet( CompletionStatus cs ) {
+        return persistentServerportNotSet( cs, null  ) ;
+    }
+    
+    public INITIALIZE persistentServerportNotSet( Throwable t ) {
+        return persistentServerportNotSet( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE persistentServerportNotSet(  ) {
+        return persistentServerportNotSet( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ORBD_ERROR = SUNVMCID.value + 1004 ;
+    
+    public INITIALIZE orbdError( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( ORBD_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.orbdError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE orbdError( CompletionStatus cs ) {
+        return orbdError( cs, null  ) ;
+    }
+    
+    public INITIALIZE orbdError( Throwable t ) {
+        return orbdError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE orbdError(  ) {
+        return orbdError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BOOTSTRAP_ERROR = SUNVMCID.value + 1005 ;
+    
+    public INITIALIZE bootstrapError( CompletionStatus cs, Throwable t ) {
+        INITIALIZE exc = new INITIALIZE( BOOTSTRAP_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.bootstrapError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INITIALIZE bootstrapError( CompletionStatus cs ) {
+        return bootstrapError( cs, null  ) ;
+    }
+    
+    public INITIALIZE bootstrapError( Throwable t ) {
+        return bootstrapError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INITIALIZE bootstrapError(  ) {
+        return bootstrapError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // TRANSIENT
+    ///////////////////////////////////////////////////////////
+    
+    public static final int POA_DISCARDING = SUNVMCID.value + 1001 ;
+    
+    public TRANSIENT poaDiscarding( CompletionStatus cs, Throwable t ) {
+        TRANSIENT exc = new TRANSIENT( POA_DISCARDING, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "POA.poaDiscarding",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public TRANSIENT poaDiscarding( CompletionStatus cs ) {
+        return poaDiscarding( cs, null  ) ;
+    }
+    
+    public TRANSIENT poaDiscarding( Throwable t ) {
+        return poaDiscarding( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public TRANSIENT poaDiscarding(  ) {
+        return poaDiscarding( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // UNKNOWN
+    ///////////////////////////////////////////////////////////
+    
+    public static final int OTSHOOKEXCEPTION = SUNVMCID.value + 1001 ;
+    
+    public UNKNOWN otshookexception( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( OTSHOOKEXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.otshookexception",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN otshookexception( CompletionStatus cs ) {
+        return otshookexception( cs, null  ) ;
+    }
+    
+    public UNKNOWN otshookexception( Throwable t ) {
+        return otshookexception( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN otshookexception(  ) {
+        return otshookexception( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_SERVER_EXCEPTION = SUNVMCID.value + 1002 ;
+    
+    public UNKNOWN unknownServerException( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_SERVER_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.unknownServerException",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownServerException( CompletionStatus cs ) {
+        return unknownServerException( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownServerException( Throwable t ) {
+        return unknownServerException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownServerException(  ) {
+        return unknownServerException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_SERVERAPP_EXCEPTION = SUNVMCID.value + 1003 ;
+    
+    public UNKNOWN unknownServerappException( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_SERVERAPP_EXCEPTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.unknownServerappException",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownServerappException( CompletionStatus cs ) {
+        return unknownServerappException( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownServerappException( Throwable t ) {
+        return unknownServerappException( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownServerappException(  ) {
+        return unknownServerappException( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int UNKNOWN_LOCALINVOCATION_ERROR = SUNVMCID.value + 1004 ;
+    
+    public UNKNOWN unknownLocalinvocationError( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_LOCALINVOCATION_ERROR, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.unknownLocalinvocationError",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownLocalinvocationError( CompletionStatus cs ) {
+        return unknownLocalinvocationError( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownLocalinvocationError( Throwable t ) {
+        return unknownLocalinvocationError( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownLocalinvocationError(  ) {
+        return unknownLocalinvocationError( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // OBJECT_NOT_EXIST
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ADAPTER_ACTIVATOR_NONEXISTENT = SUNVMCID.value + 1001 ;
+    
+    public OBJECT_NOT_EXIST adapterActivatorNonexistent( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( ADAPTER_ACTIVATOR_NONEXISTENT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.adapterActivatorNonexistent",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterActivatorNonexistent( CompletionStatus cs ) {
+        return adapterActivatorNonexistent( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterActivatorNonexistent( Throwable t ) {
+        return adapterActivatorNonexistent( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterActivatorNonexistent(  ) {
+        return adapterActivatorNonexistent( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ADAPTER_ACTIVATOR_FAILED = SUNVMCID.value + 1002 ;
+    
+    public OBJECT_NOT_EXIST adapterActivatorFailed( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( ADAPTER_ACTIVATOR_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.adapterActivatorFailed",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterActivatorFailed( CompletionStatus cs ) {
+        return adapterActivatorFailed( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterActivatorFailed( Throwable t ) {
+        return adapterActivatorFailed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterActivatorFailed(  ) {
+        return adapterActivatorFailed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int BAD_SKELETON = SUNVMCID.value + 1003 ;
+    
+    public OBJECT_NOT_EXIST badSkeleton( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( BAD_SKELETON, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.badSkeleton",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST badSkeleton( CompletionStatus cs ) {
+        return badSkeleton( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badSkeleton( Throwable t ) {
+        return badSkeleton( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST badSkeleton(  ) {
+        return badSkeleton( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int NULL_SERVANT = SUNVMCID.value + 1004 ;
+    
+    public OBJECT_NOT_EXIST nullServant( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( NULL_SERVANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "POA.nullServant",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST nullServant( CompletionStatus cs ) {
+        return nullServant( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST nullServant( Throwable t ) {
+        return nullServant( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST nullServant(  ) {
+        return nullServant( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ADAPTER_DESTROYED = SUNVMCID.value + 1005 ;
+    
+    public OBJECT_NOT_EXIST adapterDestroyed( CompletionStatus cs, Throwable t ) {
+        OBJECT_NOT_EXIST exc = new OBJECT_NOT_EXIST( ADAPTER_DESTROYED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "POA.adapterDestroyed",
+                parameters, POASystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterDestroyed( CompletionStatus cs ) {
+        return adapterDestroyed( cs, null  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterDestroyed( Throwable t ) {
+        return adapterDestroyed( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public OBJECT_NOT_EXIST adapterDestroyed(  ) {
+        return adapterDestroyed( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/POASystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+POA.servantManagerAlreadySet="IOP01611001: (BAD_INV_ORDER) Servant Manager already set"
+POA.destroyDeadlock="IOP01611002: (BAD_INV_ORDER) Request to wait for POA destruction while servicing request would deadlock"
+POA.servantOrb="IOP01211001: (BAD_OPERATION) Bad operation on servant ORB???"
+POA.badServant="IOP01211002: (BAD_OPERATION) Bad Servant???"
+POA.illegalForwardRequest="IOP01211003: (BAD_OPERATION) Illegal Forward Request???"
+POA.badTransactionContext="IOP00111001: (BAD_PARAM) Bad transaction context"
+POA.badRepositoryId="IOP00111002: (BAD_PARAM) Bad repository id"
+POA.invokesetup="IOP00711001: (INTERNAL) invoke setup???"
+POA.badLocalreplystatus="IOP00711002: (INTERNAL) bad local reply status???"
+POA.persistentServerportError="IOP00711003: (INTERNAL) persistent serverport error???"
+POA.servantDispatch="IOP00711004: (INTERNAL) servant dispatch???"
+POA.wrongClientsc="IOP00711005: (INTERNAL) wrong client request dispatcher???"
+POA.cantCloneTemplate="IOP00711006: (INTERNAL) can't clone template???"
+POA.poacurrentUnbalancedStack="IOP00711007: (INTERNAL) POACurrent stack is unbalanced"
+POA.poacurrentNullField="IOP00711008: (INTERNAL) Null field in POACurrent"
+POA.poaInternalGetServantError="IOP00711009: (INTERNAL) POA internalGetServant error"
+POA.makeFactoryNotPoa="IOP00711010: (INTERNAL) First Object Adapter name is {0}, should be RootPOA"
+POA.duplicateOrbVersionSc="IOP00711011: (INTERNAL) Duplicate ORB version service context"
+POA.preinvokeCloneError="IOP00711012: (INTERNAL) preinvoke clone error"
+POA.preinvokePoaDestroyed="IOP00711013: (INTERNAL) preinvoke POA destroyed"
+POA.pmfCreateRetain="IOP00711014: (INTERNAL) Bad dispatch policy for RETAIN policy in POAPolicyMediatorFactory"
+POA.pmfCreateNonRetain="IOP00711015: (INTERNAL) Bad dispatch policy for NON_RETAIN policy in POAPolicyMediatorFactory"
+POA.policyMediatorBadPolicyInFactory="IOP00711016: (INTERNAL) Inconsistent policy in PolicyMediator"
+POA.servantToIdOaa="IOP00711017: (INTERNAL) ObjectAlreadyActive in servantToId"
+POA.servantToIdSaa="IOP00711018: (INTERNAL) ServantAlreadyActive in servantToId"
+POA.servantToIdWp="IOP00711019: (INTERNAL) WrongPolicy in servantToId"
+POA.cantResolveRootPoa="IOP00711020: (INTERNAL) Can't resolve root POA"
+POA.servantMustBeLocal="IOP00711021: (INTERNAL) Call made to local client request dispatcher with non-local servant"
+POA.noProfilesInIor="IOP00711022: (INTERNAL) IOR does not have any profiles"
+POA.aomEntryDecZero="IOP00711023: (INTERNAL) Tried to decrement AOMEntry counter that is already 0"
+POA.addPoaInactive="IOP00711024: (INTERNAL) Tried to add a POA to an inactive POAManager"
+POA.illegalPoaStateTrans="IOP00711025: (INTERNAL) POA tried to make an illegal state transition"
+POA.unexpectedException="IOP00711026: (INTERNAL) Unexpected exception in POA {0}"
+POA.singleThreadNotSupported="IOP01011001: (NO_IMPLEMENT) Single thread policy is not supported"
+POA.methodNotImplemented="IOP01011002: (NO_IMPLEMENT) This method is not implemented"
+POA.poaLookupError="IOP02311001: (OBJ_ADAPTER) Error in find_POA"
+POA.poaInactive="IOP02311002: (OBJ_ADAPTER) POA is inactive"
+POA.poaNoServantManager="IOP02311003: (OBJ_ADAPTER) POA has no servant manager"
+POA.poaNoDefaultServant="IOP02311004: (OBJ_ADAPTER) POA has no default servant"
+POA.poaServantNotUnique="IOP02311005: (OBJ_ADAPTER) POA servant is not unique"
+POA.poaWrongPolicy="IOP02311006: (OBJ_ADAPTER) Bad policy in POA"
+POA.findpoaError="IOP02311007: (OBJ_ADAPTER) Another error in find_POA"
+POA.poaServantActivatorLookupFailed="IOP02311009: (OBJ_ADAPTER) POA ServantActivator lookup failed"
+POA.poaBadServantManager="IOP02311010: (OBJ_ADAPTER) POA has bad servant manager"
+POA.poaServantLocatorLookupFailed="IOP02311011: (OBJ_ADAPTER) POA ServantLocator lookup failed"
+POA.poaUnknownPolicy="IOP02311012: (OBJ_ADAPTER) Unknown policy passed to POA"
+POA.poaNotFound="IOP02311013: (OBJ_ADAPTER) POA not found"
+POA.servantLookup="IOP02311014: (OBJ_ADAPTER) Error in servant lookup"
+POA.localServantLookup="IOP02311015: (OBJ_ADAPTER) Error in local servant lookup"
+POA.servantManagerBadType="IOP02311016: (OBJ_ADAPTER) Bad type for servant manager"
+POA.defaultPoaNotPoaimpl="IOP02311017: (OBJ_ADAPTER) Servant's _default_POA must be an instance of POAImpl"
+POA.wrongPoliciesForThisObject="IOP02311018: (OBJ_ADAPTER) Wrong POA policies for _this_object called outside of an invocation context"
+POA.thisObjectServantNotActive="IOP02311019: (OBJ_ADAPTER) ServantNotActive exception in _this_object"
+POA.thisObjectWrongPolicy="IOP02311020: (OBJ_ADAPTER) WrongPolicy exception in _this_object"
+POA.noContext="IOP02311021: (OBJ_ADAPTER) Operation called outside of invocation context"
+POA.incarnateReturnedNull="IOP02311022: (OBJ_ADAPTER) ServantActivator.incarnate() returned a null Servant"
+POA.jtsInitError="IOP00911001: (INITIALIZE) JTS initialization error"
+POA.persistentServeridNotSet="IOP00911002: (INITIALIZE) Persistent server ID is not set"
+POA.persistentServerportNotSet="IOP00911003: (INITIALIZE) Persistent server port is not set"
+POA.orbdError="IOP00911004: (INITIALIZE) Error in ORBD"
+POA.bootstrapError="IOP00911005: (INITIALIZE) Error in bootstrap"
+POA.poaDiscarding="IOP01711001: (TRANSIENT) POA is in discarding state"
+POA.otshookexception="IOP00011001: (UNKNOWN) Error in OTS hook"
+POA.unknownServerException="IOP00011002: (UNKNOWN) Unknown server exception"
+POA.unknownServerappException="IOP00011003: (UNKNOWN) Unknown server application exception"
+POA.unknownLocalinvocationError="IOP00011004: (UNKNOWN) Unknon local invocation error"
+POA.adapterActivatorNonexistent="IOP02511001: (OBJECT_NOT_EXIST) AdapterActivator does not exist"
+POA.adapterActivatorFailed="IOP02511002: (OBJECT_NOT_EXIST) AdapterActivator failed"
+POA.badSkeleton="IOP02511003: (OBJECT_NOT_EXIST) Bad skeleton"
+POA.nullServant="IOP02511004: (OBJECT_NOT_EXIST) Null servant"
+POA.adapterDestroyed="IOP02511005: (OBJECT_NOT_EXIST) POA has been destroyed"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/UtilSystemException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,935 @@
+// Log wrapper class for Sun private system exceptions in group UTIL
+//
+// Generated by mc.scm version 1.3, DO NOT EDIT BY HAND!
+// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Util.mc on Fri May 25 16:50:41 EDT 2007
+
+package com.sun.corba.se.impl.logging ;
+
+import java.util.logging.Logger ;
+import java.util.logging.Level ;
+
+import org.omg.CORBA.OMGVMCID ;
+import com.sun.corba.se.impl.util.SUNVMCID ;
+import org.omg.CORBA.CompletionStatus ;
+import org.omg.CORBA.SystemException ;
+
+import com.sun.corba.se.spi.orb.ORB ;
+
+import com.sun.corba.se.spi.logging.LogWrapperFactory;
+
+import com.sun.corba.se.spi.logging.LogWrapperBase;
+
+import org.omg.CORBA.BAD_OPERATION ;
+import org.omg.CORBA.BAD_PARAM ;
+import org.omg.CORBA.DATA_CONVERSION ;
+import org.omg.CORBA.MARSHAL ;
+import org.omg.CORBA.INV_OBJREF ;
+import org.omg.CORBA.INTERNAL ;
+import org.omg.CORBA.UNKNOWN ;
+
+public class UtilSystemException extends LogWrapperBase {
+    
+    public UtilSystemException( Logger logger )
+    {
+        super( logger ) ;
+    }
+    
+    private static LogWrapperFactory factory = new LogWrapperFactory() {
+        public LogWrapperBase create( Logger logger )
+        {
+            return new UtilSystemException( logger ) ;
+        }
+    } ;
+    
+    public static UtilSystemException get( ORB orb, String logDomain )
+    {
+        UtilSystemException wrapper = 
+            (UtilSystemException) orb.getLogWrapper( logDomain, 
+                "UTIL", factory ) ;
+        return wrapper ;
+    } 
+    
+    public static UtilSystemException get( String logDomain )
+    {
+        UtilSystemException wrapper = 
+            (UtilSystemException) ORB.staticGetLogWrapper( logDomain, 
+                "UTIL", factory ) ;
+        return wrapper ;
+    } 
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_OPERATION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int STUB_FACTORY_COULD_NOT_MAKE_STUB = SUNVMCID.value + 1401 ;
+    
+    public BAD_OPERATION stubFactoryCouldNotMakeStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( STUB_FACTORY_COULD_NOT_MAKE_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "UTIL.stubFactoryCouldNotMakeStub",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION stubFactoryCouldNotMakeStub( CompletionStatus cs ) {
+        return stubFactoryCouldNotMakeStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION stubFactoryCouldNotMakeStub( Throwable t ) {
+        return stubFactoryCouldNotMakeStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION stubFactoryCouldNotMakeStub(  ) {
+        return stubFactoryCouldNotMakeStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int ERROR_IN_MAKE_STUB_FROM_REPOSITORY_ID = SUNVMCID.value + 1402 ;
+    
+    public BAD_OPERATION errorInMakeStubFromRepositoryId( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( ERROR_IN_MAKE_STUB_FROM_REPOSITORY_ID, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "UTIL.errorInMakeStubFromRepositoryId",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION errorInMakeStubFromRepositoryId( CompletionStatus cs ) {
+        return errorInMakeStubFromRepositoryId( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION errorInMakeStubFromRepositoryId( Throwable t ) {
+        return errorInMakeStubFromRepositoryId( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION errorInMakeStubFromRepositoryId(  ) {
+        return errorInMakeStubFromRepositoryId( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CLASS_CAST_EXCEPTION_IN_LOAD_STUB = SUNVMCID.value + 1403 ;
+    
+    public BAD_OPERATION classCastExceptionInLoadStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( CLASS_CAST_EXCEPTION_IN_LOAD_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "UTIL.classCastExceptionInLoadStub",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION classCastExceptionInLoadStub( CompletionStatus cs ) {
+        return classCastExceptionInLoadStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION classCastExceptionInLoadStub( Throwable t ) {
+        return classCastExceptionInLoadStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION classCastExceptionInLoadStub(  ) {
+        return classCastExceptionInLoadStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int EXCEPTION_IN_LOAD_STUB = SUNVMCID.value + 1404 ;
+    
+    public BAD_OPERATION exceptionInLoadStub( CompletionStatus cs, Throwable t ) {
+        BAD_OPERATION exc = new BAD_OPERATION( EXCEPTION_IN_LOAD_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "UTIL.exceptionInLoadStub",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_OPERATION exceptionInLoadStub( CompletionStatus cs ) {
+        return exceptionInLoadStub( cs, null  ) ;
+    }
+    
+    public BAD_OPERATION exceptionInLoadStub( Throwable t ) {
+        return exceptionInLoadStub( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_OPERATION exceptionInLoadStub(  ) {
+        return exceptionInLoadStub( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // BAD_PARAM
+    ///////////////////////////////////////////////////////////
+    
+    public static final int NO_POA = SUNVMCID.value + 1402 ;
+    
+    public BAD_PARAM noPoa( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( NO_POA, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.noPoa",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM noPoa( CompletionStatus cs ) {
+        return noPoa( cs, null  ) ;
+    }
+    
+    public BAD_PARAM noPoa( Throwable t ) {
+        return noPoa( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM noPoa(  ) {
+        return noPoa( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONNECT_WRONG_ORB = SUNVMCID.value + 1403 ;
+    
+    public BAD_PARAM connectWrongOrb( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CONNECT_WRONG_ORB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = null ;
+            doLog( Level.FINE, "UTIL.connectWrongOrb",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM connectWrongOrb( CompletionStatus cs ) {
+        return connectWrongOrb( cs, null  ) ;
+    }
+    
+    public BAD_PARAM connectWrongOrb( Throwable t ) {
+        return connectWrongOrb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM connectWrongOrb(  ) {
+        return connectWrongOrb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONNECT_NO_TIE = SUNVMCID.value + 1404 ;
+    
+    public BAD_PARAM connectNoTie( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CONNECT_NO_TIE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.connectNoTie",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM connectNoTie( CompletionStatus cs ) {
+        return connectNoTie( cs, null  ) ;
+    }
+    
+    public BAD_PARAM connectNoTie( Throwable t ) {
+        return connectNoTie( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM connectNoTie(  ) {
+        return connectNoTie( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONNECT_TIE_WRONG_ORB = SUNVMCID.value + 1405 ;
+    
+    public BAD_PARAM connectTieWrongOrb( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CONNECT_TIE_WRONG_ORB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.connectTieWrongOrb",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM connectTieWrongOrb( CompletionStatus cs ) {
+        return connectTieWrongOrb( cs, null  ) ;
+    }
+    
+    public BAD_PARAM connectTieWrongOrb( Throwable t ) {
+        return connectTieWrongOrb( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM connectTieWrongOrb(  ) {
+        return connectTieWrongOrb( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CONNECT_TIE_NO_SERVANT = SUNVMCID.value + 1406 ;
+    
+    public BAD_PARAM connectTieNoServant( CompletionStatus cs, Throwable t ) {
+        BAD_PARAM exc = new BAD_PARAM( CONNECT_TIE_NO_SERVANT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.connectTieNoServant",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM connectTieNoServant( CompletionStatus cs ) {
+        return connectTieNoServant( cs, null  ) ;
+    }
+    
+    public BAD_PARAM connectTieNoServant( Throwable t ) {
+        return connectTieNoServant( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public BAD_PARAM connectTieNoServant(  ) {
+        return connectTieNoServant( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int LOAD_TIE_FAILED = SUNVMCID.value + 1407 ;
+    
+    public BAD_PARAM loadTieFailed( CompletionStatus cs, Throwable t, Object arg0) {
+        BAD_PARAM exc = new BAD_PARAM( LOAD_TIE_FAILED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.FINE )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.FINE, "UTIL.loadTieFailed",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public BAD_PARAM loadTieFailed( CompletionStatus cs, Object arg0) {
+        return loadTieFailed( cs, null, arg0 ) ;
+    }
+    
+    public BAD_PARAM loadTieFailed( Throwable t, Object arg0) {
+        return loadTieFailed( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public BAD_PARAM loadTieFailed(  Object arg0) {
+        return loadTieFailed( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // DATA_CONVERSION
+    ///////////////////////////////////////////////////////////
+    
+    public static final int BAD_HEX_DIGIT = SUNVMCID.value + 1401 ;
+    
+    public DATA_CONVERSION badHexDigit( CompletionStatus cs, Throwable t ) {
+        DATA_CONVERSION exc = new DATA_CONVERSION( BAD_HEX_DIGIT, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.badHexDigit",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public DATA_CONVERSION badHexDigit( CompletionStatus cs ) {
+        return badHexDigit( cs, null  ) ;
+    }
+    
+    public DATA_CONVERSION badHexDigit( Throwable t ) {
+        return badHexDigit( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public DATA_CONVERSION badHexDigit(  ) {
+        return badHexDigit( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // MARSHAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNABLE_LOCATE_VALUE_HELPER = SUNVMCID.value + 1402 ;
+    
+    public MARSHAL unableLocateValueHelper( CompletionStatus cs, Throwable t ) {
+        MARSHAL exc = new MARSHAL( UNABLE_LOCATE_VALUE_HELPER, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.unableLocateValueHelper",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL unableLocateValueHelper( CompletionStatus cs ) {
+        return unableLocateValueHelper( cs, null  ) ;
+    }
+    
+    public MARSHAL unableLocateValueHelper( Throwable t ) {
+        return unableLocateValueHelper( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public MARSHAL unableLocateValueHelper(  ) {
+        return unableLocateValueHelper( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int INVALID_INDIRECTION = SUNVMCID.value + 1403 ;
+    
+    public MARSHAL invalidIndirection( CompletionStatus cs, Throwable t, Object arg0) {
+        MARSHAL exc = new MARSHAL( INVALID_INDIRECTION, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "UTIL.invalidIndirection",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public MARSHAL invalidIndirection( CompletionStatus cs, Object arg0) {
+        return invalidIndirection( cs, null, arg0 ) ;
+    }
+    
+    public MARSHAL invalidIndirection( Throwable t, Object arg0) {
+        return invalidIndirection( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public MARSHAL invalidIndirection(  Object arg0) {
+        return invalidIndirection( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INV_OBJREF
+    ///////////////////////////////////////////////////////////
+    
+    public static final int OBJECT_NOT_CONNECTED = SUNVMCID.value + 1401 ;
+    
+    public INV_OBJREF objectNotConnected( CompletionStatus cs, Throwable t, Object arg0) {
+        INV_OBJREF exc = new INV_OBJREF( OBJECT_NOT_CONNECTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "UTIL.objectNotConnected",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF objectNotConnected( CompletionStatus cs, Object arg0) {
+        return objectNotConnected( cs, null, arg0 ) ;
+    }
+    
+    public INV_OBJREF objectNotConnected( Throwable t, Object arg0) {
+        return objectNotConnected( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INV_OBJREF objectNotConnected(  Object arg0) {
+        return objectNotConnected( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int COULD_NOT_LOAD_STUB = SUNVMCID.value + 1402 ;
+    
+    public INV_OBJREF couldNotLoadStub( CompletionStatus cs, Throwable t, Object arg0) {
+        INV_OBJREF exc = new INV_OBJREF( COULD_NOT_LOAD_STUB, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "UTIL.couldNotLoadStub",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF couldNotLoadStub( CompletionStatus cs, Object arg0) {
+        return couldNotLoadStub( cs, null, arg0 ) ;
+    }
+    
+    public INV_OBJREF couldNotLoadStub( Throwable t, Object arg0) {
+        return couldNotLoadStub( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INV_OBJREF couldNotLoadStub(  Object arg0) {
+        return couldNotLoadStub( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int OBJECT_NOT_EXPORTED = SUNVMCID.value + 1403 ;
+    
+    public INV_OBJREF objectNotExported( CompletionStatus cs, Throwable t, Object arg0) {
+        INV_OBJREF exc = new INV_OBJREF( OBJECT_NOT_EXPORTED, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "UTIL.objectNotExported",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INV_OBJREF objectNotExported( CompletionStatus cs, Object arg0) {
+        return objectNotExported( cs, null, arg0 ) ;
+    }
+    
+    public INV_OBJREF objectNotExported( Throwable t, Object arg0) {
+        return objectNotExported( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INV_OBJREF objectNotExported(  Object arg0) {
+        return objectNotExported( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // INTERNAL
+    ///////////////////////////////////////////////////////////
+    
+    public static final int ERROR_SET_OBJECT_FIELD = SUNVMCID.value + 1401 ;
+    
+    public INTERNAL errorSetObjectField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_OBJECT_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetObjectField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetObjectField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetObjectField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetObjectField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetObjectField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetObjectField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetObjectField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_BOOLEAN_FIELD = SUNVMCID.value + 1402 ;
+    
+    public INTERNAL errorSetBooleanField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_BOOLEAN_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetBooleanField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetBooleanField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetBooleanField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetBooleanField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetBooleanField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetBooleanField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetBooleanField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_BYTE_FIELD = SUNVMCID.value + 1403 ;
+    
+    public INTERNAL errorSetByteField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_BYTE_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetByteField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetByteField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetByteField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetByteField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetByteField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetByteField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetByteField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_CHAR_FIELD = SUNVMCID.value + 1404 ;
+    
+    public INTERNAL errorSetCharField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_CHAR_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetCharField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetCharField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetCharField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetCharField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetCharField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetCharField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetCharField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_SHORT_FIELD = SUNVMCID.value + 1405 ;
+    
+    public INTERNAL errorSetShortField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_SHORT_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetShortField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetShortField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetShortField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetShortField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetShortField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetShortField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetShortField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_INT_FIELD = SUNVMCID.value + 1406 ;
+    
+    public INTERNAL errorSetIntField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_INT_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetIntField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetIntField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetIntField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetIntField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetIntField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetIntField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetIntField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_LONG_FIELD = SUNVMCID.value + 1407 ;
+    
+    public INTERNAL errorSetLongField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_LONG_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetLongField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetLongField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetLongField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetLongField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetLongField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetLongField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetLongField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_FLOAT_FIELD = SUNVMCID.value + 1408 ;
+    
+    public INTERNAL errorSetFloatField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_FLOAT_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetFloatField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetFloatField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetFloatField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetFloatField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetFloatField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetFloatField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetFloatField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ERROR_SET_DOUBLE_FIELD = SUNVMCID.value + 1409 ;
+    
+    public INTERNAL errorSetDoubleField( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) {
+        INTERNAL exc = new INTERNAL( ERROR_SET_DOUBLE_FIELD, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[3] ;
+            parameters[0] = arg0 ;
+            parameters[1] = arg1 ;
+            parameters[2] = arg2 ;
+            doLog( Level.WARNING, "UTIL.errorSetDoubleField",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL errorSetDoubleField( CompletionStatus cs, Object arg0, Object arg1, Object arg2) {
+        return errorSetDoubleField( cs, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetDoubleField( Throwable t, Object arg0, Object arg1, Object arg2) {
+        return errorSetDoubleField( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ;
+    }
+    
+    public INTERNAL errorSetDoubleField(  Object arg0, Object arg1, Object arg2) {
+        return errorSetDoubleField( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ;
+    }
+    
+    public static final int ILLEGAL_FIELD_ACCESS = SUNVMCID.value + 1410 ;
+    
+    public INTERNAL illegalFieldAccess( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( ILLEGAL_FIELD_ACCESS, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "UTIL.illegalFieldAccess",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL illegalFieldAccess( CompletionStatus cs, Object arg0) {
+        return illegalFieldAccess( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL illegalFieldAccess( Throwable t, Object arg0) {
+        return illegalFieldAccess( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL illegalFieldAccess(  Object arg0) {
+        return illegalFieldAccess( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    public static final int BAD_BEGIN_UNMARSHAL_CUSTOM_VALUE = SUNVMCID.value + 1411 ;
+    
+    public INTERNAL badBeginUnmarshalCustomValue( CompletionStatus cs, Throwable t ) {
+        INTERNAL exc = new INTERNAL( BAD_BEGIN_UNMARSHAL_CUSTOM_VALUE, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.badBeginUnmarshalCustomValue",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL badBeginUnmarshalCustomValue( CompletionStatus cs ) {
+        return badBeginUnmarshalCustomValue( cs, null  ) ;
+    }
+    
+    public INTERNAL badBeginUnmarshalCustomValue( Throwable t ) {
+        return badBeginUnmarshalCustomValue( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public INTERNAL badBeginUnmarshalCustomValue(  ) {
+        return badBeginUnmarshalCustomValue( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    public static final int CLASS_NOT_FOUND = SUNVMCID.value + 1412 ;
+    
+    public INTERNAL classNotFound( CompletionStatus cs, Throwable t, Object arg0) {
+        INTERNAL exc = new INTERNAL( CLASS_NOT_FOUND, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = new Object[1] ;
+            parameters[0] = arg0 ;
+            doLog( Level.WARNING, "UTIL.classNotFound",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public INTERNAL classNotFound( CompletionStatus cs, Object arg0) {
+        return classNotFound( cs, null, arg0 ) ;
+    }
+    
+    public INTERNAL classNotFound( Throwable t, Object arg0) {
+        return classNotFound( CompletionStatus.COMPLETED_NO, t, arg0 ) ;
+    }
+    
+    public INTERNAL classNotFound(  Object arg0) {
+        return classNotFound( CompletionStatus.COMPLETED_NO, null, arg0 ) ;
+    }
+    
+    ///////////////////////////////////////////////////////////
+    // UNKNOWN
+    ///////////////////////////////////////////////////////////
+    
+    public static final int UNKNOWN_SYSEX = SUNVMCID.value + 1401 ;
+    
+    public UNKNOWN unknownSysex( CompletionStatus cs, Throwable t ) {
+        UNKNOWN exc = new UNKNOWN( UNKNOWN_SYSEX, cs ) ;
+        if (t != null)
+            exc.initCause( t ) ;
+        
+        if (logger.isLoggable( Level.WARNING )) {
+            Object[] parameters = null ;
+            doLog( Level.WARNING, "UTIL.unknownSysex",
+                parameters, UtilSystemException.class, exc ) ;
+        }
+        
+        return exc ;
+    }
+    
+    public UNKNOWN unknownSysex( CompletionStatus cs ) {
+        return unknownSysex( cs, null  ) ;
+    }
+    
+    public UNKNOWN unknownSysex( Throwable t ) {
+        return unknownSysex( CompletionStatus.COMPLETED_NO, t  ) ;
+    }
+    
+    public UNKNOWN unknownSysex(  ) {
+        return unknownSysex( CompletionStatus.COMPLETED_NO, null  ) ;
+    }
+    
+    
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/impl/logging/UtilSystemException.resource	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+UTIL.stubFactoryCouldNotMakeStub="IOP01211401: (BAD_OPERATION) StubFactory failed on makeStub call"
+UTIL.errorInMakeStubFromRepositoryId="IOP01211402: (BAD_OPERATION) Error in making stub given RepositoryId"
+UTIL.classCastExceptionInLoadStub="IOP01211403: (BAD_OPERATION) ClassCastException in loadStub"
+UTIL.exceptionInLoadStub="IOP01211404: (BAD_OPERATION) Exception in loadStub"
+UTIL.noPoa="IOP00111402: (BAD_PARAM) Error in loadStubAndUpdateCache caused by _this_object"
+UTIL.connectWrongOrb="IOP00111403: (BAD_PARAM) Tried to connect already connected Stub Delegate to a different ORB"
+UTIL.connectNoTie="IOP00111404: (BAD_PARAM) Tried to connect unconnected Stub Delegate but no Tie was found"
+UTIL.connectTieWrongOrb="IOP00111405: (BAD_PARAM) Tried to connect unconnected stub with Tie in a different ORB"
+UTIL.connectTieNoServant="IOP00111406: (BAD_PARAM) Tried to connect unconnected stub to unconnected Tie"
+UTIL.loadTieFailed="IOP00111407: (BAD_PARAM) Failed to load Tie of class {0}"
+UTIL.badHexDigit="IOP02411401: (DATA_CONVERSION) Bad hex digit in string_to_object"
+UTIL.unableLocateValueHelper="IOP00811402: (MARSHAL) Could not locate value helper"
+UTIL.invalidIndirection="IOP00811403: (MARSHAL) Invalid indirection {0}"
+UTIL.objectNotConnected="IOP00511401: (INV_OBJREF) {0} did not originate from a connected object"
+UTIL.couldNotLoadStub="IOP00511402: (INV_OBJREF) Could not load stub for class {0}"
+UTIL.objectNotExported="IOP00511403: (INV_OBJREF) Class {0} not exported, or else is actually a JRMP stub"
+UTIL.errorSetObjectField="IOP00711401: (INTERNAL) Error in setting object field {0} in {1} to {2}"
+UTIL.errorSetBooleanField="IOP00711402: (INTERNAL) Error in setting boolean field {0} in {1} to {2}"
+UTIL.errorSetByteField="IOP00711403: (INTERNAL) Error in setting byte field {0} in {1} to {2}"
+UTIL.errorSetCharField="IOP00711404: (INTERNAL) Error in setting char field {0} in {1} to {2}"
+UTIL.errorSetShortField="IOP00711405: (INTERNAL) Error in setting short field {0} in {1} to {2}"
+UTIL.errorSetIntField="IOP00711406: (INTERNAL) Error in setting int field {0} in {1} to {2}"
+UTIL.errorSetLongField="IOP00711407: (INTERNAL) Error in setting long field {0} in {1} to {2}"
+UTIL.errorSetFloatField="IOP00711408: (INTERNAL) Error in setting float field {0} in {1} to {2}"
+UTIL.errorSetDoubleField="IOP00711409: (INTERNAL) Error in setting double field {0} in {1} to {2}"
+UTIL.illegalFieldAccess="IOP00711410: (INTERNAL) IllegalAccessException while trying to write to field {0}"
+UTIL.badBeginUnmarshalCustomValue="IOP00711411: (INTERNAL) State should be saved and reset first"
+UTIL.classNotFound="IOP00711412: (INTERNAL) Failure while loading specific Java remote exception class: {0}"
+UTIL.unknownSysex="IOP00011401: (UNKNOWN) Unknown System Exception"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/Activator.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/Activator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface Activator extends ActivatorOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Activator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ActivatorHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ActivatorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ActivatorHelper
+{
+  private static String  _id = "IDL:activation/Activator:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.Activator 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 com.sun.corba.se.spi.activation.Activator 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 (com.sun.corba.se.spi.activation.ActivatorHelper.id (), "Activator");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.Activator read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_ActivatorStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.Activator value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.spi.activation.Activator narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Activator)
+      return (com.sun.corba.se.spi.activation.Activator)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 ();
+      com.sun.corba.se.spi.activation._ActivatorStub stub = new com.sun.corba.se.spi.activation._ActivatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.spi.activation.Activator unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Activator)
+      return (com.sun.corba.se.spi.activation.Activator)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.spi.activation._ActivatorStub stub = new com.sun.corba.se.spi.activation._ActivatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ActivatorHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ActivatorHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ActivatorHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.Activator value = null;
+
+  public ActivatorHolder ()
+  {
+  }
+
+  public ActivatorHolder (com.sun.corba.se.spi.activation.Activator initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ActivatorHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ActivatorHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ActivatorHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ActivatorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,37 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ActivatorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface ActivatorOperations 
+{
+
+  // A new ORB started server registers itself with the Activator
+  void active (int serverId, com.sun.corba.se.spi.activation.Server serverObj) throws com.sun.corba.se.spi.activation.ServerNotRegistered;
+
+  // Install a particular kind of endpoint
+  void registerEndpoints (int serverId, String orbId, com.sun.corba.se.spi.activation.EndPointInfo[] endPointInfo) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.NoSuchEndPoint, com.sun.corba.se.spi.activation.ORBAlreadyRegistered;
+
+  // list active servers
+  int[] getActiveServers ();
+
+  // If the server is not running, start it up.
+  void activate (int serverId) throws com.sun.corba.se.spi.activation.ServerAlreadyActive, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown;
+
+  // If the server is running, shut it down
+  void shutdown (int serverId) throws com.sun.corba.se.spi.activation.ServerNotActive, com.sun.corba.se.spi.activation.ServerNotRegistered;
+
+  // currently running, this method will activate it.
+  void install (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown, com.sun.corba.se.spi.activation.ServerAlreadyInstalled;
+
+  // list all registered ORBs for a server
+  String[] getORBNames (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered;
+
+  // After this hook completes, the server may still be running.
+  void uninstall (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown, com.sun.corba.se.spi.activation.ServerAlreadyUninstalled;
+} // interface ActivatorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/BadServerDefinition.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/BadServerDefinition.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class BadServerDefinition extends org.omg.CORBA.UserException
+{
+  public String reason = null;
+
+  public BadServerDefinition ()
+  {
+    super(BadServerDefinitionHelper.id());
+  } // ctor
+
+  public BadServerDefinition (String _reason)
+  {
+    super(BadServerDefinitionHelper.id());
+    reason = _reason;
+  } // ctor
+
+
+  public BadServerDefinition (String $reason, String _reason)
+  {
+    super(BadServerDefinitionHelper.id() + "  " + $reason);
+    reason = _reason;
+  } // ctor
+
+} // class BadServerDefinition
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/BadServerDefinitionHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/BadServerDefinitionHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class BadServerDefinitionHelper
+{
+  private static String  _id = "IDL:activation/BadServerDefinition:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.BadServerDefinition 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 com.sun.corba.se.spi.activation.BadServerDefinition 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 ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "reason",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.BadServerDefinitionHelper.id (), "BadServerDefinition", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.BadServerDefinition read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.BadServerDefinition value = new com.sun.corba.se.spi.activation.BadServerDefinition ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.reason = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.BadServerDefinition value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.reason);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/BadServerDefinitionHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/BadServerDefinitionHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class BadServerDefinitionHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.BadServerDefinition value = null;
+
+  public BadServerDefinitionHolder ()
+  {
+  }
+
+  public BadServerDefinitionHolder (com.sun.corba.se.spi.activation.BadServerDefinition initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.BadServerDefinitionHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.BadServerDefinitionHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.BadServerDefinitionHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/EndPointInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/EndPointInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class EndPointInfo implements org.omg.CORBA.portable.IDLEntity
+{
+  public String endpointType = null;
+  public int port = (int)0;
+
+  public EndPointInfo ()
+  {
+  } // ctor
+
+  public EndPointInfo (String _endpointType, int _port)
+  {
+    endpointType = _endpointType;
+    port = _port;
+  } // ctor
+
+} // class EndPointInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/EndPointInfoHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,83 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/EndPointInfoHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class EndPointInfoHelper
+{
+  private static String  _id = "IDL:activation/EndPointInfo/EndPointInfo:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.EndPointInfo 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 com.sun.corba.se.spi.activation.EndPointInfo 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "endpointType",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.TCPPortHelper.id (), "TCPPort", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "port",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.spi.activation.EndPointInfoHelper.id (), "EndPointInfo", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.EndPointInfo read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.EndPointInfo value = new com.sun.corba.se.spi.activation.EndPointInfo ();
+    value.endpointType = istream.read_string ();
+    value.port = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.EndPointInfo value)
+  {
+    ostream.write_string (value.endpointType);
+    ostream.write_long (value.port);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/EndPointInfoHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/EndPointInfoHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class EndPointInfoHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.EndPointInfo value = null;
+
+  public EndPointInfoHolder ()
+  {
+  }
+
+  public EndPointInfoHolder (com.sun.corba.se.spi.activation.EndPointInfo initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.EndPointInfoHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.EndPointInfoHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.EndPointInfoHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/EndpointInfoListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/EndpointInfoListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class EndpointInfoListHelper
+{
+  private static String  _id = "IDL:activation/EndpointInfoList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.EndPointInfo[] 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 com.sun.corba.se.spi.activation.EndPointInfo[] 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 = com.sun.corba.se.spi.activation.EndPointInfoHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.EndpointInfoListHelper.id (), "EndpointInfoList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.EndPointInfo[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.EndPointInfo value[] = null;
+    int _len0 = istream.read_long ();
+    value = new com.sun.corba.se.spi.activation.EndPointInfo[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = com.sun.corba.se.spi.activation.EndPointInfoHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.EndPointInfo[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      com.sun.corba.se.spi.activation.EndPointInfoHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/EndpointInfoListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,39 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/EndpointInfoListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class EndpointInfoListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.EndPointInfo value[] = null;
+
+  public EndpointInfoListHolder ()
+  {
+  }
+
+  public EndpointInfoListHolder (com.sun.corba.se.spi.activation.EndPointInfo[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.EndpointInfoListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.EndpointInfoListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.EndpointInfoListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/IIOP_CLEAR_TEXT.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,16 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/IIOP_CLEAR_TEXT.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface IIOP_CLEAR_TEXT
+{
+
+  // to avoid a compilation dependency.
+  public static final String value = "IIOP_CLEAR_TEXT";
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InitialNameService.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/InitialNameService.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface InitialNameService extends InitialNameServiceOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface InitialNameService
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InitialNameServiceHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/InitialNameServiceHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class InitialNameServiceHelper
+{
+  private static String  _id = "IDL:activation/InitialNameService:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.InitialNameService 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 com.sun.corba.se.spi.activation.InitialNameService 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 (com.sun.corba.se.spi.activation.InitialNameServiceHelper.id (), "InitialNameService");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.InitialNameService read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_InitialNameServiceStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.InitialNameService value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.spi.activation.InitialNameService narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.InitialNameService)
+      return (com.sun.corba.se.spi.activation.InitialNameService)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 ();
+      com.sun.corba.se.spi.activation._InitialNameServiceStub stub = new com.sun.corba.se.spi.activation._InitialNameServiceStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.spi.activation.InitialNameService unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.InitialNameService)
+      return (com.sun.corba.se.spi.activation.InitialNameService)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.spi.activation._InitialNameServiceStub stub = new com.sun.corba.se.spi.activation._InitialNameServiceStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InitialNameServiceHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/InitialNameServiceHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class InitialNameServiceHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.InitialNameService value = null;
+
+  public InitialNameServiceHolder ()
+  {
+  }
+
+  public InitialNameServiceHolder (com.sun.corba.se.spi.activation.InitialNameService initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.InitialNameServiceHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.InitialNameServiceHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.InitialNameServiceHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InitialNameServiceOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,16 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/InitialNameServiceOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface InitialNameServiceOperations 
+{
+
+  // bind initial name
+  void bind (String name, org.omg.CORBA.Object obj, boolean isPersistant) throws com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound;
+} // interface InitialNameServiceOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBound.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package com.sun.corba.se.spi.activation.InitialNameServicePackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBound.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class NameAlreadyBound extends org.omg.CORBA.UserException
+{
+
+  public NameAlreadyBound ()
+  {
+    super(NameAlreadyBoundHelper.id());
+  } // ctor
+
+
+  public NameAlreadyBound (String $reason)
+  {
+    super(NameAlreadyBoundHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class NameAlreadyBound
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBoundHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package com.sun.corba.se.spi.activation.InitialNameServicePackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBoundHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class NameAlreadyBoundHelper
+{
+  private static String  _id = "IDL:activation/InitialNameService/NameAlreadyBound:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound 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 com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound 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 (com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBoundHelper.id (), "NameAlreadyBound", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound value = new com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBoundHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation.InitialNameServicePackage;
+
+/**
+* com/sun/corba/se/spi/activation/InitialNameServicePackage/NameAlreadyBoundHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class NameAlreadyBoundHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound value = null;
+
+  public NameAlreadyBoundHolder ()
+  {
+  }
+
+  public NameAlreadyBoundHolder (com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBoundHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBoundHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBoundHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InvalidORBid.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/InvalidORBid.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class InvalidORBid extends org.omg.CORBA.UserException
+{
+
+  public InvalidORBid ()
+  {
+    super(InvalidORBidHelper.id());
+  } // ctor
+
+
+  public InvalidORBid (String $reason)
+  {
+    super(InvalidORBidHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidORBid
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InvalidORBidHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/InvalidORBidHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class InvalidORBidHelper
+{
+  private static String  _id = "IDL:activation/InvalidORBid:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.InvalidORBid 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 com.sun.corba.se.spi.activation.InvalidORBid 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 (com.sun.corba.se.spi.activation.InvalidORBidHelper.id (), "InvalidORBid", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.InvalidORBid read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.InvalidORBid value = new com.sun.corba.se.spi.activation.InvalidORBid ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.InvalidORBid value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/InvalidORBidHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/InvalidORBidHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class InvalidORBidHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.InvalidORBid value = null;
+
+  public InvalidORBidHolder ()
+  {
+  }
+
+  public InvalidORBidHolder (com.sun.corba.se.spi.activation.InvalidORBid initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.InvalidORBidHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.InvalidORBidHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.InvalidORBidHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/Locator.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/Locator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface Locator extends LocatorOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Locator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/LocatorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class LocatorHelper
+{
+  private static String  _id = "IDL:activation/Locator:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.Locator 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 com.sun.corba.se.spi.activation.Locator 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 (com.sun.corba.se.spi.activation.LocatorHelper.id (), "Locator");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.Locator read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_LocatorStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.Locator value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.spi.activation.Locator narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Locator)
+      return (com.sun.corba.se.spi.activation.Locator)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 ();
+      com.sun.corba.se.spi.activation._LocatorStub stub = new com.sun.corba.se.spi.activation._LocatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.spi.activation.Locator unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Locator)
+      return (com.sun.corba.se.spi.activation.Locator)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.spi.activation._LocatorStub stub = new com.sun.corba.se.spi.activation._LocatorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/LocatorHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class LocatorHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.Locator value = null;
+
+  public LocatorHolder ()
+  {
+  }
+
+  public LocatorHolder (com.sun.corba.se.spi.activation.Locator initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.LocatorHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.LocatorHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.LocatorHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/LocatorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface LocatorOperations 
+{
+
+  // Starts the server if it is not already running.
+  com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation locateServer (int serverId, String endPoint) throws com.sun.corba.se.spi.activation.NoSuchEndPoint, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown;
+
+  // Starts the server if it is not already running.
+  com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB locateServerForORB (int serverId, String orbId) throws com.sun.corba.se.spi.activation.InvalidORBid, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown;
+
+  // get the port for the endpoint of the locator
+  int getEndpoint (String endPointType) throws com.sun.corba.se.spi.activation.NoSuchEndPoint;
+
+  // to pick a particular port type.
+  int getServerPortForType (com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB location, String endPointType) throws com.sun.corba.se.spi.activation.NoSuchEndPoint;
+} // interface LocatorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocation.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.spi.activation.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/LocatorPackage/ServerLocation.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerLocation implements org.omg.CORBA.portable.IDLEntity
+{
+  public String hostname = null;
+  public com.sun.corba.se.spi.activation.ORBPortInfo ports[] = null;
+
+  public ServerLocation ()
+  {
+  } // ctor
+
+  public ServerLocation (String _hostname, com.sun.corba.se.spi.activation.ORBPortInfo[] _ports)
+  {
+    hostname = _hostname;
+    ports = _ports;
+  } // ctor
+
+} // class ServerLocation
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package com.sun.corba.se.spi.activation.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerLocationHelper
+{
+  private static String  _id = "IDL:activation/Locator/ServerLocation/ServerLocation:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation 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 com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "hostname",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = com.sun.corba.se.spi.activation.ORBPortInfoHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ORBPortInfoListHelper.id (), "ORBPortInfoList", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "ports",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.id (), "ServerLocation", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation value = new com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation ();
+    value.hostname = istream.read_string ();
+    value.ports = com.sun.corba.se.spi.activation.ORBPortInfoListHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation value)
+  {
+    ostream.write_string (value.hostname);
+    com.sun.corba.se.spi.activation.ORBPortInfoListHelper.write (ostream, value.ports);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation.LocatorPackage;
+
+/**
+* com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerLocationHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation value = null;
+
+  public ServerLocationHolder ()
+  {
+  }
+
+  public ServerLocationHolder (com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.spi.activation.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORB.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerLocationPerORB implements org.omg.CORBA.portable.IDLEntity
+{
+  public String hostname = null;
+  public com.sun.corba.se.spi.activation.EndPointInfo ports[] = null;
+
+  public ServerLocationPerORB ()
+  {
+  } // ctor
+
+  public ServerLocationPerORB (String _hostname, com.sun.corba.se.spi.activation.EndPointInfo[] _ports)
+  {
+    hostname = _hostname;
+    ports = _ports;
+  } // ctor
+
+} // class ServerLocationPerORB
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORBHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package com.sun.corba.se.spi.activation.LocatorPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORBHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerLocationPerORBHelper
+{
+  private static String  _id = "IDL:activation/Locator/ServerLocationPerORB/ServerLocationPerORB:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB 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 com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "hostname",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = com.sun.corba.se.spi.activation.EndPointInfoHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.EndpointInfoListHelper.id (), "EndpointInfoList", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "ports",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.id (), "ServerLocationPerORB", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB value = new com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB ();
+    value.hostname = istream.read_string ();
+    value.ports = com.sun.corba.se.spi.activation.EndpointInfoListHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB value)
+  {
+    ostream.write_string (value.hostname);
+    com.sun.corba.se.spi.activation.EndpointInfoListHelper.write (ostream, value.ports);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORBHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation.LocatorPackage;
+
+/**
+* com/sun/corba/se/spi/activation/LocatorPackage/ServerLocationPerORBHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerLocationPerORBHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB value = null;
+
+  public ServerLocationPerORBHolder ()
+  {
+  }
+
+  public ServerLocationPerORBHolder (com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/NoSuchEndPoint.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/NoSuchEndPoint.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class NoSuchEndPoint extends org.omg.CORBA.UserException
+{
+
+  public NoSuchEndPoint ()
+  {
+    super(NoSuchEndPointHelper.id());
+  } // ctor
+
+
+  public NoSuchEndPoint (String $reason)
+  {
+    super(NoSuchEndPointHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class NoSuchEndPoint
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/NoSuchEndPointHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/NoSuchEndPointHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class NoSuchEndPointHelper
+{
+  private static String  _id = "IDL:activation/NoSuchEndPoint:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.NoSuchEndPoint 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 com.sun.corba.se.spi.activation.NoSuchEndPoint 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 (com.sun.corba.se.spi.activation.NoSuchEndPointHelper.id (), "NoSuchEndPoint", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.NoSuchEndPoint read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.NoSuchEndPoint value = new com.sun.corba.se.spi.activation.NoSuchEndPoint ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.NoSuchEndPoint value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/NoSuchEndPointHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/NoSuchEndPointHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class NoSuchEndPointHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.NoSuchEndPoint value = null;
+
+  public NoSuchEndPointHolder ()
+  {
+  }
+
+  public NoSuchEndPointHolder (com.sun.corba.se.spi.activation.NoSuchEndPoint initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.NoSuchEndPointHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBAlreadyRegistered.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBAlreadyRegistered.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ORBAlreadyRegistered extends org.omg.CORBA.UserException
+{
+  public String orbId = null;
+
+  public ORBAlreadyRegistered ()
+  {
+    super(ORBAlreadyRegisteredHelper.id());
+  } // ctor
+
+  public ORBAlreadyRegistered (String _orbId)
+  {
+    super(ORBAlreadyRegisteredHelper.id());
+    orbId = _orbId;
+  } // ctor
+
+
+  public ORBAlreadyRegistered (String $reason, String _orbId)
+  {
+    super(ORBAlreadyRegisteredHelper.id() + "  " + $reason);
+    orbId = _orbId;
+  } // ctor
+
+} // class ORBAlreadyRegistered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBAlreadyRegisteredHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBAlreadyRegisteredHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ORBAlreadyRegisteredHelper
+{
+  private static String  _id = "IDL:activation/ORBAlreadyRegistered:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ORBAlreadyRegistered 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 com.sun.corba.se.spi.activation.ORBAlreadyRegistered 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 ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ORBidHelper.id (), "ORBid", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "orbId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.id (), "ORBAlreadyRegistered", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ORBAlreadyRegistered read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ORBAlreadyRegistered value = new com.sun.corba.se.spi.activation.ORBAlreadyRegistered ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.orbId = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ORBAlreadyRegistered value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.orbId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBAlreadyRegisteredHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ORBAlreadyRegisteredHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ORBAlreadyRegisteredHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ORBAlreadyRegistered value = null;
+
+  public ORBAlreadyRegisteredHolder ()
+  {
+  }
+
+  public ORBAlreadyRegisteredHolder (com.sun.corba.se.spi.activation.ORBAlreadyRegistered initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBPortInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBPortInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ORBPortInfo implements org.omg.CORBA.portable.IDLEntity
+{
+  public String orbId = null;
+  public int port = (int)0;
+
+  public ORBPortInfo ()
+  {
+  } // ctor
+
+  public ORBPortInfo (String _orbId, int _port)
+  {
+    orbId = _orbId;
+    port = _port;
+  } // ctor
+
+} // class ORBPortInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBPortInfoHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBPortInfoHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ORBPortInfoHelper
+{
+  private static String  _id = "IDL:activation/ORBPortInfo/ORBPortInfo:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ORBPortInfo 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 com.sun.corba.se.spi.activation.ORBPortInfo 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ORBidHelper.id (), "ORBid", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "orbId",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.TCPPortHelper.id (), "TCPPort", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "port",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.spi.activation.ORBPortInfoHelper.id (), "ORBPortInfo", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ORBPortInfo read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ORBPortInfo value = new com.sun.corba.se.spi.activation.ORBPortInfo ();
+    value.orbId = istream.read_string ();
+    value.port = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ORBPortInfo value)
+  {
+    ostream.write_string (value.orbId);
+    ostream.write_long (value.port);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBPortInfoHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ORBPortInfoHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ORBPortInfoHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ORBPortInfo value = null;
+
+  public ORBPortInfoHolder ()
+  {
+  }
+
+  public ORBPortInfoHolder (com.sun.corba.se.spi.activation.ORBPortInfo initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ORBPortInfoHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ORBPortInfoHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ORBPortInfoHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBPortInfoListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBPortInfoListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ORBPortInfoListHelper
+{
+  private static String  _id = "IDL:activation/ORBPortInfoList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ORBPortInfo[] 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 com.sun.corba.se.spi.activation.ORBPortInfo[] 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 = com.sun.corba.se.spi.activation.ORBPortInfoHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ORBPortInfoListHelper.id (), "ORBPortInfoList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ORBPortInfo[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ORBPortInfo value[] = null;
+    int _len0 = istream.read_long ();
+    value = new com.sun.corba.se.spi.activation.ORBPortInfo[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = com.sun.corba.se.spi.activation.ORBPortInfoHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ORBPortInfo[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      com.sun.corba.se.spi.activation.ORBPortInfoHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBPortInfoListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,39 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBPortInfoListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ORBPortInfoListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ORBPortInfo value[] = null;
+
+  public ORBPortInfoListHolder ()
+  {
+  }
+
+  public ORBPortInfoListHolder (com.sun.corba.se.spi.activation.ORBPortInfo[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ORBPortInfoListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ORBPortInfoListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ORBPortInfoListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBidHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBidHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+
+// issue resolved.
+abstract public class ORBidHelper
+{
+  private static String  _id = "IDL:activation/ORBid:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ORBidHelper.id (), "ORBid", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBidListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBidListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ORBidListHelper
+{
+  private static String  _id = "IDL:activation/ORBidList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ORBidHelper.id (), "ORBid", __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ORBidListHelper.id (), "ORBidList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = com.sun.corba.se.spi.activation.ORBidHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      com.sun.corba.se.spi.activation.ORBidHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ORBidListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,39 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ORBidListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ORBidListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public ORBidListHolder ()
+  {
+  }
+
+  public ORBidListHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ORBidListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ORBidListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ORBidListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/POANameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/POANameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class POANameHelper
+{
+  private static String  _id = "IDL:activation/POAName:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.POANameHelper.id (), "POAName", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      ostream.write_string (value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/POANameHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,39 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/POANameHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class POANameHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public POANameHolder ()
+  {
+  }
+
+  public POANameHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.POANameHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.POANameHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.POANameHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/Repository.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/Repository.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface Repository extends RepositoryOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Repository
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class RepositoryHelper
+{
+  private static String  _id = "IDL:activation/Repository:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.Repository 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 com.sun.corba.se.spi.activation.Repository 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 (com.sun.corba.se.spi.activation.RepositoryHelper.id (), "Repository");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.Repository read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_RepositoryStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.Repository value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.spi.activation.Repository narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Repository)
+      return (com.sun.corba.se.spi.activation.Repository)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 ();
+      com.sun.corba.se.spi.activation._RepositoryStub stub = new com.sun.corba.se.spi.activation._RepositoryStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.spi.activation.Repository unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Repository)
+      return (com.sun.corba.se.spi.activation.Repository)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.spi.activation._RepositoryStub stub = new com.sun.corba.se.spi.activation._RepositoryStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class RepositoryHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.Repository value = null;
+
+  public RepositoryHolder ()
+  {
+  }
+
+  public RepositoryHolder (com.sun.corba.se.spi.activation.Repository initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.RepositoryHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.RepositoryHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.RepositoryHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,40 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface RepositoryOperations 
+{
+
+  // always uninstalled.
+  int registerServer (com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef serverDef) throws com.sun.corba.se.spi.activation.ServerAlreadyRegistered, com.sun.corba.se.spi.activation.BadServerDefinition;
+
+  // unregister server definition
+  void unregisterServer (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered;
+
+  // get server definition
+  com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef getServer (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered;
+
+  // Return whether the server has been installed
+  boolean isInstalled (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered;
+
+  // if the server is currently marked as installed.
+  void install (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerAlreadyInstalled;
+
+  // if the server is currently marked as uninstalled.
+  void uninstall (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerAlreadyUninstalled;
+
+  // list registered servers
+  int[] listRegisteredServers ();
+
+  // servers.
+  String[] getApplicationNames ();
+
+  // Find the ServerID associated with the given application name.
+  int getServerID (String applicationName) throws com.sun.corba.se.spi.activation.ServerNotRegistered;
+} // interface RepositoryOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryPackage/ServerDef.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryPackage/ServerDef.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerDef implements org.omg.CORBA.portable.IDLEntity
+{
+  public String applicationName = null;
+
+  // serverName values.
+  public String serverName = null;
+
+  // Class name of server's main class.
+  public String serverClassPath = null;
+
+  // class path used to run the server.
+  public String serverArgs = null;
+  public String serverVmArgs = null;
+
+  public ServerDef ()
+  {
+  } // ctor
+
+  public ServerDef (String _applicationName, String _serverName, String _serverClassPath, String _serverArgs, String _serverVmArgs)
+  {
+    applicationName = _applicationName;
+    serverName = _serverName;
+    serverClassPath = _serverClassPath;
+    serverArgs = _serverArgs;
+    serverVmArgs = _serverVmArgs;
+  } // ctor
+
+} // class ServerDef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryPackage/ServerDefHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,103 @@
+package com.sun.corba.se.spi.activation.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryPackage/ServerDefHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerDefHelper
+{
+  private static String  _id = "IDL:activation/Repository/ServerDef/ServerDef:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef 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 com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef 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 [5];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "applicationName",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "serverName",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[2] = new org.omg.CORBA.StructMember (
+            "serverClassPath",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[3] = new org.omg.CORBA.StructMember (
+            "serverArgs",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[4] = new org.omg.CORBA.StructMember (
+            "serverVmArgs",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.id (), "ServerDef", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef value = new com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef ();
+    value.applicationName = istream.read_string ();
+    value.serverName = istream.read_string ();
+    value.serverClassPath = istream.read_string ();
+    value.serverArgs = istream.read_string ();
+    value.serverVmArgs = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef value)
+  {
+    ostream.write_string (value.applicationName);
+    ostream.write_string (value.serverName);
+    ostream.write_string (value.serverClassPath);
+    ostream.write_string (value.serverArgs);
+    ostream.write_string (value.serverVmArgs);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryPackage/ServerDefHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation.RepositoryPackage;
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryPackage/ServerDefHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerDefHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef value = null;
+
+  public ServerDefHolder ()
+  {
+  }
+
+  public ServerDefHolder (com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryPackage/StringSeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.corba.se.spi.activation.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryPackage/StringSeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class StringSeqHelper
+{
+  private static String  _id = "IDL:activation/Repository/StringSeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.RepositoryPackage.StringSeqHelper.id (), "StringSeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      ostream.write_string (value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/RepositoryPackage/StringSeqHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,39 @@
+package com.sun.corba.se.spi.activation.RepositoryPackage;
+
+
+/**
+* com/sun/corba/se/spi/activation/RepositoryPackage/StringSeqHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class StringSeqHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public StringSeqHolder ()
+  {
+  }
+
+  public StringSeqHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.RepositoryPackage.StringSeqHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.RepositoryPackage.StringSeqHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.RepositoryPackage.StringSeqHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/Server.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,16 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/Server.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+
+/** Server callback API, passed to Activator in active method.
+    */
+public interface Server extends ServerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Server
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyActive.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyActive extends org.omg.CORBA.UserException
+{
+  public int serverId = (int)0;
+
+  public ServerAlreadyActive ()
+  {
+    super(ServerAlreadyActiveHelper.id());
+  } // ctor
+
+  public ServerAlreadyActive (int _serverId)
+  {
+    super(ServerAlreadyActiveHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyActive (String $reason, int _serverId)
+  {
+    super(ServerAlreadyActiveHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyActiveHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyActiveHelper
+{
+  private static String  _id = "IDL:activation/ServerAlreadyActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerAlreadyActive 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 com.sun.corba.se.spi.activation.ServerAlreadyActive 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_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.id (), "ServerAlreadyActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerAlreadyActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyActive value = new com.sun.corba.se.spi.activation.ServerAlreadyActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerAlreadyActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_long (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyActiveHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyActiveHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyActiveHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerAlreadyActive value = null;
+
+  public ServerAlreadyActiveHolder ()
+  {
+  }
+
+  public ServerAlreadyActiveHolder (com.sun.corba.se.spi.activation.ServerAlreadyActive initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyInstalled.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyInstalled.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyInstalled extends org.omg.CORBA.UserException
+{
+  public int serverId = (int)0;
+
+  public ServerAlreadyInstalled ()
+  {
+    super(ServerAlreadyInstalledHelper.id());
+  } // ctor
+
+  public ServerAlreadyInstalled (int _serverId)
+  {
+    super(ServerAlreadyInstalledHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyInstalled (String $reason, int _serverId)
+  {
+    super(ServerAlreadyInstalledHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyInstalled
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyInstalledHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyInstalledHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyInstalledHelper
+{
+  private static String  _id = "IDL:activation/ServerAlreadyInstalled:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerAlreadyInstalled 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 com.sun.corba.se.spi.activation.ServerAlreadyInstalled 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_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.id (), "ServerAlreadyInstalled", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerAlreadyInstalled read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyInstalled value = new com.sun.corba.se.spi.activation.ServerAlreadyInstalled ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerAlreadyInstalled value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_long (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyInstalledHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyInstalledHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyInstalledHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerAlreadyInstalled value = null;
+
+  public ServerAlreadyInstalledHolder ()
+  {
+  }
+
+  public ServerAlreadyInstalledHolder (com.sun.corba.se.spi.activation.ServerAlreadyInstalled initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyRegistered.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyRegistered.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyRegistered extends org.omg.CORBA.UserException
+{
+  public int serverId = (int)0;
+
+  public ServerAlreadyRegistered ()
+  {
+    super(ServerAlreadyRegisteredHelper.id());
+  } // ctor
+
+  public ServerAlreadyRegistered (int _serverId)
+  {
+    super(ServerAlreadyRegisteredHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyRegistered (String $reason, int _serverId)
+  {
+    super(ServerAlreadyRegisteredHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyRegistered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyRegisteredHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyRegisteredHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyRegisteredHelper
+{
+  private static String  _id = "IDL:activation/ServerAlreadyRegistered:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerAlreadyRegistered 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 com.sun.corba.se.spi.activation.ServerAlreadyRegistered 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_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ServerAlreadyRegisteredHelper.id (), "ServerAlreadyRegistered", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerAlreadyRegistered read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyRegistered value = new com.sun.corba.se.spi.activation.ServerAlreadyRegistered ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerAlreadyRegistered value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_long (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyRegisteredHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyRegisteredHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyRegisteredHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerAlreadyRegistered value = null;
+
+  public ServerAlreadyRegisteredHolder ()
+  {
+  }
+
+  public ServerAlreadyRegisteredHolder (com.sun.corba.se.spi.activation.ServerAlreadyRegistered initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerAlreadyRegisteredHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyRegisteredHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerAlreadyRegisteredHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyUninstalled.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyUninstalled.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyUninstalled extends org.omg.CORBA.UserException
+{
+  public int serverId = (int)0;
+
+  public ServerAlreadyUninstalled ()
+  {
+    super(ServerAlreadyUninstalledHelper.id());
+  } // ctor
+
+  public ServerAlreadyUninstalled (int _serverId)
+  {
+    super(ServerAlreadyUninstalledHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerAlreadyUninstalled (String $reason, int _serverId)
+  {
+    super(ServerAlreadyUninstalledHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerAlreadyUninstalled
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyUninstalledHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyUninstalledHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerAlreadyUninstalledHelper
+{
+  private static String  _id = "IDL:activation/ServerAlreadyUninstalled:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerAlreadyUninstalled 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 com.sun.corba.se.spi.activation.ServerAlreadyUninstalled 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_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.id (), "ServerAlreadyUninstalled", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerAlreadyUninstalled read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyUninstalled value = new com.sun.corba.se.spi.activation.ServerAlreadyUninstalled ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerAlreadyUninstalled value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_long (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerAlreadyUninstalledHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerAlreadyUninstalledHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerAlreadyUninstalledHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerAlreadyUninstalled value = null;
+
+  public ServerAlreadyUninstalledHolder ()
+  {
+  }
+
+  public ServerAlreadyUninstalledHolder (com.sun.corba.se.spi.activation.ServerAlreadyUninstalled initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerHeldDown.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerHeldDown.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerHeldDown extends org.omg.CORBA.UserException
+{
+  public int serverId = (int)0;
+
+  public ServerHeldDown ()
+  {
+    super(ServerHeldDownHelper.id());
+  } // ctor
+
+  public ServerHeldDown (int _serverId)
+  {
+    super(ServerHeldDownHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerHeldDown (String $reason, int _serverId)
+  {
+    super(ServerHeldDownHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerHeldDown
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerHeldDownHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerHeldDownHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerHeldDownHelper
+{
+  private static String  _id = "IDL:activation/ServerHeldDown:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerHeldDown 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 com.sun.corba.se.spi.activation.ServerHeldDown 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_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ServerHeldDownHelper.id (), "ServerHeldDown", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerHeldDown read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ServerHeldDown value = new com.sun.corba.se.spi.activation.ServerHeldDown ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerHeldDown value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_long (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerHeldDownHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerHeldDownHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerHeldDownHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerHeldDown value = null;
+
+  public ServerHeldDownHolder ()
+  {
+  }
+
+  public ServerHeldDownHolder (com.sun.corba.se.spi.activation.ServerHeldDown initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerHeldDownHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerHeldDownHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,88 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+
+/** Server callback API, passed to Activator in active method.
+    */
+abstract public class ServerHelper
+{
+  private static String  _id = "IDL:activation/Server:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.Server 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 com.sun.corba.se.spi.activation.Server 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 (com.sun.corba.se.spi.activation.ServerHelper.id (), "Server");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.Server read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_ServerStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.Server value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.spi.activation.Server narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Server)
+      return (com.sun.corba.se.spi.activation.Server)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 ();
+      com.sun.corba.se.spi.activation._ServerStub stub = new com.sun.corba.se.spi.activation._ServerStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.spi.activation.Server unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.Server)
+      return (com.sun.corba.se.spi.activation.Server)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.spi.activation._ServerStub stub = new com.sun.corba.se.spi.activation._ServerStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+
+/** Server callback API, passed to Activator in active method.
+    */
+public final class ServerHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.Server value = null;
+
+  public ServerHolder ()
+  {
+  }
+
+  public ServerHolder (com.sun.corba.se.spi.activation.Server initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerIdHelper
+{
+  private static String  _id = "IDL:activation/ServerId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int 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 int 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value = (int)0;
+    value = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int value)
+  {
+    ostream.write_long (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerIdsHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerIdsHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerIdsHelper
+{
+  private static String  _id = "IDL:activation/ServerIds:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int[] 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 int[] 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdsHelper.id (), "ServerIds", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value[] = null;
+    int _len0 = istream.read_long ();
+    value = new int[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = com.sun.corba.se.spi.activation.ServerIdHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      com.sun.corba.se.spi.activation.ServerIdHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerIdsHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,39 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerIdsHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerIdsHolder implements org.omg.CORBA.portable.Streamable
+{
+  public int value[] = null;
+
+  public ServerIdsHolder ()
+  {
+  }
+
+  public ServerIdsHolder (int[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerIdsHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerIdsHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerIdsHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerManager.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerManager.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface ServerManager extends ServerManagerOperations, com.sun.corba.se.spi.activation.Activator, com.sun.corba.se.spi.activation.Locator
+{
+} // interface ServerManager
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerManagerHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerManagerHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerManagerHelper
+{
+  private static String  _id = "IDL:activation/ServerManager:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerManager 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 com.sun.corba.se.spi.activation.ServerManager 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 (com.sun.corba.se.spi.activation.ServerManagerHelper.id (), "ServerManager");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerManager read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_ServerManagerStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerManager value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerManager narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.ServerManager)
+      return (com.sun.corba.se.spi.activation.ServerManager)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 ();
+      com.sun.corba.se.spi.activation._ServerManagerStub stub = new com.sun.corba.se.spi.activation._ServerManagerStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerManager unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof com.sun.corba.se.spi.activation.ServerManager)
+      return (com.sun.corba.se.spi.activation.ServerManager)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      com.sun.corba.se.spi.activation._ServerManagerStub stub = new com.sun.corba.se.spi.activation._ServerManagerStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerManagerHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerManagerHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerManagerHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerManager value = null;
+
+  public ServerManagerHolder ()
+  {
+  }
+
+  public ServerManagerHolder (com.sun.corba.se.spi.activation.ServerManager initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerManagerHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerManagerHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerManagerHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerManagerOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerManagerOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public interface ServerManagerOperations  extends com.sun.corba.se.spi.activation.ActivatorOperations, com.sun.corba.se.spi.activation.LocatorOperations
+{
+} // interface ServerManagerOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerNotActive.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerNotActive.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerNotActive extends org.omg.CORBA.UserException
+{
+  public int serverId = (int)0;
+
+  public ServerNotActive ()
+  {
+    super(ServerNotActiveHelper.id());
+  } // ctor
+
+  public ServerNotActive (int _serverId)
+  {
+    super(ServerNotActiveHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerNotActive (String $reason, int _serverId)
+  {
+    super(ServerNotActiveHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerNotActive
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerNotActiveHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerNotActiveHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerNotActiveHelper
+{
+  private static String  _id = "IDL:activation/ServerNotActive:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerNotActive 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 com.sun.corba.se.spi.activation.ServerNotActive 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_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ServerNotActiveHelper.id (), "ServerNotActive", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerNotActive read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ServerNotActive value = new com.sun.corba.se.spi.activation.ServerNotActive ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerNotActive value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_long (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerNotActiveHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerNotActiveHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerNotActiveHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerNotActive value = null;
+
+  public ServerNotActiveHolder ()
+  {
+  }
+
+  public ServerNotActiveHolder (com.sun.corba.se.spi.activation.ServerNotActive initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerNotActiveHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerNotActiveHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerNotActiveHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerNotRegistered.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerNotRegistered.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerNotRegistered extends org.omg.CORBA.UserException
+{
+  public int serverId = (int)0;
+
+  public ServerNotRegistered ()
+  {
+    super(ServerNotRegisteredHelper.id());
+  } // ctor
+
+  public ServerNotRegistered (int _serverId)
+  {
+    super(ServerNotRegisteredHelper.id());
+    serverId = _serverId;
+  } // ctor
+
+
+  public ServerNotRegistered (String $reason, int _serverId)
+  {
+    super(ServerNotRegisteredHelper.id() + "  " + $reason);
+    serverId = _serverId;
+  } // ctor
+
+} // class ServerNotRegistered
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerNotRegisteredHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerNotRegisteredHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class ServerNotRegisteredHelper
+{
+  private static String  _id = "IDL:activation/ServerNotRegistered:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, com.sun.corba.se.spi.activation.ServerNotRegistered 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 com.sun.corba.se.spi.activation.ServerNotRegistered 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_long);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.ServerIdHelper.id (), "ServerId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "serverId",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.id (), "ServerNotRegistered", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static com.sun.corba.se.spi.activation.ServerNotRegistered read (org.omg.CORBA.portable.InputStream istream)
+  {
+    com.sun.corba.se.spi.activation.ServerNotRegistered value = new com.sun.corba.se.spi.activation.ServerNotRegistered ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.serverId = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, com.sun.corba.se.spi.activation.ServerNotRegistered value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_long (value.serverId);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerNotRegisteredHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package com.sun.corba.se.spi.activation;
+
+/**
+* com/sun/corba/se/spi/activation/ServerNotRegisteredHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public final class ServerNotRegisteredHolder implements org.omg.CORBA.portable.Streamable
+{
+  public com.sun.corba.se.spi.activation.ServerNotRegistered value = null;
+
+  public ServerNotRegisteredHolder ()
+  {
+  }
+
+  public ServerNotRegisteredHolder (com.sun.corba.se.spi.activation.ServerNotRegistered initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/ServerOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/ServerOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+
+/** Server callback API, passed to Activator in active method.
+    */
+public interface ServerOperations 
+{
+
+  /** Shutdown this server.  Returns after orb.shutdown() completes.
+  	*/
+  void shutdown ();
+
+  /** Install the server.  Returns after the install hook completes
+  	* execution in the server.
+  	*/
+  void install ();
+
+  /** Uninstall the server.  Returns after the uninstall hook
+  	* completes execution.
+  	*/
+  void uninstall ();
+} // interface ServerOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/TCPPortHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/TCPPortHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+abstract public class TCPPortHelper
+{
+  private static String  _id = "IDL:activation/TCPPort:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int 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 int 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (com.sun.corba.se.spi.activation.TCPPortHelper.id (), "TCPPort", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value = (int)0;
+    value = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int value)
+  {
+    ostream.write_long (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_ActivatorImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,209 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_ActivatorImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public abstract class _ActivatorImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.spi.activation.Activator, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _ActivatorImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("active", new java.lang.Integer (0));
+    _methods.put ("registerEndpoints", new java.lang.Integer (1));
+    _methods.put ("getActiveServers", new java.lang.Integer (2));
+    _methods.put ("activate", new java.lang.Integer (3));
+    _methods.put ("shutdown", new java.lang.Integer (4));
+    _methods.put ("install", new java.lang.Integer (5));
+    _methods.put ("getORBNames", new java.lang.Integer (6));
+    _methods.put ("uninstall", new java.lang.Integer (7));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  // A new ORB started server registers itself with the Activator
+       case 0:  // activation/Activator/active
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           com.sun.corba.se.spi.activation.Server serverObj = com.sun.corba.se.spi.activation.ServerHelper.read (in);
+           this.active (serverId, serverObj);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // Install a particular kind of endpoint
+       case 1:  // activation/Activator/registerEndpoints
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String orbId = com.sun.corba.se.spi.activation.ORBidHelper.read (in);
+           com.sun.corba.se.spi.activation.EndPointInfo endPointInfo[] = com.sun.corba.se.spi.activation.EndpointInfoListHelper.read (in);
+           this.registerEndpoints (serverId, orbId, endPointInfo);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ORBAlreadyRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // list active servers
+       case 2:  // activation/Activator/getActiveServers
+       {
+         int $result[] = null;
+         $result = this.getActiveServers ();
+         out = $rh.createReply();
+         com.sun.corba.se.spi.activation.ServerIdsHelper.write (out, $result);
+         break;
+       }
+
+
+  // If the server is not running, start it up.
+       case 3:  // activation/Activator/activate
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.activate (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // If the server is running, shut it down
+       case 4:  // activation/Activator/shutdown
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.shutdown (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // currently running, this method will activate it.
+       case 5:  // activation/Activator/install
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.install (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyInstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // list all registered ORBs for a server
+       case 6:  // activation/Activator/getORBNames
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String $result[] = null;
+           $result = this.getORBNames (serverId);
+           out = $rh.createReply();
+           com.sun.corba.se.spi.activation.ORBidListHelper.write (out, $result);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // After this hook completes, the server may still be running.
+       case 7:  // activation/Activator/uninstall
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.uninstall (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyUninstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Activator:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _ActivatorImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_ActivatorStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,251 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_ActivatorStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public class _ActivatorStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.spi.activation.Activator
+{
+
+
+  // A new ORB started server registers itself with the Activator
+  public void active (int serverId, com.sun.corba.se.spi.activation.Server serverObj) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("active", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.spi.activation.ServerHelper.write ($out, serverObj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                active (serverId, serverObj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // active
+
+
+  // Install a particular kind of endpoint
+  public void registerEndpoints (int serverId, String orbId, com.sun.corba.se.spi.activation.EndPointInfo[] endPointInfo) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.NoSuchEndPoint, com.sun.corba.se.spi.activation.ORBAlreadyRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerEndpoints", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.spi.activation.ORBidHelper.write ($out, orbId);
+                com.sun.corba.se.spi.activation.EndpointInfoListHelper.write ($out, endPointInfo);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ORBAlreadyRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                registerEndpoints (serverId, orbId, endPointInfo        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerEndpoints
+
+
+  // list active servers
+  public int[] getActiveServers ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getActiveServers", true);
+                $in = _invoke ($out);
+                int $result[] = com.sun.corba.se.spi.activation.ServerIdsHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getActiveServers (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getActiveServers
+
+
+  // If the server is not running, start it up.
+  public void activate (int serverId) throws com.sun.corba.se.spi.activation.ServerAlreadyActive, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("activate", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerAlreadyActive:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                activate (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // activate
+
+
+  // If the server is running, shut it down
+  public void shutdown (int serverId) throws com.sun.corba.se.spi.activation.ServerNotActive, com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("shutdown", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotActive:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotActiveHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                shutdown (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // shutdown
+
+
+  // currently running, this method will activate it.
+  public void install (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown, com.sun.corba.se.spi.activation.ServerAlreadyInstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerAlreadyInstalled:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  // list all registered ORBs for a server
+  public String[] getORBNames (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getORBNames", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.spi.activation.ORBidListHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getORBNames (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getORBNames
+
+
+  // After this hook completes, the server may still be running.
+  public void uninstall (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown, com.sun.corba.se.spi.activation.ServerAlreadyUninstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerAlreadyUninstalled:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Activator: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 _ActivatorStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_InitialNameServiceImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_InitialNameServiceImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public abstract class _InitialNameServiceImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.spi.activation.InitialNameService, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _InitialNameServiceImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("bind", new java.lang.Integer (0));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  // bind initial name
+       case 0:  // activation/InitialNameService/bind
+       {
+         try {
+           String name = in.read_string ();
+           org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read (in);
+           boolean isPersistant = in.read_boolean ();
+           this.bind (name, obj, isPersistant);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBoundHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/InitialNameService:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _InitialNameServiceImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_InitialNameServiceStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_InitialNameServiceStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public class _InitialNameServiceStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.spi.activation.InitialNameService
+{
+
+
+  // bind initial name
+  public void bind (String name, org.omg.CORBA.Object obj, boolean isPersistant) throws com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBound
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind", true);
+                $out.write_string (name);
+                org.omg.CORBA.ObjectHelper.write ($out, obj);
+                $out.write_boolean (isPersistant);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/InitialNameService/NameAlreadyBound:1.0"))
+                    throw com.sun.corba.se.spi.activation.InitialNameServicePackage.NameAlreadyBoundHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                bind (name, obj, isPersistant        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/InitialNameService: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 _InitialNameServiceStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_LocatorImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,140 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_LocatorImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public abstract class _LocatorImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.spi.activation.Locator, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _LocatorImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("locateServer", new java.lang.Integer (0));
+    _methods.put ("locateServerForORB", new java.lang.Integer (1));
+    _methods.put ("getEndpoint", new java.lang.Integer (2));
+    _methods.put ("getServerPortForType", new java.lang.Integer (3));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  // Starts the server if it is not already running.
+       case 0:  // activation/Locator/locateServer
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String endPoint = in.read_string ();
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation $result = null;
+           $result = this.locateServer (serverId, endPoint);
+           out = $rh.createReply();
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.write (out, $result);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // Starts the server if it is not already running.
+       case 1:  // activation/Locator/locateServerForORB
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String orbId = com.sun.corba.se.spi.activation.ORBidHelper.read (in);
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB $result = null;
+           $result = this.locateServerForORB (serverId, orbId);
+           out = $rh.createReply();
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.write (out, $result);
+         } catch (com.sun.corba.se.spi.activation.InvalidORBid $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.InvalidORBidHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // get the port for the endpoint of the locator
+       case 2:  // activation/Locator/getEndpoint
+       {
+         try {
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getEndpoint (endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // to pick a particular port type.
+       case 3:  // activation/Locator/getServerPortForType
+       {
+         try {
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB location = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.read (in);
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getServerPortForType (location, endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Locator:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _LocatorImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_LocatorStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,151 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_LocatorStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public class _LocatorStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.spi.activation.Locator
+{
+
+
+  // Starts the server if it is not already running.
+  public com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation locateServer (int serverId, String endPoint) throws com.sun.corba.se.spi.activation.NoSuchEndPoint, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServer", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $out.write_string (endPoint);
+                $in = _invoke ($out);
+                com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation $result = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServer (serverId, endPoint        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServer
+
+
+  // Starts the server if it is not already running.
+  public com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB locateServerForORB (int serverId, String orbId) throws com.sun.corba.se.spi.activation.InvalidORBid, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServerForORB", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.spi.activation.ORBidHelper.write ($out, orbId);
+                $in = _invoke ($out);
+                com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB $result = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/InvalidORBid:1.0"))
+                    throw com.sun.corba.se.spi.activation.InvalidORBidHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServerForORB (serverId, orbId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServerForORB
+
+
+  // get the port for the endpoint of the locator
+  public int getEndpoint (String endPointType) throws com.sun.corba.se.spi.activation.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getEndpoint", true);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.spi.activation.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getEndpoint (endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getEndpoint
+
+
+  // to pick a particular port type.
+  public int getServerPortForType (com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB location, String endPointType) throws com.sun.corba.se.spi.activation.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServerPortForType", true);
+                com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.write ($out, location);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.spi.activation.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServerPortForType (location, endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServerPortForType
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Locator: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 _LocatorStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_RepositoryImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,206 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_RepositoryImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public abstract class _RepositoryImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.spi.activation.Repository, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _RepositoryImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("registerServer", new java.lang.Integer (0));
+    _methods.put ("unregisterServer", new java.lang.Integer (1));
+    _methods.put ("getServer", new java.lang.Integer (2));
+    _methods.put ("isInstalled", new java.lang.Integer (3));
+    _methods.put ("install", new java.lang.Integer (4));
+    _methods.put ("uninstall", new java.lang.Integer (5));
+    _methods.put ("listRegisteredServers", new java.lang.Integer (6));
+    _methods.put ("getApplicationNames", new java.lang.Integer (7));
+    _methods.put ("getServerID", new java.lang.Integer (8));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  // always uninstalled.
+       case 0:  // activation/Repository/registerServer
+       {
+         try {
+           com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef serverDef = com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.read (in);
+           int $result = (int)0;
+           $result = this.registerServer (serverDef);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.BadServerDefinition $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.BadServerDefinitionHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // unregister server definition
+       case 1:  // activation/Repository/unregisterServer
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.unregisterServer (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // get server definition
+       case 2:  // activation/Repository/getServer
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef $result = null;
+           $result = this.getServer (serverId);
+           out = $rh.createReply();
+           com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.write (out, $result);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // Return whether the server has been installed
+       case 3:  // activation/Repository/isInstalled
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           boolean $result = false;
+           $result = this.isInstalled (serverId);
+           out = $rh.createReply();
+           out.write_boolean ($result);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // if the server is currently marked as installed.
+       case 4:  // activation/Repository/install
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.install (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyInstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // if the server is currently marked as uninstalled.
+       case 5:  // activation/Repository/uninstall
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.uninstall (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyUninstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // list registered servers
+       case 6:  // activation/Repository/listRegisteredServers
+       {
+         int $result[] = null;
+         $result = this.listRegisteredServers ();
+         out = $rh.createReply();
+         com.sun.corba.se.spi.activation.ServerIdsHelper.write (out, $result);
+         break;
+       }
+
+
+  // servers.
+       case 7:  // activation/Repository/getApplicationNames
+       {
+         String $result[] = null;
+         $result = this.getApplicationNames ();
+         out = $rh.createReply();
+         com.sun.corba.se.spi.activation.RepositoryPackage.StringSeqHelper.write (out, $result);
+         break;
+       }
+
+
+  // Find the ServerID associated with the given application name.
+       case 8:  // activation/Repository/getServerID
+       {
+         try {
+           String applicationName = in.read_string ();
+           int $result = (int)0;
+           $result = this.getServerID (applicationName);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Repository:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _RepositoryImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_RepositoryStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,260 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_RepositoryStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public class _RepositoryStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.spi.activation.Repository
+{
+
+
+  // always uninstalled.
+  public int registerServer (com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef serverDef) throws com.sun.corba.se.spi.activation.ServerAlreadyRegistered, com.sun.corba.se.spi.activation.BadServerDefinition
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerServer", true);
+                com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.write ($out, serverDef);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.spi.activation.ServerIdHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerAlreadyRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/BadServerDefinition:1.0"))
+                    throw com.sun.corba.se.spi.activation.BadServerDefinitionHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return registerServer (serverDef        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerServer
+
+
+  // unregister server definition
+  public void unregisterServer (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("unregisterServer", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                unregisterServer (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // unregisterServer
+
+
+  // get server definition
+  public com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef getServer (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServer", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                com.sun.corba.se.spi.activation.RepositoryPackage.ServerDef $result = com.sun.corba.se.spi.activation.RepositoryPackage.ServerDefHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServer (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServer
+
+
+  // Return whether the server has been installed
+  public boolean isInstalled (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("isInstalled", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                boolean $result = $in.read_boolean ();
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return isInstalled (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // isInstalled
+
+
+  // if the server is currently marked as installed.
+  public void install (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerAlreadyInstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerAlreadyInstalled:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  // if the server is currently marked as uninstalled.
+  public void uninstall (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerAlreadyUninstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerAlreadyUninstalled:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+
+  // list registered servers
+  public int[] listRegisteredServers ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("listRegisteredServers", true);
+                $in = _invoke ($out);
+                int $result[] = com.sun.corba.se.spi.activation.ServerIdsHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return listRegisteredServers (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // listRegisteredServers
+
+
+  // servers.
+  public String[] getApplicationNames ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getApplicationNames", true);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.spi.activation.RepositoryPackage.StringSeqHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getApplicationNames (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getApplicationNames
+
+
+  // Find the ServerID associated with the given application name.
+  public int getServerID (String applicationName) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServerID", true);
+                $out.write_string (applicationName);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.spi.activation.ServerIdHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServerID (applicationName        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServerID
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Repository: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 _RepositoryStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_ServerImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,91 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_ServerImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+
+/** Server callback API, passed to Activator in active method.
+    */
+public abstract class _ServerImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.spi.activation.Server, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _ServerImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("shutdown", new java.lang.Integer (0));
+    _methods.put ("install", new java.lang.Integer (1));
+    _methods.put ("uninstall", new java.lang.Integer (2));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /** Shutdown this server.  Returns after orb.shutdown() completes.
+  	*/
+       case 0:  // activation/Server/shutdown
+       {
+         this.shutdown ();
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** Install the server.  Returns after the install hook completes
+  	* execution in the server.
+  	*/
+       case 1:  // activation/Server/install
+       {
+         this.install ();
+         out = $rh.createReply();
+         break;
+       }
+
+
+  /** Uninstall the server.  Returns after the uninstall hook
+  	* completes execution.
+  	*/
+       case 2:  // activation/Server/uninstall
+       {
+         this.uninstall ();
+         out = $rh.createReply();
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Server:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _ServerImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_ServerManagerImplBase.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,298 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_ServerManagerImplBase.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public abstract class _ServerManagerImplBase extends org.omg.CORBA.portable.ObjectImpl
+                implements com.sun.corba.se.spi.activation.ServerManager, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+  public _ServerManagerImplBase ()
+  {
+  }
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("active", new java.lang.Integer (0));
+    _methods.put ("registerEndpoints", new java.lang.Integer (1));
+    _methods.put ("getActiveServers", new java.lang.Integer (2));
+    _methods.put ("activate", new java.lang.Integer (3));
+    _methods.put ("shutdown", new java.lang.Integer (4));
+    _methods.put ("install", new java.lang.Integer (5));
+    _methods.put ("getORBNames", new java.lang.Integer (6));
+    _methods.put ("uninstall", new java.lang.Integer (7));
+    _methods.put ("locateServer", new java.lang.Integer (8));
+    _methods.put ("locateServerForORB", new java.lang.Integer (9));
+    _methods.put ("getEndpoint", new java.lang.Integer (10));
+    _methods.put ("getServerPortForType", new java.lang.Integer (11));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  // A new ORB started server registers itself with the Activator
+       case 0:  // activation/Activator/active
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           com.sun.corba.se.spi.activation.Server serverObj = com.sun.corba.se.spi.activation.ServerHelper.read (in);
+           this.active (serverId, serverObj);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // Install a particular kind of endpoint
+       case 1:  // activation/Activator/registerEndpoints
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String orbId = com.sun.corba.se.spi.activation.ORBidHelper.read (in);
+           com.sun.corba.se.spi.activation.EndPointInfo endPointInfo[] = com.sun.corba.se.spi.activation.EndpointInfoListHelper.read (in);
+           this.registerEndpoints (serverId, orbId, endPointInfo);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ORBAlreadyRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // list active servers
+       case 2:  // activation/Activator/getActiveServers
+       {
+         int $result[] = null;
+         $result = this.getActiveServers ();
+         out = $rh.createReply();
+         com.sun.corba.se.spi.activation.ServerIdsHelper.write (out, $result);
+         break;
+       }
+
+
+  // If the server is not running, start it up.
+       case 3:  // activation/Activator/activate
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.activate (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // If the server is running, shut it down
+       case 4:  // activation/Activator/shutdown
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.shutdown (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotActive $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotActiveHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // currently running, this method will activate it.
+       case 5:  // activation/Activator/install
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.install (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyInstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // list all registered ORBs for a server
+       case 6:  // activation/Activator/getORBNames
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String $result[] = null;
+           $result = this.getORBNames (serverId);
+           out = $rh.createReply();
+           com.sun.corba.se.spi.activation.ORBidListHelper.write (out, $result);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // After this hook completes, the server may still be running.
+       case 7:  // activation/Activator/uninstall
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           this.uninstall (serverId);
+           out = $rh.createReply();
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerAlreadyUninstalled $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // Starts the server if it is not already running.
+       case 8:  // activation/Locator/locateServer
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String endPoint = in.read_string ();
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation $result = null;
+           $result = this.locateServer (serverId, endPoint);
+           out = $rh.createReply();
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.write (out, $result);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // Starts the server if it is not already running.
+       case 9:  // activation/Locator/locateServerForORB
+       {
+         try {
+           int serverId = com.sun.corba.se.spi.activation.ServerIdHelper.read (in);
+           String orbId = com.sun.corba.se.spi.activation.ORBidHelper.read (in);
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB $result = null;
+           $result = this.locateServerForORB (serverId, orbId);
+           out = $rh.createReply();
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.write (out, $result);
+         } catch (com.sun.corba.se.spi.activation.InvalidORBid $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.InvalidORBidHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerNotRegistered $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.write (out, $ex);
+         } catch (com.sun.corba.se.spi.activation.ServerHeldDown $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.ServerHeldDownHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // get the port for the endpoint of the locator
+       case 10:  // activation/Locator/getEndpoint
+       {
+         try {
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getEndpoint (endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  // to pick a particular port type.
+       case 11:  // activation/Locator/getServerPortForType
+       {
+         try {
+           com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB location = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.read (in);
+           String endPointType = in.read_string ();
+           int $result = (int)0;
+           $result = this.getServerPortForType (location, endPointType);
+           out = $rh.createReply();
+           out.write_long ($result);
+         } catch (com.sun.corba.se.spi.activation.NoSuchEndPoint $ex) {
+           out = $rh.createExceptionReply ();
+           com.sun.corba.se.spi.activation.NoSuchEndPointHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/ServerManager:1.0", 
+    "IDL:activation/Activator:1.0", 
+    "IDL:activation/Locator:1.0"};
+
+  public String[] _ids ()
+  {
+    return (String[])__ids.clone ();
+  }
+
+
+} // class _ServerManagerImplBase
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_ServerManagerStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,364 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_ServerManagerStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+public class _ServerManagerStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.spi.activation.ServerManager
+{
+
+
+  // A new ORB started server registers itself with the Activator
+  public void active (int serverId, com.sun.corba.se.spi.activation.Server serverObj) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("active", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.spi.activation.ServerHelper.write ($out, serverObj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                active (serverId, serverObj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // active
+
+
+  // Install a particular kind of endpoint
+  public void registerEndpoints (int serverId, String orbId, com.sun.corba.se.spi.activation.EndPointInfo[] endPointInfo) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.NoSuchEndPoint, com.sun.corba.se.spi.activation.ORBAlreadyRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("registerEndpoints", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.spi.activation.ORBidHelper.write ($out, orbId);
+                com.sun.corba.se.spi.activation.EndpointInfoListHelper.write ($out, endPointInfo);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ORBAlreadyRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ORBAlreadyRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                registerEndpoints (serverId, orbId, endPointInfo        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // registerEndpoints
+
+
+  // list active servers
+  public int[] getActiveServers ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getActiveServers", true);
+                $in = _invoke ($out);
+                int $result[] = com.sun.corba.se.spi.activation.ServerIdsHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getActiveServers (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getActiveServers
+
+
+  // If the server is not running, start it up.
+  public void activate (int serverId) throws com.sun.corba.se.spi.activation.ServerAlreadyActive, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("activate", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerAlreadyActive:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyActiveHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                activate (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // activate
+
+
+  // If the server is running, shut it down
+  public void shutdown (int serverId) throws com.sun.corba.se.spi.activation.ServerNotActive, com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("shutdown", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotActive:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotActiveHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                shutdown (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // shutdown
+
+
+  // currently running, this method will activate it.
+  public void install (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown, com.sun.corba.se.spi.activation.ServerAlreadyInstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerAlreadyInstalled:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyInstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  // list all registered ORBs for a server
+  public String[] getORBNames (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getORBNames", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                String $result[] = com.sun.corba.se.spi.activation.ORBidListHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getORBNames (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getORBNames
+
+
+  // After this hook completes, the server may still be running.
+  public void uninstall (int serverId) throws com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown, com.sun.corba.se.spi.activation.ServerAlreadyUninstalled
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerAlreadyUninstalled:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerAlreadyUninstalledHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (serverId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+
+  // Starts the server if it is not already running.
+  public com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation locateServer (int serverId, String endPoint) throws com.sun.corba.se.spi.activation.NoSuchEndPoint, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServer", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                $out.write_string (endPoint);
+                $in = _invoke ($out);
+                com.sun.corba.se.spi.activation.LocatorPackage.ServerLocation $result = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServer (serverId, endPoint        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServer
+
+
+  // Starts the server if it is not already running.
+  public com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB locateServerForORB (int serverId, String orbId) throws com.sun.corba.se.spi.activation.InvalidORBid, com.sun.corba.se.spi.activation.ServerNotRegistered, com.sun.corba.se.spi.activation.ServerHeldDown
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("locateServerForORB", true);
+                com.sun.corba.se.spi.activation.ServerIdHelper.write ($out, serverId);
+                com.sun.corba.se.spi.activation.ORBidHelper.write ($out, orbId);
+                $in = _invoke ($out);
+                com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB $result = com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/InvalidORBid:1.0"))
+                    throw com.sun.corba.se.spi.activation.InvalidORBidHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerNotRegistered:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerNotRegisteredHelper.read ($in);
+                else if (_id.equals ("IDL:activation/ServerHeldDown:1.0"))
+                    throw com.sun.corba.se.spi.activation.ServerHeldDownHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return locateServerForORB (serverId, orbId        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // locateServerForORB
+
+
+  // get the port for the endpoint of the locator
+  public int getEndpoint (String endPointType) throws com.sun.corba.se.spi.activation.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getEndpoint", true);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.spi.activation.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getEndpoint (endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getEndpoint
+
+
+  // to pick a particular port type.
+  public int getServerPortForType (com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORB location, String endPointType) throws com.sun.corba.se.spi.activation.NoSuchEndPoint
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("getServerPortForType", true);
+                com.sun.corba.se.spi.activation.LocatorPackage.ServerLocationPerORBHelper.write ($out, location);
+                $out.write_string (endPointType);
+                $in = _invoke ($out);
+                int $result = com.sun.corba.se.spi.activation.TCPPortHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:activation/NoSuchEndPoint:1.0"))
+                    throw com.sun.corba.se.spi.activation.NoSuchEndPointHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return getServerPortForType (location, endPointType        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // getServerPortForType
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/ServerManager:1.0", 
+    "IDL:activation/Activator:1.0", 
+    "IDL:activation/Locator: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 _ServerManagerStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/corba/se/spi/activation/_ServerStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+package com.sun.corba.se.spi.activation;
+
+
+/**
+* com/sun/corba/se/spi/activation/_ServerStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/com/sun/corba/se/spi/activation/activation.idl
+* Friday, May 25, 2007 4:50:48 o'clock PM EDT
+*/
+
+
+/** Server callback API, passed to Activator in active method.
+    */
+public class _ServerStub extends org.omg.CORBA.portable.ObjectImpl implements com.sun.corba.se.spi.activation.Server
+{
+
+
+  /** Shutdown this server.  Returns after orb.shutdown() completes.
+  	*/
+  public void shutdown ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("shutdown", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                shutdown (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // shutdown
+
+
+  /** Install the server.  Returns after the install hook completes
+  	* execution in the server.
+  	*/
+  public void install ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("install", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                install (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // install
+
+
+  /** Uninstall the server.  Returns after the uninstall hook
+  	* completes execution.
+  	*/
+  public void uninstall ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("uninstall", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                uninstall (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // uninstall
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:activation/Server: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 _ServerStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "All Files" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "Cancel" },
+            { "FileChooser.cancelButtonToolTipText", "Abort file chooser dialog." },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "Delete File" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "Files" },
+            { "FileChooser.filterLabelText", "Filter:" },
+            { "FileChooser.foldersLabelMnemonic", "68" },
+            { "FileChooser.foldersLabelText", "Folders" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "New Folder" },
+            { "FileChooser.newFolderDialogText", "Folder name:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Open selected file." },
+            { "FileChooser.openDialogTitleText", "Open" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "Selection:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "Rename File" },
+            { "FileChooser.renameFileDialogText", "Rename file \"{0}\" to" },
+            { "FileChooser.renameFileErrorText", "Error renaming file \"{0}\" to \"{1}\"" },
+            { "FileChooser.renameFileErrorTitle", "Error " },
+            { "FileChooser.saveButtonMnemonic", "79" },
+            { "FileChooser.saveButtonText", "OK" },
+            { "FileChooser.saveButtonToolTipText", "Save selected file." },
+            { "FileChooser.saveDialogTitleText", "Save" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "Blue:" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "Color Name:" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "Green:" },
+            { "GTKColorChooserPanel.hueMnemonic", "72" },
+            { "GTKColorChooserPanel.hueText", "Hue:" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK Color Chooser" },
+            { "GTKColorChooserPanel.redMnemonic", "69" },
+            { "GTKColorChooserPanel.redText", "Red:" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "Saturation:" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "Value:" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "Alle Dateien" },
+            { "FileChooser.cancelButtonMnemonic", "83" },
+            { "FileChooser.cancelButtonText", "Abbrechen" },
+            { "FileChooser.cancelButtonToolTipText", "Farbauswahl abbrechen" },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "Datei l\u00F6schen" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "Dateien" },
+            { "FileChooser.filterLabelText", "Filter:" },
+            { "FileChooser.foldersLabelMnemonic", "82" },
+            { "FileChooser.foldersLabelText", "Ordner" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "Neuer Ordner" },
+            { "FileChooser.newFolderDialogText", "Ordnername:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Ausgew\u00E4hlte Datei \u00F6ffnen" },
+            { "FileChooser.openDialogTitleText", "\u00D6ffnen" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "Auswahl:" },
+            { "FileChooser.renameFileButtonMnemonic", "87" },
+            { "FileChooser.renameFileButtonText", "Datei umbenennen" },
+            { "FileChooser.renameFileDialogText", "Datei \"{0}\" umbenennen in" },
+            { "FileChooser.renameFileErrorText", "Fehler beim Umbenennen der Datei \"{0}\" in \"{1}\"" },
+            { "FileChooser.renameFileErrorTitle", "Fehler " },
+            { "FileChooser.saveButtonMnemonic", "69" },
+            { "FileChooser.saveButtonText", "Speichern" },
+            { "FileChooser.saveButtonToolTipText", "Ausgew\u00E4hlte Datei speichern" },
+            { "FileChooser.saveDialogTitleText", "Speichern" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "Blau:" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "Name der Farbe:" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "Gr\u00FCn:" },
+            { "GTKColorChooserPanel.hueMnemonic", "70" },
+            { "GTKColorChooserPanel.hueText", "Farbton:" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK-Farbauswahl" },
+            { "GTKColorChooserPanel.redMnemonic", "82" },
+            { "GTKColorChooserPanel.redText", "Rot:" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "S\u00E4ttigung:" },
+            { "GTKColorChooserPanel.valueMnemonic", "87" },
+            { "GTKColorChooserPanel.valueText", "Wert:" },
+            { "OptionPane.cancelButtonMnemonic", "83" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "Todos los archivos" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "Cancelar" },
+            { "FileChooser.cancelButtonToolTipText", "Cancelar cuadro de di\u00E1logo de selecci\u00F3n de archivos." },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "Eliminar archivo" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "Archivos" },
+            { "FileChooser.filterLabelText", "Filtro:" },
+            { "FileChooser.foldersLabelMnemonic", "74" },
+            { "FileChooser.foldersLabelText", "Carpetas" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "Nueva carpeta" },
+            { "FileChooser.newFolderDialogText", "Nombre de la carpeta:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "Aceptar" },
+            { "FileChooser.openButtonToolTipText", "Abrir el archivo seleccionado." },
+            { "FileChooser.openDialogTitleText", "Abrir" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "Selecci\u00F3n:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "Renombrar archivo" },
+            { "FileChooser.renameFileDialogText", "Cambiar el nombre del archivo \"{0}\" por" },
+            { "FileChooser.renameFileErrorText", "Error al cambiar el nombre del archivo \"{0}\" por \"{1}\"" },
+            { "FileChooser.renameFileErrorTitle", "Error " },
+            { "FileChooser.saveButtonMnemonic", "82" },
+            { "FileChooser.saveButtonText", "Guardar" },
+            { "FileChooser.saveButtonToolTipText", "Guardar el archivo seleccionado." },
+            { "FileChooser.saveDialogTitleText", "Guardar" },
+            { "GTKColorChooserPanel.blueMnemonic", "65" },
+            { "GTKColorChooserPanel.blueText", "Azul:" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "Nombre del color:" },
+            { "GTKColorChooserPanel.greenMnemonic", "86" },
+            { "GTKColorChooserPanel.greenText", "Verde:" },
+            { "GTKColorChooserPanel.hueMnemonic", "84" },
+            { "GTKColorChooserPanel.hueText", "Tono:" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "Selector de color para GTK" },
+            { "GTKColorChooserPanel.redMnemonic", "82" },
+            { "GTKColorChooserPanel.redText", "Rojo:" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "Saturaci\u00F3n:" },
+            { "GTKColorChooserPanel.valueMnemonic", "65" },
+            { "GTKColorChooserPanel.valueText", "Valor:" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "Tous les fichiers" },
+            { "FileChooser.cancelButtonMnemonic", "70" },
+            { "FileChooser.cancelButtonText", "Annuler" },
+            { "FileChooser.cancelButtonToolTipText", "Abandonner la bo\u00EEte de dialogue du s\u00E9lectionneur de fichier." },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "Supprimer le fichier" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "Fichiers" },
+            { "FileChooser.filterLabelText", "Filtre :" },
+            { "FileChooser.foldersLabelMnemonic", "71" },
+            { "FileChooser.foldersLabelText", "Dossiers" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "Nouveau dossier" },
+            { "FileChooser.newFolderDialogText", "Nom de dossier:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Ouvrir le fichier s\u00E9lectionn\u00E9." },
+            { "FileChooser.openDialogTitleText", "Ouvrir" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "S\u00E9lection\u00A0:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "Renommer le fichier" },
+            { "FileChooser.renameFileDialogText", "Renommer le fichier \"{0}\" en" },
+            { "FileChooser.renameFileErrorText", "Erreur lors du changement de nom du fichier \"{0}\" en \"{1}\"" },
+            { "FileChooser.renameFileErrorTitle", "Erreur " },
+            { "FileChooser.saveButtonMnemonic", "79" },
+            { "FileChooser.saveButtonText", "Enregistrer" },
+            { "FileChooser.saveButtonToolTipText", "Enregistrer le fichier s\u00E9lectionn\u00E9." },
+            { "FileChooser.saveDialogTitleText", "Enregistrer" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "Bleu\u00A0:" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "Nom de la couleur\u00A0:" },
+            { "GTKColorChooserPanel.greenMnemonic", "69" },
+            { "GTKColorChooserPanel.greenText", "Vert\u00A0:" },
+            { "GTKColorChooserPanel.hueMnemonic", "84" },
+            { "GTKColorChooserPanel.hueText", "Teinte\u00A0:" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "S\u00E9lectionneur de couleur GTK" },
+            { "GTKColorChooserPanel.redMnemonic", "82" },
+            { "GTKColorChooserPanel.redText", "Rouge\u00A0:" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "Saturation\u00A0:" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "Valeur\u00A0:" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "Tutti i file" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "Annulla" },
+            { "FileChooser.cancelButtonToolTipText", "Chiude la finestra di dialogo di selezione colore." },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "Elimina file" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "File" },
+            { "FileChooser.filterLabelText", "Filtro:" },
+            { "FileChooser.foldersLabelMnemonic", "79" },
+            { "FileChooser.foldersLabelText", "Cartelle" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "Nuova cartella" },
+            { "FileChooser.newFolderDialogText", "Nome della cartella:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Apre il file selezionato." },
+            { "FileChooser.openDialogTitleText", "Apri" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "Selezione:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "Rinomina file" },
+            { "FileChooser.renameFileDialogText", "Rinomina del file \"{0}\" in" },
+            { "FileChooser.renameFileErrorText", "Errore nella rinomina del file \"{0}\" in \"{1}\"" },
+            { "FileChooser.renameFileErrorTitle", "Errore " },
+            { "FileChooser.saveButtonMnemonic", "82" },
+            { "FileChooser.saveButtonText", "Salva" },
+            { "FileChooser.saveButtonToolTipText", "Salva il file selezionato." },
+            { "FileChooser.saveDialogTitleText", "Salva" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "Blu:" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "Nome colore:" },
+            { "GTKColorChooserPanel.greenMnemonic", "69" },
+            { "GTKColorChooserPanel.greenText", "Verde:" },
+            { "GTKColorChooserPanel.hueMnemonic", "84" },
+            { "GTKColorChooserPanel.hueText", "Tonalit\u00E0:" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "Selezione colore GTK" },
+            { "GTKColorChooserPanel.redMnemonic", "82" },
+            { "GTKColorChooserPanel.redText", "Rosso:" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "Saturazione:" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "Valore:" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88\u3057" },
+            { "FileChooser.cancelButtonToolTipText", "\u30D5\u30A1\u30A4\u30EB\u30C1\u30E5\u30FC\u30B6\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u5F37\u5236\u7D42\u4E86" },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "\u30D5\u30A1\u30A4\u30EB" },
+            { "FileChooser.filterLabelText", "\u30D5\u30A3\u30EB\u30BF:" },
+            { "FileChooser.foldersLabelMnemonic", "68" },
+            { "FileChooser.foldersLabelText", "\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderDialogText", "\u30D5\u30A9\u30EB\u30C0\u540D:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u4E86\u89E3" },
+            { "FileChooser.openButtonToolTipText", "\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F" },
+            { "FileChooser.openDialogTitleText", "\u958B\u304F" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "\u9078\u629E:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u5909\u66F4" },
+            { "FileChooser.renameFileDialogText", "\u30D5\u30A1\u30A4\u30EB \"{0}\" \u306E\u540D\u524D\u3092\u5909\u66F4:" },
+            { "FileChooser.renameFileErrorText", "\u30D5\u30A1\u30A4\u30EB \"{0}\" \u3092 \"{1}\" \u3078\u5909\u66F4\u6642\u306B\u30A8\u30E9\u30FC" },
+            { "FileChooser.renameFileErrorTitle", "\u30A8\u30E9\u30FC " },
+            { "FileChooser.saveButtonMnemonic", "79" },
+            { "FileChooser.saveButtonText", "\u4FDD\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58" },
+            { "FileChooser.saveDialogTitleText", "\u4FDD\u5B58" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "\u9752(B):" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "\u8272\u540D(N):" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "\u7DD1(G):" },
+            { "GTKColorChooserPanel.hueMnemonic", "72" },
+            { "GTKColorChooserPanel.hueText", "\u8272\u5408\u3044(H):" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK \u30AB\u30E9\u30FC\u30C1\u30E5\u30FC\u30B6" },
+            { "GTKColorChooserPanel.redMnemonic", "69" },
+            { "GTKColorChooserPanel.redText", "\u8D64(E):" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "\u5F69\u5EA6(S):" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "\u5024(V):" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "\uBAA8\uB4E0 \uD30C\uC77C" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\uCDE8\uC18C" },
+            { "FileChooser.cancelButtonToolTipText", "\uD30C\uC77C \uC120\uD0DD \uB300\uD654 \uC0C1\uC790\uB97C \uC911\uB2E8\uD569\uB2C8\uB2E4." },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "\uD30C\uC77C \uC0AD\uC81C" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "\uD30C\uC77C" },
+            { "FileChooser.filterLabelText", "\uD544\uD130:" },
+            { "FileChooser.foldersLabelMnemonic", "68" },
+            { "FileChooser.foldersLabelText", "\uD3F4\uB354" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.newFolderDialogText", "\uD3F4\uB354 \uC774\uB984:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\uD655\uC778" },
+            { "FileChooser.openButtonToolTipText", "\uC120\uD0DD\uD55C \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4." },
+            { "FileChooser.openDialogTitleText", "\uC5F4\uAE30" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "\uC120\uD0DD:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "\uD30C\uC77C \uC774\uB984 \uBC14\uAFB8\uAE30" },
+            { "FileChooser.renameFileDialogText", "\uD30C\uC77C \"{0}\"\uC744 \uB2E4\uC74C\uC73C\uB85C \uC774\uB984 \uBC14\uAFB8\uAE30" },
+            { "FileChooser.renameFileErrorText", "\"{0}\"\uC5D0\uC11C \"{1}\"\uB85C \uC774\uB984 \uBC14\uAFB8\uAE30 \uC624\uB958" },
+            { "FileChooser.renameFileErrorTitle", "\uC624\uB958 " },
+            { "FileChooser.saveButtonMnemonic", "79" },
+            { "FileChooser.saveButtonText", "\uC800\uC7A5" },
+            { "FileChooser.saveButtonToolTipText", "\uC120\uD0DD\uD55C \uD30C\uC77C\uC744 \uC800\uC7A5\uD569\uB2C8\uB2E4." },
+            { "FileChooser.saveDialogTitleText", "\uC800\uC7A5" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "\uD30C\uB791(B):" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "\uC0C9 \uC774\uB984(N):" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "\uB179\uC0C9(G):" },
+            { "GTKColorChooserPanel.hueMnemonic", "72" },
+            { "GTKColorChooserPanel.hueText", "\uC0C9\uC0C1(H):" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK \uC0C9 \uC120\uD0DD" },
+            { "GTKColorChooserPanel.redMnemonic", "69" },
+            { "GTKColorChooserPanel.redText", "\uBE68\uAC15(E):" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "\uCC44\uB3C4(S):" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "\uAC12(V):" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "Alla filer" },
+            { "FileChooser.cancelButtonMnemonic", "83" },
+            { "FileChooser.cancelButtonText", "Avbryt" },
+            { "FileChooser.cancelButtonToolTipText", "St\u00E4ng dialogrutan f\u00F6r filval." },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "Ta bort fil" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "Filer" },
+            { "FileChooser.filterLabelText", "Filter:" },
+            { "FileChooser.foldersLabelMnemonic", "82" },
+            { "FileChooser.foldersLabelText", "Mappar" },
+            { "FileChooser.newFolderButtonMnemonic", "70" },
+            { "FileChooser.newFolderButtonText", "Ny mapp" },
+            { "FileChooser.newFolderDialogText", "Mapp:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "\u00D6ppna den markerade filen." },
+            { "FileChooser.openDialogTitleText", "\u00D6ppna" },
+            { "FileChooser.pathLabelMnemonic", "77" },
+            { "FileChooser.pathLabelText", "Markeringen:" },
+            { "FileChooser.renameFileButtonMnemonic", "84" },
+            { "FileChooser.renameFileButtonText", "Byt namn p\u00E5 fil" },
+            { "FileChooser.renameFileDialogText", "Byt namn p\u00E5 fil \"{0}\" till" },
+            { "FileChooser.renameFileErrorText", "Det gick inte att byta namn p\u00E5 fil \"{0}\" till \"{1}\"" },
+            { "FileChooser.renameFileErrorTitle", "Fel " },
+            { "FileChooser.saveButtonMnemonic", "80" },
+            { "FileChooser.saveButtonText", "Spara" },
+            { "FileChooser.saveButtonToolTipText", "Spara den markerade filen." },
+            { "FileChooser.saveDialogTitleText", "Spara" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "Bl\u00E5:" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "70" },
+            { "GTKColorChooserPanel.colorNameText", "F\u00E4rgnamn:" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "Gr\u00F6n:" },
+            { "GTKColorChooserPanel.hueMnemonic", "78" },
+            { "GTKColorChooserPanel.hueText", "Nyans:" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK F\u00E4rgv\u00E4ljaren" },
+            { "GTKColorChooserPanel.redMnemonic", "82" },
+            { "GTKColorChooserPanel.redText", "R\u00F6d:" },
+            { "GTKColorChooserPanel.saturationMnemonic", "77" },
+            { "GTKColorChooserPanel.saturationText", "M\u00E4ttnad:" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "V\u00E4rde:" },
+            { "OptionPane.cancelButtonMnemonic", "83" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "\u6240\u6709\u6587\u4EF6" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u7EC8\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846\u3002" },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "\u5220\u9664\u6587\u4EF6" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "\u6587\u4EF6" },
+            { "FileChooser.filterLabelText", "\u8FC7\u6EE4\u5668\uFF1A" },
+            { "FileChooser.foldersLabelMnemonic", "68" },
+            { "FileChooser.foldersLabelText", "\u6587\u4EF6\u5939" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.newFolderDialogText", "\u6587\u4EF6\u5939\u540D\uFF1A" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u786E\u5B9A" },
+            { "FileChooser.openButtonToolTipText", "\u6253\u5F00\u9009\u5B9A\u7684\u6587\u4EF6\u3002" },
+            { "FileChooser.openDialogTitleText", "\u6253\u5F00" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "\u9009\u62E9\uFF1A" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "\u91CD\u547D\u540D\u6587\u4EF6" },
+            { "FileChooser.renameFileDialogText", "\u5C06\u6587\u4EF6\u201C{0}\u201D\u91CD\u547D\u540D\u4E3A" },
+            { "FileChooser.renameFileErrorText", "\u5C06\u6587\u4EF6\u201C{0}\u201D\u91CD\u547D\u540D\u4E3A\u201C{1}\u201D\u65F6\u51FA\u9519" },
+            { "FileChooser.renameFileErrorTitle", "\u9519\u8BEF " },
+            { "FileChooser.saveButtonMnemonic", "79" },
+            { "FileChooser.saveButtonText", "\u4FDD\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u4FDD\u5B58\u9009\u5B9A\u7684\u6587\u4EF6\u3002" },
+            { "FileChooser.saveDialogTitleText", "\u4FDD\u5B58" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "\u84DD(B)\uFF1A" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "\u989C\u8272\u540D\u79F0(N)\uFF1A" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "\u7EFF(G)\uFF1A" },
+            { "GTKColorChooserPanel.hueMnemonic", "72" },
+            { "GTKColorChooserPanel.hueText", "\u8272\u8C03(H)\uFF1A" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK Color Chooser" },
+            { "GTKColorChooserPanel.redMnemonic", "69" },
+            { "GTKColorChooserPanel.redText", "\u7EA2(E)\uFF1A" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "\u9971\u548C\u5EA6(S)\uFF1A" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "\u503C(V)\uFF1A" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "\u6240\u6709\u6A94\u6848" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u4E2D\u65B7\u6A94\u6848\u9078\u64C7\u7A0B\u5F0F\u5C0D\u8A71\u65B9\u584A\u3002" },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "\u522A\u9664\u6A94\u6848" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "\u6A94\u6848" },
+            { "FileChooser.filterLabelText", "\u904E\u6FFE\u5668:" },
+            { "FileChooser.foldersLabelMnemonic", "68" },
+            { "FileChooser.foldersLabelText", "\u6A94\u6848\u593E" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "\u65B0\u6A94\u6848\u593E" },
+            { "FileChooser.newFolderDialogText", "\u6A94\u6848\u593E\u540D\u7A31:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u78BA\u5B9A" },
+            { "FileChooser.openButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.openDialogTitleText", "\u958B\u555F" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "\u9078\u53D6:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "\u91CD\u65B0\u547D\u540D\u6A94\u6848" },
+            { "FileChooser.renameFileDialogText", "\u5C07\u6A94\u6848 \"{0}\" \u91CD\u65B0\u547D\u540D\u70BA" },
+            { "FileChooser.renameFileErrorText", "\u5C07\u6A94\u6848 \"{0}\" \u91CD\u65B0\u547D\u540D\u70BA \"{1}\" \u6642\u51FA\u73FE\u932F\u8AA4" },
+            { "FileChooser.renameFileErrorTitle", "\u932F\u8AA4 " },
+            { "FileChooser.saveButtonMnemonic", "79" },
+            { "FileChooser.saveButtonText", "\u5132\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.saveDialogTitleText", "\u5132\u5B58" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "\u85CD(B):" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "\u984F\u8272\u540D\u7A31(N):" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "\u7DA0(G):" },
+            { "GTKColorChooserPanel.hueMnemonic", "72" },
+            { "GTKColorChooserPanel.hueText", "\u8272\u8ABF(H):" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK Color Chooser" },
+            { "GTKColorChooserPanel.redMnemonic", "69" },
+            { "GTKColorChooserPanel.redText", "\u7D05(E):" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "\u98FD\u548C(S):" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "\u503C(V):" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/gtk/resources/gtk_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package com.sun.java.swing.plaf.gtk.resources;
+
+import java.util.ListResourceBundle;
+
+public final class gtk_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "\u6240\u6709\u6A94\u6848" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u4E2D\u65B7\u6A94\u6848\u9078\u64C7\u7A0B\u5F0F\u5C0D\u8A71\u65B9\u584A\u3002" },
+            { "FileChooser.deleteFileButtonMnemonic", "76" },
+            { "FileChooser.deleteFileButtonText", "\u522A\u9664\u6A94\u6848" },
+            { "FileChooser.filesLabelMnemonic", "70" },
+            { "FileChooser.filesLabelText", "\u6A94\u6848" },
+            { "FileChooser.filterLabelText", "\u904E\u6FFE\u5668:" },
+            { "FileChooser.foldersLabelMnemonic", "68" },
+            { "FileChooser.foldersLabelText", "\u6A94\u6848\u593E" },
+            { "FileChooser.newFolderButtonMnemonic", "78" },
+            { "FileChooser.newFolderButtonText", "\u65B0\u6A94\u6848\u593E" },
+            { "FileChooser.newFolderDialogText", "\u6A94\u6848\u593E\u540D\u7A31:" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u78BA\u5B9A" },
+            { "FileChooser.openButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.openDialogTitleText", "\u958B\u555F" },
+            { "FileChooser.pathLabelMnemonic", "83" },
+            { "FileChooser.pathLabelText", "\u9078\u53D6:" },
+            { "FileChooser.renameFileButtonMnemonic", "82" },
+            { "FileChooser.renameFileButtonText", "\u91CD\u65B0\u547D\u540D\u6A94\u6848" },
+            { "FileChooser.renameFileDialogText", "\u5C07\u6A94\u6848 \"{0}\" \u91CD\u65B0\u547D\u540D\u70BA" },
+            { "FileChooser.renameFileErrorText", "\u5C07\u6A94\u6848 \"{0}\" \u91CD\u65B0\u547D\u540D\u70BA \"{1}\" \u6642\u51FA\u73FE\u932F\u8AA4" },
+            { "FileChooser.renameFileErrorTitle", "\u932F\u8AA4 " },
+            { "FileChooser.saveButtonMnemonic", "79" },
+            { "FileChooser.saveButtonText", "\u5132\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.saveDialogTitleText", "\u5132\u5B58" },
+            { "GTKColorChooserPanel.blueMnemonic", "66" },
+            { "GTKColorChooserPanel.blueText", "\u85CD(B):" },
+            { "GTKColorChooserPanel.colorNameMnemonic", "78" },
+            { "GTKColorChooserPanel.colorNameText", "\u984F\u8272\u540D\u7A31(N):" },
+            { "GTKColorChooserPanel.greenMnemonic", "71" },
+            { "GTKColorChooserPanel.greenText", "\u7DA0(G):" },
+            { "GTKColorChooserPanel.hueMnemonic", "72" },
+            { "GTKColorChooserPanel.hueText", "\u8272\u8ABF(H):" },
+            { "GTKColorChooserPanel.mnemonic", "71" },
+            { "GTKColorChooserPanel.nameText", "GTK Color Chooser" },
+            { "GTKColorChooserPanel.redMnemonic", "69" },
+            { "GTKColorChooserPanel.redText", "\u7D05(E):" },
+            { "GTKColorChooserPanel.saturationMnemonic", "83" },
+            { "GTKColorChooserPanel.saturationText", "\u98FD\u548C(S):" },
+            { "GTKColorChooserPanel.valueMnemonic", "86" },
+            { "GTKColorChooserPanel.valueText", "\u503C(V):" },
+            { "OptionPane.cancelButtonMnemonic", "67" },
+            { "OptionPane.okButtonMnemonic", "79" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "Cancel" },
+            { "FileChooser.cancelButtonToolTipText", "Abort file chooser dialog." },
+            { "FileChooser.enterFileNameLabelText", "Enter file name:" },
+            { "FileChooser.filesLabelText", "Files" },
+            { "FileChooser.filterLabelText", "Filter" },
+            { "FileChooser.foldersLabelText", "Folders" },
+            { "FileChooser.helpButtonText", "Help" },
+            { "FileChooser.helpButtonToolTipText", "FileChooser help." },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Open selected file." },
+            { "FileChooser.openDialogTitleText", "Open" },
+            { "FileChooser.pathLabelText", "Enter path or folder name:" },
+            { "FileChooser.saveButtonText", "Save" },
+            { "FileChooser.saveButtonToolTipText", "Save selected file." },
+            { "FileChooser.saveDialogTitleText", "Save" },
+            { "FileChooser.updateButtonText", "Update" },
+            { "FileChooser.updateButtonToolTipText", "Update directory listing." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "Abbrechen" },
+            { "FileChooser.cancelButtonToolTipText", "Dialogfeld f\u00FCr Dateiauswahl abbrechen" },
+            { "FileChooser.enterFileNameLabelText", "Filternamen eingeben:" },
+            { "FileChooser.filesLabelText", "Dateien" },
+            { "FileChooser.filterLabelText", "Filter" },
+            { "FileChooser.foldersLabelText", "Ordner" },
+            { "FileChooser.helpButtonText", "Hilfe" },
+            { "FileChooser.helpButtonToolTipText", "Hilfe f\u00FCr Dateiauswahl" },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Ausgew\u00E4hlte Datei \u00F6ffnen" },
+            { "FileChooser.openDialogTitleText", "\u00D6ffnen" },
+            { "FileChooser.pathLabelText", "Pfad- oder Ordnernamen eingeben:" },
+            { "FileChooser.saveButtonText", "Speichern" },
+            { "FileChooser.saveButtonToolTipText", "Ausgew\u00E4hlte Datei speichern" },
+            { "FileChooser.saveDialogTitleText", "Speichern" },
+            { "FileChooser.updateButtonText", "Aktualisieren" },
+            { "FileChooser.updateButtonToolTipText", "Verzeichnisliste aktualisieren" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "Cancelar" },
+            { "FileChooser.cancelButtonToolTipText", "Cuadro de di\u00E1logo para cancelar elector de archivo." },
+            { "FileChooser.enterFileNameLabelText", "Introducir nombre de archivo:" },
+            { "FileChooser.filesLabelText", "Archivos" },
+            { "FileChooser.filterLabelText", "Filtro" },
+            { "FileChooser.foldersLabelText", "Carpetas" },
+            { "FileChooser.helpButtonText", "Ayuda" },
+            { "FileChooser.helpButtonToolTipText", "Ayuda elector de archivos." },
+            { "FileChooser.openButtonText", "Aceptar" },
+            { "FileChooser.openButtonToolTipText", "Abrir archivo seleccionado." },
+            { "FileChooser.openDialogTitleText", "Abrir" },
+            { "FileChooser.pathLabelText", "Introducir v\u00EDa de acceso o nombre de carpeta:" },
+            { "FileChooser.saveButtonText", "Guardar" },
+            { "FileChooser.saveButtonToolTipText", "Guardar archivo seleccionado." },
+            { "FileChooser.saveDialogTitleText", "Guardar" },
+            { "FileChooser.updateButtonText", "Actualizar" },
+            { "FileChooser.updateButtonToolTipText", "Actualizar lista de directorios." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "Annuler" },
+            { "FileChooser.cancelButtonToolTipText", "Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers" },
+            { "FileChooser.enterFileNameLabelText", "Entrez le nom du fichier :" },
+            { "FileChooser.filesLabelText", "Fichiers" },
+            { "FileChooser.filterLabelText", "Filtre" },
+            { "FileChooser.foldersLabelText", "Dossiers" },
+            { "FileChooser.helpButtonText", "Aide" },
+            { "FileChooser.helpButtonToolTipText", "Aide sur le s\u00E9lecteur de fichiers" },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Ouvre le fichier s\u00E9lectionn\u00E9" },
+            { "FileChooser.openDialogTitleText", "Ouvrir" },
+            { "FileChooser.pathLabelText", "Entrez le chemin ou le nom du dossier :" },
+            { "FileChooser.saveButtonText", "Enregistrer" },
+            { "FileChooser.saveButtonToolTipText", "Enregistre le fichier s\u00E9lectionn\u00E9" },
+            { "FileChooser.saveDialogTitleText", "Enregistrer" },
+            { "FileChooser.updateButtonText", "Mise \u00E0 jour" },
+            { "FileChooser.updateButtonToolTipText", "Met \u00E0 jour la liste des r\u00E9pertoires" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "Annulla" },
+            { "FileChooser.cancelButtonToolTipText", "Finestra di dialogo Interrompi Selezione file." },
+            { "FileChooser.enterFileNameLabelText", "Nome file:" },
+            { "FileChooser.filesLabelText", "File" },
+            { "FileChooser.filterLabelText", "Filtro" },
+            { "FileChooser.foldersLabelText", "Cartelle" },
+            { "FileChooser.helpButtonText", "?" },
+            { "FileChooser.helpButtonToolTipText", "Guida di Selezione file." },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "Apri file selezionato." },
+            { "FileChooser.openDialogTitleText", "Apri" },
+            { "FileChooser.pathLabelText", "Percorso o nome cartella:" },
+            { "FileChooser.saveButtonText", "Salva" },
+            { "FileChooser.saveButtonToolTipText", "Salva file selezionato." },
+            { "FileChooser.saveDialogTitleText", "Salva" },
+            { "FileChooser.updateButtonText", "Aggiorna" },
+            { "FileChooser.updateButtonToolTipText", "Aggiorna elenco directory." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88\u3057" },
+            { "FileChooser.cancelButtonToolTipText", "\u30D5\u30A1\u30A4\u30EB\u30C1\u30E5\u30FC\u30B6\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86" },
+            { "FileChooser.enterFileNameLabelText", "\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u5165\u529B:" },
+            { "FileChooser.filesLabelText", "\u30D5\u30A1\u30A4\u30EB" },
+            { "FileChooser.filterLabelText", "\u30D5\u30A3\u30EB\u30BF" },
+            { "FileChooser.foldersLabelText", "\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.helpButtonText", "\u30D8\u30EB\u30D7" },
+            { "FileChooser.helpButtonToolTipText", "\u30D5\u30A1\u30A4\u30EB\u30C1\u30E5\u30FC\u30B6\u306E\u30D8\u30EB\u30D7" },
+            { "FileChooser.openButtonText", "\u4E86\u89E3" },
+            { "FileChooser.openButtonToolTipText", "\u9078\u629E\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F" },
+            { "FileChooser.openDialogTitleText", "\u958B\u304F" },
+            { "FileChooser.pathLabelText", "\u30D1\u30B9\u307E\u305F\u306F\u30D5\u30A9\u30EB\u30C0\u540D\u3092\u5165\u529B:" },
+            { "FileChooser.saveButtonText", "\u4FDD\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u9078\u629E\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306B\u4FDD\u5B58" },
+            { "FileChooser.saveDialogTitleText", "\u4FDD\u5B58" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0" },
+            { "FileChooser.updateButtonToolTipText", "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u8868\u793A\u3092\u66F4\u65B0" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "\uCDE8\uC18C" },
+            { "FileChooser.cancelButtonToolTipText", "\uD30C\uC77C \uC120\uD0DD \uB300\uD654\uC0C1\uC790\uB97C \uC911\uC9C0\uD569\uB2C8\uB2E4." },
+            { "FileChooser.enterFileNameLabelText", "\uD30C\uC77C \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624:" },
+            { "FileChooser.filesLabelText", "\uD30C\uC77C" },
+            { "FileChooser.filterLabelText", "\uD544\uD130" },
+            { "FileChooser.foldersLabelText", "\uD3F4\uB354" },
+            { "FileChooser.helpButtonText", "\uB3C4\uC6C0\uB9D0" },
+            { "FileChooser.helpButtonToolTipText", "FileChooser \uB3C4\uC6C0\uB9D0." },
+            { "FileChooser.openButtonText", "\uD655\uC778" },
+            { "FileChooser.openButtonToolTipText", "\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4." },
+            { "FileChooser.openDialogTitleText", "\uC5F4\uAE30" },
+            { "FileChooser.pathLabelText", "\uACBD\uB85C \uB610\uB294 \uD3F4\uB354 \uC774\uB984\uC744 \uC785\uB825\uD558\uC2ED\uC2DC\uC624:" },
+            { "FileChooser.saveButtonText", "\uC800\uC7A5" },
+            { "FileChooser.saveButtonToolTipText", "\uC120\uD0DD\uB41C \uD30C\uC77C\uC744 \uC800\uC7A5\uD569\uB2C8\uB2E4." },
+            { "FileChooser.saveDialogTitleText", "\uC800\uC7A5" },
+            { "FileChooser.updateButtonText", "\uC5C5\uB370\uC774\uD2B8" },
+            { "FileChooser.updateButtonToolTipText", "\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D\uC744 \uC5C5\uB370\uC774\uD2B8\uD569\uB2C8\uB2E4." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "Avbryt" },
+            { "FileChooser.cancelButtonToolTipText", "Avbryt \u00D6ppna fil." },
+            { "FileChooser.enterFileNameLabelText", "Ange filnamn:" },
+            { "FileChooser.filesLabelText", "Filer" },
+            { "FileChooser.filterLabelText", "Filter" },
+            { "FileChooser.foldersLabelText", "Mappar" },
+            { "FileChooser.helpButtonText", "Hj\u00E4lp" },
+            { "FileChooser.helpButtonToolTipText", "Hj\u00E4lp - Filv\u00E4ljare." },
+            { "FileChooser.openButtonText", "OK" },
+            { "FileChooser.openButtonToolTipText", "\u00D6ppna markerad fil." },
+            { "FileChooser.openDialogTitleText", "\u00D6ppna" },
+            { "FileChooser.pathLabelText", "Ange s\u00F6kv\u00E4g eller mappnamn:" },
+            { "FileChooser.saveButtonText", "Spara" },
+            { "FileChooser.saveButtonToolTipText", "Spara markerad fil." },
+            { "FileChooser.saveDialogTitleText", "Spara" },
+            { "FileChooser.updateButtonText", "Uppdatera" },
+            { "FileChooser.updateButtonToolTipText", "Uppdatera kataloglistan." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u7EC8\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846" },
+            { "FileChooser.enterFileNameLabelText", "\u952E\u5165\u6587\u4EF6\u540D\uFF1A" },
+            { "FileChooser.filesLabelText", "\u6587\u4EF6" },
+            { "FileChooser.filterLabelText", "\u8FC7\u6EE4\u5668" },
+            { "FileChooser.foldersLabelText", "\u6587\u4EF6\u5939" },
+            { "FileChooser.helpButtonText", "\u5E2E\u52A9" },
+            { "FileChooser.helpButtonToolTipText", "\u6587\u4EF6\u9009\u62E9\u5668\u5E2E\u52A9" },
+            { "FileChooser.openButtonText", "\u786E\u5B9A" },
+            { "FileChooser.openButtonToolTipText", "\u6253\u5F00\u9009\u62E9\u7684\u6587\u4EF6" },
+            { "FileChooser.openDialogTitleText", "\u6253\u5F00" },
+            { "FileChooser.pathLabelText", "\u952E\u5165\u8DEF\u5F84\u6216\u6587\u4EF6\u5939\u540D\uFF1A" },
+            { "FileChooser.saveButtonText", "\u4FDD\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u4FDD\u5B58\u9009\u62E9\u7684\u6587\u4EF6" },
+            { "FileChooser.saveDialogTitleText", "\u4FDD\u5B58" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0" },
+            { "FileChooser.updateButtonToolTipText", "\u66F4\u65B0\u76EE\u5F55\u5217\u8868" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u4E2D\u65B7\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u5C0D\u8A71\u65B9\u584A\u3002" },
+            { "FileChooser.enterFileNameLabelText", "\u8F38\u5165\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.filesLabelText", "\u6A94\u6848" },
+            { "FileChooser.filterLabelText", "\u904E\u6FFE\u5668" },
+            { "FileChooser.foldersLabelText", "\u6A94\u6848\u593E" },
+            { "FileChooser.helpButtonText", "\u8AAA\u660E" },
+            { "FileChooser.helpButtonToolTipText", "\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E\u3002" },
+            { "FileChooser.openButtonText", "\u78BA\u5B9A" },
+            { "FileChooser.openButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.openDialogTitleText", "\u958B\u555F" },
+            { "FileChooser.pathLabelText", "\u8F38\u5165\u8DEF\u5F91\u6216\u6A94\u6848\u593E\u540D\u7A31\uFE55" },
+            { "FileChooser.saveButtonText", "\u5132\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.saveDialogTitleText", "\u5132\u5B58" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0" },
+            { "FileChooser.updateButtonToolTipText", "\u66F4\u65B0\u76EE\u9304\u6E05\u55AE\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/motif/resources/motif_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package com.sun.java.swing.plaf.motif.resources;
+
+import java.util.ListResourceBundle;
+
+public final class motif_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.acceptAllFileFilterText", "*" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u4E2D\u65B7\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u5C0D\u8A71\u65B9\u584A\u3002" },
+            { "FileChooser.enterFileNameLabelText", "\u8F38\u5165\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.filesLabelText", "\u6A94\u6848" },
+            { "FileChooser.filterLabelText", "\u904E\u6FFE\u5668" },
+            { "FileChooser.foldersLabelText", "\u6A94\u6848\u593E" },
+            { "FileChooser.helpButtonText", "\u8AAA\u660E" },
+            { "FileChooser.helpButtonToolTipText", "\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E\u3002" },
+            { "FileChooser.openButtonText", "\u78BA\u5B9A" },
+            { "FileChooser.openButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.openDialogTitleText", "\u958B\u555F" },
+            { "FileChooser.pathLabelText", "\u8F38\u5165\u8DEF\u5F91\u6216\u6A94\u6848\u593E\u540D\u7A31\uFE55" },
+            { "FileChooser.saveButtonText", "\u5132\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848\u3002" },
+            { "FileChooser.saveDialogTitleText", "\u5132\u5B58" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0" },
+            { "FileChooser.updateButtonToolTipText", "\u66F4\u65B0\u76EE\u9304\u6E05\u55AE\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Details" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Details" },
+            { "FileChooser.detailsViewButtonToolTipText", "Details" },
+            { "FileChooser.fileAttrHeaderText", "Attributes" },
+            { "FileChooser.fileDateHeaderText", "Modified" },
+            { "FileChooser.fileNameHeaderText", "Name" },
+            { "FileChooser.fileNameLabelText", "File name:" },
+            { "FileChooser.fileSizeHeaderText", "Size" },
+            { "FileChooser.fileTypeHeaderText", "Type" },
+            { "FileChooser.filesOfTypeLabelText", "Files of type:" },
+            { "FileChooser.homeFolderAccessibleName", "Home" },
+            { "FileChooser.homeFolderToolTipText", "Home" },
+            { "FileChooser.listViewActionLabelText", "List" },
+            { "FileChooser.listViewButtonAccessibleName", "List" },
+            { "FileChooser.listViewButtonToolTipText", "List" },
+            { "FileChooser.lookInLabelText", "Look in:" },
+            { "FileChooser.newFolderAccessibleName", "New Folder" },
+            { "FileChooser.newFolderActionLabelText", "New Folder" },
+            { "FileChooser.newFolderToolTipText", "Create New Folder" },
+            { "FileChooser.refreshActionLabelText", "Refresh" },
+            { "FileChooser.saveInLabelText", "Save in:" },
+            { "FileChooser.upFolderAccessibleName", "Up" },
+            { "FileChooser.upFolderToolTipText", "Up One Level" },
+            { "FileChooser.viewMenuLabelText", "View" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Einzelheiten" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Einzelheiten" },
+            { "FileChooser.detailsViewButtonToolTipText", "Einzelheiten" },
+            { "FileChooser.fileAttrHeaderText", "Attribut" },
+            { "FileChooser.fileDateHeaderText", "Ge\u00E4ndert" },
+            { "FileChooser.fileNameHeaderText", "Dateiname" },
+            { "FileChooser.fileNameLabelText", "Dateiname:" },
+            { "FileChooser.fileSizeHeaderText", "Gr\u00F6\u00DFe" },
+            { "FileChooser.fileTypeHeaderText", "Typ" },
+            { "FileChooser.filesOfTypeLabelText", "Dateityp:" },
+            { "FileChooser.homeFolderAccessibleName", "Home" },
+            { "FileChooser.homeFolderToolTipText", "Home" },
+            { "FileChooser.listViewActionLabelText", "Liste" },
+            { "FileChooser.listViewButtonAccessibleName", "Liste" },
+            { "FileChooser.listViewButtonToolTipText", "Liste" },
+            { "FileChooser.lookInLabelText", "Suchen in:" },
+            { "FileChooser.newFolderAccessibleName", "Neuer Ordner" },
+            { "FileChooser.newFolderActionLabelText", "Neuer Ordner" },
+            { "FileChooser.newFolderToolTipText", "Neuen Ordner erstellen" },
+            { "FileChooser.refreshActionLabelText", "Aktualisieren" },
+            { "FileChooser.saveInLabelText", "Speichern in:" },
+            { "FileChooser.upFolderAccessibleName", "H\u00F6her" },
+            { "FileChooser.upFolderToolTipText", "Eine Ebene h\u00F6her" },
+            { "FileChooser.viewMenuLabelText", "Ansicht" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Detalles" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Detalles" },
+            { "FileChooser.detailsViewButtonToolTipText", "Detalles" },
+            { "FileChooser.fileAttrHeaderText", "Atributos" },
+            { "FileChooser.fileDateHeaderText", "Modificado" },
+            { "FileChooser.fileNameHeaderText", "Nombre" },
+            { "FileChooser.fileNameLabelText", "Nombre de archivo:" },
+            { "FileChooser.fileSizeHeaderText", "Tama\u00F1o" },
+            { "FileChooser.fileTypeHeaderText", "Tipo" },
+            { "FileChooser.filesOfTypeLabelText", "Archivos de tipo:" },
+            { "FileChooser.homeFolderAccessibleName", "Principal" },
+            { "FileChooser.homeFolderToolTipText", "Principal" },
+            { "FileChooser.listViewActionLabelText", "Lista" },
+            { "FileChooser.listViewButtonAccessibleName", "Lista" },
+            { "FileChooser.listViewButtonToolTipText", "Lista" },
+            { "FileChooser.lookInLabelText", "Buscar en:" },
+            { "FileChooser.newFolderAccessibleName", "Carpeta nueva" },
+            { "FileChooser.newFolderActionLabelText", "Carpeta nueva" },
+            { "FileChooser.newFolderToolTipText", "Crear carpeta nueva" },
+            { "FileChooser.refreshActionLabelText", "Renovar" },
+            { "FileChooser.saveInLabelText", "Guardar en:" },
+            { "FileChooser.upFolderAccessibleName", "Arriba" },
+            { "FileChooser.upFolderToolTipText", "Subir un nivel" },
+            { "FileChooser.viewMenuLabelText", "Ver" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "D\u00E9tails" },
+            { "FileChooser.detailsViewButtonAccessibleName", "D\u00E9tails" },
+            { "FileChooser.detailsViewButtonToolTipText", "D\u00E9tails" },
+            { "FileChooser.fileAttrHeaderText", "Attributs" },
+            { "FileChooser.fileDateHeaderText", "Modifi\u00E9" },
+            { "FileChooser.fileNameHeaderText", "Nom" },
+            { "FileChooser.fileNameLabelText", "Nom de fichier :" },
+            { "FileChooser.fileSizeHeaderText", "Taille" },
+            { "FileChooser.fileTypeHeaderText", "Type" },
+            { "FileChooser.filesOfTypeLabelText", "Fichiers du type :" },
+            { "FileChooser.homeFolderAccessibleName", "Accueil" },
+            { "FileChooser.homeFolderToolTipText", "R\u00E9pertoire d'accueil" },
+            { "FileChooser.listViewActionLabelText", "Liste" },
+            { "FileChooser.listViewButtonAccessibleName", "Liste" },
+            { "FileChooser.listViewButtonToolTipText", "Liste" },
+            { "FileChooser.lookInLabelText", "Rechercher dans :" },
+            { "FileChooser.newFolderAccessibleName", "Nouveau dossier" },
+            { "FileChooser.newFolderActionLabelText", "Nouveau dossier" },
+            { "FileChooser.newFolderToolTipText", "Cr\u00E9e un nouveau dossier." },
+            { "FileChooser.refreshActionLabelText", "Actualiser" },
+            { "FileChooser.saveInLabelText", "Enregistrer dans :" },
+            { "FileChooser.upFolderAccessibleName", "Vers le haut" },
+            { "FileChooser.upFolderToolTipText", "Remonte d'un niveau." },
+            { "FileChooser.viewMenuLabelText", "Affichage" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Dettagli" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Dettagli" },
+            { "FileChooser.detailsViewButtonToolTipText", "Dettagli" },
+            { "FileChooser.fileAttrHeaderText", "Attributi" },
+            { "FileChooser.fileDateHeaderText", "Modificato" },
+            { "FileChooser.fileNameHeaderText", "Nome" },
+            { "FileChooser.fileNameLabelText", "Nome file:" },
+            { "FileChooser.fileSizeHeaderText", "Dimensioni" },
+            { "FileChooser.fileTypeHeaderText", "Tipo" },
+            { "FileChooser.filesOfTypeLabelText", "Tipo file:" },
+            { "FileChooser.homeFolderAccessibleName", "Principale" },
+            { "FileChooser.homeFolderToolTipText", "Principale" },
+            { "FileChooser.listViewActionLabelText", "Elenco" },
+            { "FileChooser.listViewButtonAccessibleName", "Elenco" },
+            { "FileChooser.listViewButtonToolTipText", "Elenco" },
+            { "FileChooser.lookInLabelText", "Cerca in:" },
+            { "FileChooser.newFolderAccessibleName", "Nuova cartella" },
+            { "FileChooser.newFolderActionLabelText", "Nuova cartella" },
+            { "FileChooser.newFolderToolTipText", "Crea nuova cartella" },
+            { "FileChooser.refreshActionLabelText", "Aggiorna" },
+            { "FileChooser.saveInLabelText", "Salva in:" },
+            { "FileChooser.upFolderAccessibleName", "Superiore" },
+            { "FileChooser.upFolderToolTipText", "Cartella superiore" },
+            { "FileChooser.viewMenuLabelText", "Visualizza" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8A73\u7D30" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30" },
+            { "FileChooser.fileAttrHeaderText", "\u5C5E\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u66F4\u65B0\u65E5" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u524D" },
+            { "FileChooser.fileNameLabelText", "\u30D5\u30A1\u30A4\u30EB\u540D:" },
+            { "FileChooser.fileSizeHeaderText", "\u30B5\u30A4\u30BA" },
+            { "FileChooser.fileTypeHeaderText", "\u30BF\u30A4\u30D7" },
+            { "FileChooser.filesOfTypeLabelText", "\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7:" },
+            { "FileChooser.homeFolderAccessibleName", "\u30DB\u30FC\u30E0" },
+            { "FileChooser.homeFolderToolTipText", "\u30DB\u30FC\u30E0" },
+            { "FileChooser.listViewActionLabelText", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.listViewButtonAccessibleName", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.listViewButtonToolTipText", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.lookInLabelText", "\u53C2\u7167:" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderToolTipText", "\u30D5\u30A9\u30EB\u30C0\u306E\u65B0\u898F\u4F5C\u6210" },
+            { "FileChooser.refreshActionLabelText", "\u66F4\u65B0" },
+            { "FileChooser.saveInLabelText", "\u4FDD\u5B58:" },
+            { "FileChooser.upFolderAccessibleName", "\u4E0A\u3078" },
+            { "FileChooser.upFolderToolTipText", "1 \u30EC\u30D9\u30EB\u4E0A\u3078" },
+            { "FileChooser.viewMenuLabelText", "\u8868\u793A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\uC790\uC138\uD788" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\uC790\uC138\uD788" },
+            { "FileChooser.detailsViewButtonToolTipText", "\uC790\uC138\uD788" },
+            { "FileChooser.fileAttrHeaderText", "\uC18D\uC131" },
+            { "FileChooser.fileDateHeaderText", "\uC218\uC815" },
+            { "FileChooser.fileNameHeaderText", "\uC774\uB984" },
+            { "FileChooser.fileNameLabelText", "\uD30C\uC77C \uC774\uB984:" },
+            { "FileChooser.fileSizeHeaderText", "\uD06C\uAE30" },
+            { "FileChooser.fileTypeHeaderText", "\uC885\uB958" },
+            { "FileChooser.filesOfTypeLabelText", "\uD30C\uC77C \uC885\uB958:" },
+            { "FileChooser.homeFolderAccessibleName", "\uD648" },
+            { "FileChooser.homeFolderToolTipText", "\uD648" },
+            { "FileChooser.listViewActionLabelText", "\uBAA9\uB85D" },
+            { "FileChooser.listViewButtonAccessibleName", "\uBAA9\uB85D" },
+            { "FileChooser.listViewButtonToolTipText", "\uBAA9\uB85D" },
+            { "FileChooser.lookInLabelText", "\uAC80\uC0C9 \uC704\uCE58:" },
+            { "FileChooser.newFolderAccessibleName", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.newFolderActionLabelText", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.newFolderToolTipText", "\uC0C8 \uD3F4\uB354 \uC791\uC131" },
+            { "FileChooser.refreshActionLabelText", "\uAC31\uC2E0" },
+            { "FileChooser.saveInLabelText", "\uC800\uC7A5 \uC704\uCE58:" },
+            { "FileChooser.upFolderAccessibleName", "\uC704" },
+            { "FileChooser.upFolderToolTipText", "\uD55C \uB2E8\uACC4 \uC704\uB85C" },
+            { "FileChooser.viewMenuLabelText", "\uBCF4\uAE30" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Detaljerad lista" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Detaljerad lista" },
+            { "FileChooser.detailsViewButtonToolTipText", "Detaljerad lista" },
+            { "FileChooser.fileAttrHeaderText", "Attribut" },
+            { "FileChooser.fileDateHeaderText", "\u00C4ndrad" },
+            { "FileChooser.fileNameHeaderText", "Namn" },
+            { "FileChooser.fileNameLabelText", "Filnamn:" },
+            { "FileChooser.fileSizeHeaderText", "Storlek" },
+            { "FileChooser.fileTypeHeaderText", "Typ" },
+            { "FileChooser.filesOfTypeLabelText", "Filformat:" },
+            { "FileChooser.homeFolderAccessibleName", "Hem" },
+            { "FileChooser.homeFolderToolTipText", "Hem" },
+            { "FileChooser.listViewActionLabelText", "Lista" },
+            { "FileChooser.listViewButtonAccessibleName", "Lista" },
+            { "FileChooser.listViewButtonToolTipText", "Lista" },
+            { "FileChooser.lookInLabelText", "Leta i:" },
+            { "FileChooser.newFolderAccessibleName", "Ny mapp" },
+            { "FileChooser.newFolderActionLabelText", "Ny mapp" },
+            { "FileChooser.newFolderToolTipText", "Skapa ny mapp" },
+            { "FileChooser.refreshActionLabelText", "Uppdatera" },
+            { "FileChooser.saveInLabelText", "Spara i:" },
+            { "FileChooser.upFolderAccessibleName", "Upp" },
+            { "FileChooser.upFolderToolTipText", "Upp en niv\u00E5" },
+            { "FileChooser.viewMenuLabelText", "Vy" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.fileAttrHeaderText", "\u5C5E\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u4FEE\u8BA2\u7248" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u79F0" },
+            { "FileChooser.fileNameLabelText", "\u6587\u4EF6\u540D\uFF1A" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u7C7B\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6587\u4EF6\u7C7B\u578B\uFF1A" },
+            { "FileChooser.homeFolderAccessibleName", "\u8D77\u59CB\u76EE\u5F55" },
+            { "FileChooser.homeFolderToolTipText", "\u8D77\u59CB\u76EE\u5F55" },
+            { "FileChooser.listViewActionLabelText", "\u5217\u8868" },
+            { "FileChooser.listViewButtonAccessibleName", "\u5217\u8868" },
+            { "FileChooser.listViewButtonToolTipText", "\u5217\u8868" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFF1A" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.newFolderToolTipText", "\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939" },
+            { "FileChooser.refreshActionLabelText", "\u5237\u65B0" },
+            { "FileChooser.saveInLabelText", "\u4FDD\u5B58\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5411\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5411\u4E0A\u4E00\u5C42" },
+            { "FileChooser.viewMenuLabelText", "\u89C6\u56FE" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.fileAttrHeaderText", "\u5C6C\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u4FEE\u6539" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u7A31" },
+            { "FileChooser.fileNameLabelText", "\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u985E\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6A94\u6848\u985E\u578B\uFE55" },
+            { "FileChooser.homeFolderAccessibleName", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.homeFolderToolTipText", "\u56DE\u4E3B\u76EE\u9304" },
+            { "FileChooser.listViewActionLabelText", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonAccessibleName", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonToolTipText", "\u6A94\u6848\u6E05\u55AE" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFE55" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderToolTipText", "\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.refreshActionLabelText", "\u66F4\u65B0" },
+            { "FileChooser.saveInLabelText", "\u5132\u5B58\u65BC\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5F80\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5F80\u4E0A\u4E00\u5C64" },
+            { "FileChooser.viewMenuLabelText", "\u6AA2\u8996" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/java/swing/plaf/windows/resources/windows_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.java.swing.plaf.windows.resources;
+
+import java.util.ListResourceBundle;
+
+public final class windows_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.fileAttrHeaderText", "\u5C6C\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u4FEE\u6539" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u7A31" },
+            { "FileChooser.fileNameLabelText", "\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u985E\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6A94\u6848\u985E\u578B\uFE55" },
+            { "FileChooser.homeFolderAccessibleName", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.homeFolderToolTipText", "\u56DE\u4E3B\u76EE\u9304" },
+            { "FileChooser.listViewActionLabelText", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonAccessibleName", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonToolTipText", "\u6A94\u6848\u6E05\u55AE" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFE55" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderToolTipText", "\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.refreshActionLabelText", "\u66F4\u65B0" },
+            { "FileChooser.saveInLabelText", "\u5132\u5B58\u65BC\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5F80\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5F80\u4E0A\u4E00\u5C64" },
+            { "FileChooser.viewMenuLabelText", "\u6AA2\u8996" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "click" },
+            { "AbstractDocument.additionText", "addition" },
+            { "AbstractDocument.deletionText", "deletion" },
+            { "AbstractDocument.redoText", "Redo" },
+            { "AbstractDocument.styleChangeText", "style change" },
+            { "AbstractDocument.undoText", "Undo" },
+            { "AbstractUndoableEdit.redoText", "Redo" },
+            { "AbstractUndoableEdit.undoText", "Undo" },
+            { "ColorChooser.cancelText", "Cancel" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "OK" },
+            { "ColorChooser.previewText", "Preview" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "Reset" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "Blue" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "78" },
+            { "ColorChooser.rgbGreenText", "Green" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "68" },
+            { "ColorChooser.rgbRedText", "Red" },
+            { "ColorChooser.sampleText", "Sample Text  Sample Text" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.swatchesMnemonic", "83" },
+            { "ColorChooser.swatchesNameText", "Swatches" },
+            { "ColorChooser.swatchesRecentText", "Recent:" },
+            { "ComboBox.togglePopupText", "togglePopup" },
+            { "FileChooser.acceptAllFileFilterText", "All Files" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "Cancel" },
+            { "FileChooser.cancelButtonToolTipText", "Abort file chooser dialog" },
+            { "FileChooser.directoryDescriptionText", "Directory" },
+            { "FileChooser.directoryOpenButtonMnemonic", "79" },
+            { "FileChooser.directoryOpenButtonText", "Open" },
+            { "FileChooser.directoryOpenButtonToolTipText", "Open selected directory" },
+            { "FileChooser.fileDescriptionText", "Generic File" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "Help" },
+            { "FileChooser.helpButtonToolTipText", "FileChooser help" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "Error creating new folder" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "Open" },
+            { "FileChooser.openButtonToolTipText", "Open selected file" },
+            { "FileChooser.openDialogTitleText", "Open" },
+            { "FileChooser.other.newFolder", "NewFolder" },
+            { "FileChooser.other.newFolder.subsequent", "NewFolder.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "Save" },
+            { "FileChooser.saveButtonToolTipText", "Save selected file" },
+            { "FileChooser.saveDialogTitleText", "Save" },
+            { "FileChooser.updateButtonMnemonic", "85" },
+            { "FileChooser.updateButtonText", "Update" },
+            { "FileChooser.updateButtonToolTipText", "Update directory listing" },
+            { "FileChooser.win32.newFolder", "New Folder" },
+            { "FileChooser.win32.newFolder.subsequent", "New Folder ({0})" },
+            { "FormView.browseFileButtonText", "Browse..." },
+            { "FormView.resetButtonText", "Reset" },
+            { "FormView.submitButtonText", "Submit Query" },
+            { "InternalFrame.closeButtonToolTip", "Close" },
+            { "InternalFrame.iconButtonToolTip", "Minimize" },
+            { "InternalFrame.maxButtonToolTip", "Maximize" },
+            { "InternalFrame.restoreButtonToolTip", "Restore" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "Close" },
+            { "InternalFrameTitlePane.closeButtonText", "Close" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "Iconify" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "Maximize" },
+            { "InternalFrameTitlePane.maximizeButtonText", "Maximize" },
+            { "InternalFrameTitlePane.minimizeButtonText", "Minimize" },
+            { "InternalFrameTitlePane.moveButtonText", "Move" },
+            { "InternalFrameTitlePane.restoreButtonText", "Restore" },
+            { "InternalFrameTitlePane.sizeButtonText", "Size" },
+            { "IsindexView.prompt", "This is a searchable index.  Enter search keywords:" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "Cancel" },
+            { "OptionPane.inputDialogTitle", "Input" },
+            { "OptionPane.messageDialogTitle", "Message" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "No" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "OK" },
+            { "OptionPane.titleText", "Select an Option" },
+            { "OptionPane.yesButtonMnemonic", "89" },
+            { "OptionPane.yesButtonText", "Yes" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "Abort" },
+            { "PrintingDialog.abortButtonToolTipText", "Abort Printing" },
+            { "PrintingDialog.contentAbortingText", "Printing aborting..." },
+            { "PrintingDialog.contentInitialText", "Printing in progress..." },
+            { "PrintingDialog.contentProgressText", "Printed page {0}..." },
+            { "PrintingDialog.titleAbortingText", "Printing (Aborting)" },
+            { "PrintingDialog.titleProgressText", "Printing" },
+            { "ProgressMonitor.progressText", "Progress..." },
+            { "SplitPane.leftButtonText", "left button" },
+            { "SplitPane.rightButtonText", "right button" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "Klicken" },
+            { "AbstractDocument.additionText", "Hinzuf\u00FCgen" },
+            { "AbstractDocument.deletionText", "L\u00F6schen" },
+            { "AbstractDocument.redoText", "Wiederherstellen" },
+            { "AbstractDocument.styleChangeText", "Formatvorlagen\u00E4nderung" },
+            { "AbstractDocument.undoText", "R\u00FCckg\u00E4ngig" },
+            { "AbstractUndoableEdit.redoText", "Wiederherstellen" },
+            { "AbstractUndoableEdit.undoText", "R\u00FCckg\u00E4ngig" },
+            { "ColorChooser.cancelText", "Abbrechen" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "OK" },
+            { "ColorChooser.previewText", "Vorschau" },
+            { "ColorChooser.resetMnemonic", "90" },
+            { "ColorChooser.resetText", "Zur\u00FCcksetzen" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "Blau" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "78" },
+            { "ColorChooser.rgbGreenText", "Gr\u00FCn" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "82" },
+            { "ColorChooser.rgbRedText", "Rot" },
+            { "ColorChooser.sampleText", "Beispieltext  Beispieltext" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.swatchesMnemonic", "77" },
+            { "ColorChooser.swatchesNameText", "Muster" },
+            { "ColorChooser.swatchesRecentText", "Aktuell:" },
+            { "ComboBox.togglePopupText", "Popup umschalten" },
+            { "FileChooser.acceptAllFileFilterText", "Alle Dateien" },
+            { "FileChooser.cancelButtonMnemonic", "65" },
+            { "FileChooser.cancelButtonText", "Abbrechen" },
+            { "FileChooser.cancelButtonToolTipText", "Dialogfeld f\u00FCr Dateiauswahl abbrechen" },
+            { "FileChooser.directoryDescriptionText", "Verzeichnis" },
+            { "FileChooser.directoryOpenButtonMnemonic", "69" },
+            { "FileChooser.directoryOpenButtonText", "\u00D6ffnen" },
+            { "FileChooser.directoryOpenButtonToolTipText", "Markiertes Verzeichnis \u00F6ffnen" },
+            { "FileChooser.fileDescriptionText", "Allgemeine Datei" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "Hilfe" },
+            { "FileChooser.helpButtonToolTipText", "Hilfe f\u00FCr Dateiauswahl" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "Fehler beim Erstellen eines neuen Ordners" },
+            { "FileChooser.openButtonMnemonic", "70" },
+            { "FileChooser.openButtonText", "\u00D6ffnen" },
+            { "FileChooser.openButtonToolTipText", "Ausgew\u00E4hlte Datei \u00F6ffnen" },
+            { "FileChooser.openDialogTitleText", "\u00D6ffnen" },
+            { "FileChooser.other.newFolder", "Neuer Ordner" },
+            { "FileChooser.other.newFolder.subsequent", "Neuer Ordner.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "Speichern" },
+            { "FileChooser.saveButtonToolTipText", "Ausgew\u00E4hlte Datei speichern" },
+            { "FileChooser.saveDialogTitleText", "Speichern" },
+            { "FileChooser.updateButtonMnemonic", "75" },
+            { "FileChooser.updateButtonText", "Aktualisieren" },
+            { "FileChooser.updateButtonToolTipText", "Verzeichnisliste aktualisieren" },
+            { "FileChooser.win32.newFolder", "Neuer Ordner" },
+            { "FileChooser.win32.newFolder.subsequent", "Neuer Ordner ({0})" },
+            { "FormView.browseFileButtonText", "Durchsuchen..." },
+            { "FormView.resetButtonText", "Zur\u00FCcksetzen" },
+            { "FormView.submitButtonText", "Abfrage senden" },
+            { "InternalFrame.closeButtonToolTip", "Schlie\u00DFen" },
+            { "InternalFrame.iconButtonToolTip", "Minimieren" },
+            { "InternalFrame.maxButtonToolTip", "Maximieren" },
+            { "InternalFrame.restoreButtonToolTip", "Wiederherstellen" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "Schlie\u00DFen" },
+            { "InternalFrameTitlePane.closeButtonText", "Schlie\u00DFen" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "Als Symbol darstellen" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "Maximieren" },
+            { "InternalFrameTitlePane.maximizeButtonText", "Maximieren" },
+            { "InternalFrameTitlePane.minimizeButtonText", "Minimieren" },
+            { "InternalFrameTitlePane.moveButtonText", "Verschieben" },
+            { "InternalFrameTitlePane.restoreButtonText", "Wiederherstellen" },
+            { "InternalFrameTitlePane.sizeButtonText", "Gr\u00F6\u00DFe" },
+            { "IsindexView.prompt", "Dieser Index kann durchsucht werden. Geben Sie ein Schlagwort ein:" },
+            { "OptionPane.cancelButtonMnemonic", "65" },
+            { "OptionPane.cancelButtonText", "Abbrechen" },
+            { "OptionPane.inputDialogTitle", "Eingabe" },
+            { "OptionPane.messageDialogTitle", "Nachricht" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "Nein" },
+            { "OptionPane.okButtonMnemonic", "79" },
+            { "OptionPane.okButtonText", "OK" },
+            { "OptionPane.titleText", "W\u00E4hlen Sie eine Option aus" },
+            { "OptionPane.yesButtonMnemonic", "74" },
+            { "OptionPane.yesButtonText", "Ja" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "1" },
+            { "PrintingDialog.abortButtonMnemonic", "66" },
+            { "PrintingDialog.abortButtonText", "Abbrechen" },
+            { "PrintingDialog.abortButtonToolTipText", "Druckvorgang abbrechen" },
+            { "PrintingDialog.contentAbortingText", "Druckvorgang wird abgebrochen..." },
+            { "PrintingDialog.contentInitialText", "Druckvorgang l\u00E4uft..." },
+            { "PrintingDialog.contentProgressText", "Seite {0} wurde gedruckt..." },
+            { "PrintingDialog.titleAbortingText", "Drucken (Abbruch)" },
+            { "PrintingDialog.titleProgressText", "Drucken" },
+            { "ProgressMonitor.progressText", "Fortschritt..." },
+            { "SplitPane.leftButtonText", "linke Taste" },
+            { "SplitPane.rightButtonText", "rechte Taste" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "hacer clic" },
+            { "AbstractDocument.additionText", "adici\u00F3n" },
+            { "AbstractDocument.deletionText", "supresi\u00F3n" },
+            { "AbstractDocument.redoText", "Rehacer" },
+            { "AbstractDocument.styleChangeText", "cambio de estilo" },
+            { "AbstractDocument.undoText", "Deshacer" },
+            { "AbstractUndoableEdit.redoText", "Rehacer" },
+            { "AbstractUndoableEdit.undoText", "Deshacer" },
+            { "ColorChooser.cancelText", "Cancelar" },
+            { "ColorChooser.hsbBlueText", "A" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "V" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "Aceptar" },
+            { "ColorChooser.previewText", "Vista previa" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "Restablecer" },
+            { "ColorChooser.rgbBlueMnemonic", "76" },
+            { "ColorChooser.rgbBlueText", "Azul" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "86" },
+            { "ColorChooser.rgbGreenText", "Verde" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "74" },
+            { "ColorChooser.rgbRedText", "Rojo" },
+            { "ColorChooser.sampleText", "Texto de ejemplo  Texto de ejemplo" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.swatchesMnemonic", "77" },
+            { "ColorChooser.swatchesNameText", "Muestras" },
+            { "ColorChooser.swatchesRecentText", "Reciente:" },
+            { "ComboBox.togglePopupText", "togglePopup" },
+            { "FileChooser.acceptAllFileFilterText", "Todos los archivos" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "Cancelar" },
+            { "FileChooser.cancelButtonToolTipText", "Cuadro de di\u00E1logo para cancelar elector de archivo" },
+            { "FileChooser.directoryDescriptionText", "Directorio" },
+            { "FileChooser.directoryOpenButtonMnemonic", "82" },
+            { "FileChooser.directoryOpenButtonText", "Abrir" },
+            { "FileChooser.directoryOpenButtonToolTipText", "Abrir directorio seleccionado" },
+            { "FileChooser.fileDescriptionText", "Archivo gen\u00E9rico" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "89" },
+            { "FileChooser.helpButtonText", "Ayuda" },
+            { "FileChooser.helpButtonToolTipText", "Ayuda elector de archivos" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "Error al crear una nueva carpeta" },
+            { "FileChooser.openButtonMnemonic", "65" },
+            { "FileChooser.openButtonText", "Abrir" },
+            { "FileChooser.openButtonToolTipText", "Abrir archivo seleccionado" },
+            { "FileChooser.openDialogTitleText", "Abrir" },
+            { "FileChooser.other.newFolder", "Carpeta nueva" },
+            { "FileChooser.other.newFolder.subsequent", "Carpeta nueva.{0}" },
+            { "FileChooser.saveButtonMnemonic", "71" },
+            { "FileChooser.saveButtonText", "Guardar" },
+            { "FileChooser.saveButtonToolTipText", "Guardar archivo seleccionado" },
+            { "FileChooser.saveDialogTitleText", "Guardar" },
+            { "FileChooser.updateButtonMnemonic", "84" },
+            { "FileChooser.updateButtonText", "Actualizar" },
+            { "FileChooser.updateButtonToolTipText", "Actualizar lista de directorios" },
+            { "FileChooser.win32.newFolder", "Carpeta nueva" },
+            { "FileChooser.win32.newFolder.subsequent", "Carpeta nueva ({0})" },
+            { "FormView.browseFileButtonText", "Examinar..." },
+            { "FormView.resetButtonText", "Restablecer" },
+            { "FormView.submitButtonText", "Enviar consulta" },
+            { "InternalFrame.closeButtonToolTip", "Cerrar" },
+            { "InternalFrame.iconButtonToolTip", "Minimizar" },
+            { "InternalFrame.maxButtonToolTip", "Maximizar" },
+            { "InternalFrame.restoreButtonToolTip", "Restaurar" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "Cerrar" },
+            { "InternalFrameTitlePane.closeButtonText", "Cerrar" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "Convertir en icono" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "Maximizar" },
+            { "InternalFrameTitlePane.maximizeButtonText", "Maximizar" },
+            { "InternalFrameTitlePane.minimizeButtonText", "Minimizar" },
+            { "InternalFrameTitlePane.moveButtonText", "Mover" },
+            { "InternalFrameTitlePane.restoreButtonText", "Restaurar" },
+            { "InternalFrameTitlePane.sizeButtonText", "Tama\u00F1o" },
+            { "IsindexView.prompt", "En este \u00EDndice se pueden efectuar b\u00FAsquedas. Escriba las palabras clave de b\u00FAsqueda:" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "Cancelar" },
+            { "OptionPane.inputDialogTitle", "Entrada" },
+            { "OptionPane.messageDialogTitle", "Mensaje" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "No" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "Aceptar" },
+            { "OptionPane.titleText", "Seleccionar una opci\u00F3n" },
+            { "OptionPane.yesButtonMnemonic", "83" },
+            { "OptionPane.yesButtonText", "S\u00ED" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "67" },
+            { "PrintingDialog.abortButtonText", "Cancelar" },
+            { "PrintingDialog.abortButtonToolTipText", "Cancelar la impresi\u00F3n" },
+            { "PrintingDialog.contentAbortingText", "Cancelando la impresi\u00F3n..." },
+            { "PrintingDialog.contentInitialText", "Impresi\u00F3n en curso..." },
+            { "PrintingDialog.contentProgressText", "P\u00E1gina impresa {0}..." },
+            { "PrintingDialog.titleAbortingText", "Impresi\u00F3n (cancelaci\u00F3n)" },
+            { "PrintingDialog.titleProgressText", "Impresi\u00F3n" },
+            { "ProgressMonitor.progressText", "Progreso..." },
+            { "SplitPane.leftButtonText", "bot\u00F3n izquierdo" },
+            { "SplitPane.rightButtonText", "bot\u00F3n derecho" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "cliquez sur" },
+            { "AbstractDocument.additionText", "ajout" },
+            { "AbstractDocument.deletionText", "suppression" },
+            { "AbstractDocument.redoText", "Refaire" },
+            { "AbstractDocument.styleChangeText", "modification de style" },
+            { "AbstractDocument.undoText", "D\u00E9faire" },
+            { "AbstractUndoableEdit.redoText", "Refaire" },
+            { "AbstractUndoableEdit.undoText", "D\u00E9faire" },
+            { "ColorChooser.cancelText", "Annuler" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "V" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "OK" },
+            { "ColorChooser.previewText", "Aper\u00E7u" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "Restaurer" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "Bleu" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "84" },
+            { "ColorChooser.rgbGreenText", "Vert" },
+            { "ColorChooser.rgbMnemonic", "86" },
+            { "ColorChooser.rgbNameText", "RVB" },
+            { "ColorChooser.rgbRedMnemonic", "71" },
+            { "ColorChooser.rgbRedText", "Rouge" },
+            { "ColorChooser.sampleText", "Echantillon de texte  Echantillon de texte" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.swatchesMnemonic", "69" },
+            { "ColorChooser.swatchesNameText", "Echantillons" },
+            { "ColorChooser.swatchesRecentText", "Dernier :" },
+            { "ComboBox.togglePopupText", "togglePopup" },
+            { "FileChooser.acceptAllFileFilterText", "Tous les fichiers" },
+            { "FileChooser.cancelButtonMnemonic", "65" },
+            { "FileChooser.cancelButtonText", "Annuler" },
+            { "FileChooser.cancelButtonToolTipText", "Ferme la bo\u00EEte de dialogue du s\u00E9lecteur de fichiers" },
+            { "FileChooser.directoryDescriptionText", "R\u00E9pertoire" },
+            { "FileChooser.directoryOpenButtonMnemonic", "79" },
+            { "FileChooser.directoryOpenButtonText", "Ouvrir" },
+            { "FileChooser.directoryOpenButtonToolTipText", "Ouvrir le r\u00E9pertoire s\u00E9lectionn\u00E9" },
+            { "FileChooser.fileDescriptionText", "Fichier g\u00E9n\u00E9rique" },
+            { "FileChooser.fileSizeGigaBytes", "{0} Go" },
+            { "FileChooser.fileSizeKiloBytes", "{0} Ko" },
+            { "FileChooser.fileSizeMegaBytes", "{0} Mo" },
+            { "FileChooser.helpButtonMnemonic", "68" },
+            { "FileChooser.helpButtonText", "Aide" },
+            { "FileChooser.helpButtonToolTipText", "Aide sur le s\u00E9lecteur de fichiers" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "Erreur lors de la cr\u00E9ation du nouveau dossier" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "Ouvrir" },
+            { "FileChooser.openButtonToolTipText", "Ouvre le fichier s\u00E9lectionn\u00E9" },
+            { "FileChooser.openDialogTitleText", "Ouvrir" },
+            { "FileChooser.other.newFolder", "Nouveau dossier" },
+            { "FileChooser.other.newFolder.subsequent", "Nouveau dossier.{0}" },
+            { "FileChooser.saveButtonMnemonic", "69" },
+            { "FileChooser.saveButtonText", "Enregistrer" },
+            { "FileChooser.saveButtonToolTipText", "Enregistre le fichier s\u00E9lectionn\u00E9" },
+            { "FileChooser.saveDialogTitleText", "Enregistrer" },
+            { "FileChooser.updateButtonMnemonic", "77" },
+            { "FileChooser.updateButtonText", "Mise \u00E0 jour" },
+            { "FileChooser.updateButtonToolTipText", "Met \u00E0 jour la liste des r\u00E9pertoires" },
+            { "FileChooser.win32.newFolder", "Nouveau dossier" },
+            { "FileChooser.win32.newFolder.subsequent", "Nouveau dossier ({0})" },
+            { "FormView.browseFileButtonText", "Parcourir..." },
+            { "FormView.resetButtonText", "Restaurer" },
+            { "FormView.submitButtonText", "Soumettre la requ\u00EAte" },
+            { "InternalFrame.closeButtonToolTip", "Fermer" },
+            { "InternalFrame.iconButtonToolTip", "R\u00E9duire" },
+            { "InternalFrame.maxButtonToolTip", "Agrandir" },
+            { "InternalFrame.restoreButtonToolTip", "Restaurer" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "Fermer" },
+            { "InternalFrameTitlePane.closeButtonText", "Fermer" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "R\u00E9duire" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "Agrandir" },
+            { "InternalFrameTitlePane.maximizeButtonText", "Agrandir" },
+            { "InternalFrameTitlePane.minimizeButtonText", "R\u00E9duire" },
+            { "InternalFrameTitlePane.moveButtonText", "D\u00E9placer" },
+            { "InternalFrameTitlePane.restoreButtonText", "Restaurer" },
+            { "InternalFrameTitlePane.sizeButtonText", "Taille" },
+            { "IsindexView.prompt", "Ceci est un index de recherche.  Tapez des mots-cl\u00E9s pour la recherche :" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "Annuler" },
+            { "OptionPane.inputDialogTitle", "Entr\u00E9e" },
+            { "OptionPane.messageDialogTitle", "Message" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "Non" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "OK" },
+            { "OptionPane.titleText", "S\u00E9lectionnez une option" },
+            { "OptionPane.yesButtonMnemonic", "79" },
+            { "OptionPane.yesButtonText", "Oui" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "Abandonner" },
+            { "PrintingDialog.abortButtonToolTipText", "Abandonner l'impression" },
+            { "PrintingDialog.contentAbortingText", "Abandon de l'impression..." },
+            { "PrintingDialog.contentInitialText", "Impression en cours..." },
+            { "PrintingDialog.contentProgressText", "Page imprim\u00E9e {0}..." },
+            { "PrintingDialog.titleAbortingText", "Impression (Abandon)" },
+            { "PrintingDialog.titleProgressText", "Impression" },
+            { "ProgressMonitor.progressText", "Progression..." },
+            { "SplitPane.leftButtonText", "bouton gauche" },
+            { "SplitPane.rightButtonText", "bouton droit" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "fare clic" },
+            { "AbstractDocument.additionText", "aggiunta" },
+            { "AbstractDocument.deletionText", "eliminazione" },
+            { "AbstractDocument.redoText", "Ripeti" },
+            { "AbstractDocument.styleChangeText", "cambiamento di stile" },
+            { "AbstractDocument.undoText", "Annulla" },
+            { "AbstractUndoableEdit.redoText", "Ripeti" },
+            { "AbstractUndoableEdit.undoText", "Annulla" },
+            { "ColorChooser.cancelText", "Annulla" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "OK" },
+            { "ColorChooser.previewText", "Anteprima" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "Ripristina" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "Blu" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "69" },
+            { "ColorChooser.rgbGreenText", "Verde" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "79" },
+            { "ColorChooser.rgbRedText", "Rosso" },
+            { "ColorChooser.sampleText", "Testo di prova          Testo di prova" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.swatchesMnemonic", "67" },
+            { "ColorChooser.swatchesNameText", "Colori campione" },
+            { "ColorChooser.swatchesRecentText", "Recenti:" },
+            { "ComboBox.togglePopupText", "togglePopup" },
+            { "FileChooser.acceptAllFileFilterText", "Tutti i file" },
+            { "FileChooser.cancelButtonMnemonic", "65" },
+            { "FileChooser.cancelButtonText", "Annulla" },
+            { "FileChooser.cancelButtonToolTipText", "Finestra di dialogo Interrompi selezione file" },
+            { "FileChooser.directoryDescriptionText", "Directory" },
+            { "FileChooser.directoryOpenButtonMnemonic", "82" },
+            { "FileChooser.directoryOpenButtonText", "Apri" },
+            { "FileChooser.directoryOpenButtonToolTipText", "Apri directory selezionata" },
+            { "FileChooser.fileDescriptionText", "File generico" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "63" },
+            { "FileChooser.helpButtonText", "?" },
+            { "FileChooser.helpButtonToolTipText", "Guida di Selezione file" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "Errore durante la creazione della nuova cartella" },
+            { "FileChooser.openButtonMnemonic", "80" },
+            { "FileChooser.openButtonText", "Apri" },
+            { "FileChooser.openButtonToolTipText", "Apri file selezionato" },
+            { "FileChooser.openDialogTitleText", "Apri" },
+            { "FileChooser.other.newFolder", "Nuova cartella" },
+            { "FileChooser.other.newFolder.subsequent", "Nuova cartella.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "Salva" },
+            { "FileChooser.saveButtonToolTipText", "Salva file selezionato" },
+            { "FileChooser.saveDialogTitleText", "Salva" },
+            { "FileChooser.updateButtonMnemonic", "71" },
+            { "FileChooser.updateButtonText", "Aggiorna" },
+            { "FileChooser.updateButtonToolTipText", "Aggiorna elenco directory" },
+            { "FileChooser.win32.newFolder", "Nuova cartella" },
+            { "FileChooser.win32.newFolder.subsequent", "Nuova cartella ({0})" },
+            { "FormView.browseFileButtonText", "Sfoglia..." },
+            { "FormView.resetButtonText", "Ripristina" },
+            { "FormView.submitButtonText", "Invia query" },
+            { "InternalFrame.closeButtonToolTip", "Chiudi" },
+            { "InternalFrame.iconButtonToolTip", "Riduci a icona" },
+            { "InternalFrame.maxButtonToolTip", "Ingrandisci" },
+            { "InternalFrame.restoreButtonToolTip", "Ripristina" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "Chiudi" },
+            { "InternalFrameTitlePane.closeButtonText", "Chiudi" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "Riduci a icona" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "Ingrandisci" },
+            { "InternalFrameTitlePane.maximizeButtonText", "Ingrandisci" },
+            { "InternalFrameTitlePane.minimizeButtonText", "Riduci a icona" },
+            { "InternalFrameTitlePane.moveButtonText", "Sposta" },
+            { "InternalFrameTitlePane.restoreButtonText", "Ripristina" },
+            { "InternalFrameTitlePane.sizeButtonText", "Dimensioni" },
+            { "IsindexView.prompt", "Questo \u00E8 un indice di ricerca. Immettere le parole chiave:" },
+            { "OptionPane.cancelButtonMnemonic", "65" },
+            { "OptionPane.cancelButtonText", "Annulla" },
+            { "OptionPane.inputDialogTitle", "Input" },
+            { "OptionPane.messageDialogTitle", "Messaggio" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "No" },
+            { "OptionPane.okButtonMnemonic", "79" },
+            { "OptionPane.okButtonText", "OK" },
+            { "OptionPane.titleText", "Selezionare una opzione" },
+            { "OptionPane.yesButtonMnemonic", "83" },
+            { "OptionPane.yesButtonText", "S\u00EC" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "73" },
+            { "PrintingDialog.abortButtonText", "Interrompi" },
+            { "PrintingDialog.abortButtonToolTipText", "Interrompi la stampa" },
+            { "PrintingDialog.contentAbortingText", "Interruzione della stampa..." },
+            { "PrintingDialog.contentInitialText", "Stampa in corso..." },
+            { "PrintingDialog.contentProgressText", "Pagina stampata {0}..." },
+            { "PrintingDialog.titleAbortingText", "Stampa in corso (operazione interrotta)" },
+            { "PrintingDialog.titleProgressText", "Stampa in corso" },
+            { "ProgressMonitor.progressText", "Avanzamento..." },
+            { "SplitPane.leftButtonText", "tasto sinistro" },
+            { "SplitPane.rightButtonText", "tasto destro" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "\u30AF\u30EA\u30C3\u30AF" },
+            { "AbstractDocument.additionText", "\u8FFD\u52A0" },
+            { "AbstractDocument.deletionText", "\u524A\u9664" },
+            { "AbstractDocument.redoText", "\u518D\u5B9F\u884C" },
+            { "AbstractDocument.styleChangeText", "\u30B9\u30BF\u30A4\u30EB\u5909\u66F4" },
+            { "AbstractDocument.undoText", "\u5143\u306B\u623B\u3059" },
+            { "AbstractUndoableEdit.redoText", "\u518D\u5B9F\u884C" },
+            { "AbstractUndoableEdit.undoText", "\u5143\u306B\u623B\u3059" },
+            { "ColorChooser.cancelText", "\u53D6\u6D88\u3057" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "\u4E86\u89E3" },
+            { "ColorChooser.previewText", "\u30D7\u30EC\u30D3\u30E5\u30FC" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "\u30EA\u30BB\u30C3\u30C8(R)" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "\u9752(B)" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "78" },
+            { "ColorChooser.rgbGreenText", "\u7DD1(N)" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "68" },
+            { "ColorChooser.rgbRedText", "\u8D64(D)" },
+            { "ColorChooser.sampleText", "\u30B5\u30F3\u30D7\u30EB\u30C6\u30AD\u30B9\u30C8 \u30B5\u30F3\u30D7\u30EB\u30C6\u30AD\u30B9\u30C8" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "5" },
+            { "ColorChooser.swatchesMnemonic", "83" },
+            { "ColorChooser.swatchesNameText", "\u30B5\u30F3\u30D7\u30EB(S)" },
+            { "ColorChooser.swatchesRecentText", "\u6700\u65B0:" },
+            { "ComboBox.togglePopupText", "\u30C8\u30B0\u30EB\u30DD\u30C3\u30D7\u30A2\u30C3\u30D7" },
+            { "FileChooser.acceptAllFileFilterText", "\u3059\u3079\u3066\u306E\u30D5\u30A1\u30A4\u30EB" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88\u3057" },
+            { "FileChooser.cancelButtonToolTipText", "\u30D5\u30A1\u30A4\u30EB\u30C1\u30E5\u30FC\u30B6\u30C0\u30A4\u30A2\u30ED\u30B0\u3092\u7D42\u4E86" },
+            { "FileChooser.directoryDescriptionText", "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA" },
+            { "FileChooser.directoryOpenButtonMnemonic", "79" },
+            { "FileChooser.directoryOpenButtonText", "\u958B\u304F(O)" },
+            { "FileChooser.directoryOpenButtonToolTipText", "\u9078\u629E\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u958B\u304F" },
+            { "FileChooser.fileDescriptionText", "\u6C4E\u7528\u30D5\u30A1\u30A4\u30EB" },
+            { "FileChooser.fileSizeGigaBytes", "{0} G \u30D0\u30A4\u30C8" },
+            { "FileChooser.fileSizeKiloBytes", "{0} K \u30D0\u30A4\u30C8" },
+            { "FileChooser.fileSizeMegaBytes", "{0} M \u30D0\u30A4\u30C8" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "\u30D8\u30EB\u30D7(H)" },
+            { "FileChooser.helpButtonToolTipText", "\u30D5\u30A1\u30A4\u30EB\u30C1\u30E5\u30FC\u30B6\u30D8\u30EB\u30D7" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u306E\u4F5C\u6210\u306B\u5931\u6557" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u958B\u304F" },
+            { "FileChooser.openButtonToolTipText", "\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F" },
+            { "FileChooser.openDialogTitleText", "\u958B\u304F" },
+            { "FileChooser.other.newFolder", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.other.newFolder.subsequent", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "\u4FDD\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58" },
+            { "FileChooser.saveDialogTitleText", "\u4FDD\u5B58" },
+            { "FileChooser.updateButtonMnemonic", "85" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0(U)" },
+            { "FileChooser.updateButtonToolTipText", "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u4E00\u89A7\u3092\u66F4\u65B0" },
+            { "FileChooser.win32.newFolder", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.win32.newFolder.subsequent", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0 ({0})" },
+            { "FormView.browseFileButtonText", "\u53C2\u7167..." },
+            { "FormView.resetButtonText", "\u30EA\u30BB\u30C3\u30C8" },
+            { "FormView.submitButtonText", "\u554F\u3044\u5408\u308F\u305B\u306E\u5B9F\u884C" },
+            { "InternalFrame.closeButtonToolTip", "\u9589\u3058\u308B" },
+            { "InternalFrame.iconButtonToolTip", "\u30A2\u30A4\u30B3\u30F3\u5316" },
+            { "InternalFrame.maxButtonToolTip", "\u6700\u5927\u8868\u793A" },
+            { "InternalFrame.restoreButtonToolTip", "\u5FA9\u5143" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "\u9589\u3058\u308B" },
+            { "InternalFrameTitlePane.closeButtonText", "\u9589\u3058\u308B" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "\u6700\u5C0F\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonText", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.minimizeButtonText", "\u6700\u5C0F\u5316" },
+            { "InternalFrameTitlePane.moveButtonText", "\u79FB\u52D5" },
+            { "InternalFrameTitlePane.restoreButtonText", "\u5FA9\u5143" },
+            { "InternalFrameTitlePane.sizeButtonText", "\u30B5\u30A4\u30BA" },
+            { "IsindexView.prompt", "\u691C\u7D22\u7528\u306E\u7D22\u5F15\u3067\u3059\u3002\u691C\u7D22\u3059\u308B\u30AD\u30FC\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "\u53D6\u6D88\u3057" },
+            { "OptionPane.inputDialogTitle", "\u5165\u529B" },
+            { "OptionPane.messageDialogTitle", "\u30E1\u30C3\u30BB\u30FC\u30B8" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "\u3044\u3044\u3048(N)" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "\u4E86\u89E3" },
+            { "OptionPane.titleText", "\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u9078\u629E" },
+            { "OptionPane.yesButtonMnemonic", "89" },
+            { "OptionPane.yesButtonText", "\u306F\u3044(Y)" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "\u4E2D\u6B62(A)" },
+            { "PrintingDialog.abortButtonToolTipText", "\u5370\u5237\u306E\u4E2D\u6B62" },
+            { "PrintingDialog.contentAbortingText", "\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059..." },
+            { "PrintingDialog.contentInitialText", "\u5370\u5237\u4E2D..." },
+            { "PrintingDialog.contentProgressText", "\u30DA\u30FC\u30B8 {0} \u3092\u5370\u5237\u3057\u307E\u3057\u305F..." },
+            { "PrintingDialog.titleAbortingText", "\u5370\u5237\u3092\u4E2D\u6B62\u3057\u3066\u3044\u307E\u3059" },
+            { "PrintingDialog.titleProgressText", "\u5370\u5237\u3057\u3066\u3044\u307E\u3059" },
+            { "ProgressMonitor.progressText", "\u9032\u884C\u4E2D..." },
+            { "SplitPane.leftButtonText", "\u5DE6\u30DC\u30BF\u30F3" },
+            { "SplitPane.rightButtonText", "\u53F3\u30DC\u30BF\u30F3" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "\uB204\uB974\uAE30" },
+            { "AbstractDocument.additionText", "\uCD94\uAC00" },
+            { "AbstractDocument.deletionText", "\uC0AD\uC81C" },
+            { "AbstractDocument.redoText", "\uC7AC\uC2E4\uD589" },
+            { "AbstractDocument.styleChangeText", "\uC2A4\uD0C0\uC77C \uBCC0\uACBD" },
+            { "AbstractDocument.undoText", "\uC2E4\uD589 \uCDE8\uC18C" },
+            { "AbstractUndoableEdit.redoText", "\uC7AC\uC2E4\uD589" },
+            { "AbstractUndoableEdit.undoText", "\uC2E4\uD589 \uCDE8\uC18C" },
+            { "ColorChooser.cancelText", "\uCDE8\uC18C" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "\uD655\uC778" },
+            { "ColorChooser.previewText", "\uBBF8\uB9AC\uBCF4\uAE30" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "\uC7AC\uC124\uC815(R)" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "\uD30C\uB780\uC0C9(B)" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "78" },
+            { "ColorChooser.rgbGreenText", "\uB179\uC0C9(N)" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "68" },
+            { "ColorChooser.rgbRedText", "\uBE68\uAC04\uC0C9(D)" },
+            { "ColorChooser.sampleText", "\uC0D8\uD50C \uD14D\uC2A4\uD2B8  \uC0D8\uD50C \uD14D\uC2A4\uD2B8" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "3" },
+            { "ColorChooser.swatchesMnemonic", "83" },
+            { "ColorChooser.swatchesNameText", "\uACAC\uBCF8(S)" },
+            { "ColorChooser.swatchesRecentText", "\uCD5C\uADFC \uBAA9\uB85D:" },
+            { "ComboBox.togglePopupText", "\uD1A0\uAE00\uD31D\uC5C5" },
+            { "FileChooser.acceptAllFileFilterText", "\uBAA8\uB4E0 \uD30C\uC77C" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\uCDE8\uC18C" },
+            { "FileChooser.cancelButtonToolTipText", "\uD30C\uC77C \uC120\uD0DD \uB300\uD654 \uC0C1\uC790 \uC911\uC9C0" },
+            { "FileChooser.directoryDescriptionText", "\uB514\uB809\uD1A0\uB9AC" },
+            { "FileChooser.directoryOpenButtonMnemonic", "79" },
+            { "FileChooser.directoryOpenButtonText", "\uC5F4\uAE30(O)" },
+            { "FileChooser.directoryOpenButtonToolTipText", "\uC120\uD0DD\uB41C \uB514\uB809\uD1A0\uB9AC \uC5F4\uAE30" },
+            { "FileChooser.fileDescriptionText", "\uC77C\uBC18 \uD30C\uC77C" },
+            { "FileChooser.fileSizeGigaBytes", "{0}GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0}KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0}MB" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "\uB3C4\uC6C0\uB9D0(H)" },
+            { "FileChooser.helpButtonToolTipText", "FileChooser \uB3C4\uC6C0\uB9D0" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "\uC0C8 \uD3F4\uB354 \uC791\uC131 \uC624\uB958" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\uC5F4\uAE30" },
+            { "FileChooser.openButtonToolTipText", "\uC120\uD0DD\uB41C \uD30C\uC77C \uC5F4\uAE30" },
+            { "FileChooser.openDialogTitleText", "\uC5F4\uAE30" },
+            { "FileChooser.other.newFolder", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.other.newFolder.subsequent", "\uC0C8 \uD3F4\uB354.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "\uC800\uC7A5" },
+            { "FileChooser.saveButtonToolTipText", "\uC120\uD0DD\uB41C \uD30C\uC77C \uC800\uC7A5" },
+            { "FileChooser.saveDialogTitleText", "\uC800\uC7A5" },
+            { "FileChooser.updateButtonMnemonic", "85" },
+            { "FileChooser.updateButtonText", "\uC5C5\uB370\uC774\uD2B8(U)" },
+            { "FileChooser.updateButtonToolTipText", "\uB514\uB809\uD1A0\uB9AC \uBAA9\uB85D \uC5C5\uB370\uC774\uD2B8" },
+            { "FileChooser.win32.newFolder", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.win32.newFolder.subsequent", "\uC0C8 \uD3F4\uB354 ({0})" },
+            { "FormView.browseFileButtonText", "\uCC3E\uC544\uBCF4\uAE30..." },
+            { "FormView.resetButtonText", "\uC7AC\uC124\uC815" },
+            { "FormView.submitButtonText", "\uC9C8\uC758 \uC81C\uCD9C" },
+            { "InternalFrame.closeButtonToolTip", "\uB2EB\uAE30" },
+            { "InternalFrame.iconButtonToolTip", "\uCD5C\uC18C\uD654" },
+            { "InternalFrame.maxButtonToolTip", "\uCD5C\uB300\uD654" },
+            { "InternalFrame.restoreButtonToolTip", "\uBCF5\uC6D0" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "\uB2EB\uAE30" },
+            { "InternalFrameTitlePane.closeButtonText", "\uB2EB\uAE30" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "\uC544\uC774\uCF58\uD654" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "\uCD5C\uB300\uD654" },
+            { "InternalFrameTitlePane.maximizeButtonText", "\uCD5C\uB300\uD654" },
+            { "InternalFrameTitlePane.minimizeButtonText", "\uCD5C\uC18C\uD654" },
+            { "InternalFrameTitlePane.moveButtonText", "\uC774\uB3D9" },
+            { "InternalFrameTitlePane.restoreButtonText", "\uBCF5\uC6D0" },
+            { "InternalFrameTitlePane.sizeButtonText", "\uD06C\uAE30" },
+            { "IsindexView.prompt", "\uB2E4\uC74C\uC740 \uAC80\uC0C9 \uAC00\uB2A5\uD55C \uC778\uB371\uC2A4\uC785\uB2C8\uB2E4. \uAC80\uC0C9 \uD0A4\uC6CC\uB4DC\uB97C \uC785\uB825\uD558\uC2ED\uC2DC\uC624:" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "\uCDE8\uC18C" },
+            { "OptionPane.inputDialogTitle", "\uC785\uB825" },
+            { "OptionPane.messageDialogTitle", "\uBA54\uC2DC\uC9C0" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "\uC544\uB2C8\uC624(N)" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "\uD655\uC778" },
+            { "OptionPane.titleText", "\uC635\uC158 \uC120\uD0DD" },
+            { "OptionPane.yesButtonMnemonic", "89" },
+            { "OptionPane.yesButtonText", "\uC608(Y)" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "\uC911\uC9C0(A)" },
+            { "PrintingDialog.abortButtonToolTipText", "\uC778\uC1C4 \uC911\uC9C0" },
+            { "PrintingDialog.contentAbortingText", "\uC778\uC1C4 \uC911\uC9C0..." },
+            { "PrintingDialog.contentInitialText", "\uC778\uC1C4 \uC9C4\uD589 \uC911..." },
+            { "PrintingDialog.contentProgressText", "\uC778\uC1C4\uB41C \uD398\uC774\uC9C0 {0}..." },
+            { "PrintingDialog.titleAbortingText", "\uC778\uC1C4 (\uC911\uC9C0)" },
+            { "PrintingDialog.titleProgressText", "\uC778\uC1C4" },
+            { "ProgressMonitor.progressText", "\uC9C4\uD589..." },
+            { "SplitPane.leftButtonText", "\uC67C\uCABD \uBC84\uD2BC" },
+            { "SplitPane.rightButtonText", "\uC624\uB978\uCABD \uBC84\uD2BC" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "klicka" },
+            { "AbstractDocument.additionText", "till\u00E4gg" },
+            { "AbstractDocument.deletionText", "radering" },
+            { "AbstractDocument.redoText", "G\u00F6r om" },
+            { "AbstractDocument.styleChangeText", "snittbyte" },
+            { "AbstractDocument.undoText", "\u00C5ngra" },
+            { "AbstractUndoableEdit.redoText", "G\u00F6r om" },
+            { "AbstractUndoableEdit.undoText", "\u00C5ngra" },
+            { "ColorChooser.cancelText", "Avbryt" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "OK" },
+            { "ColorChooser.previewText", "Granska" },
+            { "ColorChooser.resetMnemonic", "84" },
+            { "ColorChooser.resetText", "\u00C5terst\u00E4ll" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "Bl\u00E5" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "71" },
+            { "ColorChooser.rgbGreenText", "Gr\u00F6n" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "82" },
+            { "ColorChooser.rgbRedText", "R\u00F6d" },
+            { "ColorChooser.sampleText", "Exempeltext  Exempeltext" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.swatchesMnemonic", "80" },
+            { "ColorChooser.swatchesNameText", "Prov" },
+            { "ColorChooser.swatchesRecentText", "Tidigare:" },
+            { "ComboBox.togglePopupText", "v\u00E4xlaPopup" },
+            { "FileChooser.acceptAllFileFilterText", "Alla filer" },
+            { "FileChooser.cancelButtonMnemonic", "65" },
+            { "FileChooser.cancelButtonText", "Avbryt" },
+            { "FileChooser.cancelButtonToolTipText", "Avbryt filvalsdialogruta" },
+            { "FileChooser.directoryDescriptionText", "Katalog" },
+            { "FileChooser.directoryOpenButtonMnemonic", "80" },
+            { "FileChooser.directoryOpenButtonText", "\u00D6ppna" },
+            { "FileChooser.directoryOpenButtonToolTipText", "\u00D6ppnar den markerade katalogen" },
+            { "FileChooser.fileDescriptionText", "Generisk fil" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "Hj\u00E4lp" },
+            { "FileChooser.helpButtonToolTipText", "Hj\u00E4lp - Filv\u00E4ljare" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "Fel d\u00E5 ny mapp skapades" },
+            { "FileChooser.openButtonMnemonic", "78" },
+            { "FileChooser.openButtonText", "\u00D6ppna" },
+            { "FileChooser.openButtonToolTipText", "\u00D6ppna markerad fil" },
+            { "FileChooser.openDialogTitleText", "\u00D6ppna" },
+            { "FileChooser.other.newFolder", "Ny mapp" },
+            { "FileChooser.other.newFolder.subsequent", "Ny mapp.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "Spara" },
+            { "FileChooser.saveButtonToolTipText", "Spara markerad fil" },
+            { "FileChooser.saveDialogTitleText", "Spara" },
+            { "FileChooser.updateButtonMnemonic", "85" },
+            { "FileChooser.updateButtonText", "Uppdatera" },
+            { "FileChooser.updateButtonToolTipText", "Uppdatera kataloglistan" },
+            { "FileChooser.win32.newFolder", "Ny mapp" },
+            { "FileChooser.win32.newFolder.subsequent", "Ny mapp ({0})" },
+            { "FormView.browseFileButtonText", "Bl\u00E4ddra..." },
+            { "FormView.resetButtonText", "\u00C5terst\u00E4ll" },
+            { "FormView.submitButtonText", "Skicka fr\u00E5ga" },
+            { "InternalFrame.closeButtonToolTip", "St\u00E4ng" },
+            { "InternalFrame.iconButtonToolTip", "Minimera" },
+            { "InternalFrame.maxButtonToolTip", "Maximera" },
+            { "InternalFrame.restoreButtonToolTip", "\u00C5terst\u00E4ll" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "St\u00E4ng" },
+            { "InternalFrameTitlePane.closeButtonText", "St\u00E4ng" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "Minimera" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "Maximera" },
+            { "InternalFrameTitlePane.maximizeButtonText", "Maximera" },
+            { "InternalFrameTitlePane.minimizeButtonText", "Minimera" },
+            { "InternalFrameTitlePane.moveButtonText", "Flytta" },
+            { "InternalFrameTitlePane.restoreButtonText", "\u00C5terst\u00E4ll" },
+            { "InternalFrameTitlePane.sizeButtonText", "Storlek" },
+            { "IsindexView.prompt", "Detta \u00E4r ett s\u00F6kbart index.  Ange nyckelord f\u00F6r s\u00F6kningen:" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "Avbryt" },
+            { "OptionPane.inputDialogTitle", "Indata" },
+            { "OptionPane.messageDialogTitle", "Meddelande" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "Nej" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "OK" },
+            { "OptionPane.titleText", "V\u00E4lj ett alternativ" },
+            { "OptionPane.yesButtonMnemonic", "74" },
+            { "OptionPane.yesButtonText", "Ja" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "Avbryt" },
+            { "PrintingDialog.abortButtonToolTipText", "Avbryt utskrift" },
+            { "PrintingDialog.contentAbortingText", "Utskriften avbryts..." },
+            { "PrintingDialog.contentInitialText", "Utskrift p\u00E5g\u00E5r..." },
+            { "PrintingDialog.contentProgressText", "Utskriven sida {0}..." },
+            { "PrintingDialog.titleAbortingText", "Skriver ut (avbryter)" },
+            { "PrintingDialog.titleProgressText", "Skriver ut" },
+            { "ProgressMonitor.progressText", "Status..." },
+            { "SplitPane.leftButtonText", "v\u00E4nster knapp" },
+            { "SplitPane.rightButtonText", "h\u00F6ger knapp" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "\u5355\u51FB" },
+            { "AbstractDocument.additionText", "\u589E\u52A0" },
+            { "AbstractDocument.deletionText", "\u5220\u9664" },
+            { "AbstractDocument.redoText", "\u91CD\u505A" },
+            { "AbstractDocument.styleChangeText", "\u98CE\u683C\u53D8\u5316" },
+            { "AbstractDocument.undoText", "\u64A4\u6D88" },
+            { "AbstractUndoableEdit.redoText", "\u91CD\u505A" },
+            { "AbstractUndoableEdit.undoText", "\u64A4\u6D88" },
+            { "ColorChooser.cancelText", "\u53D6\u6D88" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "\u786E\u5B9A" },
+            { "ColorChooser.previewText", "\u9884\u89C8" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "\u91CD\u8BBE(R)" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "\u84DD" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "78" },
+            { "ColorChooser.rgbGreenText", "\u7EFF" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "68" },
+            { "ColorChooser.rgbRedText", "\u7EA2" },
+            { "ColorChooser.sampleText", "\u6837\u54C1\u6587\u672C  \u6837\u54C1\u6587\u672C" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "3" },
+            { "ColorChooser.swatchesMnemonic", "83" },
+            { "ColorChooser.swatchesNameText", "\u6837\u54C1(S)" },
+            { "ColorChooser.swatchesRecentText", "\u6700\u8FD1:" },
+            { "ComboBox.togglePopupText", "\u5207\u6362\u952E\u5F39\u51FA" },
+            { "FileChooser.acceptAllFileFilterText", "\u6240\u6709\u6587\u4EF6" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u4E2D\u6B62\u6587\u4EF6\u9009\u62E9\u5668\u5BF9\u8BDD\u6846" },
+            { "FileChooser.directoryDescriptionText", "\u76EE\u5F55" },
+            { "FileChooser.directoryOpenButtonMnemonic", "79" },
+            { "FileChooser.directoryOpenButtonText", "\u6253\u5F00(O)" },
+            { "FileChooser.directoryOpenButtonToolTipText", "\u6253\u5F00\u9009\u62E9\u7684\u76EE\u5F55" },
+            { "FileChooser.fileDescriptionText", "\u666E\u901A\u7684\u6587\u4EF6" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "\u5E2E\u52A9(H)" },
+            { "FileChooser.helpButtonToolTipText", "\u6587\u4EF6\u9009\u62E9\u5668\u5E2E\u52A9" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939\u65F6\u53D1\u751F\u9519\u8BEF" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u6253\u5F00" },
+            { "FileChooser.openButtonToolTipText", "\u6253\u5F00\u9009\u62E9\u7684\u6587\u4EF6" },
+            { "FileChooser.openDialogTitleText", "\u6253\u5F00" },
+            { "FileChooser.other.newFolder", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.other.newFolder.subsequent", "\u65B0\u5EFA\u6587\u4EF6\u5939.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "\u4FDD\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u4FDD\u5B58\u9009\u62E9\u7684\u6587\u4EF6" },
+            { "FileChooser.saveDialogTitleText", "\u4FDD\u5B58" },
+            { "FileChooser.updateButtonMnemonic", "85" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0(U)" },
+            { "FileChooser.updateButtonToolTipText", "\u66F4\u65B0\u76EE\u5F55\u5217\u8868" },
+            { "FileChooser.win32.newFolder", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.win32.newFolder.subsequent", "\u65B0\u5EFA\u6587\u4EF6\u5939 ({0})" },
+            { "FormView.browseFileButtonText", "\u6D4F\u89C8..." },
+            { "FormView.resetButtonText", "\u91CD\u8BBE" },
+            { "FormView.submitButtonText", "\u63D0\u4EA4\u67E5\u8BE2" },
+            { "InternalFrame.closeButtonToolTip", "\u5173\u95ED" },
+            { "InternalFrame.iconButtonToolTip", "\u6700\u5C0F\u5316" },
+            { "InternalFrame.maxButtonToolTip", "\u6700\u5927\u5316" },
+            { "InternalFrame.restoreButtonToolTip", "\u6062\u590D" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "\u5173\u95ED" },
+            { "InternalFrameTitlePane.closeButtonText", "\u5173\u95ED" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "\u56FE\u6807\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonText", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.minimizeButtonText", "\u6700\u5C0F\u5316" },
+            { "InternalFrameTitlePane.moveButtonText", "\u79FB\u52A8" },
+            { "InternalFrameTitlePane.restoreButtonText", "\u6062\u590D" },
+            { "InternalFrameTitlePane.sizeButtonText", "\u5927\u5C0F" },
+            { "IsindexView.prompt", "\u8FD9\u662F\u53EF\u641C\u7D22\u7D22\u5F15\u3002\u8BF7\u952E\u5165\u5173\u952E\u8BCD\uFF1A" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "\u53D6\u6D88" },
+            { "OptionPane.inputDialogTitle", "\u8F93\u5165" },
+            { "OptionPane.messageDialogTitle", "\u6D88\u606F" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "\u5426(N)" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "\u786E\u5B9A" },
+            { "OptionPane.titleText", "\u9009\u62E9\u4E00\u4E2A\u9009\u9879" },
+            { "OptionPane.yesButtonMnemonic", "89" },
+            { "OptionPane.yesButtonText", "\u662F(Y)" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "3" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "\u7EC8\u6B62(A)" },
+            { "PrintingDialog.abortButtonToolTipText", "\u7EC8\u6B62\u6253\u5370" },
+            { "PrintingDialog.contentAbortingText", "\u6B63\u5728\u7EC8\u6B62\u6253\u5370..." },
+            { "PrintingDialog.contentInitialText", "\u6B63\u5728\u8FDB\u884C\u6253\u5370..." },
+            { "PrintingDialog.contentProgressText", "\u5DF2\u6253\u5370\u9875 {0}..." },
+            { "PrintingDialog.titleAbortingText", "\u6253\u5370 (\u6B63\u5728\u7EC8\u6B62)" },
+            { "PrintingDialog.titleProgressText", "\u6253\u5370" },
+            { "ProgressMonitor.progressText", "\u8FDB\u5EA6..." },
+            { "SplitPane.leftButtonText", "\u5DE6\u952E" },
+            { "SplitPane.rightButtonText", "\u53F3\u952E" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "\u6309\u4E00\u4E0B" },
+            { "AbstractDocument.additionText", "\u9644\u52A0" },
+            { "AbstractDocument.deletionText", "\u522A\u9664" },
+            { "AbstractDocument.redoText", "\u91CD\u505A" },
+            { "AbstractDocument.styleChangeText", "\u6A23\u5F0F\u8B8A\u66F4" },
+            { "AbstractDocument.undoText", "\u9084\u539F" },
+            { "AbstractUndoableEdit.redoText", "\u91CD\u505A" },
+            { "AbstractUndoableEdit.undoText", "\u9084\u539F" },
+            { "ColorChooser.cancelText", "\u53D6\u6D88" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "\u78BA\u5B9A" },
+            { "ColorChooser.previewText", "\u9810\u89BD" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "\u91CD\u8A2D(R)" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "\u85CD\u8272(B)" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "78" },
+            { "ColorChooser.rgbGreenText", "\u7DA0\u8272(N)" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "68" },
+            { "ColorChooser.rgbRedText", "\u7D05\u8272(D)" },
+            { "ColorChooser.sampleText", "\u7BC4\u4F8B\u6587\u5B57  \u7BC4\u4F8B\u6587\u5B57" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "4" },
+            { "ColorChooser.swatchesMnemonic", "83" },
+            { "ColorChooser.swatchesNameText", "\u8ABF\u8272\u677F(S)" },
+            { "ColorChooser.swatchesRecentText", "\u6700\u65B0\u9078\u64C7:" },
+            { "ComboBox.togglePopupText", "\u5207\u63DB\u5373\u73FE" },
+            { "FileChooser.acceptAllFileFilterText", "\u6240\u6709\u6A94\u6848" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u4E2D\u65B7\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u5C0D\u8A71\u65B9\u584A" },
+            { "FileChooser.directoryDescriptionText", "\u76EE\u9304" },
+            { "FileChooser.directoryOpenButtonMnemonic", "79" },
+            { "FileChooser.directoryOpenButtonText", "\u958B\u555F(O)" },
+            { "FileChooser.directoryOpenButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u76EE\u9304" },
+            { "FileChooser.fileDescriptionText", "\u4E00\u822C\u6A94\u6848" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "\u8AAA\u660E(H)" },
+            { "FileChooser.helpButtonToolTipText", "\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "\u5EFA\u7ACB\u65B0\u6A94\u6848\u593E\u6642\u767C\u751F\u932F\u8AA4" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u958B\u555F" },
+            { "FileChooser.openButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848" },
+            { "FileChooser.openDialogTitleText", "\u958B\u555F" },
+            { "FileChooser.other.newFolder", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.other.newFolder.subsequent", "\u65B0\u8CC7\u6599\u593E.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "\u5132\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848" },
+            { "FileChooser.saveDialogTitleText", "\u5132\u5B58" },
+            { "FileChooser.updateButtonMnemonic", "85" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0(U)" },
+            { "FileChooser.updateButtonToolTipText", "\u66F4\u65B0\u76EE\u9304\u6E05\u55AE" },
+            { "FileChooser.win32.newFolder", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.win32.newFolder.subsequent", "\u65B0\u8CC7\u6599\u593E ({0})" },
+            { "FormView.browseFileButtonText", "\u700F\u89BD..." },
+            { "FormView.resetButtonText", "\u91CD\u8A2D" },
+            { "FormView.submitButtonText", "\u63D0\u51FA\u67E5\u8A62" },
+            { "InternalFrame.closeButtonToolTip", "\u95DC\u9589" },
+            { "InternalFrame.iconButtonToolTip", "\u6700\u5C0F\u5316" },
+            { "InternalFrame.maxButtonToolTip", "\u6700\u5927\u5316" },
+            { "InternalFrame.restoreButtonToolTip", "\u5FA9\u539F" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "\u95DC\u9589" },
+            { "InternalFrameTitlePane.closeButtonText", "\u95DC\u9589" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "\u5716\u793A\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonText", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.minimizeButtonText", "\u6700\u5C0F\u5316" },
+            { "InternalFrameTitlePane.moveButtonText", "\u79FB\u52D5" },
+            { "InternalFrameTitlePane.restoreButtonText", "\u5FA9\u539F" },
+            { "InternalFrameTitlePane.sizeButtonText", "\u5927\u5C0F" },
+            { "IsindexView.prompt", "\u9019\u662F\u4E00\u500B\u53EF\u641C\u5C0B\u7684\u7D22\u5F15\u3002\u8F38\u5165\u641C\u5C0B\u95DC\u9375\u5B57\uFF1A" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "\u53D6\u6D88" },
+            { "OptionPane.inputDialogTitle", "\u8F38\u5165" },
+            { "OptionPane.messageDialogTitle", "\u8A0A\u606F" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "\u5426(N)" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "\u78BA\u5B9A" },
+            { "OptionPane.titleText", "\u9078\u53D6\u4E00\u500B\u9078\u9805" },
+            { "OptionPane.yesButtonMnemonic", "89" },
+            { "OptionPane.yesButtonText", "\u662F(Y)" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "\u4E2D\u65B7(A)" },
+            { "PrintingDialog.abortButtonToolTipText", "\u4E2D\u65B7\u5217\u5370" },
+            { "PrintingDialog.contentAbortingText", "\u6B63\u5728\u4E2D\u65B7\u5217\u5370..." },
+            { "PrintingDialog.contentInitialText", "\u6B63\u5728\u5217\u5370..." },
+            { "PrintingDialog.contentProgressText", "\u5DF2\u5217\u5370\u7684\u9801\u9762 {0}..." },
+            { "PrintingDialog.titleAbortingText", "\u5217\u5370 (\u4E2D\u65B7)" },
+            { "PrintingDialog.titleProgressText", "\u5217\u5370" },
+            { "ProgressMonitor.progressText", "\u9032\u5EA6..." },
+            { "SplitPane.leftButtonText", "\u5DE6\u6309\u9215" },
+            { "SplitPane.rightButtonText", "\u53F3\u6309\u9215" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,119 @@
+package com.sun.swing.internal.plaf.basic.resources;
+
+import java.util.ListResourceBundle;
+
+public final class basic_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AbstractButton.clickText", "\u6309\u4E00\u4E0B" },
+            { "AbstractDocument.additionText", "\u9644\u52A0" },
+            { "AbstractDocument.deletionText", "\u522A\u9664" },
+            { "AbstractDocument.redoText", "\u91CD\u505A" },
+            { "AbstractDocument.styleChangeText", "\u6A23\u5F0F\u8B8A\u66F4" },
+            { "AbstractDocument.undoText", "\u9084\u539F" },
+            { "AbstractUndoableEdit.redoText", "\u91CD\u505A" },
+            { "AbstractUndoableEdit.undoText", "\u9084\u539F" },
+            { "ColorChooser.cancelText", "\u53D6\u6D88" },
+            { "ColorChooser.hsbBlueText", "B" },
+            { "ColorChooser.hsbBrightnessText", "B" },
+            { "ColorChooser.hsbDisplayedMnemonicIndex", "0" },
+            { "ColorChooser.hsbGreenText", "G" },
+            { "ColorChooser.hsbHueText", "H" },
+            { "ColorChooser.hsbMnemonic", "72" },
+            { "ColorChooser.hsbNameText", "HSB" },
+            { "ColorChooser.hsbRedText", "R" },
+            { "ColorChooser.hsbSaturationText", "S" },
+            { "ColorChooser.okText", "\u78BA\u5B9A" },
+            { "ColorChooser.previewText", "\u9810\u89BD" },
+            { "ColorChooser.resetMnemonic", "82" },
+            { "ColorChooser.resetText", "\u91CD\u8A2D(R)" },
+            { "ColorChooser.rgbBlueMnemonic", "66" },
+            { "ColorChooser.rgbBlueText", "\u85CD\u8272(B)" },
+            { "ColorChooser.rgbDisplayedMnemonicIndex", "1" },
+            { "ColorChooser.rgbGreenMnemonic", "78" },
+            { "ColorChooser.rgbGreenText", "\u7DA0\u8272(N)" },
+            { "ColorChooser.rgbMnemonic", "71" },
+            { "ColorChooser.rgbNameText", "RGB" },
+            { "ColorChooser.rgbRedMnemonic", "68" },
+            { "ColorChooser.rgbRedText", "\u7D05\u8272(D)" },
+            { "ColorChooser.sampleText", "\u7BC4\u4F8B\u6587\u5B57  \u7BC4\u4F8B\u6587\u5B57" },
+            { "ColorChooser.swatchesDisplayedMnemonicIndex", "4" },
+            { "ColorChooser.swatchesMnemonic", "83" },
+            { "ColorChooser.swatchesNameText", "\u8ABF\u8272\u677F(S)" },
+            { "ColorChooser.swatchesRecentText", "\u6700\u65B0\u9078\u64C7:" },
+            { "ComboBox.togglePopupText", "\u5207\u63DB\u5373\u73FE" },
+            { "FileChooser.acceptAllFileFilterText", "\u6240\u6709\u6A94\u6848" },
+            { "FileChooser.cancelButtonMnemonic", "67" },
+            { "FileChooser.cancelButtonText", "\u53D6\u6D88" },
+            { "FileChooser.cancelButtonToolTipText", "\u4E2D\u65B7\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u5C0D\u8A71\u65B9\u584A" },
+            { "FileChooser.directoryDescriptionText", "\u76EE\u9304" },
+            { "FileChooser.directoryOpenButtonMnemonic", "79" },
+            { "FileChooser.directoryOpenButtonText", "\u958B\u555F(O)" },
+            { "FileChooser.directoryOpenButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u76EE\u9304" },
+            { "FileChooser.fileDescriptionText", "\u4E00\u822C\u6A94\u6848" },
+            { "FileChooser.fileSizeGigaBytes", "{0} GB" },
+            { "FileChooser.fileSizeKiloBytes", "{0} KB" },
+            { "FileChooser.fileSizeMegaBytes", "{0} MB" },
+            { "FileChooser.helpButtonMnemonic", "72" },
+            { "FileChooser.helpButtonText", "\u8AAA\u660E(H)" },
+            { "FileChooser.helpButtonToolTipText", "\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E" },
+            { "FileChooser.newFolderErrorSeparator", ": " },
+            { "FileChooser.newFolderErrorText", "\u5EFA\u7ACB\u65B0\u6A94\u6848\u593E\u6642\u767C\u751F\u932F\u8AA4" },
+            { "FileChooser.openButtonMnemonic", "79" },
+            { "FileChooser.openButtonText", "\u958B\u555F" },
+            { "FileChooser.openButtonToolTipText", "\u958B\u555F\u9078\u53D6\u7684\u6A94\u6848" },
+            { "FileChooser.openDialogTitleText", "\u958B\u555F" },
+            { "FileChooser.other.newFolder", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.other.newFolder.subsequent", "\u65B0\u8CC7\u6599\u593E.{0}" },
+            { "FileChooser.saveButtonMnemonic", "83" },
+            { "FileChooser.saveButtonText", "\u5132\u5B58" },
+            { "FileChooser.saveButtonToolTipText", "\u5132\u5B58\u9078\u53D6\u7684\u6A94\u6848" },
+            { "FileChooser.saveDialogTitleText", "\u5132\u5B58" },
+            { "FileChooser.updateButtonMnemonic", "85" },
+            { "FileChooser.updateButtonText", "\u66F4\u65B0(U)" },
+            { "FileChooser.updateButtonToolTipText", "\u66F4\u65B0\u76EE\u9304\u6E05\u55AE" },
+            { "FileChooser.win32.newFolder", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.win32.newFolder.subsequent", "\u65B0\u8CC7\u6599\u593E ({0})" },
+            { "FormView.browseFileButtonText", "\u700F\u89BD..." },
+            { "FormView.resetButtonText", "\u91CD\u8A2D" },
+            { "FormView.submitButtonText", "\u63D0\u51FA\u67E5\u8A62" },
+            { "InternalFrame.closeButtonToolTip", "\u95DC\u9589" },
+            { "InternalFrame.iconButtonToolTip", "\u6700\u5C0F\u5316" },
+            { "InternalFrame.maxButtonToolTip", "\u6700\u5927\u5316" },
+            { "InternalFrame.restoreButtonToolTip", "\u5FA9\u539F" },
+            { "InternalFrameTitlePane.closeButtonAccessibleName", "\u95DC\u9589" },
+            { "InternalFrameTitlePane.closeButtonText", "\u95DC\u9589" },
+            { "InternalFrameTitlePane.iconifyButtonAccessibleName", "\u5716\u793A\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonAccessibleName", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.maximizeButtonText", "\u6700\u5927\u5316" },
+            { "InternalFrameTitlePane.minimizeButtonText", "\u6700\u5C0F\u5316" },
+            { "InternalFrameTitlePane.moveButtonText", "\u79FB\u52D5" },
+            { "InternalFrameTitlePane.restoreButtonText", "\u5FA9\u539F" },
+            { "InternalFrameTitlePane.sizeButtonText", "\u5927\u5C0F" },
+            { "IsindexView.prompt", "\u9019\u662F\u4E00\u500B\u53EF\u641C\u5C0B\u7684\u7D22\u5F15\u3002\u8F38\u5165\u641C\u5C0B\u95DC\u9375\u5B57\uFF1A" },
+            { "OptionPane.cancelButtonMnemonic", "0" },
+            { "OptionPane.cancelButtonText", "\u53D6\u6D88" },
+            { "OptionPane.inputDialogTitle", "\u8F38\u5165" },
+            { "OptionPane.messageDialogTitle", "\u8A0A\u606F" },
+            { "OptionPane.noButtonMnemonic", "78" },
+            { "OptionPane.noButtonText", "\u5426(N)" },
+            { "OptionPane.okButtonMnemonic", "0" },
+            { "OptionPane.okButtonText", "\u78BA\u5B9A" },
+            { "OptionPane.titleText", "\u9078\u53D6\u4E00\u500B\u9078\u9805" },
+            { "OptionPane.yesButtonMnemonic", "89" },
+            { "OptionPane.yesButtonText", "\u662F(Y)" },
+            { "PrintingDialog.abortButtonDisplayedMnemonicIndex", "0" },
+            { "PrintingDialog.abortButtonMnemonic", "65" },
+            { "PrintingDialog.abortButtonText", "\u4E2D\u65B7(A)" },
+            { "PrintingDialog.abortButtonToolTipText", "\u4E2D\u65B7\u5217\u5370" },
+            { "PrintingDialog.contentAbortingText", "\u6B63\u5728\u4E2D\u65B7\u5217\u5370..." },
+            { "PrintingDialog.contentInitialText", "\u6B63\u5728\u5217\u5370..." },
+            { "PrintingDialog.contentProgressText", "\u5DF2\u5217\u5370\u7684\u9801\u9762 {0}..." },
+            { "PrintingDialog.titleAbortingText", "\u5217\u5370 (\u4E2D\u65B7)" },
+            { "PrintingDialog.titleProgressText", "\u5217\u5370" },
+            { "ProgressMonitor.progressText", "\u9032\u5EA6..." },
+            { "SplitPane.leftButtonText", "\u5DE6\u6309\u9215" },
+            { "SplitPane.rightButtonText", "\u53F3\u6309\u9215" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Details" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Details" },
+            { "FileChooser.detailsViewButtonToolTipText", "Details" },
+            { "FileChooser.fileAttrHeaderText", "Attributes" },
+            { "FileChooser.fileDateHeaderText", "Modified" },
+            { "FileChooser.fileNameHeaderText", "Name" },
+            { "FileChooser.fileNameLabelText", "File Name:" },
+            { "FileChooser.fileSizeHeaderText", "Size" },
+            { "FileChooser.fileTypeHeaderText", "Type" },
+            { "FileChooser.filesOfTypeLabelText", "Files of Type:" },
+            { "FileChooser.homeFolderAccessibleName", "Home" },
+            { "FileChooser.homeFolderToolTipText", "Home" },
+            { "FileChooser.listViewActionLabelText", "List" },
+            { "FileChooser.listViewButtonAccessibleName", "List" },
+            { "FileChooser.listViewButtonToolTipText", "List" },
+            { "FileChooser.lookInLabelText", "Look In:" },
+            { "FileChooser.newFolderAccessibleName", "New Folder" },
+            { "FileChooser.newFolderActionLabelText", "New Folder" },
+            { "FileChooser.newFolderToolTipText", "Create New Folder" },
+            { "FileChooser.refreshActionLabelText", "Refresh" },
+            { "FileChooser.saveInLabelText", "Save In:" },
+            { "FileChooser.upFolderAccessibleName", "Up" },
+            { "FileChooser.upFolderToolTipText", "Up One Level" },
+            { "FileChooser.viewMenuLabelText", "View" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "Close" },
+            { "MetalTitlePane.iconifyMnemonic", "69" },
+            { "MetalTitlePane.iconifyTitle", "Minimize" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "Maximize" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "Restore" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Einzelheiten" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Einzelheiten" },
+            { "FileChooser.detailsViewButtonToolTipText", "Einzelheiten" },
+            { "FileChooser.fileAttrHeaderText", "Attribut" },
+            { "FileChooser.fileDateHeaderText", "Ge\u00E4ndert" },
+            { "FileChooser.fileNameHeaderText", "Dateiname" },
+            { "FileChooser.fileNameLabelText", "Dateiname:" },
+            { "FileChooser.fileSizeHeaderText", "Gr\u00F6\u00DFe" },
+            { "FileChooser.fileTypeHeaderText", "Typ" },
+            { "FileChooser.filesOfTypeLabelText", "Dateityp:" },
+            { "FileChooser.homeFolderAccessibleName", "Home" },
+            { "FileChooser.homeFolderToolTipText", "Home" },
+            { "FileChooser.listViewActionLabelText", "Liste" },
+            { "FileChooser.listViewButtonAccessibleName", "Liste" },
+            { "FileChooser.listViewButtonToolTipText", "Liste" },
+            { "FileChooser.lookInLabelText", "Suchen in:" },
+            { "FileChooser.newFolderAccessibleName", "Neuer Ordner" },
+            { "FileChooser.newFolderActionLabelText", "Neuer Ordner" },
+            { "FileChooser.newFolderToolTipText", "Neuen Ordner erstellen" },
+            { "FileChooser.refreshActionLabelText", "Aktualisieren" },
+            { "FileChooser.saveInLabelText", "Speichern in:" },
+            { "FileChooser.upFolderAccessibleName", "H\u00F6her" },
+            { "FileChooser.upFolderToolTipText", "Eine Ebene h\u00F6her" },
+            { "FileChooser.viewMenuLabelText", "Ansicht" },
+            { "MetalTitlePane.closeMnemonic", "83" },
+            { "MetalTitlePane.closeTitle", "Schlie\u00DFen" },
+            { "MetalTitlePane.iconifyMnemonic", "77" },
+            { "MetalTitlePane.iconifyTitle", "Minimieren" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "Maximieren" },
+            { "MetalTitlePane.restoreMnemonic", "87" },
+            { "MetalTitlePane.restoreTitle", "Wiederherstellen" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Detalles" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Detalles" },
+            { "FileChooser.detailsViewButtonToolTipText", "Detalles" },
+            { "FileChooser.fileAttrHeaderText", "Atributos" },
+            { "FileChooser.fileDateHeaderText", "Modificado" },
+            { "FileChooser.fileNameHeaderText", "Nombre" },
+            { "FileChooser.fileNameLabelText", "Nombre de archivo:" },
+            { "FileChooser.fileSizeHeaderText", "Tama\u00F1o" },
+            { "FileChooser.fileTypeHeaderText", "Tipo" },
+            { "FileChooser.filesOfTypeLabelText", "Archivos de tipo:" },
+            { "FileChooser.homeFolderAccessibleName", "Principal" },
+            { "FileChooser.homeFolderToolTipText", "Principal" },
+            { "FileChooser.listViewActionLabelText", "Lista" },
+            { "FileChooser.listViewButtonAccessibleName", "Lista" },
+            { "FileChooser.listViewButtonToolTipText", "Lista" },
+            { "FileChooser.lookInLabelText", "Buscar en:" },
+            { "FileChooser.newFolderAccessibleName", "Carpeta nueva" },
+            { "FileChooser.newFolderActionLabelText", "Carpeta nueva" },
+            { "FileChooser.newFolderToolTipText", "Crear carpeta nueva" },
+            { "FileChooser.refreshActionLabelText", "Renovar" },
+            { "FileChooser.saveInLabelText", "Guardar en:" },
+            { "FileChooser.upFolderAccessibleName", "Arriba" },
+            { "FileChooser.upFolderToolTipText", "Subir un nivel" },
+            { "FileChooser.viewMenuLabelText", "Ver" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "Cerrar" },
+            { "MetalTitlePane.iconifyMnemonic", "77" },
+            { "MetalTitlePane.iconifyTitle", "Minimizar" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "Maximizar" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "Restaurar" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "D\u00E9tails" },
+            { "FileChooser.detailsViewButtonAccessibleName", "D\u00E9tails" },
+            { "FileChooser.detailsViewButtonToolTipText", "D\u00E9tails" },
+            { "FileChooser.fileAttrHeaderText", "Attributs" },
+            { "FileChooser.fileDateHeaderText", "Modifi\u00E9" },
+            { "FileChooser.fileNameHeaderText", "Nom" },
+            { "FileChooser.fileNameLabelText", "Nom de fichier :" },
+            { "FileChooser.fileSizeHeaderText", "Taille" },
+            { "FileChooser.fileTypeHeaderText", "Type" },
+            { "FileChooser.filesOfTypeLabelText", "Fichiers du type :" },
+            { "FileChooser.homeFolderAccessibleName", "Accueil" },
+            { "FileChooser.homeFolderToolTipText", "R\u00E9pertoire d'accueil" },
+            { "FileChooser.listViewActionLabelText", "Liste" },
+            { "FileChooser.listViewButtonAccessibleName", "Liste" },
+            { "FileChooser.listViewButtonToolTipText", "Liste" },
+            { "FileChooser.lookInLabelText", "Rechercher dans :" },
+            { "FileChooser.newFolderAccessibleName", "Nouveau dossier" },
+            { "FileChooser.newFolderActionLabelText", "Nouveau dossier" },
+            { "FileChooser.newFolderToolTipText", "Cr\u00E9e un nouveau dossier." },
+            { "FileChooser.refreshActionLabelText", "Actualiser" },
+            { "FileChooser.saveInLabelText", "Enregistrer dans :" },
+            { "FileChooser.upFolderAccessibleName", "Vers le haut" },
+            { "FileChooser.upFolderToolTipText", "Remonte d'un niveau." },
+            { "FileChooser.viewMenuLabelText", "Affichage" },
+            { "MetalTitlePane.closeMnemonic", "70" },
+            { "MetalTitlePane.closeTitle", "Fermer" },
+            { "MetalTitlePane.iconifyMnemonic", "68" },
+            { "MetalTitlePane.iconifyTitle", "R\u00E9duire" },
+            { "MetalTitlePane.maximizeMnemonic", "65" },
+            { "MetalTitlePane.maximizeTitle", "Agrandir" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "Restaurer" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Dettagli" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Dettagli" },
+            { "FileChooser.detailsViewButtonToolTipText", "Dettagli" },
+            { "FileChooser.fileAttrHeaderText", "Attributi" },
+            { "FileChooser.fileDateHeaderText", "Modificato" },
+            { "FileChooser.fileNameHeaderText", "Nome" },
+            { "FileChooser.fileNameLabelText", "Nome file:" },
+            { "FileChooser.fileSizeHeaderText", "Dimensioni" },
+            { "FileChooser.fileTypeHeaderText", "Tipo" },
+            { "FileChooser.filesOfTypeLabelText", "Tipo file:" },
+            { "FileChooser.homeFolderAccessibleName", "Principale" },
+            { "FileChooser.homeFolderToolTipText", "Principale" },
+            { "FileChooser.listViewActionLabelText", "Elenco" },
+            { "FileChooser.listViewButtonAccessibleName", "Elenco" },
+            { "FileChooser.listViewButtonToolTipText", "Elenco" },
+            { "FileChooser.lookInLabelText", "Cerca in:" },
+            { "FileChooser.newFolderAccessibleName", "Nuova cartella" },
+            { "FileChooser.newFolderActionLabelText", "Nuova cartella" },
+            { "FileChooser.newFolderToolTipText", "Crea nuova cartella" },
+            { "FileChooser.refreshActionLabelText", "Aggiorna" },
+            { "FileChooser.saveInLabelText", "Salva in:" },
+            { "FileChooser.upFolderAccessibleName", "Superiore" },
+            { "FileChooser.upFolderToolTipText", "Cartella superiore" },
+            { "FileChooser.viewMenuLabelText", "Visualizza" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "Chiudi" },
+            { "MetalTitlePane.iconifyMnemonic", "68" },
+            { "MetalTitlePane.iconifyTitle", "Riduci a icona" },
+            { "MetalTitlePane.maximizeMnemonic", "73" },
+            { "MetalTitlePane.maximizeTitle", "Ingrandisci" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "Ripristina" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8A73\u7D30" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30" },
+            { "FileChooser.fileAttrHeaderText", "\u5C5E\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u4FEE\u6B63\u65E5" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u524D" },
+            { "FileChooser.fileNameLabelText", "\u30D5\u30A1\u30A4\u30EB\u540D:" },
+            { "FileChooser.fileSizeHeaderText", "\u30B5\u30A4\u30BA" },
+            { "FileChooser.fileTypeHeaderText", "\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7:" },
+            { "FileChooser.homeFolderAccessibleName", "\u30DB\u30FC\u30E0" },
+            { "FileChooser.homeFolderToolTipText", "\u30DB\u30FC\u30E0" },
+            { "FileChooser.listViewActionLabelText", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.listViewButtonAccessibleName", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.listViewButtonToolTipText", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.lookInLabelText", "\u53C2\u7167:" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderToolTipText", "\u30D5\u30A9\u30EB\u30C0\u306E\u65B0\u898F\u4F5C\u6210" },
+            { "FileChooser.refreshActionLabelText", "\u66F4\u65B0" },
+            { "FileChooser.saveInLabelText", "\u4FDD\u5B58:" },
+            { "FileChooser.upFolderAccessibleName", "\u4E0A\u3078" },
+            { "FileChooser.upFolderToolTipText", "1 \u30EC\u30D9\u30EB\u4E0A\u3078" },
+            { "FileChooser.viewMenuLabelText", "\u8868\u793A" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "\u9589\u3058\u308B(C)" },
+            { "MetalTitlePane.iconifyMnemonic", "69" },
+            { "MetalTitlePane.iconifyTitle", "\u6700\u5C0F\u5316(E)" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "\u6700\u5927\u5316(X)" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "\u5FA9\u5143(R)" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\uC790\uC138\uD788" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\uC790\uC138\uD788" },
+            { "FileChooser.detailsViewButtonToolTipText", "\uC790\uC138\uD788" },
+            { "FileChooser.fileAttrHeaderText", "\uC18D\uC131" },
+            { "FileChooser.fileDateHeaderText", "\uC218\uC815" },
+            { "FileChooser.fileNameHeaderText", "\uC774\uB984" },
+            { "FileChooser.fileNameLabelText", "\uD30C\uC77C \uC774\uB984:" },
+            { "FileChooser.fileSizeHeaderText", "\uD06C\uAE30" },
+            { "FileChooser.fileTypeHeaderText", "\uC885\uB958" },
+            { "FileChooser.filesOfTypeLabelText", "\uD30C\uC77C \uC885\uB958:" },
+            { "FileChooser.homeFolderAccessibleName", "\uD648" },
+            { "FileChooser.homeFolderToolTipText", "\uD648" },
+            { "FileChooser.listViewActionLabelText", "\uBAA9\uB85D" },
+            { "FileChooser.listViewButtonAccessibleName", "\uBAA9\uB85D" },
+            { "FileChooser.listViewButtonToolTipText", "\uBAA9\uB85D" },
+            { "FileChooser.lookInLabelText", "\uAC80\uC0C9 \uC704\uCE58:" },
+            { "FileChooser.newFolderAccessibleName", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.newFolderActionLabelText", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.newFolderToolTipText", "\uC0C8 \uD3F4\uB354 \uC791\uC131" },
+            { "FileChooser.refreshActionLabelText", "\uAC31\uC2E0" },
+            { "FileChooser.saveInLabelText", "\uC800\uC7A5 \uC704\uCE58" },
+            { "FileChooser.upFolderAccessibleName", "\uC704" },
+            { "FileChooser.upFolderToolTipText", "\uD55C \uB2E8\uACC4 \uC704\uB85C" },
+            { "FileChooser.viewMenuLabelText", "\uBCF4\uAE30" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "\uB2EB\uAE30(C)" },
+            { "MetalTitlePane.iconifyMnemonic", "69" },
+            { "MetalTitlePane.iconifyTitle", "\uCD5C\uC18C\uD654(E)" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "\uCD5C\uB300\uD654(X)" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "\uBCF5\uC6D0(R)" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Detaljerad lista" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Detaljerad lista" },
+            { "FileChooser.detailsViewButtonToolTipText", "Detaljerad lista" },
+            { "FileChooser.fileAttrHeaderText", "Attribut" },
+            { "FileChooser.fileDateHeaderText", "\u00C4ndrad" },
+            { "FileChooser.fileNameHeaderText", "Namn" },
+            { "FileChooser.fileNameLabelText", "Filnamn:" },
+            { "FileChooser.fileSizeHeaderText", "Storlek" },
+            { "FileChooser.fileTypeHeaderText", "Typ" },
+            { "FileChooser.filesOfTypeLabelText", "Filformat:" },
+            { "FileChooser.homeFolderAccessibleName", "Hem" },
+            { "FileChooser.homeFolderToolTipText", "Hem" },
+            { "FileChooser.listViewActionLabelText", "Lista" },
+            { "FileChooser.listViewButtonAccessibleName", "Lista" },
+            { "FileChooser.listViewButtonToolTipText", "Lista" },
+            { "FileChooser.lookInLabelText", "S\u00F6k i:" },
+            { "FileChooser.newFolderAccessibleName", "Ny mapp" },
+            { "FileChooser.newFolderActionLabelText", "Ny mapp" },
+            { "FileChooser.newFolderToolTipText", "Skapa ny mapp" },
+            { "FileChooser.refreshActionLabelText", "Uppdatera" },
+            { "FileChooser.saveInLabelText", "Spara i:" },
+            { "FileChooser.upFolderAccessibleName", "Upp" },
+            { "FileChooser.upFolderToolTipText", "Upp en niv\u00E5" },
+            { "FileChooser.viewMenuLabelText", "Vy" },
+            { "MetalTitlePane.closeMnemonic", "83" },
+            { "MetalTitlePane.closeTitle", "St\u00E4ng" },
+            { "MetalTitlePane.iconifyMnemonic", "77" },
+            { "MetalTitlePane.iconifyTitle", "Minimera" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "Maximera" },
+            { "MetalTitlePane.restoreMnemonic", "84" },
+            { "MetalTitlePane.restoreTitle", "\u00C5terst\u00E4ll" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.fileAttrHeaderText", "\u5C5E\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u4FEE\u6B63\u7248" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u79F0" },
+            { "FileChooser.fileNameLabelText", "\u6587\u4EF6\u540D\uFF1A" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u7C7B\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6587\u4EF6\u7C7B\u578B\uFF1A" },
+            { "FileChooser.homeFolderAccessibleName", "\u8D77\u59CB\u76EE\u5F55" },
+            { "FileChooser.homeFolderToolTipText", "\u8D77\u59CB\u76EE\u5F55" },
+            { "FileChooser.listViewActionLabelText", "\u5217\u8868" },
+            { "FileChooser.listViewButtonAccessibleName", "\u5217\u8868" },
+            { "FileChooser.listViewButtonToolTipText", "\u5217\u8868" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFF1A" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.newFolderToolTipText", "\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939" },
+            { "FileChooser.refreshActionLabelText", "\u5237\u65B0" },
+            { "FileChooser.saveInLabelText", "\u4FDD\u5B58\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5411\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5411\u4E0A\u4E00\u5C42" },
+            { "FileChooser.viewMenuLabelText", "\u89C6\u56FE" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "\u5173\u95ED (C)" },
+            { "MetalTitlePane.iconifyMnemonic", "69" },
+            { "MetalTitlePane.iconifyTitle", "\u6700\u5C0F\u5316 (E)" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "\u6700\u5927\u5316 (X)" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "\u6062\u590D (R)" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.fileAttrHeaderText", "\u5C6C\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u5DF2\u4FEE\u6539" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u7A31" },
+            { "FileChooser.fileNameLabelText", "\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u985E\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6A94\u6848\u985E\u578B\uFE55" },
+            { "FileChooser.homeFolderAccessibleName", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.homeFolderToolTipText", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.listViewActionLabelText", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonAccessibleName", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonToolTipText", "\u6E05\u55AE" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFE55" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderToolTipText", "\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.refreshActionLabelText", "\u66F4\u65B0" },
+            { "FileChooser.saveInLabelText", "\u5132\u5B58\u65BC\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5F80\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5F80\u4E0A\u4E00\u5C64" },
+            { "FileChooser.viewMenuLabelText", "\u6AA2\u8996" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "\u95DC\u9589(C)" },
+            { "MetalTitlePane.iconifyMnemonic", "69" },
+            { "MetalTitlePane.iconifyTitle", "\u6700\u5C0F\u5316(E)" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "\u6700\u5927\u5316(X)" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "\u5FA9\u539F(R)" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/metal/resources/metal_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package com.sun.swing.internal.plaf.metal.resources;
+
+import java.util.ListResourceBundle;
+
+public final class metal_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.fileAttrHeaderText", "\u5C6C\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u5DF2\u4FEE\u6539" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u7A31" },
+            { "FileChooser.fileNameLabelText", "\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u985E\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6A94\u6848\u985E\u578B\uFE55" },
+            { "FileChooser.homeFolderAccessibleName", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.homeFolderToolTipText", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.listViewActionLabelText", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonAccessibleName", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonToolTipText", "\u6E05\u55AE" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFE55" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderToolTipText", "\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.refreshActionLabelText", "\u66F4\u65B0" },
+            { "FileChooser.saveInLabelText", "\u5132\u5B58\u65BC\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5F80\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5F80\u4E0A\u4E00\u5C64" },
+            { "FileChooser.viewMenuLabelText", "\u6AA2\u8996" },
+            { "MetalTitlePane.closeMnemonic", "67" },
+            { "MetalTitlePane.closeTitle", "\u95DC\u9589(C)" },
+            { "MetalTitlePane.iconifyMnemonic", "69" },
+            { "MetalTitlePane.iconifyTitle", "\u6700\u5C0F\u5316(E)" },
+            { "MetalTitlePane.maximizeMnemonic", "88" },
+            { "MetalTitlePane.maximizeTitle", "\u6700\u5927\u5316(X)" },
+            { "MetalTitlePane.restoreMnemonic", "82" },
+            { "MetalTitlePane.restoreTitle", "\u5FA9\u539F(R)" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "Details" },
+            { "FileChooser.detailsViewButtonAccessibleName", "Details" },
+            { "FileChooser.detailsViewButtonToolTipText", "Details" },
+            { "FileChooser.fileAttrHeaderText", "Attributes" },
+            { "FileChooser.fileDateHeaderText", "Modified" },
+            { "FileChooser.fileNameHeaderText", "Name" },
+            { "FileChooser.fileNameLabelText", "File Name:" },
+            { "FileChooser.fileSizeHeaderText", "Size" },
+            { "FileChooser.fileTypeHeaderText", "Type" },
+            { "FileChooser.filesOfTypeLabelText", "Files of Type:" },
+            { "FileChooser.homeFolderAccessibleName", "Home" },
+            { "FileChooser.homeFolderToolTipText", "Home" },
+            { "FileChooser.listViewActionLabelText", "List" },
+            { "FileChooser.listViewButtonAccessibleName", "List" },
+            { "FileChooser.listViewButtonToolTipText", "List" },
+            { "FileChooser.lookInLabelText", "Look In:" },
+            { "FileChooser.newFolderAccessibleName", "New Folder" },
+            { "FileChooser.newFolderActionLabelText", "New Folder" },
+            { "FileChooser.newFolderToolTipText", "Create New Folder" },
+            { "FileChooser.refreshActionLabelText", "Refresh" },
+            { "FileChooser.saveInLabelText", "Save In:" },
+            { "FileChooser.upFolderAccessibleName", "Up" },
+            { "FileChooser.upFolderToolTipText", "Up One Level" },
+            { "FileChooser.viewMenuLabelText", "View" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "Einzelheiten" },
+            { "FileChooser.detailsViewButtonToolTipText", "Einzelheiten" },
+            { "FileChooser.fileAttrHeaderText", "Attribut" },
+            { "FileChooser.fileDateHeaderText", "Ge\u00E4ndert" },
+            { "FileChooser.fileNameHeaderText", "Dateiname" },
+            { "FileChooser.fileNameLabelText", "Dateiname:" },
+            { "FileChooser.fileSizeHeaderText", "Gr\u00F6\u00DFe" },
+            { "FileChooser.fileTypeHeaderText", "Typ" },
+            { "FileChooser.filesOfTypeLabelText", "Dateityp:" },
+            { "FileChooser.homeFolderAccessibleName", "Home" },
+            { "FileChooser.homeFolderToolTipText", "Home" },
+            { "FileChooser.listViewButtonAccessibleName", "Liste" },
+            { "FileChooser.listViewButtonToolTipText", "Liste" },
+            { "FileChooser.lookInLabelText", "Suchen in:" },
+            { "FileChooser.newFolderAccessibleName", "Neuer Ordner" },
+            { "FileChooser.newFolderToolTipText", "Neuen Ordner erstellen" },
+            { "FileChooser.saveInLabelText", "Speichern in:" },
+            { "FileChooser.upFolderAccessibleName", "H\u00F6her" },
+            { "FileChooser.upFolderToolTipText", "Eine Ebene h\u00F6her" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "Detalles" },
+            { "FileChooser.detailsViewButtonToolTipText", "Detalles" },
+            { "FileChooser.fileAttrHeaderText", "Atributos" },
+            { "FileChooser.fileDateHeaderText", "Modificado" },
+            { "FileChooser.fileNameHeaderText", "Nombre" },
+            { "FileChooser.fileNameLabelText", "Nombre de archivo:" },
+            { "FileChooser.fileSizeHeaderText", "Tama\u00F1o" },
+            { "FileChooser.fileTypeHeaderText", "Tipo" },
+            { "FileChooser.filesOfTypeLabelText", "Archivos de tipo:" },
+            { "FileChooser.homeFolderAccessibleName", "Principal" },
+            { "FileChooser.homeFolderToolTipText", "Principal" },
+            { "FileChooser.listViewButtonAccessibleName", "Lista" },
+            { "FileChooser.listViewButtonToolTipText", "Lista" },
+            { "FileChooser.lookInLabelText", "Buscar en:" },
+            { "FileChooser.newFolderAccessibleName", "Carpeta nueva" },
+            { "FileChooser.newFolderToolTipText", "Crear carpeta nueva" },
+            { "FileChooser.saveInLabelText", "Guardar en:" },
+            { "FileChooser.upFolderAccessibleName", "Arriba" },
+            { "FileChooser.upFolderToolTipText", "Subir un nivel" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "D\u00E9tails" },
+            { "FileChooser.detailsViewButtonToolTipText", "D\u00E9tails" },
+            { "FileChooser.fileAttrHeaderText", "Attributs" },
+            { "FileChooser.fileDateHeaderText", "Modifi\u00E9" },
+            { "FileChooser.fileNameHeaderText", "Nom" },
+            { "FileChooser.fileNameLabelText", "Nom de fichier :" },
+            { "FileChooser.fileSizeHeaderText", "Taille" },
+            { "FileChooser.fileTypeHeaderText", "Type" },
+            { "FileChooser.filesOfTypeLabelText", "Fichiers du type :" },
+            { "FileChooser.homeFolderAccessibleName", "Accueil" },
+            { "FileChooser.homeFolderToolTipText", "R\u00E9pertoire d'accueil" },
+            { "FileChooser.listViewButtonAccessibleName", "Liste" },
+            { "FileChooser.listViewButtonToolTipText", "Liste" },
+            { "FileChooser.lookInLabelText", "Rechercher dans :" },
+            { "FileChooser.newFolderAccessibleName", "Nouveau dossier" },
+            { "FileChooser.newFolderToolTipText", "Cr\u00E9e un nouveau dossier." },
+            { "FileChooser.saveInLabelText", "Enregistrer dans :" },
+            { "FileChooser.upFolderAccessibleName", "Vers le haut" },
+            { "FileChooser.upFolderToolTipText", "Remonte d'un niveau." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "Dettagli" },
+            { "FileChooser.detailsViewButtonToolTipText", "Dettagli" },
+            { "FileChooser.fileAttrHeaderText", "Attributi" },
+            { "FileChooser.fileDateHeaderText", "Modificato" },
+            { "FileChooser.fileNameHeaderText", "Nome" },
+            { "FileChooser.fileNameLabelText", "Nome file:" },
+            { "FileChooser.fileSizeHeaderText", "Dimensioni" },
+            { "FileChooser.fileTypeHeaderText", "Tipo" },
+            { "FileChooser.filesOfTypeLabelText", "Tipo file:" },
+            { "FileChooser.homeFolderAccessibleName", "Principale" },
+            { "FileChooser.homeFolderToolTipText", "Principale" },
+            { "FileChooser.listViewButtonAccessibleName", "Elenco" },
+            { "FileChooser.listViewButtonToolTipText", "Elenco" },
+            { "FileChooser.lookInLabelText", "Cerca in:" },
+            { "FileChooser.newFolderAccessibleName", "Nuova cartella" },
+            { "FileChooser.newFolderToolTipText", "Crea nuova cartella" },
+            { "FileChooser.saveInLabelText", "Salva in:" },
+            { "FileChooser.upFolderAccessibleName", "Superiore" },
+            { "FileChooser.upFolderToolTipText", "Cartella superiore" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\u8A73\u7D30" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30" },
+            { "FileChooser.fileAttrHeaderText", "\u5C5E\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u4FEE\u6B63\u65E5" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u524D" },
+            { "FileChooser.fileNameLabelText", "\u30D5\u30A1\u30A4\u30EB\u540D:" },
+            { "FileChooser.fileSizeHeaderText", "\u30B5\u30A4\u30BA" },
+            { "FileChooser.fileTypeHeaderText", "\u578B " },
+            { "FileChooser.filesOfTypeLabelText", "\u30D5\u30A1\u30A4\u30EB\u30BF\u30A4\u30D7:" },
+            { "FileChooser.homeFolderAccessibleName", "\u30DB\u30FC\u30E0" },
+            { "FileChooser.homeFolderToolTipText", "\u30DB\u30FC\u30E0" },
+            { "FileChooser.listViewActionLabelText", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.listViewButtonAccessibleName", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.listViewButtonToolTipText", "\u30EA\u30B9\u30C8" },
+            { "FileChooser.lookInLabelText", "\u53C2\u7167:" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderActionLabelText", "\u65B0\u898F\u30D5\u30A9\u30EB\u30C0" },
+            { "FileChooser.newFolderToolTipText", "\u30D5\u30A9\u30EB\u30C0\u306E\u65B0\u898F\u4F5C\u6210" },
+            { "FileChooser.refreshActionLabelText", "\u66F4\u65B0" },
+            { "FileChooser.saveInLabelText", "\u4FDD\u5B58:" },
+            { "FileChooser.upFolderAccessibleName", "\u4E0A\u3078" },
+            { "FileChooser.upFolderToolTipText", "1 \u30EC\u30D9\u30EB\u4E0A\u3078" },
+            { "FileChooser.viewMenuLabelText", "\u8868\u793A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewActionLabelText", "\uC790\uC138\uD788" },
+            { "FileChooser.detailsViewButtonAccessibleName", "\uC790\uC138\uD788" },
+            { "FileChooser.detailsViewButtonToolTipText", "\uC790\uC138\uD788" },
+            { "FileChooser.fileAttrHeaderText", "\uC18D\uC131" },
+            { "FileChooser.fileDateHeaderText", "\uC218\uC815" },
+            { "FileChooser.fileNameHeaderText", "\uC774\uB984" },
+            { "FileChooser.fileNameLabelText", "\uD30C\uC77C \uC774\uB984:" },
+            { "FileChooser.fileSizeHeaderText", "\uD06C\uAE30" },
+            { "FileChooser.fileTypeHeaderText", "\uC885\uB958" },
+            { "FileChooser.filesOfTypeLabelText", "\uD30C\uC77C \uC885\uB958:" },
+            { "FileChooser.homeFolderAccessibleName", "\uD648" },
+            { "FileChooser.homeFolderToolTipText", "\uD648" },
+            { "FileChooser.listViewActionLabelText", "\uBAA9\uB85D" },
+            { "FileChooser.listViewButtonAccessibleName", "\uBAA9\uB85D" },
+            { "FileChooser.listViewButtonToolTipText", "\uBAA9\uB85D" },
+            { "FileChooser.lookInLabelText", "\uAC80\uC0C9 \uC704\uCE58:" },
+            { "FileChooser.newFolderAccessibleName", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.newFolderActionLabelText", "\uC0C8 \uD3F4\uB354" },
+            { "FileChooser.newFolderToolTipText", "\uC0C8 \uD3F4\uB354 \uC791\uC131" },
+            { "FileChooser.refreshActionLabelText", "\uAC31\uC2E0" },
+            { "FileChooser.saveInLabelText", "\uC800\uC7A5 \uC704\uCE58" },
+            { "FileChooser.upFolderAccessibleName", "\uC704" },
+            { "FileChooser.upFolderToolTipText", "\uD55C \uB2E8\uACC4 \uC704\uB85C" },
+            { "FileChooser.viewMenuLabelText", "\uBCF4\uAE30" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "Detaljerad lista" },
+            { "FileChooser.detailsViewButtonToolTipText", "Detaljerad lista" },
+            { "FileChooser.fileAttrHeaderText", "Attribut" },
+            { "FileChooser.fileDateHeaderText", "\u00C4ndrad" },
+            { "FileChooser.fileNameHeaderText", "Namn" },
+            { "FileChooser.fileNameLabelText", "Filnamn:" },
+            { "FileChooser.fileSizeHeaderText", "Storlek" },
+            { "FileChooser.fileTypeHeaderText", "Typ" },
+            { "FileChooser.filesOfTypeLabelText", "Filformat:" },
+            { "FileChooser.homeFolderAccessibleName", "Hem" },
+            { "FileChooser.homeFolderToolTipText", "Hem" },
+            { "FileChooser.listViewButtonAccessibleName", "Lista" },
+            { "FileChooser.listViewButtonToolTipText", "Lista" },
+            { "FileChooser.lookInLabelText", "S\u00F6k i:" },
+            { "FileChooser.newFolderAccessibleName", "Ny mapp" },
+            { "FileChooser.newFolderToolTipText", "Skapa ny mapp" },
+            { "FileChooser.saveInLabelText", "Spara i:" },
+            { "FileChooser.upFolderAccessibleName", "Upp" },
+            { "FileChooser.upFolderToolTipText", "Upp en niv\u00E5" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8BE6\u7EC6\u4FE1\u606F" },
+            { "FileChooser.fileAttrHeaderText", "\u5C5E\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u4FEE\u6B63\u7248" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u79F0" },
+            { "FileChooser.fileNameLabelText", "\u6587\u4EF6\u540D\uFF1A" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u7C7B\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6587\u4EF6\u7C7B\u578B\uFF1A" },
+            { "FileChooser.homeFolderAccessibleName", "\u8D77\u59CB\u76EE\u5F55" },
+            { "FileChooser.homeFolderToolTipText", "\u8D77\u59CB\u76EE\u5F55" },
+            { "FileChooser.listViewButtonAccessibleName", "\u5217\u8868" },
+            { "FileChooser.listViewButtonToolTipText", "\u5217\u8868" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFF1A" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u5EFA\u6587\u4EF6\u5939" },
+            { "FileChooser.newFolderToolTipText", "\u521B\u5EFA\u65B0\u7684\u6587\u4EF6\u5939" },
+            { "FileChooser.saveInLabelText", "\u4FDD\u5B58\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5411\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5411\u4E0A\u4E00\u5C42" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.fileAttrHeaderText", "\u5C6C\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u5DF2\u4FEE\u6539" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u7A31" },
+            { "FileChooser.fileNameLabelText", "\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u985E\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6A94\u6848\u985E\u578B\uFE55" },
+            { "FileChooser.homeFolderAccessibleName", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.homeFolderToolTipText", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.listViewButtonAccessibleName", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonToolTipText", "\u6E05\u55AE" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFE55" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderToolTipText", "\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.saveInLabelText", "\u5132\u5B58\u65BC\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5F80\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5F80\u4E0A\u4E00\u5C64" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/swing/internal/plaf/synth/resources/synth_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package com.sun.swing.internal.plaf.synth.resources;
+
+import java.util.ListResourceBundle;
+
+public final class synth_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "FileChooser.detailsViewButtonAccessibleName", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.detailsViewButtonToolTipText", "\u8A73\u7D30\u8CC7\u8A0A" },
+            { "FileChooser.fileAttrHeaderText", "\u5C6C\u6027" },
+            { "FileChooser.fileDateHeaderText", "\u5DF2\u4FEE\u6539" },
+            { "FileChooser.fileNameHeaderText", "\u540D\u7A31" },
+            { "FileChooser.fileNameLabelText", "\u6A94\u6848\u540D\u7A31\uFE55" },
+            { "FileChooser.fileSizeHeaderText", "\u5927\u5C0F" },
+            { "FileChooser.fileTypeHeaderText", "\u985E\u578B" },
+            { "FileChooser.filesOfTypeLabelText", "\u6A94\u6848\u985E\u578B\uFE55" },
+            { "FileChooser.homeFolderAccessibleName", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.homeFolderToolTipText", "\u4E3B\u76EE\u9304" },
+            { "FileChooser.listViewButtonAccessibleName", "\u6E05\u55AE" },
+            { "FileChooser.listViewButtonToolTipText", "\u6E05\u55AE" },
+            { "FileChooser.lookInLabelText", "\u67E5\u770B\uFE55" },
+            { "FileChooser.newFolderAccessibleName", "\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.newFolderToolTipText", "\u5EFA\u7ACB\u65B0\u8CC7\u6599\u593E" },
+            { "FileChooser.saveInLabelText", "\u5132\u5B58\u65BC\uFF1A" },
+            { "FileChooser.upFolderAccessibleName", "\u5F80\u4E0A" },
+            { "FileChooser.upFolderToolTipText", "\u5F80\u4E0A\u4E00\u5C64" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/apt/resources/apt.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package com.sun.tools.apt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class apt extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "apt.err.BadDeclaration", "Bad declaration created for annotation type {0}" },
+            { "apt.err.CantFindClass", "Could not find class file for {0}" },
+            { "apt.err.DeclarationCreation", "Could not create declaration for annotation type {0}" },
+            { "apt.err.Messager", "{0}" },
+            { "apt.err.error", "error: " },
+            { "apt.err.unsupported.source.version", "Source release {0} is not supported; use release 5 or earlier" },
+            { "apt.err.unsupported.target.version", "Target release {0} is not supported; use release 5 or earlier" },
+            { "apt.misc.Problem", "Problem encountered during annotation processing; \nsee stacktrace below for more information." },
+            { "apt.misc.SunMiscService", "Error finding annotation processor factories; \ncheck META-INF/services information." },
+            { "apt.msg.bug", "An exception has occurred in apt ({0}). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you." },
+            { "apt.msg.usage.footer", "See javac -help for information on javac options." },
+            { "apt.msg.usage.header", "Usage: {0} <apt and javac options> <source files>\nwhere apt options include:" },
+            { "apt.msg.usage.nonstandard.footer", "These options are non-standard and subject to change without notice, \nas is the format of their output." },
+            { "apt.note.Messager", "{0}" },
+            { "apt.opt.A", "Options to pass to annotation processors" },
+            { "apt.opt.XClassesAsDecls", "Treat both class and source files as declarations to process" },
+            { "apt.opt.XListAnnotationTypes", "List found annotation types" },
+            { "apt.opt.XListDeclarations", "List specified and included declarations" },
+            { "apt.opt.XPrintAptRounds", "Print information about initial and recursive apt rounds" },
+            { "apt.opt.XPrintFactoryInfo", "Print information about which annotations a factory is asked to process" },
+            { "apt.opt.arg.class", "<class>" },
+            { "apt.opt.arg.directory", "Specify where to place processor and javac generated class files" },
+            { "apt.opt.classpath", "Specify where to find user class files and annotation processor factories" },
+            { "apt.opt.d", "Specify where to place processor and javac generated class files" },
+            { "apt.opt.factory", "Name of AnnotationProcessorFactory to use; bypasses default discovery process" },
+            { "apt.opt.factorypath", "Specify where to find annotation processor factories" },
+            { "apt.opt.help", "Print a synopsis of standard options; use javac -help for more options" },
+            { "apt.opt.nocompile", "Do not compile source files to class files" },
+            { "apt.opt.print", "Print out textual representation of specified types" },
+            { "apt.opt.proc.flag", "[key[=value]]" },
+            { "apt.opt.s", "Specify where to place processor generated source files" },
+            { "apt.opt.version", "Version information" },
+            { "apt.warn.AnnotationsWithoutProcessors", "Annotation types without processors: {0}" },
+            { "apt.warn.BadFactory", "Bad annotation processor factory: {0} " },
+            { "apt.warn.BadParentDirectory", "Failed to create some parent directory of {0} " },
+            { "apt.warn.CorrespondingClassFile", "A class file corresponding to source file ''{0}'' has already been created." },
+            { "apt.warn.CorrespondingSourceFile", "A source file corresponding to class file ''{0}'' has already been created." },
+            { "apt.warn.FactoryCantInstantiate", "Could not instantiate an instance of factory ''{0}''." },
+            { "apt.warn.FactoryNotFound", "Specified AnnotationProcessorFactory, ''{0}'', not found on search path." },
+            { "apt.warn.FactoryWrongType", "Specified factory, ''{0}'', is not an AnnotationProcessorFactory." },
+            { "apt.warn.FileReopening", "Attempt to create ''{0}'' multiple times" },
+            { "apt.warn.IllegalFileName", "Cannot create file for illegal name ''{0}''." },
+            { "apt.warn.MalformedSupportedString", "Malformed string for annotation support, ''{0}'', returned by factory." },
+            { "apt.warn.Messager", "{0}" },
+            { "apt.warn.NoAnnotationProcessors", "No annotation processors found but annotations present." },
+            { "apt.warn.NoNewFilesAfterRound", "Cannot create file ''{0}'' after a round has ended." },
+            { "apt.warn.NullProcessor", "Factory {0} returned null for an annotation processor." },
+            { "apt.warn.warning", "warning: " },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/apt/resources/apt_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package com.sun.tools.apt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class apt_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "apt.err.BadDeclaration", "\u6CE8\u91C8\u578B {0} \u7528\u306B\u4F5C\u6210\u3055\u308C\u305F\u7121\u52B9\u306A\u5BA3\u8A00\u3067\u3059\u3002" },
+            { "apt.err.CantFindClass", "{0} \u306E\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "apt.err.DeclarationCreation", "\u6CE8\u91C8\u578B {0} \u7528\u306B\u5BA3\u8A00\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "apt.err.Messager", "{0}" },
+            { "apt.err.error", "\u30A8\u30E9\u30FC:" },
+            { "apt.err.unsupported.source.version", "\u30BD\u30FC\u30B9\u30EA\u30EA\u30FC\u30B9 {0} \u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30EA\u30EA\u30FC\u30B9 5 \u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044" },
+            { "apt.err.unsupported.target.version", "\u30BF\u30FC\u30B2\u30C3\u30C8\u30EA\u30EA\u30FC\u30B9 {0} \u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u30EA\u30EA\u30FC\u30B9 5 \u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044" },
+            { "apt.misc.Problem", "\u6CE8\u91C8\u306E\u51E6\u7406\u4E2D\u306B\u554F\u984C\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002\n\u8A73\u7D30\u306B\u3064\u3044\u3066\u306F\u3001\u4E0B\u8A18\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "apt.misc.SunMiscService", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30D5\u30A1\u30AF\u30C8\u30EA\u306E\u691C\u7D22\u30A8\u30E9\u30FC\u3067\u3059\u3002\nMETA-INF/services \u5185\u306E\u60C5\u5831\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "apt.msg.bug", "\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F ({0})\u3002Bug Parade \u306B\u540C\u3058\u30D0\u30B0\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u3054\u78BA\u8A8D\u306E\u4E0A\u3001Java Developer Connection (http://java.sun.com/webapps/bugreport) \u306B\u3066\u30D0\u30B0\u306E\u767B\u9332\u3092\u304A\u9858\u3044\u3044\u305F\u3057\u307E\u3059\u3002 \u30EC\u30DD\u30FC\u30C8\u306B\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u3068\u4E0B\u8A18\u306E\u8A3A\u65AD\u5185\u5BB9\u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\u3054\u5354\u529B\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002" },
+            { "apt.msg.usage.footer", "javac \u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u306F\u3001javac -help \u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "apt.msg.usage.header", "\u4F7F\u7528\u6CD5: {0} <apt \u304A\u3088\u3073 javac \u30AA\u30D7\u30B7\u30E7\u30F3> <\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB>\n\u6B21\u306E apt \u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:" },
+            { "apt.msg.usage.nonstandard.footer", "\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002\n\u8868\u793A\u5F62\u5F0F\u306F\u540C\u3058\u3067\u3059\u3002" },
+            { "apt.note.Messager", "{0}" },
+            { "apt.opt.A", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306B\u6E21\u3055\u308C\u308B\u30AA\u30D7\u30B7\u30E7\u30F3" },
+            { "apt.opt.XClassesAsDecls", "\u30AF\u30E9\u30B9\u3068\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u4E21\u65B9\u3068\u3082\u51E6\u7406\u3059\u308B\u5BA3\u8A00\u3068\u3057\u3066\u51E6\u7406" },
+            { "apt.opt.XListAnnotationTypes", "\u898B\u3064\u304B\u3063\u305F\u6CE8\u91C8\u578B\u3092\u30EA\u30B9\u30C8\u3059\u308B" },
+            { "apt.opt.XListDeclarations", "\u6307\u5B9A\u3055\u308C\u305F\u5BA3\u8A00\u304A\u3088\u3073\u30A4\u30F3\u30AF\u30EB\u30FC\u30C9\u3055\u308C\u305F\u5BA3\u8A00\u3092\u30EA\u30B9\u30C8\u3059\u308B" },
+            { "apt.opt.XPrintAptRounds", "\u521D\u671F\u304A\u3088\u3073\u518D\u5E30 apt \u5F80\u5FA9\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B" },
+            { "apt.opt.XPrintFactoryInfo", "\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u51E6\u7406\u3092\u4F9D\u983C\u3055\u308C\u308B\u6CE8\u91C8\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B" },
+            { "apt.opt.arg.class", "<class>" },
+            { "apt.opt.arg.directory", "\u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073 javac \u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "apt.opt.classpath", "\u30E6\u30FC\u30B6\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30D5\u30A1\u30AF\u30C8\u30EA\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "apt.opt.d", "\u30D7\u30ED\u30BB\u30C3\u30B5\u304A\u3088\u3073 javac \u304C\u751F\u6210\u3057\u305F\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "apt.opt.factory", "\u4F7F\u7528\u3059\u308B AnnotationProcessorFactory \u306E\u540D\u524D\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u691C\u51FA\u51E6\u7406\u3092\u30D0\u30A4\u30D1\u30B9" },
+            { "apt.opt.factorypath", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30D5\u30A1\u30AF\u30C8\u30EA\u306E\u691C\u7D22\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B" },
+            { "apt.opt.help", "\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B\u3002\u8A73\u7D30\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u3064\u3044\u3066\u306F javac -help \u3092\u53C2\u7167" },
+            { "apt.opt.nocompile", "\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u306A\u3044" },
+            { "apt.opt.print", "\u6307\u5B9A\u3057\u305F\u578B\u306E\u30C6\u30AD\u30B9\u30C8\u8868\u793A\u3092\u51FA\u529B\u3059\u308B" },
+            { "apt.opt.proc.flag", "[key[=value]]" },
+            { "apt.opt.s", "\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u751F\u6210\u3057\u305F\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u7F6E\u304F\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "apt.opt.version", "\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831" },
+            { "apt.warn.AnnotationsWithoutProcessors", "\u30D7\u30ED\u30BB\u30C3\u30B5\u306A\u3057\u306E\u6CE8\u91C8\u578B\u3067\u3059: {0}" },
+            { "apt.warn.BadFactory", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u7121\u52B9\u3067\u3059: {0} " },
+            { "apt.warn.BadParentDirectory", "{0} \u306E\u3044\u304F\u3064\u304B\u306E\u89AA\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u4F5C\u6210\u306B\u5931\u6557\u3057\u307E\u3057\u305F " },
+            { "apt.warn.CorrespondingClassFile", "\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB ''{0}'' \u306B\u5BFE\u5FDC\u3059\u308B\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u4F5C\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "apt.warn.CorrespondingSourceFile", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB ''{0}'' \u306B\u5BFE\u5FDC\u3059\u308B\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u4F5C\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "apt.warn.FactoryCantInstantiate", "\u30D5\u30A1\u30AF\u30C8\u30EA ''{0}'' \u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "apt.warn.FactoryNotFound", "\u6307\u5B9A\u3057\u305F AnnotationProcessorFactory ''{0}'' \u306F\u691C\u7D22\u30D1\u30B9\u3067\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "apt.warn.FactoryWrongType", "\u6307\u5B9A\u3057\u305F\u30D5\u30A1\u30AF\u30C8\u30EA ''{0}'' \u306F AnnotationProcessorFactory \u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "apt.warn.FileReopening", "''{0}'' \u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "apt.warn.IllegalFileName", "\u7121\u52B9\u306A\u540D\u524D ''{0}'' \u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "apt.warn.MalformedSupportedString", "\u30D5\u30A1\u30AF\u30C8\u30EA\u304C\u8FD4\u3057\u305F\u6CE8\u91C8\u30B5\u30DD\u30FC\u30C8 ''{0}'' \u306E\u6587\u5B57\u5217\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "apt.warn.Messager", "{0}" },
+            { "apt.warn.NoAnnotationProcessors", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306F\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u304C\u3001\u6CE8\u91C8\u306F\u5B58\u5728\u3057\u307E\u3059\u3002" },
+            { "apt.warn.NoNewFilesAfterRound", "\u5F80\u5FA9\u306E\u7D42\u4E86\u5F8C\u306B\u30D5\u30A1\u30A4\u30EB ''{0}'' \u3092\u4F5C\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "apt.warn.NullProcessor", "\u30D5\u30A1\u30AF\u30C8\u30EA {0} \u304C\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306B null \u3092\u8FD4\u3057\u307E\u3057\u305F\u3002" },
+            { "apt.warn.warning", "\u8B66\u544A:" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/apt/resources/apt_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package com.sun.tools.apt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class apt_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "apt.err.BadDeclaration", "\u4E3A\u6CE8\u91CA\u7C7B\u578B {0} \u521B\u5EFA\u7684\u58F0\u660E\u51FA\u73B0\u9519\u8BEF" },
+            { "apt.err.CantFindClass", "\u627E\u4E0D\u5230 {0} \u7684\u7C7B\u6587\u4EF6" },
+            { "apt.err.DeclarationCreation", "\u65E0\u6CD5\u4E3A\u6CE8\u91CA\u7C7B\u578B {0} \u521B\u5EFA\u58F0\u660E" },
+            { "apt.err.Messager", "{0}" },
+            { "apt.err.error", "\u9519\u8BEF\uFF1A" },
+            { "apt.err.unsupported.source.version", "\u4E0D\u652F\u6301\u6E90\u7248\u672C {0}\uFF1B\u8BF7\u4F7F\u7528\u7248\u672C 5 \u6216\u65E9\u671F\u7248\u672C" },
+            { "apt.err.unsupported.target.version", "\u4E0D\u652F\u6301\u76EE\u6807\u7248\u672C {0}\uFF1B\u8BF7\u4F7F\u7528\u7248\u672C 5 \u6216\u65E9\u671F\u7248\u672C" },
+            { "apt.misc.Problem", "\u6CE8\u91CA\u5904\u7406\u8FC7\u7A0B\u4E2D\u9047\u5230\u95EE\u9898\uFF1B\n\u6709\u5173\u66F4\u591A\u4FE1\u606F\uFF0C\u8BF7\u53C2\u89C1\u4E0B\u9762\u7684\u5806\u6808\u8FFD\u8E2A\u3002" },
+            { "apt.misc.SunMiscService", "\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u5668\u5DE5\u5382\u65F6\u51FA\u9519\uFF1B\n\u8BF7\u67E5\u770B META-INF/\u670D\u52A1\u4FE1\u606F\u3002" },
+            { "apt.msg.bug", "apt ({0}) \u4E2D\u51FA\u73B0\u5F02\u5E38\u3002 \u5982\u679C\u5728 Bug Parade \u4E2D\u6CA1\u6709\u627E\u5230\u8BE5\u9519\u8BEF\uFF0C\u8BF7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \u5BF9\u8BE5\u9519\u8BEF\u8FDB\u884C\u5F52\u6863\u3002 \u8BF7\u5728\u62A5\u544A\u4E2D\u9644\u4E0A\u60A8\u7684\u7A0B\u5E8F\u548C\u4EE5\u4E0B\u8BCA\u65AD\u4FE1\u606F\u3002\u8C22\u8C22\u60A8\u7684\u5408\u4F5C\u3002" },
+            { "apt.msg.usage.footer", "\u6709\u5173 javac \u9009\u9879\u7684\u4FE1\u606F\uFF0C\u8BF7\u53C2\u89C1 javac -help\u3002" },
+            { "apt.msg.usage.header", "\u7528\u6CD5\uFF1A{0} <apt \u548C javac \u9009\u9879> <\u6E90\u6587\u4EF6>\n\u5176\u4E2D\uFF0Capt \u9009\u9879\u5305\u62EC\uFF1A" },
+            { "apt.msg.usage.nonstandard.footer", "\u8FD9\u4E9B\u9009\u9879\u53CA\u5176\u8F93\u51FA\u683C\u5F0F\u90FD\u4E0D\u662F\u6807\u51C6\u7684\uFF0C\n\u5982\u6709\u66F4\u6539\uFF0C\u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002" },
+            { "apt.note.Messager", "{0}" },
+            { "apt.opt.A", "\u4F20\u9012\u7ED9\u6CE8\u91CA\u5904\u7406\u5668\u7684\u9009\u9879" },
+            { "apt.opt.XClassesAsDecls", "\u5C06\u7C7B\u6587\u4EF6\u548C\u6E90\u6587\u4EF6\u90FD\u89C6\u4E3A\u8981\u5904\u7406\u7684\u58F0\u660E" },
+            { "apt.opt.XListAnnotationTypes", "\u5217\u51FA\u627E\u5230\u7684\u6CE8\u91CA\u7C7B\u578B" },
+            { "apt.opt.XListDeclarations", "\u5217\u51FA\u6307\u5B9A\u548C\u5305\u542B\u7684\u58F0\u660E" },
+            { "apt.opt.XPrintAptRounds", "\u8F93\u51FA\u6709\u5173\u521D\u59CB\u548C\u9012\u5F52 apt \u5FAA\u73AF\u7684\u4FE1\u606F" },
+            { "apt.opt.XPrintFactoryInfo", "\u8F93\u51FA\u6709\u5173\u8BF7\u6C42\u5DE5\u5382\u5904\u7406\u54EA\u4E9B\u6CE8\u91CA\u7684\u4FE1\u606F" },
+            { "apt.opt.arg.class", "<\u7C7B>" },
+            { "apt.opt.arg.directory", "\u6307\u5B9A\u5B58\u653E\u5904\u7406\u5668\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E" },
+            { "apt.opt.classpath", "\u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u548C\u6CE8\u91CA\u5904\u7406\u5668\u5DE5\u5382\u7684\u4F4D\u7F6E" },
+            { "apt.opt.d", "\u6307\u5B9A\u5B58\u653E\u5904\u7406\u5668\u548C javac \u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E" },
+            { "apt.opt.factory", "\u8981\u4F7F\u7528\u7684 AnnotationProcessorFactory \u7684\u540D\u79F0\uFF1B\u7ED5\u8FC7\u9ED8\u8BA4\u7684\u641C\u7D22\u8FDB\u7A0B" },
+            { "apt.opt.factorypath", "\u6307\u5B9A\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u5668\u5DE5\u5382\u7684\u4F4D\u7F6E" },
+            { "apt.opt.help", "\u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981\uFF1B\u4F7F\u7528 javac -help \u53EF\u4EE5\u5F97\u5230\u66F4\u591A\u9009\u9879" },
+            { "apt.opt.nocompile", "\u8BF7\u52FF\u5C06\u6E90\u6587\u4EF6\u7F16\u8BD1\u4E3A\u7C7B\u6587\u4EF6" },
+            { "apt.opt.print", "\u8F93\u51FA\u6307\u5B9A\u7C7B\u578B\u7684\u6587\u672C\u8868\u793A" },
+            { "apt.opt.proc.flag", "[\u5173\u952E\u5B57[=\u503C]]" },
+            { "apt.opt.s", "\u6307\u5B9A\u5B58\u653E\u5904\u7406\u5668\u751F\u6210\u7684\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E" },
+            { "apt.opt.version", "\u7248\u672C\u4FE1\u606F" },
+            { "apt.warn.AnnotationsWithoutProcessors", "\u4E0D\u5E26\u5904\u7406\u5668\u7684\u6CE8\u91CA\u7C7B\u578B\uFF1A {0}" },
+            { "apt.warn.BadFactory", "\u6CE8\u91CA\u5904\u7406\u5668\u5DE5\u5382\u51FA\u73B0\u9519\u8BEF\uFF1A {0} " },
+            { "apt.warn.BadParentDirectory", "\u65E0\u6CD5\u521B\u5EFA {0} \u7684\u67D0\u4E9B\u7236\u76EE\u5F55 " },
+            { "apt.warn.CorrespondingClassFile", "\u5DF2\u521B\u5EFA\u4E0E\u6E90\u6587\u4EF6 \"{0}\" \u76F8\u5BF9\u5E94\u7684\u7C7B\u6587\u4EF6\u3002" },
+            { "apt.warn.CorrespondingSourceFile", "\u5DF2\u521B\u5EFA\u4E0E\u7C7B\u6587\u4EF6 \"{0}\" \u76F8\u5BF9\u5E94\u7684\u6E90\u6587\u4EF6\u3002" },
+            { "apt.warn.FactoryCantInstantiate", "\u65E0\u6CD5\u5B9E\u4F8B\u5316\u5DE5\u5382 \"{0}\" \u7684\u5B9E\u4F8B\u3002" },
+            { "apt.warn.FactoryNotFound", "\u5728\u641C\u7D22\u8DEF\u5F84\u4E2D\u627E\u4E0D\u5230\u6307\u5B9A\u7684 AnnotationProcessorFactory \"{0}\"\u3002" },
+            { "apt.warn.FactoryWrongType", "\u6307\u5B9A\u7684\u5DE5\u5382 \"{0}\" \u4E0D\u662F AnnotationProcessorFactory\u3002" },
+            { "apt.warn.FileReopening", "\u5C1D\u8BD5\u591A\u6B21\u521B\u5EFA \"{0}\"" },
+            { "apt.warn.IllegalFileName", "\u65E0\u6CD5\u521B\u5EFA\u5E26\u6709\u975E\u6CD5\u540D\u79F0 \"{0}\" \u7684\u6587\u4EF6\u3002" },
+            { "apt.warn.MalformedSupportedString", "\u5DE5\u5382\u8FD4\u56DE\u4E0D\u89C4\u5219\u7684\u6CE8\u91CA\u652F\u6301\u5B57\u7B26\u4E32 \"{0}\"\u3002" },
+            { "apt.warn.Messager", "{0}" },
+            { "apt.warn.NoAnnotationProcessors", "\u672A\u627E\u5230\u6CE8\u91CA\u5904\u7406\u5668\uFF0C\u4F46\u5B58\u5728\u6CE8\u91CA\u3002" },
+            { "apt.warn.NoNewFilesAfterRound", "\u5FAA\u73AF\u7ED3\u675F\u540E\u65E0\u6CD5\u521B\u5EFA\u6587\u4EF6 \"{0}\"\u3002" },
+            { "apt.warn.NullProcessor", "\u5BF9\u4E8E\u67D0\u4E2A\u6CE8\u91CA\u5904\u7406\u5668\uFF0C\u5DE5\u5382 {0} \u8FD4\u56DE\u7684\u503C\u4E3A null\u3002" },
+            { "apt.warn.warning", "\u8B66\u544A\uFF1A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/doclets/formats/html/resources/standard.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,219 @@
+package com.sun.tools.doclets.formats.html.resources;
+
+import java.util.ListResourceBundle;
+
+public final class standard extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "doclet.0_Fields_and_Methods", "&quot;{0}&quot; Fields and Methods" },
+            { "doclet.All_Packages", "All Packages" },
+            { "doclet.Annotation_Type_Hierarchy", "Annotation Type Hierarchy" },
+            { "doclet.Blank", "Blank" },
+            { "doclet.CLASSES", "CLASSES" },
+            { "doclet.Cannot_handle_no_packages", "Cannot handle no packages." },
+            { "doclet.ClassUse_Annotation", "Classes in {1} with annotations of type {0}" },
+            { "doclet.ClassUse_Classes.in.0.used.by.1", "Classes in {0} used by {1}" },
+            { "doclet.ClassUse_ConstructorAnnotations", "Constructors in {1} with annotations of type {0}" },
+            { "doclet.ClassUse_ConstructorArgs", "Constructors in {1} with parameters of type {0}" },
+            { "doclet.ClassUse_ConstructorArgsTypeParameters", "Constructor parameters in {1} with type arguments of type {0}" },
+            { "doclet.ClassUse_ConstructorParameterAnnotations", "Constructor parameters in {1} with annotations of type {0}" },
+            { "doclet.ClassUse_ConstructorThrows", "Constructors in {1} that throw {0}" },
+            { "doclet.ClassUse_Field", "Fields in {1} declared as {0}" },
+            { "doclet.ClassUse_FieldAnnotations", "Fields in {1} with annotations of type {0}" },
+            { "doclet.ClassUse_FieldTypeParameter", "Fields in {1} with type parameters of type {0}" },
+            { "doclet.ClassUse_ImplementingClass", "Classes in {1} that implement {0}" },
+            { "doclet.ClassUse_MethodAnnotations", "Methods in {1} with annotations of type {0}" },
+            { "doclet.ClassUse_MethodArgs", "Methods in {1} with parameters of type {0}" },
+            { "doclet.ClassUse_MethodArgsTypeParameters", "Method parameters in {1} with type arguments of type {0}" },
+            { "doclet.ClassUse_MethodParameterAnnotations", "Method parameters in {1} with annotations of type {0}" },
+            { "doclet.ClassUse_MethodReturn", "Methods in {1} that return {0}" },
+            { "doclet.ClassUse_MethodReturnTypeParameter", "Methods in {1} that return types with arguments of type {0}" },
+            { "doclet.ClassUse_MethodThrows", "Methods in {1} that throw {0}" },
+            { "doclet.ClassUse_MethodTypeParameter", "Methods in {1} with type parameters of type {0}" },
+            { "doclet.ClassUse_No.usage.of.0", "No usage of {0}" },
+            { "doclet.ClassUse_PackageAnnotation", "Packages with annotations of type {0}" },
+            { "doclet.ClassUse_Packages.that.use.0", "Packages that use {0}" },
+            { "doclet.ClassUse_Subclass", "Subclasses of {0} in {1}" },
+            { "doclet.ClassUse_Subinterface", "Subinterfaces of {0} in {1}" },
+            { "doclet.ClassUse_Title", "Uses of {0}<br>{1}" },
+            { "doclet.ClassUse_TypeParameter", "Classes in {1} with type parameters of type {0}" },
+            { "doclet.ClassUse_Uses.of.0.in.1", "Uses of {0} in {1}" },
+            { "doclet.Class_Hierarchy", "Class Hierarchy" },
+            { "doclet.Constructor_for", "Constructor for {0}" },
+            { "doclet.Contents", "Contents" },
+            { "doclet.Deprecated_API", "Deprecated API" },
+            { "doclet.Deprecated_Annotation_Type_Members", "Deprecated Annotation Type Elements" },
+            { "doclet.Deprecated_Annotation_Types", "Deprecated Annotation Types" },
+            { "doclet.Deprecated_Classes", "Deprecated Classes" },
+            { "doclet.Deprecated_Constructors", "Deprecated Constructors" },
+            { "doclet.Deprecated_Enum_Constants", "Deprecated Enum Constants" },
+            { "doclet.Deprecated_Enums", "Deprecated Enums" },
+            { "doclet.Deprecated_Errors", "Deprecated Errors" },
+            { "doclet.Deprecated_Exceptions", "Deprecated Exceptions" },
+            { "doclet.Deprecated_Fields", "Deprecated Fields" },
+            { "doclet.Deprecated_Interfaces", "Deprecated Interfaces" },
+            { "doclet.Deprecated_List", "Deprecated List" },
+            { "doclet.Deprecated_Methods", "Deprecated Methods" },
+            { "doclet.Description", "Description" },
+            { "doclet.Description_From_Class", "Description copied from class: {0}" },
+            { "doclet.Description_From_Interface", "Description copied from interface: {0}" },
+            { "doclet.Detail", "DETAIL:" },
+            { "doclet.Docs_generated_by_Javadoc", "Documentation generated by Javadoc." },
+            { "doclet.Enclosing_Class", "Enclosing class:" },
+            { "doclet.Enclosing_Interface", "Enclosing interface:" },
+            { "doclet.Enum_Hierarchy", "Enum Hierarchy" },
+            { "doclet.Error_in_packagelist", "Error in using -group option: {0} {1}" },
+            { "doclet.FRAMES", "FRAMES" },
+            { "doclet.Factory_Method_Detail", "Static Factory Method Detail" },
+            { "doclet.File_error", "Error reading file: {0}" },
+            { "doclet.Following_From_Class", "Following copied from class: {0}" },
+            { "doclet.Following_From_Interface", "Following copied from interface: {0}" },
+            { "doclet.Frame_Alert", "Frame Alert" },
+            { "doclet.Frame_Output", "Frame Output" },
+            { "doclet.Frame_Version", "Frame version" },
+            { "doclet.Frame_Warning_Message", "This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client." },
+            { "doclet.Frames", "Frames" },
+            { "doclet.Generated_Docs_Untitled", "Generated Documentation (Untitled)" },
+            { "doclet.Groupname_already_used", "In -group option, groupname already used: {0}" },
+            { "doclet.Help", "Help" },
+            { "doclet.Help_annotation_type_line_1", "Each annotation type has its own separate page with the following sections:" },
+            { "doclet.Help_annotation_type_line_2", "Annotation Type declaration" },
+            { "doclet.Help_annotation_type_line_3", "Annotation Type description" },
+            { "doclet.Help_enum_line_1", "Each enum has its own separate page with the following sections:" },
+            { "doclet.Help_enum_line_2", "Enum declaration" },
+            { "doclet.Help_enum_line_3", "Enum description" },
+            { "doclet.Help_line_1", "How This API Document Is Organized" },
+            { "doclet.Help_line_10", "All Known Implementing Classes" },
+            { "doclet.Help_line_11", "Class/interface declaration" },
+            { "doclet.Help_line_12", "Class/interface description" },
+            { "doclet.Help_line_13", "Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer." },
+            { "doclet.Help_line_14", "Use" },
+            { "doclet.Help_line_15", "Each documented package, class and interface has its own Use page.  This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A.  You can access this page by first going to the package, class or interface, then clicking on the \"Use\" link in the navigation bar." },
+            { "doclet.Help_line_16", "Tree (Class Hierarchy)" },
+            { "doclet.Help_line_17_with_tree_link", "There is a {0} page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>." },
+            { "doclet.Help_line_18", "When viewing the Overview page, clicking on \"Tree\" displays the hierarchy for all packages." },
+            { "doclet.Help_line_19", "When viewing a particular package, class or interface page, clicking \"Tree\" displays the hierarchy for only that package." },
+            { "doclet.Help_line_2", "This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows." },
+            { "doclet.Help_line_20_with_deprecated_api_link", "The {0} page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations." },
+            { "doclet.Help_line_21", "Index" },
+            { "doclet.Help_line_22", "The {0} contains an alphabetic list of all classes, interfaces, constructors, methods, and fields." },
+            { "doclet.Help_line_23", "Prev/Next" },
+            { "doclet.Help_line_24", "These links take you to the next or previous class, interface, package, or related page." },
+            { "doclet.Help_line_25", "Frames/No Frames" },
+            { "doclet.Help_line_26", "These links show and hide the HTML frames.  All pages are available with or without frames." },
+            { "doclet.Help_line_27", "Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking \"Serialized Form\" in the \"See also\" section of the class description." },
+            { "doclet.Help_line_28", "The <a href=\"constant-values.html\">Constant Field Values</a> page lists the static final fields and their values." },
+            { "doclet.Help_line_29", "This help file applies to API documentation generated using the standard doclet." },
+            { "doclet.Help_line_3", "The {0} page is the front page of this API document and provides a list of all packages with a summary for each.  This page can also contain an overall description of the set of packages." },
+            { "doclet.Help_line_4", "Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:" },
+            { "doclet.Help_line_5", "Class/Interface" },
+            { "doclet.Help_line_6", "Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:" },
+            { "doclet.Help_line_7", "Class inheritance diagram" },
+            { "doclet.Help_line_8", "Direct Subclasses" },
+            { "doclet.Help_line_9", "All Known Subinterfaces" },
+            { "doclet.Help_title", "API Help" },
+            { "doclet.Hide_Lists", "HIDE LISTS" },
+            { "doclet.Hierarchy_For_All_Packages", "Hierarchy For All Packages" },
+            { "doclet.Hierarchy_For_Package", "Hierarchy For Package {0}" },
+            { "doclet.Href_Annotation_Title", "annotation in {0}" },
+            { "doclet.Href_Class_Or_Interface_Title", "class or interface in {0}" },
+            { "doclet.Href_Class_Title", "class in {0}" },
+            { "doclet.Href_Enum_Title", "enum in {0}" },
+            { "doclet.Href_Interface_Title", "interface in {0}" },
+            { "doclet.Href_Type_Param_Title", "type parameter in {0}" },
+            { "doclet.Implementing_Classes", "All Known Implementing Classes:" },
+            { "doclet.Index", "Index" },
+            { "doclet.Index_of_Fields_and_Methods", "Index of Fields and Methods" },
+            { "doclet.Inherited_API_Summary", "Inherited API Summary" },
+            { "doclet.Interface_Hierarchy", "Interface Hierarchy" },
+            { "doclet.Interfaces_Italic", "Interfaces (italic)" },
+            { "doclet.Link_To", "Link to" },
+            { "doclet.MEMBERS", "MEMBERS" },
+            { "doclet.MalformedURL", "Malformed URL: {0}" },
+            { "doclet.Method_in", "Method in {0}" },
+            { "doclet.NONE", "NONE" },
+            { "doclet.NO_FRAMES", "NO FRAMES" },
+            { "doclet.Next", "NEXT" },
+            { "doclet.Next_Class", "NEXT CLASS" },
+            { "doclet.Next_Letter", "NEXT LETTER" },
+            { "doclet.Next_Package", "NEXT PACKAGE" },
+            { "doclet.No_Non_Deprecated_Classes_To_Document", "No non-deprecated classes found to document." },
+            { "doclet.No_Package_Comment_File", "For Package {0} Package.Comment file not found" },
+            { "doclet.No_Source_For_Class", "Source information for class {0} not available." },
+            { "doclet.Non_Frame_Version", "Non-frame version." },
+            { "doclet.None", "None" },
+            { "doclet.Note_0_is_deprecated", "Note: {0} is deprecated." },
+            { "doclet.Option", "Option" },
+            { "doclet.Or", "Or" },
+            { "doclet.Other_Packages", "Other Packages" },
+            { "doclet.Overrides", "Overrides:" },
+            { "doclet.Overview", "Overview" },
+            { "doclet.Overview-Member-Frame", "Overview Member Frame" },
+            { "doclet.Package", "Package" },
+            { "doclet.Package_Description", "Package {0} Description" },
+            { "doclet.Package_Hierarchies", "Package Hierarchies:" },
+            { "doclet.Prev", "PREV" },
+            { "doclet.Prev_Class", "PREV CLASS" },
+            { "doclet.Prev_Letter", "PREV LETTER" },
+            { "doclet.Prev_Package", "PREV PACKAGE" },
+            { "doclet.Same_package_name_used", "Package name format used twice: {0}" },
+            { "doclet.Serialization.Excluded_Class", "Non-transient field {1} uses excluded class {0}." },
+            { "doclet.Serialization.Nonexcluded_Class", "Non-transient field {1} uses hidden, non-included class {0}." },
+            { "doclet.Show_Lists", "SHOW LISTS" },
+            { "doclet.Skip_navigation_links", "Skip navigation links" },
+            { "doclet.Source_Code", "Source Code:" },
+            { "doclet.Specified_By", "Specified by:" },
+            { "doclet.Standard_doclet_invoked", "Standard doclet invoked..." },
+            { "doclet.Static_method_in", "Static method in {0}" },
+            { "doclet.Static_variable_in", "Static variable in {0}" },
+            { "doclet.Style_Headings", "Headings" },
+            { "doclet.Style_line_1", "Javadoc style sheet" },
+            { "doclet.Style_line_10", "Navigation bar fonts and colors" },
+            { "doclet.Style_line_11", "Dark Blue" },
+            { "doclet.Style_line_2", "Define colors, fonts and other style attributes here to override the defaults" },
+            { "doclet.Style_line_3", "Page background color" },
+            { "doclet.Style_line_4", "Table colors" },
+            { "doclet.Style_line_5", "Dark mauve" },
+            { "doclet.Style_line_6", "Light mauve" },
+            { "doclet.Style_line_7", "White" },
+            { "doclet.Style_line_8", "Font used in left-hand frame lists" },
+            { "doclet.Style_line_9", "Example of smaller, sans-serif font in frames" },
+            { "doclet.Subclasses", "Direct Known Subclasses:" },
+            { "doclet.Subinterfaces", "All Known Subinterfaces:" },
+            { "doclet.Summary", "SUMMARY:" },
+            { "doclet.The", "The" },
+            { "doclet.Tree", "Tree" },
+            { "doclet.URL_error", "Error fetching URL: {0}" },
+            { "doclet.Variable_in", "Variable in {0}" },
+            { "doclet.Window_ClassUse_Header", "Uses of {0} {1}" },
+            { "doclet.Window_Class_Hierarchy", "Class Hierarchy" },
+            { "doclet.Window_Deprecated_List", "Deprecated List" },
+            { "doclet.Window_Help_title", "API Help" },
+            { "doclet.Window_Overview", "Overview List" },
+            { "doclet.Window_Overview_Summary", "Overview" },
+            { "doclet.Window_Single_Index", "Index" },
+            { "doclet.Window_Split_Index", "{0}-Index" },
+            { "doclet.also", "also" },
+            { "doclet.build_version", "Standard Doclet version {0}" },
+            { "doclet.in_class", "{0} in class {1}" },
+            { "doclet.in_interface", "{0} in interface {1}" },
+            { "doclet.link_option_twice", "Extern URL link option (link or linkoffline) used twice." },
+            { "doclet.navAnnotationTypeMember", "ELEMENT" },
+            { "doclet.navAnnotationTypeOptionalMember", "OPTIONAL" },
+            { "doclet.navAnnotationTypeRequiredMember", "REQUIRED" },
+            { "doclet.navClassUse", "Use" },
+            { "doclet.navConstructor", "CONSTR" },
+            { "doclet.navDeprecated", "Deprecated" },
+            { "doclet.navEnum", "ENUM CONSTANTS" },
+            { "doclet.navFactoryMethod", "FACTORY" },
+            { "doclet.navField", "FIELD" },
+            { "doclet.navMethod", "METHOD" },
+            { "doclet.navNested", "NESTED" },
+            { "doclet.package", "package" },
+            { "doclet.see.class_or_package_not_found", "Tag {0}: reference not found: {1}" },
+            { "doclet.see.malformed_tag", "Tag {0}: Malformed: {1}" },
+            { "doclet.throws", "throws" },
+            { "doclet.usage", "Provided by Standard doclet:\n-d <directory>                    Destination directory for output files\n-use                              Create class and package usage pages\n-version                          Include @version paragraphs\n-author                           Include @author paragraphs\n-docfilessubdirs                  Recursively copy doc-file subdirectories\n-splitindex                       Split index into one file per letter\n-windowtitle <text>               Browser window title for the documenation\n-doctitle <html-code>             Include title for the overview page\n-header <html-code>               Include header text for each page\n-footer <html-code>               Include footer text for each page\n-top    <html-code>               Include top text for each page\n-bottom <html-code>               Include bottom text for each page\n-link <url>                       Create links to javadoc output at <url>\n-linkoffline <url> <url2>         Link to docs at <url> using package list at <url2>\n-excludedocfilessubdir <name1>:.. Exclude any doc-files subdirectories with given name.\n-group <name> <p1>:<p2>..         Group specified packages together in overview page\n-nocomment                        Supress description and tags, generate only declarations.\n-nodeprecated                     Do not include @deprecated information\n-noqualifier <name1>:<name2>:...  Exclude the list of qualifiers from the output.\n-nosince                          Do not include @since information\n-notimestamp                      Do not include hidden time stamp\n-nodeprecatedlist                 Do not generate deprecated list\n-notree                           Do not generate class hierarchy\n-noindex                          Do not generate index\n-nohelp                           Do not generate help link\n-nonavbar                         Do not generate navigation bar\n-serialwarn                       Generate warning about @serial tag\n-tag <name>:<locations>:<header>  Specify single argument custom tags\n-taglet                           The fully qualified name of Taglet to register\n-tagletpath                       The path to Taglets\n-charset <charset>                Charset for cross-platform viewing of generated documentation.\n-helpfile <file>                  Include file that help link links to\n-linksource                       Generate source in HTML\n-sourcetab <tab length>           Specify the number of spaces each tab takes up in the source\n-keywords                         Include HTML meta tags with package, class and member info\n-stylesheetfile <path>            File to change style of the generated documentation\n-docencoding <name>               Output encoding name" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/doclets/formats/html/resources/standard_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,219 @@
+package com.sun.tools.doclets.formats.html.resources;
+
+import java.util.ListResourceBundle;
+
+public final class standard_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "doclet.0_Fields_and_Methods", "&quot;{0}&quot; \u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.All_Packages", "\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.Annotation_Type_Hierarchy", "\u6CE8\u91C8\u578B\u968E\u5C64" },
+            { "doclet.Blank", "\u30D6\u30E9\u30F3\u30AF" },
+            { "doclet.CLASSES", "\u30AF\u30E9\u30B9" },
+            { "doclet.Cannot_handle_no_packages", "\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u51E6\u7406\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "doclet.ClassUse_Annotation", "{0} \u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064 {1} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.ClassUse_Classes.in.0.used.by.1", "{1} \u306B\u3088\u308A\u4F7F\u7528\u3055\u308C\u308B {0} \u306E\u30AF\u30E9\u30B9" },
+            { "doclet.ClassUse_ConstructorAnnotations", "{0} \u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064 {1} \u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF" },
+            { "doclet.ClassUse_ConstructorArgs", "{0} \u578B\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064 {1} \u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF" },
+            { "doclet.ClassUse_ConstructorArgsTypeParameters", "{0} \u578B\u306E\u578B\u5F15\u6570\u3092\u6301\u3064 {1} \u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u30D1\u30E9\u30E1\u30FC\u30BF" },
+            { "doclet.ClassUse_ConstructorParameterAnnotations", "{0} \u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064 {1} \u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u30D1\u30E9\u30E1\u30FC\u30BF" },
+            { "doclet.ClassUse_ConstructorThrows", "{0} \u3092\u30B9\u30ED\u30FC\u3059\u308B {1} \u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF" },
+            { "doclet.ClassUse_Field", "{0} \u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B {1} \u306E\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.ClassUse_FieldAnnotations", "{0} \u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064 {1} \u306E\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.ClassUse_FieldTypeParameter", "{0} \u578B\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064 {1} \u306E\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.ClassUse_ImplementingClass", "{0} \u3092\u5B9F\u88C5\u3057\u3066\u3044\u308B {1} \u306E\u30AF\u30E9\u30B9" },
+            { "doclet.ClassUse_MethodAnnotations", "{0} \u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064 {1} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.ClassUse_MethodArgs", "{0} \u578B\u306E\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064 {1} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.ClassUse_MethodArgsTypeParameters", "{0} \u578B\u306E\u578B\u5F15\u6570\u3092\u6301\u3064 {1} \u306E\u30E1\u30BD\u30C3\u30C9\u30D1\u30E9\u30E1\u30FC\u30BF" },
+            { "doclet.ClassUse_MethodParameterAnnotations", "{0} \u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064 {1} \u306E\u30E1\u30BD\u30C3\u30C9\u30D1\u30E9\u30E1\u30FC\u30BF" },
+            { "doclet.ClassUse_MethodReturn", "{0} \u3092\u8FD4\u3059 {1} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.ClassUse_MethodReturnTypeParameter", "{0} \u578B\u306E\u5F15\u6570\u3092\u6301\u3064\u578B\u3092\u8FD4\u3059 {1} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.ClassUse_MethodThrows", "{0} \u3092\u30B9\u30ED\u30FC\u3059\u308B {1} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.ClassUse_MethodTypeParameter", "{0} \u578B\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064 {1} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.ClassUse_No.usage.of.0", "{0} \u306F\u3069\u3053\u304B\u3089\u3082\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u305B\u3093" },
+            { "doclet.ClassUse_PackageAnnotation", "{0} \u578B\u306E\u6CE8\u91C8\u3092\u6301\u3064\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.ClassUse_Packages.that.use.0", "{0} \u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.ClassUse_Subclass", "{1} \u3067\u306E {0} \u306E\u30B5\u30D6\u30AF\u30E9\u30B9" },
+            { "doclet.ClassUse_Subinterface", "{1} \u3067\u306E {0} \u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.ClassUse_Title", "{0}<br>{1} \u306E\u4F7F\u7528" },
+            { "doclet.ClassUse_TypeParameter", "{0} \u578B\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064 {1} \u306E\u30AF\u30E9\u30B9" },
+            { "doclet.ClassUse_Uses.of.0.in.1", "{1} \u3067\u306E {0} \u306E\u4F7F\u7528" },
+            { "doclet.Class_Hierarchy", "\u30AF\u30E9\u30B9\u968E\u5C64" },
+            { "doclet.Constructor_for", "{0} \u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF" },
+            { "doclet.Contents", "\u30B3\u30F3\u30C6\u30F3\u30C4" },
+            { "doclet.Deprecated_API", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044 API" },
+            { "doclet.Deprecated_Annotation_Type_Members", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u6CE8\u91C8\u578B\u306E\u8981\u7D20" },
+            { "doclet.Deprecated_Annotation_Types", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u6CE8\u91C8\u578B" },
+            { "doclet.Deprecated_Classes", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30AF\u30E9\u30B9" },
+            { "doclet.Deprecated_Constructors", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF" },
+            { "doclet.Deprecated_Enum_Constants", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B\u5B9A\u6570" },
+            { "doclet.Deprecated_Enums", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B" },
+            { "doclet.Deprecated_Errors", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30E9\u30FC" },
+            { "doclet.Deprecated_Exceptions", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u4F8B\u5916" },
+            { "doclet.Deprecated_Fields", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.Deprecated_Interfaces", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.Deprecated_List", "\u975E\u63A8\u5968 API \u306E\u30EA\u30B9\u30C8" },
+            { "doclet.Deprecated_Methods", "\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.Description", "\u8AAC\u660E" },
+            { "doclet.Description_From_Class", "\u30AF\u30E9\u30B9 {0} \u306E\u8A18\u8FF0:" },
+            { "doclet.Description_From_Interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 {0} \u306E\u8A18\u8FF0:" },
+            { "doclet.Detail", "\u8A73\u7D30:" },
+            { "doclet.Docs_generated_by_Javadoc", "\u3053\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306F javadoc \u3067\u751F\u6210\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "doclet.Enclosing_Class", "\u542B\u307E\u308C\u3066\u3044\u308B\u30AF\u30E9\u30B9:" },
+            { "doclet.Enclosing_Interface", "\u542B\u307E\u308C\u3066\u3044\u308B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:" },
+            { "doclet.Enum_Hierarchy", "\u5217\u6319\u578B\u968E\u5C64" },
+            { "doclet.Error_in_packagelist", "-group \u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u4F7F\u7528\u65B9\u6CD5\u306E\u30A8\u30E9\u30FC: {0} {1}" },
+            { "doclet.FRAMES", "\u30D5\u30EC\u30FC\u30E0\u3042\u308A" },
+            { "doclet.Factory_Method_Detail", "static \u30D5\u30A1\u30AF\u30C8\u30EA\u30E1\u30BD\u30C3\u30C9\u306E\u8A73\u7D30" },
+            { "doclet.File_error", "\u30D5\u30A1\u30A4\u30EB\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC: {0}" },
+            { "doclet.Following_From_Class", "\u30AF\u30E9\u30B9 {0} \u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u30BF\u30B0:" },
+            { "doclet.Following_From_Interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 {0} \u304B\u3089\u30B3\u30D4\u30FC\u3055\u308C\u305F\u30BF\u30B0:" },
+            { "doclet.Frame_Alert", "\u30D5\u30EC\u30FC\u30E0\u95A2\u9023\u306E\u8B66\u544A" },
+            { "doclet.Frame_Output", "\u30D5\u30EC\u30FC\u30E0\u51FA\u529B" },
+            { "doclet.Frame_Version", "\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u306E\u30D0\u30FC\u30B8\u30E7\u30F3" },
+            { "doclet.Frame_Warning_Message", "\u3053\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306F\u30D5\u30EC\u30FC\u30E0\u6A5F\u80FD\u3092\u4F7F\u3063\u3066\u8868\u793A\u3059\u308B\u3088\u3046\u306B\u4F5C\u3089\u308C\u3066\u3044\u307E\u3059\u3002\u30D5\u30EC\u30FC\u30E0\u3092\u8868\u793A\u3067\u304D\u306A\u3044 Web \u30AF\u30E9\u30A4\u30A2\u30F3\u30C8\u306E\u5834\u5408\u306B\u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002" },
+            { "doclet.Frames", "\u30D5\u30EC\u30FC\u30E0\u3042\u308A" },
+            { "doclet.Generated_Docs_Untitled", "\u751F\u6210\u3055\u308C\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8 (\u30BF\u30A4\u30C8\u30EB\u306A\u3057)" },
+            { "doclet.Groupname_already_used", "-group \u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u304A\u3044\u3066\u3001\u3059\u3067\u306B\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}" },
+            { "doclet.Help", "\u30D8\u30EB\u30D7" },
+            { "doclet.Help_annotation_type_line_1", "\u5404\u6CE8\u91C8\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:" },
+            { "doclet.Help_annotation_type_line_2", "\u6CE8\u91C8\u578B\u306E\u5BA3\u8A00" },
+            { "doclet.Help_annotation_type_line_3", "\u6CE8\u91C8\u578B\u306E\u8AAC\u660E" },
+            { "doclet.Help_enum_line_1", "\u5404\u5217\u6319\u578B\u306B\u306F\u3001\u305D\u308C\u81EA\u8EAB\u306E\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3068\u6B21\u306E\u30BB\u30AF\u30B7\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059:" },
+            { "doclet.Help_enum_line_2", "\u5217\u6319\u578B\u306E\u5BA3\u8A00" },
+            { "doclet.Help_enum_line_3", "\u5217\u6319\u578B\u306E\u8AAC\u660E" },
+            { "doclet.Help_line_1", "API \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u69CB\u6210" },
+            { "doclet.Help_line_10", "\u65E2\u77E5\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u306E\u4E00\u89A7" },
+            { "doclet.Help_line_11", "\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u5BA3\u8A00" },
+            { "doclet.Help_line_12", "\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8A18\u8FF0" },
+            { "doclet.Help_line_13", "\u5404\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306B\u306F\u3001\u305D\u306E\u9805\u76EE\u306E\u8A73\u7D30\u306A\u8A18\u8FF0\u306E\u4E2D\u304B\u3089 1 \u884C\u76EE\u306E\u6587\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u8A73\u7D30\u306A\u8A18\u8FF0\u306F\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9\u306B\u73FE\u308F\u308C\u308B\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u304C\u3001\u6982\u8981\u30A8\u30F3\u30C8\u30EA\u306F\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306B\u4E26\u3079\u3089\u308C\u307E\u3059\u3002\u3053\u308C\u306B\u3088\u3063\u3066\u3001\u30D7\u30ED\u30B0\u30E9\u30DE\u304C\u8A2D\u5B9A\u3057\u305F\u8AD6\u7406\u7684\u306A\u30B0\u30EB\u30FC\u30D7\u5206\u3051\u304C\u4FDD\u6301\u3055\u308C\u307E\u3059\u3002" },
+            { "doclet.Help_line_14", "\u4F7F\u7528" },
+            { "doclet.Help_line_15", "\u5404\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u305F\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u305D\u308C\u305E\u308C [\u4F7F\u7528] \u30DA\u30FC\u30B8\u3092\u6301\u3063\u3066\u3044\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u306F\u3001\u3069\u306E\u3088\u3046\u306A\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3001\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3001\u7279\u5B9A\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4E00\u90E8\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u304B\u304C\u8A18\u8FF0\u3055\u308C\u3066\u3044\u307E\u3059\u3002\u305F\u3068\u3048\u3070\u3001\u30AF\u30E9\u30B9 A \u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 A \u306E\u5834\u5408\u3001\u305D\u306E [\u4F7F\u7528] \u30DA\u30FC\u30B8\u306B\u306F\u3001A \u306E\u30B5\u30D6\u30AF\u30E9\u30B9\u3001A \u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u308B\u30D5\u30A3\u30FC\u30EB\u30C9\u3001A \u3092\u8FD4\u3059\u30E1\u30BD\u30C3\u30C9\u3001\u304A\u3088\u3073\u3001\u578B A \u3092\u6301\u3064\u30E1\u30BD\u30C3\u30C9\u3068\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u304C\u542B\u307E\u308C\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u306B\u306F\u3001\u307E\u305A\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u79FB\u52D5\u3057\u3001\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30D0\u30FC\u306E [\u4F7F\u7528] \u30EA\u30F3\u30AF\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "doclet.Help_line_16", "\u968E\u5C64\u30C4\u30EA\u30FC (\u30AF\u30E9\u30B9\u968E\u5C64)" },
+            { "doclet.Help_line_17_with_tree_link", "\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306B\u306F {0} \u30DA\u30FC\u30B8\u304C\u3042\u308A\u3001\u3055\u3089\u306B\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u3042\u308A\u307E\u3059\u3002\u5404\u968E\u5C64\u30DA\u30FC\u30B8\u306F\u3001\u30AF\u30E9\u30B9\u306E\u30EA\u30B9\u30C8\u3068\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u30EA\u30B9\u30C8\u3092\u542B\u307F\u307E\u3059\u3002\u30AF\u30E9\u30B9\u306F <code>java.lang.Object</code> \u3092\u958B\u59CB\u70B9\u3068\u3059\u308B\u7D99\u627F\u69CB\u9020\u3067\u7DE8\u6210\u3055\u308C\u307E\u3059\u3002\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u3001<code>java.lang.Object</code> \u304B\u3089\u306F\u7D99\u627F\u3057\u307E\u305B\u3093\u3002" },
+            { "doclet.Help_line_18", "\u6982\u8981\u30DA\u30FC\u30B8\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B [\u30C4\u30EA\u30FC] \u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002" },
+            { "doclet.Help_line_19", "\u7279\u5B9A\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u8868\u793A\u3057\u3066\u3044\u308B\u3068\u304D\u306B [\u30C4\u30EA\u30FC] \u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3068\u3001\u8A72\u5F53\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u3060\u3051\u306E\u968E\u5C64\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002" },
+            { "doclet.Help_line_2", "\u3053\u306E API (Application Programming Interface) \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u306F\u3001\u6B21\u306B\u8AAC\u660E\u3059\u308B\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30D0\u30FC\u306B\u3042\u308B\u9805\u76EE\u306B\u5BFE\u5FDC\u3059\u308B\u30DA\u30FC\u30B8\u304C\u542B\u307E\u308C\u307E\u3059\u3002" },
+            { "doclet.Help_line_20_with_deprecated_api_link", "{0} \u30DA\u30FC\u30B8\u306F\u3001\u63A8\u5968\u3055\u308C\u3066\u3044\u306A\u3044\u3059\u3079\u3066\u306E API \u306E\u30EA\u30B9\u30C8\u3092\u8868\u793A\u3057\u307E\u3059\u3002\u975E\u63A8\u5968 API \u3068\u306F\u3001\u6A5F\u80FD\u6539\u826F\u306A\u3069\u306E\u7406\u7531\u304B\u3089\u4F7F\u7528\u3092\u304A\u52E7\u3081\u3067\u304D\u306A\u304F\u306A\u3063\u305F API \u306E\u3053\u3068\u3067\u3001\u901A\u5E38\u306F\u305D\u308C\u306B\u4EE3\u308F\u308B API \u304C\u63D0\u4F9B\u3055\u308C\u307E\u3059\u3002\u975E\u63A8\u5968 API \u306F\u4ECA\u5F8C\u306E\u5B9F\u88C5\u3067\u524A\u9664\u3055\u308C\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "doclet.Help_line_21", "\u7D22\u5F15" },
+            { "doclet.Help_line_22", "{0} \u306B\u306F\u3001\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u304A\u3088\u3073\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u30A2\u30EB\u30D5\u30A1\u30D9\u30C3\u30C8\u9806\u306E\u30EA\u30B9\u30C8\u304C\u542B\u307E\u308C\u307E\u3059\u3002" },
+            { "doclet.Help_line_23", "\u524D/\u6B21" },
+            { "doclet.Help_line_24", "\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306B\u3088\u308A\u3001\u524D\u307E\u305F\u306F\u6B21\u306E\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u307E\u305F\u306F\u95A2\u9023\u30DA\u30FC\u30B8\u3078\u79FB\u52D5\u3067\u304D\u307E\u3059\u3002" },
+            { "doclet.Help_line_25", "\u30D5\u30EC\u30FC\u30E0\u3042\u308A/\u30D5\u30EC\u30FC\u30E0\u306A\u3057" },
+            { "doclet.Help_line_26", "\u3053\u308C\u3089\u306E\u30EA\u30F3\u30AF\u306F HTML \u30D5\u30EC\u30FC\u30E0\u3092\u8868\u793A\u3057\u305F\u308A\u96A0\u3057\u305F\u308A\u3057\u307E\u3059\u3002\u3059\u3079\u3066\u306E\u30DA\u30FC\u30B8\u306F\u30D5\u30EC\u30FC\u30E0\u3042\u308A\u3067\u3082\u3001\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u3067\u3082\u8868\u793A\u3067\u304D\u307E\u3059\u3002" },
+            { "doclet.Help_line_27", "\u76F4\u5217\u5316\u53EF\u80FD\u3001\u307E\u305F\u306F\u5916\u90E8\u5316\u53EF\u80FD\u306A\u5404\u30AF\u30E9\u30B9\u306F\u3001\u76F4\u5217\u5316\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u8A18\u8FF0\u3092\u542B\u307F\u307E\u3059\u3002\u3053\u306E\u60C5\u5831\u306F\u3001API \u3092\u4F7F\u7528\u3059\u308B\u958B\u767A\u8005\u3067\u306F\u306A\u304F\u3001\u518D\u5B9F\u88C5\u3092\u884C\u3046\u62C5\u5F53\u8005\u306B\u5F79\u7ACB\u3061\u307E\u3059\u3002\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30D0\u30FC\u306B\u30EA\u30F3\u30AF\u304C\u306A\u3044\u5834\u5408\u3001\u76F4\u5217\u5316\u3055\u308C\u305F\u30AF\u30E9\u30B9\u306B\u79FB\u52D5\u3057\u3066\u3001\u30AF\u30E9\u30B9\u8A18\u8FF0\u306E [\u95A2\u9023\u9805\u76EE] \u30BB\u30AF\u30B7\u30E7\u30F3\u306B\u3042\u308B [\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F] \u3092\u30AF\u30EA\u30C3\u30AF\u3059\u308B\u3053\u3068\u306B\u3088\u308A\u3001\u3053\u306E\u60C5\u5831\u3092\u8868\u793A\u3067\u304D\u307E\u3059\u3002" },
+            { "doclet.Help_line_28", "<a href=\"constant-values.html\">\u300C\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9\u5024\u300D</a> \u30DA\u30FC\u30B8\u306B\u306F\u3001static final \u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u305D\u306E\u5024\u306E\u30EA\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "doclet.Help_line_29", "\u3053\u306E\u30D8\u30EB\u30D7\u30D5\u30A1\u30A4\u30EB\u306F\u3001\u6A19\u6E96 doclet \u3092\u4F7F\u7528\u3057\u3066\u751F\u6210\u3055\u308C\u305F API \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002" },
+            { "doclet.Help_line_3", "{0} \u30DA\u30FC\u30B8\u306F API \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30D5\u30ED\u30F3\u30C8\u30DA\u30FC\u30B8\u3067\u3001\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u3092\u542B\u3080\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4E00\u89A7\u304C\u8868\u793A\u3055\u308C\u307E\u3059\u3002\u4E00\u9023\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981\u8AAC\u660E\u3082\u8868\u793A\u3055\u308C\u307E\u3059\u3002" },
+            { "doclet.Help_line_4", "\u5404\u30D1\u30C3\u30B1\u30FC\u30B8\u306F\u3001\u305D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u30AF\u30E9\u30B9\u3068\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3078\u306E\u30EA\u30F3\u30AF\u3092\u542B\u3080\u30DA\u30FC\u30B8\u3092\u6301\u3061\u307E\u3059\u3002\u3053\u306E\u30DA\u30FC\u30B8\u306F 4 \u3064\u306E\u30AB\u30C6\u30B4\u30EA\u3067\u69CB\u6210\u3055\u308C\u307E\u3059:" },
+            { "doclet.Help_line_5", "\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.Help_line_6", "\u5404\u30AF\u30E9\u30B9\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3001\u5165\u308C\u5B50\u30AF\u30E9\u30B9\u3001\u304A\u3088\u3073\u5165\u308C\u5B50\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u500B\u5225\u306E\u30DA\u30FC\u30B8\u3092\u6301\u3061\u307E\u3059\u3002\u5404\u30DA\u30FC\u30B8\u306B\u306F\u6B21\u306E\u3088\u3046\u306B\u3001\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E\u3068\u3001\u6982\u8981\u30C6\u30FC\u30D6\u30EB\u3001\u304A\u3088\u3073\u30E1\u30F3\u30D0\u306E\u8A73\u7D30\u8AAC\u660E\u304C\u542B\u307E\u308C\u307E\u3059:" },
+            { "doclet.Help_line_7", "\u30AF\u30E9\u30B9\u968E\u5C64\u8868\u793A" },
+            { "doclet.Help_line_8", "\u76F4\u7CFB\u306E\u30B5\u30D6\u30AF\u30E9\u30B9" },
+            { "doclet.Help_line_9", "\u65E2\u77E5\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u4E00\u89A7" },
+            { "doclet.Help_title", "API \u30D8\u30EB\u30D7" },
+            { "doclet.Hide_Lists", "\u30EA\u30B9\u30C8\u306E\u975E\u8868\u793A" },
+            { "doclet.Hierarchy_For_All_Packages", "\u3059\u3079\u3066\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u968E\u5C64" },
+            { "doclet.Hierarchy_For_Package", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306E\u968E\u5C64" },
+            { "doclet.Href_Annotation_Title", "{0} \u5185\u306E\u6CE8\u91C8" },
+            { "doclet.Href_Class_Or_Interface_Title", "{0} \u5185\u306E\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.Href_Class_Title", "{0} \u5185\u306E\u30AF\u30E9\u30B9" },
+            { "doclet.Href_Enum_Title", "{0} \u5185\u306E\u5217\u6319\u578B" },
+            { "doclet.Href_Interface_Title", "{0} \u5185\u306E\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.Href_Type_Param_Title", "{0} \u5185\u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF" },
+            { "doclet.Implementing_Classes", "\u65E2\u77E5\u306E\u5B9F\u88C5\u30AF\u30E9\u30B9\u306E\u4E00\u89A7:" },
+            { "doclet.Index", "\u7D22\u5F15" },
+            { "doclet.Index_of_Fields_and_Methods", "\u30D5\u30A3\u30FC\u30EB\u30C9\u3068\u30E1\u30BD\u30C3\u30C9\u306E\u7D22\u5F15" },
+            { "doclet.Inherited_API_Summary", "\u7D99\u627F\u3055\u308C\u305F API \u306E\u6982\u8981" },
+            { "doclet.Interface_Hierarchy", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u968E\u5C64" },
+            { "doclet.Interfaces_Italic", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 (\u30A4\u30BF\u30EA\u30C3\u30AF)" },
+            { "doclet.Link_To", "\u30EA\u30F3\u30AF\u5148" },
+            { "doclet.MEMBERS", "\u30E1\u30F3\u30D0" },
+            { "doclet.MalformedURL", "\u4E0D\u6B63\u306A URL: {0}" },
+            { "doclet.Method_in", "{0} \u306E\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.NONE", "\u306A\u3057" },
+            { "doclet.NO_FRAMES", "\u30D5\u30EC\u30FC\u30E0\u306A\u3057" },
+            { "doclet.Next", "\u6B21" },
+            { "doclet.Next_Class", "\u6B21\u306E\u30AF\u30E9\u30B9" },
+            { "doclet.Next_Letter", "\u6B21\u306E\u6587\u5B57" },
+            { "doclet.Next_Package", "\u6B21\u306E\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.No_Non_Deprecated_Classes_To_Document", "\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3059\u308B\u975E\u63A8\u5968\u4EE5\u5916\u306E\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.No_Package_Comment_File", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306E  Package.Comment \u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.No_Source_For_Class", "\u30AF\u30E9\u30B9 {0} \u306E\u30BD\u30FC\u30B9\u60C5\u5831\u304C\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "doclet.Non_Frame_Version", "\u30D5\u30EC\u30FC\u30E0\u306A\u3057\u306E\u30D0\u30FC\u30B8\u30E7\u30F3" },
+            { "doclet.None", "\u306A\u3057" },
+            { "doclet.Note_0_is_deprecated", "\u6CE8: {0} \u306F\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "doclet.Option", "\u30AA\u30D7\u30B7\u30E7\u30F3" },
+            { "doclet.Or", "\u307E\u305F\u306F" },
+            { "doclet.Other_Packages", "\u305D\u306E\u4ED6\u306E\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.Overrides", "\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9:" },
+            { "doclet.Overview", "\u6982\u8981" },
+            { "doclet.Overview-Member-Frame", "\u6982\u8981\u30E1\u30F3\u30D0\u30D5\u30EC\u30FC\u30E0" },
+            { "doclet.Package", "\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.Package_Description", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306E\u8AAC\u660E" },
+            { "doclet.Package_Hierarchies", "\u30D1\u30C3\u30B1\u30FC\u30B8\u968E\u5C64:" },
+            { "doclet.Prev", "\u524D" },
+            { "doclet.Prev_Class", "\u524D\u306E\u30AF\u30E9\u30B9" },
+            { "doclet.Prev_Letter", "\u524D\u306E\u6587\u5B57" },
+            { "doclet.Prev_Package", "\u524D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.Same_package_name_used", "\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u5F62\u5F0F\u304C 2 \u56DE\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}" },
+            { "doclet.Serialization.Excluded_Class", "\u5E38\u99D0\u30D5\u30A3\u30FC\u30EB\u30C9 {1} \u306F\u3001\u9664\u5916\u3055\u308C\u305F\u30AF\u30E9\u30B9 {0} \u3092\u4F7F\u7528\u3057\u307E\u3059\u3002" },
+            { "doclet.Serialization.Nonexcluded_Class", "\u5E38\u99D0\u30D5\u30A3\u30FC\u30EB\u30C9 {1} \u306F\u3001\u975E\u8868\u793A\u306E\u3001\u542B\u307E\u308C\u306A\u3044\u30AF\u30E9\u30B9 {0} \u3092\u4F7F\u7528\u3057\u307E\u3059\u3002" },
+            { "doclet.Show_Lists", "\u30EA\u30B9\u30C8\u306E\u8868\u793A" },
+            { "doclet.Skip_navigation_links", "\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30EA\u30F3\u30AF\u3092\u30B9\u30AD\u30C3\u30D7" },
+            { "doclet.Source_Code", "\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9:" },
+            { "doclet.Specified_By", "\u5B9A\u7FA9:" },
+            { "doclet.Standard_doclet_invoked", "\u6A19\u6E96\u306E doclet \u304C\u8D77\u52D5\u3055\u308C\u307E\u3057\u305F..." },
+            { "doclet.Static_method_in", "{0} \u306E static \u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.Static_variable_in", "{0} \u306E static \u5909\u6570" },
+            { "doclet.Style_Headings", "\u898B\u51FA\u3057" },
+            { "doclet.Style_line_1", "javadoc \u30B9\u30BF\u30A4\u30EB\u30B7\u30FC\u30C8" },
+            { "doclet.Style_line_10", "\u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30D0\u30FC\u306E\u30D5\u30A9\u30F3\u30C8\u3068\u8272" },
+            { "doclet.Style_line_11", "\u6FC3\u3044\u9752" },
+            { "doclet.Style_line_2", "\u8272\u3084\u30D5\u30A9\u30F3\u30C8\u306A\u3069\u306E\u30B9\u30BF\u30A4\u30EB\u5C5E\u6027\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u3092\u4E0A\u66F8\u304D\u3059\u308B\u306B\u306F\u3001\u3053\u3053\u3067\u5B9A\u7FA9\u3057\u307E\u3059\u3002" },
+            { "doclet.Style_line_3", "\u30DA\u30FC\u30B8\u306E\u30D0\u30C3\u30AF\u30B0\u30E9\u30A6\u30F3\u30C9\u306E\u8272" },
+            { "doclet.Style_line_4", "\u30C6\u30FC\u30D6\u30EB\u306E\u8272" },
+            { "doclet.Style_line_5", "\u6FC3\u3044\u85E4\u8272" },
+            { "doclet.Style_line_6", "\u8584\u3044\u85E4\u8272" },
+            { "doclet.Style_line_7", "\u767D" },
+            { "doclet.Style_line_8", "\u5DE6\u5074\u306E\u30D5\u30EC\u30FC\u30E0\u306E\u30EA\u30B9\u30C8\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30A9\u30F3\u30C8" },
+            { "doclet.Style_line_9", "\u30D5\u30EC\u30FC\u30E0\u306B\u304A\u3051\u308B\u3001\u3088\u308A\u5C0F\u3055\u3044\u3001\u30BB\u30EA\u30D5\u306A\u3057\u30D5\u30A9\u30F3\u30C8\u306E\u4F8B" },
+            { "doclet.Subclasses", "\u76F4\u7CFB\u306E\u65E2\u77E5\u306E\u30B5\u30D6\u30AF\u30E9\u30B9:" },
+            { "doclet.Subinterfaces", "\u65E2\u77E5\u306E\u30B5\u30D6\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u4E00\u89A7:" },
+            { "doclet.Summary", "\u6982\u8981:" },
+            { "doclet.The", "" },
+            { "doclet.Tree", "\u968E\u5C64\u30C4\u30EA\u30FC" },
+            { "doclet.URL_error", "URL \u53D6\u308A\u51FA\u3057\u30A8\u30E9\u30FC: {0}" },
+            { "doclet.Variable_in", "{0} \u306E\u5909\u6570" },
+            { "doclet.Window_ClassUse_Header", "{0} {1} \u306E\u4F7F\u7528" },
+            { "doclet.Window_Class_Hierarchy", "\u30AF\u30E9\u30B9\u968E\u5C64" },
+            { "doclet.Window_Deprecated_List", "\u975E\u63A8\u5968 API \u306E\u30EA\u30B9\u30C8" },
+            { "doclet.Window_Help_title", "API \u30D8\u30EB\u30D7" },
+            { "doclet.Window_Overview", "\u6982\u8981\u30EA\u30B9\u30C8" },
+            { "doclet.Window_Overview_Summary", "\u6982\u8981" },
+            { "doclet.Window_Single_Index", "\u7D22\u5F15" },
+            { "doclet.Window_Split_Index", "{0} \u306E\u7D22\u5F15" },
+            { "doclet.also", "\u540C\u69D8\u306B" },
+            { "doclet.build_version", "\u6A19\u6E96 Doclet \u30D0\u30FC\u30B8\u30E7\u30F3 {0}" },
+            { "doclet.in_class", "\u30AF\u30E9\u30B9 {1} \u5185\u306E {0}" },
+            { "doclet.in_interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 {1} \u5185\u306E {0}" },
+            { "doclet.link_option_twice", "\u5916\u90E8 URL \u30EA\u30F3\u30AF\u30AA\u30D7\u30B7\u30E7\u30F3 (link \u307E\u305F\u306F linkoffline) \u304C 2 \u56DE\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "doclet.navAnnotationTypeMember", "\u8981\u7D20" },
+            { "doclet.navAnnotationTypeOptionalMember", "\u30AA\u30D7\u30B7\u30E7\u30F3" },
+            { "doclet.navAnnotationTypeRequiredMember", "\u5FC5\u9808" },
+            { "doclet.navClassUse", "\u4F7F\u7528" },
+            { "doclet.navConstructor", "\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF" },
+            { "doclet.navDeprecated", "\u975E\u63A8\u5968 API" },
+            { "doclet.navEnum", "\u5217\u6319\u578B\u5B9A\u6570" },
+            { "doclet.navFactoryMethod", "\u30D5\u30A1\u30AF\u30C8\u30EA" },
+            { "doclet.navField", "\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.navMethod", "\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.navNested", "\u5165\u308C\u5B50" },
+            { "doclet.package", "\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.see.class_or_package_not_found", "\u30BF\u30B0 {0}: \u53C2\u7167\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {1}" },
+            { "doclet.see.malformed_tag", "{0} \u30BF\u30B0: \u4E0D\u6B63\u306A {1} \u30BF\u30B0" },
+            { "doclet.throws", "\u30B9\u30ED\u30FC" },
+            { "doclet.usage", "\u6A19\u6E96\u306E doclet \u306B\u3088\u308A\u63D0\u4F9B\u3055\u308C\u308B\u3082\u306E:\n-d <directory>                    \u51FA\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\n-use                              \u30AF\u30E9\u30B9\u3068\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u4F7F\u7528\u30DA\u30FC\u30B8\u3092\u4F5C\u6210\u3059\u308B\n-version                          @version \u30D1\u30E9\u30B0\u30E9\u30D5\u3092\u542B\u3081\u308B\n-author                           @author \u30D1\u30E9\u30B0\u30E9\u30D5\u3092\u542B\u3081\u308B\n-docfilessubdirs                  doc-file \u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u518D\u5E30\u7684\u306B\u30B3\u30D4\u30FC\u3059\u308B\n-splitindex                       1 \u5B57\u3054\u3068\u306B 1 \u30D5\u30A1\u30A4\u30EB\u306B\u7D22\u5F15\u3092\u5206\u5272\u3059\u308B\n-windowtitle <text>               \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u7528\u306E\u30D6\u30E9\u30A6\u30B6\u30A6\u30A3\u30F3\u30C9\u30A6\u30BF\u30A4\u30C8\u30EB\n-doctitle <html-code>             \u6982\u8981\u30DA\u30FC\u30B8\u306B\u30BF\u30A4\u30C8\u30EB\u3092\u542B\u3081\u308B\n-header <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u30D8\u30C3\u30C0\u30FC\u3092\u542B\u3081\u308B\n-footer <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u30D5\u30C3\u30BF\u30FC\u3092\u542B\u3081\u308B\n-top    <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u4E0A\u90E8\u30C6\u30AD\u30B9\u30C8\u3092\u542B\u3081\u308B\n-bottom <html-code>               \u5404\u30DA\u30FC\u30B8\u306B\u4E0B\u90E8\u30C6\u30AD\u30B9\u30C8\u3092\u542B\u3081\u308B\n-link <url>                       <url> \u306B javadoc \u51FA\u529B\u3078\u306E\u30EA\u30F3\u30AF\u3092\u4F5C\u6210\u3059\u308B\n-linkoffline <url> <url2>         <url2> \u306B\u3042\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u30EA\u30B9\u30C8\u3092\u4F7F\u7528\u3057\u3066 <url> \u306E docs \u306B\u30EA\u30F3\u30AF\u3059\u308B\n-excludedocfilessubdir <name1>:.. \u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u306E doc-files \u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u3059\u3079\u3066\u9664\u5916\u3059\u308B\n-group <name> <p1>:<p2>..         \u6307\u5B9A\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6982\u8981\u30DA\u30FC\u30B8\u306B\u304A\u3044\u3066\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\n-nocomment                        \u8A18\u8FF0\u304A\u3088\u3073\u30BF\u30B0\u3092\u6291\u5236\u3057\u3066\u5BA3\u8A00\u3060\u3051\u3092\u751F\u6210\u3059\u308B\n-nodeprecated                     @deprecated \u60C5\u5831\u3092\u9664\u5916\u3059\u308B\n-noqualifier <name1>:<name2>:...  \u51FA\u529B\u304B\u3089\u4FEE\u98FE\u5B50\u306E\u30EA\u30B9\u30C8\u3092\u9664\u5916\u3059\u308B\n-nosince                          @since \u60C5\u5831\u3092\u9664\u5916\u3059\u308B\n-notimestamp                      \u975E\u8868\u793A\u306E\u30BF\u30A4\u30E0\u30B9\u30BF\u30F3\u30D7\u3092\u9664\u5916\u3059\u308B\n-nodeprecatedlist                 \u975E\u63A8\u5968 \u306E\u30EA\u30B9\u30C8\u3092\u751F\u6210\u3057\u306A\u3044\n-notree                           \u30AF\u30E9\u30B9\u968E\u5C64\u3092\u751F\u6210\u3057\u306A\u3044\n-noindex                          \u7D22\u5F15\u3092\u751F\u6210\u3057\u306A\u3044\n-nohelp                           \u30D8\u30EB\u30D7\u30EA\u30F3\u30AF\u3092\u751F\u6210\u3057\u306A\u3044\n-nonavbar                         \u30CA\u30D3\u30B2\u30FC\u30B7\u30E7\u30F3\u30D0\u30FC\u3092\u751F\u6210\u3057\u306A\u3044\n-serialwarn                       @serial \u30BF\u30B0\u306B\u95A2\u3059\u308B\u8B66\u544A\u3092\u751F\u6210\u3059\u308B\n-tag <name>:<locations>:<header>  \u5358\u4E00\u306E\u5F15\u6570\u3092\u6301\u3064\u30AB\u30B9\u30BF\u30E0\u30BF\u30B0\u3092\u6307\u5B9A\u3059\u308B\n-taglet                           \u30BF\u30B0\u30EC\u30C3\u30C8\u306E\u5B8C\u5168\u4FEE\u98FE\u540D\u3092\u767B\u9332\u3059\u308B\n-tagletpath                       \u30BF\u30B0\u30EC\u30C3\u30C8\u306E\u30D1\u30B9\n-charset <charset>                \u751F\u6210\u3055\u308C\u308B\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30AF\u30ED\u30B9\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u3067\u306E\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\n-helpfile <file>                  \u30D8\u30EB\u30D7\u30EA\u30F3\u30AF\u306E\u30EA\u30F3\u30AF\u5148\u30D5\u30A1\u30A4\u30EB\u3092\u542B\u3081\u308B\n-linksource                       HTML \u5F62\u5F0F\u3067\u30BD\u30FC\u30B9\u3092\u751F\u6210\u3059\u308B\n-sourcetab <tab length>           \u30BD\u30FC\u30B9\u5185\u306E\u30BF\u30D6\u306E\u7A7A\u767D\u6587\u5B57\u306E\u6570\u3092\u6307\u5B9A\u3059\u308B\n-keywords                         HTML \u306E meta \u30BF\u30B0\u306B\u3001\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u304A\u3088\u3073\u30E1\u30F3\u30D0\u30FC\u306E\u60C5\u5831\u3092\u542B\u3081\u308B\n-stylesheetfile <path>            \u751F\u6210\u3055\u308C\u305F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u306E\u30B9\u30BF\u30A4\u30EB\u5909\u66F4\u7528\u30D5\u30A1\u30A4\u30EB\n-docencoding <name>               \u51FA\u529B\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u540D" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/doclets/formats/html/resources/standard_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,219 @@
+package com.sun.tools.doclets.formats.html.resources;
+
+import java.util.ListResourceBundle;
+
+public final class standard_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "doclet.0_Fields_and_Methods", "&quot;{0}&quot; \u5B57\u6BB5\u548C\u65B9\u6CD5" },
+            { "doclet.All_Packages", "\u6240\u6709\u8F6F\u4EF6\u5305" },
+            { "doclet.Annotation_Type_Hierarchy", "\u6CE8\u91CA\u7C7B\u578B\u5206\u5C42\u7ED3\u6784" },
+            { "doclet.Blank", "\u7A7A\u767D" },
+            { "doclet.CLASSES", "\u7C7B" },
+            { "doclet.Cannot_handle_no_packages", "\u65E0\u6CD5\u5904\u7406\u6CA1\u6709\u8F6F\u4EF6\u5305\u7684\u60C5\u51B5\u3002" },
+            { "doclet.ClassUse_Annotation", "\u6CE8\u91CA\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u7C7B" },
+            { "doclet.ClassUse_Classes.in.0.used.by.1", "{1} \u4F7F\u7528\u7684 {0} \u4E2D\u7684\u7C7B" },
+            { "doclet.ClassUse_ConstructorAnnotations", "\u6CE8\u91CA\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u6784\u9020\u65B9\u6CD5" },
+            { "doclet.ClassUse_ConstructorArgs", "\u53C2\u6570\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u6784\u9020\u65B9\u6CD5" },
+            { "doclet.ClassUse_ConstructorArgsTypeParameters", "\u7C7B\u578B\u53D8\u91CF\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u6784\u9020\u65B9\u6CD5\u53C2\u6570" },
+            { "doclet.ClassUse_ConstructorParameterAnnotations", "\u6CE8\u91CA\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u6784\u9020\u65B9\u6CD5\u53C2\u6570" },
+            { "doclet.ClassUse_ConstructorThrows", "\u629B\u51FA {0} \u7684 {1} \u4E2D\u7684\u6784\u9020\u65B9\u6CD5" },
+            { "doclet.ClassUse_Field", "\u58F0\u660E\u4E3A {0} \u7684 {1} \u4E2D\u7684\u5B57\u6BB5" },
+            { "doclet.ClassUse_FieldAnnotations", "\u6CE8\u91CA\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u5B57\u6BB5" },
+            { "doclet.ClassUse_FieldTypeParameter", "\u7C7B\u578B\u53C2\u6570\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u5B57\u6BB5" },
+            { "doclet.ClassUse_ImplementingClass", "\u5B9E\u73B0 {0} \u7684 {1} \u4E2D\u7684\u7C7B" },
+            { "doclet.ClassUse_MethodAnnotations", "\u6CE8\u91CA\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u65B9\u6CD5" },
+            { "doclet.ClassUse_MethodArgs", "\u53C2\u6570\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u65B9\u6CD5" },
+            { "doclet.ClassUse_MethodArgsTypeParameters", "\u7C7B\u578B\u53D8\u91CF\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u65B9\u6CD5\u53C2\u6570" },
+            { "doclet.ClassUse_MethodParameterAnnotations", "\u6CE8\u91CA\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u65B9\u6CD5\u53C2\u6570" },
+            { "doclet.ClassUse_MethodReturn", "\u8FD4\u56DE {0} \u7684 {1} \u4E2D\u7684\u65B9\u6CD5" },
+            { "doclet.ClassUse_MethodReturnTypeParameter", "\u8FD4\u56DE\u53D8\u91CF\u7C7B\u578B\u4E3A {0} \u7684\u7C7B\u578B\u7684 {1} \u4E2D\u7684\u65B9\u6CD5" },
+            { "doclet.ClassUse_MethodThrows", "\u629B\u51FA {0} \u7684 {1} \u4E2D\u7684\u65B9\u6CD5" },
+            { "doclet.ClassUse_MethodTypeParameter", "\u7C7B\u578B\u53C2\u6570\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u65B9\u6CD5" },
+            { "doclet.ClassUse_No.usage.of.0", "\u6CA1\u6709 {0} \u7684\u7528\u6CD5" },
+            { "doclet.ClassUse_PackageAnnotation", "\u6CE8\u91CA\u7C7B\u578B\u4E3A {0} \u7684\u8F6F\u4EF6\u5305" },
+            { "doclet.ClassUse_Packages.that.use.0", "\u4F7F\u7528 {0} \u7684\u8F6F\u4EF6\u5305" },
+            { "doclet.ClassUse_Subclass", "{1} \u4E2D {0} \u7684\u5B50\u7C7B" },
+            { "doclet.ClassUse_Subinterface", "{1} \u4E2D {0} \u7684\u5B50\u63A5\u53E3" },
+            { "doclet.ClassUse_Title", "{0} {1}<br>\u7684\u4F7F\u7528" },
+            { "doclet.ClassUse_TypeParameter", "\u7C7B\u578B\u53C2\u6570\u7C7B\u578B\u4E3A {0} \u7684 {1} \u4E2D\u7684\u7C7B" },
+            { "doclet.ClassUse_Uses.of.0.in.1", "{1} \u4E2D {0} \u7684\u4F7F\u7528" },
+            { "doclet.Class_Hierarchy", "\u7C7B\u5206\u5C42\u7ED3\u6784" },
+            { "doclet.Constructor_for", "{0} \u7684\u6784\u9020\u65B9\u6CD5" },
+            { "doclet.Contents", "\u76EE\u5F55" },
+            { "doclet.Deprecated_API", "\u5DF2\u8FC7\u65F6\u7684 API" },
+            { "doclet.Deprecated_Annotation_Type_Members", "\u5DF2\u8FC7\u65F6\u7684\u6CE8\u91CA\u7C7B\u578B\u5143\u7D20" },
+            { "doclet.Deprecated_Annotation_Types", "\u5DF2\u8FC7\u65F6\u7684\u6CE8\u91CA\u7C7B\u578B" },
+            { "doclet.Deprecated_Classes", "\u5DF2\u8FC7\u65F6\u7684\u7C7B" },
+            { "doclet.Deprecated_Constructors", "\u5DF2\u8FC7\u65F6\u7684\u6784\u9020\u65B9\u6CD5" },
+            { "doclet.Deprecated_Enum_Constants", "\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E\u5E38\u91CF" },
+            { "doclet.Deprecated_Enums", "\u5DF2\u8FC7\u65F6\u7684\u679A\u4E3E" },
+            { "doclet.Deprecated_Errors", "\u5DF2\u8FC7\u65F6\u7684\u9519\u8BEF" },
+            { "doclet.Deprecated_Exceptions", "\u5DF2\u8FC7\u65F6\u7684\u5F02\u5E38" },
+            { "doclet.Deprecated_Fields", "\u5DF2\u8FC7\u65F6\u7684\u5B57\u6BB5" },
+            { "doclet.Deprecated_Interfaces", "\u5DF2\u8FC7\u65F6\u7684\u63A5\u53E3" },
+            { "doclet.Deprecated_List", "\u5DF2\u8FC7\u65F6\u9879\u76EE\u5217\u8868" },
+            { "doclet.Deprecated_Methods", "\u5DF2\u8FC7\u65F6\u7684\u65B9\u6CD5" },
+            { "doclet.Description", "\u63CF\u8FF0" },
+            { "doclet.Description_From_Class", "\u4ECE\u7C7B {0} \u590D\u5236\u7684\u63CF\u8FF0" },
+            { "doclet.Description_From_Interface", "\u4ECE\u63A5\u53E3 {0} \u590D\u5236\u7684\u63CF\u8FF0" },
+            { "doclet.Detail", "\u8BE6\u7EC6\u4FE1\u606F\uFF1A" },
+            { "doclet.Docs_generated_by_Javadoc", "\u7531 Javadoc \u751F\u6210\u7684\u6587\u6863\u3002" },
+            { "doclet.Enclosing_Class", "\u6B63\u5728\u5C01\u95ED\u7C7B\uFF1A" },
+            { "doclet.Enclosing_Interface", "\u6B63\u5728\u5C01\u95ED\u63A5\u53E3\uFF1A" },
+            { "doclet.Enum_Hierarchy", "\u679A\u4E3E\u5206\u5C42\u7ED3\u6784" },
+            { "doclet.Error_in_packagelist", "\u4F7F\u7528 -group \u9009\u9879\u65F6\u51FA\u9519\uFF1A {0} {1}" },
+            { "doclet.FRAMES", "\u6846\u67B6" },
+            { "doclet.Factory_Method_Detail", "\u9759\u6001\u5DE5\u5382\u65B9\u6CD5\u8BE6\u7EC6\u4FE1\u606F" },
+            { "doclet.File_error", "\u8BFB\u53D6\u6587\u4EF6\u65F6\u51FA\u9519\uFF1A{0}" },
+            { "doclet.Following_From_Class", "\u4EE5\u4E0B\u5185\u5BB9\u662F\u4ECE\u7C7B {0} \u590D\u5236\u7684" },
+            { "doclet.Following_From_Interface", "\u4EE5\u4E0B\u5185\u5BB9\u662F\u4ECE\u63A5\u53E3 {0} \u590D\u5236\u7684" },
+            { "doclet.Frame_Alert", "\u6846\u67B6\u8B66\u62A5" },
+            { "doclet.Frame_Output", "\u6846\u67B6\u8F93\u51FA" },
+            { "doclet.Frame_Version", "\u6846\u67B6\u7248\u672C" },
+            { "doclet.Frame_Warning_Message", "\u8BF7\u4F7F\u7528\u6846\u67B6\u529F\u80FD\u67E5\u770B\u6B64\u6587\u6863\u3002\u5982\u679C\u770B\u5230\u6B64\u6D88\u606F\uFF0C\u5219\u8868\u660E\u60A8\u4F7F\u7528\u7684\u662F\u4E0D\u652F\u6301\u6846\u67B6\u7684 Web \u5BA2\u6237\u673A\u3002" },
+            { "doclet.Frames", "\u6846\u67B6" },
+            { "doclet.Generated_Docs_Untitled", "\u751F\u6210\u7684\u6587\u6863\uFF08\u65E0\u6807\u9898\uFF09" },
+            { "doclet.Groupname_already_used", "\u5728 -group \u9009\u9879\u4E2D\uFF0Cgroupname \u5DF2\u4F7F\u7528\uFF1A {0}" },
+            { "doclet.Help", "\u5E2E\u52A9" },
+            { "doclet.Help_annotation_type_line_1", "\u6BCF\u4E2A\u6CE8\u91CA\u7C7B\u578B\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762\uFF0C\u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206\uFF1A" },
+            { "doclet.Help_annotation_type_line_2", "\u6CE8\u91CA\u7C7B\u578B\u58F0\u660E" },
+            { "doclet.Help_annotation_type_line_3", "\u6CE8\u91CA\u7C7B\u578B\u63CF\u8FF0" },
+            { "doclet.Help_enum_line_1", "\u6BCF\u4E2A\u679A\u4E3E\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762\uFF0C\u5176\u4E2D\u5305\u542B\u4EE5\u4E0B\u90E8\u5206\uFF1A" },
+            { "doclet.Help_enum_line_2", "\u679A\u4E3E\u58F0\u660E" },
+            { "doclet.Help_enum_line_3", "\u679A\u4E3E\u63CF\u8FF0" },
+            { "doclet.Help_line_1", "\u6B64 API \u6587\u6863\u7684\u7EC4\u7EC7\u65B9\u5F0F" },
+            { "doclet.Help_line_10", "\u6240\u6709\u5DF2\u77E5\u5B9E\u73B0\u7C7B" },
+            { "doclet.Help_line_11", "\u7C7B/\u63A5\u53E3\u58F0\u660E" },
+            { "doclet.Help_line_12", "\u7C7B/\u63A5\u53E3\u63CF\u8FF0" },
+            { "doclet.Help_line_13", "\u6BCF\u4E2A\u6458\u8981\u6761\u76EE\u90FD\u5305\u542B\u8BE5\u9879\u76EE\u7684\u8BE6\u7EC6\u63CF\u8FF0\u7684\u7B2C\u4E00\u53E5\u3002\u6458\u8981\u6761\u76EE\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217\uFF0C\u800C\u8BE6\u7EC6\u63CF\u8FF0\u5219\u6309\u5176\u5728\u6E90\u4EE3\u7801\u4E2D\u51FA\u73B0\u7684\u987A\u5E8F\u6392\u5217\u3002\u8FD9\u6837\u4FDD\u6301\u4E86\u7A0B\u5E8F\u5458\u6240\u5EFA\u7ACB\u7684\u903B\u8F91\u5206\u7EC4\u3002" },
+            { "doclet.Help_line_14", "\u4F7F\u7528" },
+            { "doclet.Help_line_15", "\u6BCF\u4E2A\u5DF2\u6587\u6863\u5316\u7684\u8F6F\u4EF6\u5305\u3001\u7C7B\u548C\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u201C\u4F7F\u7528\u201D\u9875\u9762\u3002\u6B64\u9875\u9762\u4ECB\u7ECD\u4E86\u4F7F\u7528\u7ED9\u5B9A\u7C7B\u6216\u8F6F\u4EF6\u5305\u7684\u4EFB\u4F55\u90E8\u5206\u7684\u8F6F\u4EF6\u5305\u3001\u7C7B\u3001\u65B9\u6CD5\u3001\u6784\u9020\u65B9\u6CD5\u548C\u5B57\u6BB5\u3002\u5BF9\u4E8E\u7ED9\u5B9A\u7684\u7C7B\u6216\u63A5\u53E3 A\uFF0C\u5176\u201C\u4F7F\u7528\u201D\u9875\u9762\u5305\u542B A \u7684\u5B50\u7C7B\u3001\u58F0\u660E\u4E3A A \u7684\u5B57\u6BB5\u3001\u8FD4\u56DE A \u7684\u65B9\u6CD5\uFF0C\u4EE5\u53CA\u5E26\u6709\u7C7B\u578B\u4E3A A \u7684\u53C2\u6570\u7684\u65B9\u6CD5\u548C\u6784\u9020\u65B9\u6CD5\u3002\u8BBF\u95EE\u6B64\u9875\u9762\u7684\u65B9\u6CD5\u662F\uFF1A\u9996\u5148\u8F6C\u81F3\u8F6F\u4EF6\u5305\u3001\u7C7B\u6216\u63A5\u53E3\uFF0C\u7136\u540E\u5355\u51FB\u5BFC\u822A\u680F\u4E2D\u7684\u201C\u4F7F\u7528\u201D\u94FE\u63A5\u3002" },
+            { "doclet.Help_line_16", "\u6811\uFF08\u7C7B\u5206\u5C42\u7ED3\u6784\uFF09" },
+            { "doclet.Help_line_17_with_tree_link", "\u5BF9\u4E8E\u6240\u6709\u8F6F\u4EF6\u5305\uFF0C\u6709\u4E00\u4E2A {0} \u9875\u9762\uFF0C\u4EE5\u53CA\u6BCF\u4E2A\u8F6F\u4EF6\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002\u6BCF\u4E2A\u5206\u5C42\u7ED3\u6784\u9875\u9762\u90FD\u5305\u542B\u7C7B\u7684\u5217\u8868\u548C\u63A5\u53E3\u7684\u5217\u8868\u3002\u4ECE <code>java.lang.Object</code> \u5F00\u59CB\uFF0C\u6309\u7EE7\u627F\u7ED3\u6784\u5BF9\u7C7B\u8FDB\u884C\u6392\u5217\u3002\u63A5\u53E3\u4E0D\u4ECE <code>java.lang.Object</code> \u7EE7\u627F\u3002" },
+            { "doclet.Help_line_18", "\u67E5\u770B\u201C\u6982\u8FF0\u201D\u9875\u9762\u65F6\uFF0C\u5355\u51FB\u201C\u6811\u201D\u5C06\u663E\u793A\u6240\u6709\u8F6F\u4EF6\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002" },
+            { "doclet.Help_line_19", "\u67E5\u770B\u7279\u5B9A\u8F6F\u4EF6\u5305\u3001\u7C7B\u6216\u63A5\u53E3\u9875\u9762\u65F6\uFF0C\u5355\u51FB\u201C\u6811\u201D\u5C06\u4EC5\u663E\u793A\u8BE5\u8F6F\u4EF6\u5305\u7684\u5206\u5C42\u7ED3\u6784\u3002" },
+            { "doclet.Help_line_2", "\u6B64 API\uFF08\u5E94\u7528\u7A0B\u5E8F\u7F16\u7A0B\u63A5\u53E3\uFF09\u6587\u6863\u5305\u542B\u5BF9\u5E94\u4E8E\u5BFC\u822A\u680F\u4E2D\u7684\u9879\u76EE\u7684\u9875\u9762\uFF0C\u5982\u4E0B\u6240\u8FF0\u3002" },
+            { "doclet.Help_line_20_with_deprecated_api_link", "{0} \u9875\u9762\u5217\u51FA\u4E86\u6240\u6709\u5DF2\u8FC7\u65F6\u7684 API\u3002\u4E00\u822C\u7531\u4E8E\u8FDB\u884C\u4E86\u6539\u8FDB\u5E76\u4E14\u901A\u5E38\u63D0\u4F9B\u4E86\u66FF\u4EE3\u7684 API\uFF0C\u6240\u4EE5\u5EFA\u8BAE\u4E0D\u8981\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API\u3002\u5728\u5C06\u6765\u7684\u5B9E\u65BD\u8FC7\u7A0B\u4E2D\uFF0C\u53EF\u80FD\u4F1A\u5220\u9664\u5DF2\u8FC7\u65F6\u7684 API\u3002" },
+            { "doclet.Help_line_21", "\u7D22\u5F15" },
+            { "doclet.Help_line_22", "{0} \u5305\u542B\u6309\u5B57\u6BCD\u987A\u5E8F\u6392\u5217\u7684\u6240\u6709\u7C7B\u3001\u63A5\u53E3\u3001\u6784\u9020\u65B9\u6CD5\u3001\u65B9\u6CD5\u548C\u5B57\u6BB5\u7684\u5217\u8868\u3002" },
+            { "doclet.Help_line_23", "\u4E0A\u4E00\u4E2A/\u4E0B\u4E00\u4E2A" },
+            { "doclet.Help_line_24", "\u8FD9\u4E9B\u94FE\u63A5\u4F7F\u60A8\u53EF\u4EE5\u8F6C\u81F3\u4E0B\u4E00\u4E2A\u6216\u4E0A\u4E00\u4E2A\u7C7B\u3001\u63A5\u53E3\u3001\u8F6F\u4EF6\u5305\u6216\u76F8\u5173\u9875\u9762\u3002" },
+            { "doclet.Help_line_25", "\u6846\u67B6/\u65E0\u6846\u67B6" },
+            { "doclet.Help_line_26", "\u8FD9\u4E9B\u94FE\u63A5\u7528\u4E8E\u663E\u793A\u548C\u9690\u85CF HTML \u6846\u67B6\u3002\u6240\u6709\u9875\u9762\u5747\u5177\u6709\u6709\u6846\u67B6\u548C\u65E0\u6846\u67B6\u4E24\u79CD\u663E\u793A\u65B9\u5F0F\u3002" },
+            { "doclet.Help_line_27", "\u6BCF\u4E2A\u53EF\u5E8F\u5217\u5316\u6216\u53EF\u5916\u90E8\u5316\u7684\u7C7B\u90FD\u6709\u5176\u5E8F\u5217\u5316\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u63CF\u8FF0\u3002\u6B64\u4FE1\u606F\u5BF9\u91CD\u65B0\u5B9E\u73B0\u8005\u6709\u7528\uFF0C\u800C\u5BF9\u4F7F\u7528 API \u7684\u5F00\u53D1\u8005\u5219\u6CA1\u6709\u4EC0\u4E48\u7528\u5904\u3002\u5C3D\u7BA1\u5BFC\u822A\u680F\u4E2D\u6CA1\u6709\u94FE\u63A5\uFF0C\u4F46\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0B\u5217\u65B9\u5F0F\u83B7\u53D6\u6B64\u4FE1\u606F\uFF1A\u8F6C\u81F3\u4EFB\u4F55\u5E8F\u5217\u5316\u7C7B\uFF0C\u7136\u540E\u5355\u51FB\u7C7B\u63CF\u8FF0\u7684\u201C\u53E6\u8BF7\u53C2\u89C1\u201D\u90E8\u5206\u4E2D\u7684\u201C\u5E8F\u5217\u5316\u8868\u683C\u201D\u3002" },
+            { "doclet.Help_line_28", "<a href=\"constant-values.html\">\u5E38\u91CF\u5B57\u6BB5\u503C</a>\u9875\u9762\u5217\u51FA\u4E86\u9759\u6001\u6700\u7EC8\u5B57\u6BB5\u53CA\u5176\u503C\u3002" },
+            { "doclet.Help_line_29", "\u6B64\u5E2E\u52A9\u6587\u4EF6\u9002\u7528\u4E8E\u4F7F\u7528\u6807\u51C6 doclet \u751F\u6210\u7684 API \u6587\u6863\u3002" },
+            { "doclet.Help_line_3", "{0} \u9875\u9762\u662F\u6B64 API \u6587\u6863\u7684\u9996\u9875\uFF0C\u63D0\u4F9B\u4E86\u6240\u6709\u8F6F\u4EF6\u5305\u7684\u5217\u8868\u53CA\u5176\u6458\u8981\u3002\u6B64\u9875\u9762\u4E5F\u53EF\u80FD\u5305\u542B\u8FD9\u4E9B\u8F6F\u4EF6\u5305\u7684\u603B\u4F53\u63CF\u8FF0\u3002" },
+            { "doclet.Help_line_4", "\u6BCF\u4E2A\u8F6F\u4EF6\u5305\u90FD\u6709\u4E00\u4E2A\u9875\u9762\uFF0C\u5176\u4E2D\u5305\u542B\u5B83\u7684\u7C7B\u548C\u63A5\u53E3\u7684\u5217\u8868\u53CA\u5176\u6458\u8981\u3002\u6B64\u9875\u9762\u53EF\u4EE5\u5305\u542B\u56DB\u4E2A\u7C7B\u522B\uFF1A" },
+            { "doclet.Help_line_5", "\u7C7B/\u63A5\u53E3" },
+            { "doclet.Help_line_6", "\u6BCF\u4E2A\u7C7B\u3001\u63A5\u53E3\u3001\u5D4C\u5957\u7C7B\u548C\u5D4C\u5957\u63A5\u53E3\u90FD\u6709\u5404\u81EA\u7684\u9875\u9762\u3002\u5176\u4E2D\u6BCF\u4E2A\u9875\u9762\u90FD\u7531\u4E09\u90E8\u5206\uFF08\u7C7B/\u63A5\u53E3\u63CF\u8FF0\u3001\u6458\u8981\u8868\uFF0C\u4EE5\u53CA\u8BE6\u7EC6\u7684\u6210\u5458\u63CF\u8FF0\uFF09\u7EC4\u6210\uFF1A" },
+            { "doclet.Help_line_7", "\u7C7B\u7EE7\u627F\u56FE" },
+            { "doclet.Help_line_8", "\u76F4\u63A5\u5B50\u7C7B" },
+            { "doclet.Help_line_9", "\u6240\u6709\u5DF2\u77E5\u5B50\u63A5\u53E3" },
+            { "doclet.Help_title", "API \u5E2E\u52A9" },
+            { "doclet.Hide_Lists", "\u9690\u85CF\u5217\u8868" },
+            { "doclet.Hierarchy_For_All_Packages", "\u6240\u6709\u8F6F\u4EF6\u5305\u7684\u5206\u5C42\u7ED3\u6784" },
+            { "doclet.Hierarchy_For_Package", "\u8F6F\u4EF6\u5305 {0} \u7684\u5206\u5C42\u7ED3\u6784" },
+            { "doclet.Href_Annotation_Title", "{0} \u4E2D\u7684\u6CE8\u91CA" },
+            { "doclet.Href_Class_Or_Interface_Title", "{0} \u4E2D\u7684\u7C7B\u6216\u63A5\u53E3" },
+            { "doclet.Href_Class_Title", "{0} \u4E2D\u7684\u7C7B" },
+            { "doclet.Href_Enum_Title", "{0} \u4E2D\u7684\u679A\u4E3E" },
+            { "doclet.Href_Interface_Title", "{0} \u4E2D\u7684\u63A5\u53E3" },
+            { "doclet.Href_Type_Param_Title", "{0} \u4E2D\u7684\u7C7B\u578B\u53C2\u6570" },
+            { "doclet.Implementing_Classes", "\u6240\u6709\u5DF2\u77E5\u5B9E\u73B0\u7C7B\uFF1A" },
+            { "doclet.Index", "\u7D22\u5F15" },
+            { "doclet.Index_of_Fields_and_Methods", "\u5B57\u6BB5\u548C\u65B9\u6CD5\u7684\u7D22\u5F15" },
+            { "doclet.Inherited_API_Summary", "\u7EE7\u627F\u7684 API \u6458\u8981" },
+            { "doclet.Interface_Hierarchy", "\u63A5\u53E3\u5206\u5C42\u7ED3\u6784" },
+            { "doclet.Interfaces_Italic", "\u63A5\u53E3\uFF08\u659C\u4F53\uFF09" },
+            { "doclet.Link_To", "\u94FE\u63A5\u5230" },
+            { "doclet.MEMBERS", "\u6210\u5458" },
+            { "doclet.MalformedURL", "\u4E0D\u89C4\u5219\u7684 URL\uFF1A {0}" },
+            { "doclet.Method_in", "{0} \u4E2D\u7684\u65B9\u6CD5" },
+            { "doclet.NONE", "\u65E0" },
+            { "doclet.NO_FRAMES", "\u65E0\u6846\u67B6" },
+            { "doclet.Next", "\u4E0B\u4E00\u4E2A" },
+            { "doclet.Next_Class", "\u4E0B\u4E00\u4E2A\u7C7B" },
+            { "doclet.Next_Letter", "\u4E0B\u4E00\u4E2A\u5B57\u6BCD" },
+            { "doclet.Next_Package", "\u4E0B\u4E00\u4E2A\u8F6F\u4EF6\u5305" },
+            { "doclet.No_Non_Deprecated_Classes_To_Document", "\u627E\u4E0D\u5230\u53EF\u4EE5\u6587\u6863\u5316\u7684\u672A\u8FC7\u65F6\u7684\u7C7B\u3002" },
+            { "doclet.No_Package_Comment_File", "\u5BF9\u4E8E\u8F6F\u4EF6\u5305 {0}\uFF0C\u627E\u4E0D\u5230 Package.Comment \u6587\u4EF6" },
+            { "doclet.No_Source_For_Class", "\u7C7B {0} \u7684\u6E90\u4FE1\u606F\u4E0D\u53EF\u7528\u3002" },
+            { "doclet.Non_Frame_Version", "\u975E\u6846\u67B6\u7248\u672C\u3002" },
+            { "doclet.None", "\u65E0" },
+            { "doclet.Note_0_is_deprecated", "\u6CE8\u610F\uFF1A{0} \u5DF2\u8FC7\u65F6\u3002" },
+            { "doclet.Option", "\u9009\u9879" },
+            { "doclet.Or", "\u6216" },
+            { "doclet.Other_Packages", "\u5176\u4ED6\u8F6F\u4EF6\u5305" },
+            { "doclet.Overrides", "\u8986\u76D6\uFF1A" },
+            { "doclet.Overview", "\u6982\u8FF0" },
+            { "doclet.Overview-Member-Frame", "\u6210\u5458\u6846\u67B6\u6982\u8FF0" },
+            { "doclet.Package", "\u8F6F\u4EF6\u5305" },
+            { "doclet.Package_Description", "\u8F6F\u4EF6\u5305 {0} \u7684\u63CF\u8FF0" },
+            { "doclet.Package_Hierarchies", "\u8F6F\u4EF6\u5305\u5206\u5C42\u7ED3\u6784\uFF1A" },
+            { "doclet.Prev", "\u4E0A\u4E00\u4E2A" },
+            { "doclet.Prev_Class", "\u4E0A\u4E00\u4E2A\u7C7B" },
+            { "doclet.Prev_Letter", "\u4E0A\u4E00\u4E2A\u5B57\u6BCD" },
+            { "doclet.Prev_Package", "\u4E0A\u4E00\u4E2A\u8F6F\u4EF6\u5305" },
+            { "doclet.Same_package_name_used", "\u8F6F\u4EF6\u5305\u540D\u79F0\u5F62\u5F0F\u4F7F\u7528\u4E86\u4E24\u6B21\uFF1A {0}" },
+            { "doclet.Serialization.Excluded_Class", "\u975E\u77AC\u6001\u5B57\u6BB5 {1} \u4F7F\u7528\u4E86\u6392\u9664\u7684\u7C7B {0}\u3002" },
+            { "doclet.Serialization.Nonexcluded_Class", "\u975E\u77AC\u6001\u5B57\u6BB5 {1} \u4F7F\u7528\u4E86\u9690\u85CF\u7684\u3001\u672A\u5305\u542B\u7684\u7C7B {0}\u3002" },
+            { "doclet.Show_Lists", "\u663E\u793A\u5217\u8868" },
+            { "doclet.Skip_navigation_links", "\u8DF3\u8FC7\u5BFC\u822A\u94FE\u63A5" },
+            { "doclet.Source_Code", "\u6E90\u4EE3\u7801\uFF1A" },
+            { "doclet.Specified_By", "\u6307\u5B9A\u8005\uFF1A" },
+            { "doclet.Standard_doclet_invoked", "\u5DF2\u8C03\u7528\u7684\u6807\u51C6 doclet..." },
+            { "doclet.Static_method_in", "{0} \u4E2D\u7684\u9759\u6001\u65B9\u6CD5" },
+            { "doclet.Static_variable_in", "{0} \u4E2D\u7684\u9759\u6001\u53D8\u91CF" },
+            { "doclet.Style_Headings", "\u6807\u9898" },
+            { "doclet.Style_line_1", "Javadoc \u6837\u5F0F\u8868" },
+            { "doclet.Style_line_10", "\u5BFC\u822A\u680F\u5B57\u4F53\u548C\u989C\u8272" },
+            { "doclet.Style_line_11", "\u6DF1\u84DD\u8272" },
+            { "doclet.Style_line_2", "\u5728\u6B64\u5904\u5B9A\u4E49\u989C\u8272\u3001\u5B57\u4F53\u548C\u5176\u4ED6\u6837\u5F0F\u5C5E\u6027\u4EE5\u8986\u76D6\u9ED8\u8BA4\u503C" },
+            { "doclet.Style_line_3", "\u9875\u9762\u80CC\u666F\u989C\u8272" },
+            { "doclet.Style_line_4", "\u8868\u683C\u989C\u8272" },
+            { "doclet.Style_line_5", "\u6DF1\u7D2B\u8272" },
+            { "doclet.Style_line_6", "\u6DE1\u7D2B\u8272" },
+            { "doclet.Style_line_7", "\u767D\u8272" },
+            { "doclet.Style_line_8", "\u5DE6\u4FA7\u7684\u6846\u67B6\u5217\u8868\u4E2D\u4F7F\u7528\u7684\u5B57\u4F53" },
+            { "doclet.Style_line_9", "\u6846\u67B6\u4E2D\u5C0F\u53F7 sans-serif \u5B57\u4F53\u7684\u793A\u4F8B" },
+            { "doclet.Subclasses", "\u76F4\u63A5\u5DF2\u77E5\u5B50\u7C7B\uFF1A" },
+            { "doclet.Subinterfaces", "\u6240\u6709\u5DF2\u77E5\u5B50\u63A5\u53E3\uFF1A" },
+            { "doclet.Summary", "\u6458\u8981\uFF1A" },
+            { "doclet.The", "The" },
+            { "doclet.Tree", "\u6811" },
+            { "doclet.URL_error", "\u83B7\u53D6 URL \u65F6\u51FA\u9519\uFF1A{0}" },
+            { "doclet.Variable_in", "{0} \u4E2D\u7684\u53D8\u91CF" },
+            { "doclet.Window_ClassUse_Header", "{0} {1} \u7684\u4F7F\u7528" },
+            { "doclet.Window_Class_Hierarchy", "\u7C7B\u5206\u5C42\u7ED3\u6784" },
+            { "doclet.Window_Deprecated_List", "\u5DF2\u8FC7\u65F6\u9879\u76EE\u5217\u8868" },
+            { "doclet.Window_Help_title", "API \u5E2E\u52A9" },
+            { "doclet.Window_Overview", "\u6982\u8FF0\u5217\u8868" },
+            { "doclet.Window_Overview_Summary", "\u6982\u8FF0" },
+            { "doclet.Window_Single_Index", "\u7D22\u5F15" },
+            { "doclet.Window_Split_Index", "{0} - \u7D22\u5F15" },
+            { "doclet.also", "\u5E76" },
+            { "doclet.build_version", "\u6807\u51C6 Doclet \u7248\u672C {0}" },
+            { "doclet.in_class", "\u7C7B {1} \u4E2D\u7684 {0}" },
+            { "doclet.in_interface", "\u63A5\u53E3 {1} \u4E2D\u7684 {0}" },
+            { "doclet.link_option_twice", "\u5916\u90E8 URL \u94FE\u63A5\u9009\u9879\uFF08link \u6216 linkoffline\uFF09\u4F7F\u7528\u4E86\u4E24\u6B21\u3002" },
+            { "doclet.navAnnotationTypeMember", "\u5143\u7D20" },
+            { "doclet.navAnnotationTypeOptionalMember", "\u53EF\u9009" },
+            { "doclet.navAnnotationTypeRequiredMember", "\u5FC5\u9700" },
+            { "doclet.navClassUse", "\u4F7F\u7528" },
+            { "doclet.navConstructor", "\u6784\u9020\u65B9\u6CD5" },
+            { "doclet.navDeprecated", "\u5DF2\u8FC7\u65F6" },
+            { "doclet.navEnum", "\u679A\u4E3E\u5E38\u91CF" },
+            { "doclet.navFactoryMethod", "\u5DE5\u5382" },
+            { "doclet.navField", "\u5B57\u6BB5" },
+            { "doclet.navMethod", "\u65B9\u6CD5" },
+            { "doclet.navNested", "\u5D4C\u5957" },
+            { "doclet.package", "\u8F6F\u4EF6\u5305" },
+            { "doclet.see.class_or_package_not_found", "\u6807\u8BB0 {0}\uFF1A\u627E\u4E0D\u5230\u5F15\u7528\uFF1A {1}" },
+            { "doclet.see.malformed_tag", "\u6807\u8BB0 {0}\uFF1A\u4E0D\u89C4\u5219\uFF1A {1}" },
+            { "doclet.throws", "\u629B\u51FA" },
+            { "doclet.usage", "\u901A\u8FC7\u6807\u51C6 doclet \u63D0\u4F9B:\n-d <directory>                    \u8F93\u51FA\u6587\u4EF6\u7684\u76EE\u6807\u76EE\u5F55\n-use                              \u521B\u5EFA\u7C7B\u548C\u5305\u7528\u6CD5\u9875\u9762\n-version                          \u5305\u542B @version \u6BB5\n-author                           \u5305\u542B @author \u6BB5\n-docfilessubdirs                  \u9012\u5F52\u590D\u5236\u6587\u6863\u6587\u4EF6\u5B50\u76EE\u5F55\n-splitindex                       \u5C06\u7D22\u5F15\u5206\u4E3A\u6BCF\u4E2A\u5B57\u6BCD\u5BF9\u5E94\u4E00\u4E2A\u6587\u4EF6\n-windowtitle <text>               \u6587\u6863\u7684\u6D4F\u89C8\u5668\u7A97\u53E3\u6807\u9898\n-doctitle <html-code>             \u5305\u542B\u6982\u8FF0\u9875\u9762\u7684\u6807\u9898\n-header <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u9875\u7709\u6587\u672C\n-footer <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u9875\u811A\u6587\u672C\n-top    <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u9876\u90E8\u6587\u672C\n-bottom <html-code>               \u5305\u542B\u6BCF\u4E2A\u9875\u9762\u7684\u5E95\u90E8\u6587\u672C\n-link <url>                       \u521B\u5EFA\u6307\u5411\u4F4D\u4E8E <url> \u7684 javadoc \u8F93\u51FA\u7684\u94FE\u63A5\n-linkoffline <url> <url2>         \u5229\u7528\u4F4D\u4E8E <url2> \u7684\u5305\u5217\u8868\u94FE\u63A5\u81F3\u4F4D\u4E8E <url> \u7684\u6587\u6863\n-excludedocfilessubdir <name1>:..\u6392\u9664\u5177\u6709\u7ED9\u5B9A\u540D\u79F0\u7684\u6240\u6709\u6587\u6863\u6587\u4EF6\u5B50\u76EE\u5F55\u3002\n-group <name> <p1>:<p2>..\u5728\u6982\u8FF0\u9875\u9762\u4E2D\uFF0C\u5C06\u6307\u5B9A\u7684\u5305\u5206\u7EC4\n-nocomment                        \u4E0D\u751F\u6210\u63CF\u8FF0\u548C\u6807\u8BB0\uFF0C\u53EA\u751F\u6210\u58F0\u660E\u3002\n-nodeprecated                     \u4E0D\u5305\u542B @deprecated \u4FE1\u606F\n-noqualifier <name1>:<name2>:...\u8F93\u51FA\u4E2D\u4E0D\u5305\u62EC\u6307\u5B9A\u9650\u5B9A\u7B26\u7684\u5217\u8868\u3002\n-nosince                          \u4E0D\u5305\u542B @since \u4FE1\u606F\n-notimestamp                      \u4E0D\u5305\u542B\u9690\u85CF\u65F6\u95F4\u6233\n-nodeprecatedlist                 \u4E0D\u751F\u6210\u5DF2\u8FC7\u65F6\u7684\u5217\u8868\n-notree                           \u4E0D\u751F\u6210\u7C7B\u5206\u5C42\u7ED3\u6784\n-noindex                          \u4E0D\u751F\u6210\u7D22\u5F15\n-nohelp                           \u4E0D\u751F\u6210\u5E2E\u52A9\u94FE\u63A5\n-nonavbar                         \u4E0D\u751F\u6210\u5BFC\u822A\u680F\n-serialwarn                       \u751F\u6210\u6709\u5173 @serial \u6807\u8BB0\u7684\u8B66\u544A\n-tag <name>:<locations>:<header>  \u6307\u5B9A\u5355\u4E2A\u53C2\u6570\u81EA\u5B9A\u4E49\u6807\u8BB0\n-taglet                           \u8981\u6CE8\u518C\u7684 Taglet \u7684\u5168\u9650\u5B9A\u540D\u79F0\n-tagletpath                       Taglet \u7684\u8DEF\u5F84\n-charset <charset>                \u7528\u4E8E\u8DE8\u5E73\u53F0\u67E5\u770B\u751F\u6210\u7684\u6587\u6863\u7684\u5B57\u7B26\u96C6\u3002\n-helpfile <file>                  \u5305\u542B\u5E2E\u52A9\u94FE\u63A5\u6240\u94FE\u63A5\u5230\u7684\u6587\u4EF6\n-linksource                       \u4EE5 HTML \u683C\u5F0F\u751F\u6210\u6E90\u6587\u4EF6\n-sourcetab <tab length>           \u6307\u5B9A\u6E90\u4E2D\u6BCF\u4E2A\u5236\u8868\u7B26\u5360\u636E\u7684\u7A7A\u683C\u6570\n-keywords                         \u4F7F\u5305\u3001\u7C7B\u548C\u6210\u5458\u4FE1\u606F\u9644\u5E26 HTML \u5143\u6807\u8BB0\n-stylesheetfile <path>            \u7528\u4E8E\u66F4\u6539\u751F\u6210\u6587\u6863\u7684\u6837\u5F0F\u7684\u6587\u4EF6\n-docencoding <name>               \u8F93\u51FA\u7F16\u7801\u540D\u79F0" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/doclets/internal/toolkit/resources/doclets.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,136 @@
+package com.sun.tools.doclets.internal.toolkit.resources;
+
+import java.util.ListResourceBundle;
+
+public final class doclets extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "doclet.All_Classes", "All Classes" },
+            { "doclet.All_Implemented_Interfaces", "All Implemented Interfaces:" },
+            { "doclet.All_Superinterfaces", "All Superinterfaces:" },
+            { "doclet.All_classes_and_interfaces", "All classes and interfaces (except non-static nested types)" },
+            { "doclet.AnnotationType", "Annotation Type" },
+            { "doclet.AnnotationTypes", "Annotation Types" },
+            { "doclet.Annotation_Type_Member_Detail", "Element Detail" },
+            { "doclet.Annotation_Type_Optional_Member_Summary", "Optional Element Summary" },
+            { "doclet.Annotation_Type_Required_Member_Summary", "Required Element Summary" },
+            { "doclet.Annotation_Types_Summary", "Annotation Types Summary" },
+            { "doclet.Author", "Author:" },
+            { "doclet.Building_Index", "Building index for all the packages and classes..." },
+            { "doclet.Building_Index_For_All_Classes", "Building index for all classes..." },
+            { "doclet.Building_Tree", "Building tree for all the packages and classes..." },
+            { "doclet.Class", "Class" },
+            { "doclet.Class_0_extends_implements_serializable", "Class {0} extends {1} implements Serializable" },
+            { "doclet.Class_0_implements_serializable", "Class {0} implements Serializable" },
+            { "doclet.Class_Summary", "Class Summary" },
+            { "doclet.Classes", "Classes" },
+            { "doclet.Constants_Summary", "Constant Field Values" },
+            { "doclet.Constructor_Detail", "Constructor Detail" },
+            { "doclet.Constructor_Summary", "Constructor Summary" },
+            { "doclet.Copy_Overwrite_warning", "File {0} not copied to {1} due to existing file with same name..." },
+            { "doclet.Copying_File_0_To_Dir_1", "Copying file {0} to directory {1}..." },
+            { "doclet.Copying_File_0_To_File_1", "Copying file {0} to file {1}..." },
+            { "doclet.Default", "Default:" },
+            { "doclet.Deprecated", "Deprecated." },
+            { "doclet.Deprecated_class", "This class is deprecated." },
+            { "doclet.Encoding_not_supported", "Encoding not supported: {0}" },
+            { "doclet.Enum", "Enum" },
+            { "doclet.Enum_Constant_Detail", "Enum Constant Detail" },
+            { "doclet.Enum_Constant_Summary", "Enum Constant Summary" },
+            { "doclet.Enum_Summary", "Enum Summary" },
+            { "doclet.Enums", "Enums" },
+            { "doclet.Error", "Error" },
+            { "doclet.Error_Summary", "Error Summary" },
+            { "doclet.Error_creating_tmp_file", "Error creating temporary file, using default platform encoding." },
+            { "doclet.Error_invalid_custom_tag_argument", "Error - {0} is an invalid argument to the -tag option..." },
+            { "doclet.Error_taglet_not_registered", "Error - Exception {0} thrown while trying to register Taglet {1}..." },
+            { "doclet.Errors", "Errors" },
+            { "doclet.Exception", "Exception" },
+            { "doclet.Exception_Summary", "Exception Summary" },
+            { "doclet.Exceptions", "Exceptions" },
+            { "doclet.Externalizable", "Externalizable" },
+            { "doclet.Factory", "Factory:" },
+            { "doclet.Factory_Method_Summary", "Static Factory Method Summary" },
+            { "doclet.Field_Detail", "Field Detail" },
+            { "doclet.Field_Summary", "Field Summary" },
+            { "doclet.Fields_Inherited_From_Class", "Fields inherited from class {0}" },
+            { "doclet.Fields_Inherited_From_Interface", "Fields inherited from interface {0}" },
+            { "doclet.File_not_found", "File not found: {0}" },
+            { "doclet.Generating_0", "Generating {0}..." },
+            { "doclet.Groupname_already_used", "In -group option, groupname already used: {0}" },
+            { "doclet.Interface", "Interface" },
+            { "doclet.Interface_Summary", "Interface Summary" },
+            { "doclet.Interfaces", "Interfaces" },
+            { "doclet.Members", "Members" },
+            { "doclet.Method_Detail", "Method Detail" },
+            { "doclet.Method_Summary", "Method Summary" },
+            { "doclet.Methods_Inherited_From_Class", "Methods inherited from class {0}" },
+            { "doclet.Methods_Inherited_From_Interface", "Methods inherited from interface {0}" },
+            { "doclet.MissingSerialDataTag", "in class {0}, missing @serialData tag in method {1}." },
+            { "doclet.MissingSerialTag", "in class {0}, missing @serial tag for default serializable field: {1}." },
+            { "doclet.Nested_Class_Summary", "Nested Class Summary" },
+            { "doclet.Nested_Classes_Interface_Inherited_From_Interface", "Nested classes/interfaces inherited from interface {0}" },
+            { "doclet.Nested_Classes_Interfaces_Inherited_From_Class", "Nested classes/interfaces inherited from class {0}" },
+            { "doclet.No_Public_Classes_To_Document", "No public or protected classes found to document." },
+            { "doclet.Notice_taglet_conflict_warn", "Note: Custom tags that could override future standard tags: {0}. To avoid potential overrides, use at least one period character (.) in custom tag names." },
+            { "doclet.Notice_taglet_overriden", "Note: Custom tags that override standard tags: {0}" },
+            { "doclet.Notice_taglet_registered", "Registered Taglet {0} ..." },
+            { "doclet.Notice_taglet_unseen", "Note: Custom tags that were not seen: {0}" },
+            { "doclet.Option_conflict", "Option {0} conflicts with {1}" },
+            { "doclet.Option_reuse", "Option reused: {0}" },
+            { "doclet.Other_Packages", "Other Packages" },
+            { "doclet.Package_Summary", "Package Summary" },
+            { "doclet.Package_class_and_interface_descriptions", "Package, class and interface descriptions" },
+            { "doclet.Package_private", "(package private)" },
+            { "doclet.Packages", "Packages" },
+            { "doclet.Parameters", "Parameters:" },
+            { "doclet.Parameters_dup_warn", "Parameter \"{0}\" is documented more than once." },
+            { "doclet.Parameters_warn", "@param argument \"{0}\" is not a parameter name." },
+            { "doclet.Return_tag_on_void_method", "@return tag cannot be used in method with void return type." },
+            { "doclet.Returns", "Returns:" },
+            { "doclet.See", "See:" },
+            { "doclet.See_Also", "See Also:" },
+            { "doclet.SerialData", "Serial Data:" },
+            { "doclet.Serializable", "Serializable" },
+            { "doclet.Serializable_no_customization", "No readObject or writeObject method declared." },
+            { "doclet.Serialized_Form", "Serialized Form" },
+            { "doclet.Serialized_Form_class", "Serialization Overview" },
+            { "doclet.Serialized_Form_fields", "Serialized Fields" },
+            { "doclet.Serialized_Form_methods", "Serialization Methods" },
+            { "doclet.Since", "Since:" },
+            { "doclet.Throws", "Throws:" },
+            { "doclet.Toolkit_Usage_Violation", "The Doclet Toolkit can only be used by {0}" },
+            { "doclet.TypeParameters", "Type Parameters:" },
+            { "doclet.Type_Parameters_dup_warn", "Type parameter \"{0}\" is documented more than once." },
+            { "doclet.Type_Parameters_warn", "@param argument \"{0}\" is not a type parameter name." },
+            { "doclet.Unable_to_create_directory_0", "Unable to create directory {0}" },
+            { "doclet.UnknownTag", "{0} is an unknown tag." },
+            { "doclet.UnknownTagLowercase", "{0} is an unknown tag -- same as a known tag except for case." },
+            { "doclet.Version", "Version:" },
+            { "doclet.annotationtype", "annotation type" },
+            { "doclet.class", "class" },
+            { "doclet.dest_dir_create", "Creating destination directory: \"{0}\"" },
+            { "doclet.destination_directory_not_directory_0", "Destination directory is not a directory {0}" },
+            { "doclet.destination_directory_not_found_0", "Destination directory not found {0}" },
+            { "doclet.destination_directory_not_writable_0", "Destination directory not writable {0}" },
+            { "doclet.enum", "enum" },
+            { "doclet.enum_valueof_doc", "\nReturns the enum constant of this type with the specified name.\nThe string must match <I>exactly</I> an identifier used to declare an\nenum constant in this type.  (Extraneous whitespace characters are \nnot permitted.)\n\n@param name the name of the enum constant to be returned.\n@return the enum constant with the specified name\n@throws IllegalArgumentException if this enum type has no constant\nwith the specified name\n@throws NullPointerException if the argument is null" },
+            { "doclet.enum_values_doc", "\nReturns an array containing the constants of this enum type, in\nthe order they are declared.  This method may be used to iterate\nover the constants as follows:\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@return an array containing the constants of this enum type, in\nthe order they are declared" },
+            { "doclet.error", "error" },
+            { "doclet.exception", "exception" },
+            { "doclet.exception_encountered", "{0} encountered \n\twhile attempting to create file: {1}" },
+            { "doclet.extended_by", "extended by" },
+            { "doclet.extends", "extends" },
+            { "doclet.implements", "implementsdoclet.Same_package_name_used=Package name format used twice: {0}" },
+            { "doclet.in", "{0} in {1}" },
+            { "doclet.interface", "interface" },
+            { "doclet.malformed_html_link_tag", "<a> tag is malformed:\n\"{0}\"" },
+            { "doclet.noInheritedDoc", "@inheritDoc used but {0} does not override or implement any method." },
+            { "doclet.perform_copy_exception_encountered", "{0} encountered while \nperforming copy." },
+            { "doclet.sourcetab_warning", "The argument for -sourcetab must be an integer greater than 0." },
+            { "doclet.tag_misuse", "Tag {0} cannot be used in {1} documentation.  It can only be used in the following types of documentation: {2}." },
+            { "doclet.value_tag_invalid_constant", "@value tag (which references {0}) can only be used in constants." },
+            { "doclet.value_tag_invalid_reference", "{0} (referenced by @value tag) is an unknown reference." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,136 @@
+package com.sun.tools.doclets.internal.toolkit.resources;
+
+import java.util.ListResourceBundle;
+
+public final class doclets_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "doclet.All_Classes", "\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9" },
+            { "doclet.All_Implemented_Interfaces", "\u3059\u3079\u3066\u306E\u5B9F\u88C5\u3055\u308C\u305F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:" },
+            { "doclet.All_Superinterfaces", "\u3059\u3079\u3066\u306E\u30B9\u30FC\u30D1\u30FC\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9:" },
+            { "doclet.All_classes_and_interfaces", "\u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 (\u975E static \u306E\u5165\u308C\u5B50\u306B\u306A\u3063\u305F\u578B\u3092\u9664\u304F)" },
+            { "doclet.AnnotationType", "\u6CE8\u91C8\u578B" },
+            { "doclet.AnnotationTypes", "\u6CE8\u91C8\u578B" },
+            { "doclet.Annotation_Type_Member_Detail", "\u8981\u7D20\u306E\u8A73\u7D30" },
+            { "doclet.Annotation_Type_Optional_Member_Summary", "\u4EFB\u610F\u8981\u7D20\u306E\u6982\u8981" },
+            { "doclet.Annotation_Type_Required_Member_Summary", "\u5FC5\u9808\u8981\u7D20\u306E\u6982\u8981" },
+            { "doclet.Annotation_Types_Summary", "\u6CE8\u91C8\u578B\u306E\u6982\u8981" },
+            { "doclet.Author", "\u4F5C\u6210\u8005:" },
+            { "doclet.Building_Index", "\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059..." },
+            { "doclet.Building_Index_For_All_Classes", "\u5168\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059..." },
+            { "doclet.Building_Tree", "\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u30AF\u30E9\u30B9\u306E\u968E\u5C64\u30C4\u30EA\u30FC\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059..." },
+            { "doclet.Class", "\u30AF\u30E9\u30B9" },
+            { "doclet.Class_0_extends_implements_serializable", "Class {0} extends {1} implements Serializable" },
+            { "doclet.Class_0_implements_serializable", "Class {0} implements Serializable" },
+            { "doclet.Class_Summary", "\u30AF\u30E9\u30B9\u306E\u6982\u8981" },
+            { "doclet.Classes", "\u30AF\u30E9\u30B9" },
+            { "doclet.Constants_Summary", "\u5B9A\u6570\u30D5\u30A3\u30FC\u30EB\u30C9\u5024" },
+            { "doclet.Constructor_Detail", "\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u8A73\u7D30" },
+            { "doclet.Constructor_Summary", "\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u6982\u8981" },
+            { "doclet.Copy_Overwrite_warning", "\u30D5\u30A1\u30A4\u30EB {0} \u306F\u540C\u3058\u540D\u524D\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308B\u306E\u3067 {1} \u306B\u30B3\u30D4\u30FC\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F..." },
+            { "doclet.Copying_File_0_To_Dir_1", "\u30D5\u30A1\u30A4\u30EB {0} \u3092\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {1} \u306B\u30B3\u30D4\u30FC\u4E2D..." },
+            { "doclet.Copying_File_0_To_File_1", "\u30D5\u30A1\u30A4\u30EB {0} \u3092\u30D5\u30A1\u30A4\u30EB {1} \u306B\u30B3\u30D4\u30FC\u4E2D..." },
+            { "doclet.Default", "\u30C7\u30D5\u30A9\u30EB\u30C8:" },
+            { "doclet.Deprecated", "\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "doclet.Deprecated_class", "\u3053\u306E\u30AF\u30E9\u30B9\u306F\u63A8\u5968\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "doclet.Encoding_not_supported", "\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0 {0} \u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "doclet.Enum", "\u5217\u6319\u578B" },
+            { "doclet.Enum_Constant_Detail", "\u5217\u6319\u578B\u5B9A\u6570\u306E\u8A73\u7D30" },
+            { "doclet.Enum_Constant_Summary", "\u5217\u6319\u578B\u5B9A\u6570\u306E\u6982\u8981" },
+            { "doclet.Enum_Summary", "\u5217\u6319\u578B\u306E\u6982\u8981" },
+            { "doclet.Enums", "\u5217\u6319\u578B" },
+            { "doclet.Error", "\u30A8\u30E9\u30FC" },
+            { "doclet.Error_Summary", "\u30A8\u30E9\u30FC\u306E\u6982\u8981" },
+            { "doclet.Error_creating_tmp_file", "\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u4F7F\u7528\u3057\u3066\u4E00\u6642\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002" },
+            { "doclet.Error_invalid_custom_tag_argument", "\u30A8\u30E9\u30FC - {0} \u306F -tag \u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5BFE\u3057\u3066\u7121\u52B9\u306A\u5F15\u6570\u3067\u3059..." },
+            { "doclet.Error_taglet_not_registered", "\u30A8\u30E9\u30FC - \u30BF\u30B0\u30EC\u30C3\u30C8 {1} \u3092\u767B\u9332\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u308B\u3068\u304D\u306B\u3001\u4F8B\u5916 {0} \u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F..." },
+            { "doclet.Errors", "\u30A8\u30E9\u30FC" },
+            { "doclet.Exception", "\u4F8B\u5916" },
+            { "doclet.Exception_Summary", "\u4F8B\u5916\u306E\u6982\u8981" },
+            { "doclet.Exceptions", "\u4F8B\u5916" },
+            { "doclet.Externalizable", "\u5916\u90E8\u5316\u53EF\u80FD" },
+            { "doclet.Factory", "\u30D5\u30A1\u30AF\u30C8\u30EA:" },
+            { "doclet.Factory_Method_Summary", "static \u30D5\u30A1\u30AF\u30C8\u30EA\u30E1\u30BD\u30C3\u30C9\u306E\u6982\u8981" },
+            { "doclet.Field_Detail", "\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u8A73\u7D30" },
+            { "doclet.Field_Summary", "\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u6982\u8981" },
+            { "doclet.Fields_Inherited_From_Class", "\u30AF\u30E9\u30B9 {0} \u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.Fields_Inherited_From_Interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 {0} \u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.File_not_found", "\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}" },
+            { "doclet.Generating_0", "{0} \u306E\u751F\u6210" },
+            { "doclet.Groupname_already_used", "-group \u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3001\u30B0\u30EB\u30FC\u30D7\u540D\u304C\u65E2\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}" },
+            { "doclet.Interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.Interface_Summary", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u6982\u8981" },
+            { "doclet.Interfaces", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.Members", "\u30E1\u30F3\u30D0" },
+            { "doclet.Method_Detail", "\u30E1\u30BD\u30C3\u30C9\u306E\u8A73\u7D30" },
+            { "doclet.Method_Summary", "\u30E1\u30BD\u30C3\u30C9\u306E\u6982\u8981" },
+            { "doclet.Methods_Inherited_From_Class", "\u30AF\u30E9\u30B9 {0} \u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.Methods_Inherited_From_Interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 {0} \u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.MissingSerialDataTag", "\u30AF\u30E9\u30B9 {0} \u306E\u30E1\u30BD\u30C3\u30C9 {1} \u306B @serialData \u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.MissingSerialTag", "\u30AF\u30E9\u30B9 {0} \u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u76F4\u5217\u5316\u53EF\u80FD\u30D5\u30A3\u30FC\u30EB\u30C9 {1} \u306E\u305F\u3081\u306E @serial \u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.Nested_Class_Summary", "\u5165\u308C\u5B50\u306E\u30AF\u30E9\u30B9\u306E\u6982\u8981" },
+            { "doclet.Nested_Classes_Interface_Inherited_From_Interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 {0} \u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u5165\u308C\u5B50\u306E\u30AF\u30E9\u30B9/\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.Nested_Classes_Interfaces_Inherited_From_Class", "\u30AF\u30E9\u30B9 {0} \u304B\u3089\u7D99\u627F\u3055\u308C\u305F\u5165\u308C\u5B50\u306E\u30AF\u30E9\u30B9/\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.No_Public_Classes_To_Document", "\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3059\u308B public \u307E\u305F\u306F protected \u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.Notice_taglet_conflict_warn", "\u6CE8: \u6A19\u6E96\u30BF\u30B0\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u53EF\u80FD\u6027\u306E\u3042\u308B\u30AB\u30B9\u30BF\u30E0\u30BF\u30B0: {0}\u3002\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3092\u907F\u3051\u308B\u305F\u3081\u306B\u3001\u30AB\u30B9\u30BF\u30E0\u30BF\u30B0\u540D\u306E\u4E2D\u306B\u5C11\u306A\u304F\u3068\u3082 1 \u3064\u306E\u30D4\u30EA\u30AA\u30C9 (.) \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "doclet.Notice_taglet_overriden", "\u6CE8: \u6A19\u6E96\u30BF\u30B0\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u30AB\u30B9\u30BF\u30E0\u30BF\u30B0: {0}" },
+            { "doclet.Notice_taglet_registered", "\u767B\u9332\u3055\u308C\u305F\u30BF\u30B0\u30EC\u30C3\u30C8 {0} ..." },
+            { "doclet.Notice_taglet_unseen", "\u6CE8: \u975E\u8868\u793A\u306E\u30AB\u30B9\u30BF\u30E0\u30BF\u30B0: {0}" },
+            { "doclet.Option_conflict", "\u30AA\u30D7\u30B7\u30E7\u30F3 {0} \u304C {1} \u3068\u77DB\u76FE\u3057\u307E\u3059" },
+            { "doclet.Option_reuse", "\u30AA\u30D7\u30B7\u30E7\u30F3\u304C\u518D\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}" },
+            { "doclet.Other_Packages", "\u305D\u306E\u4ED6\u306E\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.Package_Summary", "\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6982\u8981" },
+            { "doclet.Package_class_and_interface_descriptions", "\u30D1\u30C3\u30B1\u30FC\u30B8\u3001\u30AF\u30E9\u30B9\u3001\u304A\u3088\u3073\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306E\u8AAC\u660E" },
+            { "doclet.Package_private", "(package private)" },
+            { "doclet.Packages", "\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "doclet.Parameters", "\u30D1\u30E9\u30E1\u30FC\u30BF:" },
+            { "doclet.Parameters_dup_warn", "\u30D1\u30E9\u30E1\u30FC\u30BF \"{0}\" \u304C 2 \u56DE\u4EE5\u4E0A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "doclet.Parameters_warn", "@param argument \"{0}\" \u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u540D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.Return_tag_on_void_method", "\u623B\u308A\u5024\u306E\u578B\u304C void \u306E\u30E1\u30BD\u30C3\u30C9\u3067\u306F @return \u30BF\u30B0\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "doclet.Returns", "\u623B\u308A\u5024:" },
+            { "doclet.See", "\u53C2\u7167\u5148:" },
+            { "doclet.See_Also", "\u95A2\u9023\u9805\u76EE:" },
+            { "doclet.SerialData", "\u30B7\u30EA\u30A2\u30EB\u30C7\u30FC\u30BF:" },
+            { "doclet.Serializable", "\u76F4\u5217\u5316\u53EF\u80FD" },
+            { "doclet.Serializable_no_customization", "readObject \u307E\u305F\u306F writeObject \u30E1\u30BD\u30C3\u30C9\u304C\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "doclet.Serialized_Form", "\u76F4\u5217\u5316\u3055\u308C\u305F\u5F62\u5F0F" },
+            { "doclet.Serialized_Form_class", "\u76F4\u5217\u5316\u306E\u6982\u8981" },
+            { "doclet.Serialized_Form_fields", "\u76F4\u5217\u5316\u3055\u308C\u305F\u30D5\u30A3\u30FC\u30EB\u30C9" },
+            { "doclet.Serialized_Form_methods", "\u76F4\u5217\u5316\u30E1\u30BD\u30C3\u30C9" },
+            { "doclet.Since", "\u5C0E\u5165\u3055\u308C\u305F\u30D0\u30FC\u30B8\u30E7\u30F3:" },
+            { "doclet.Throws", "\u4F8B\u5916:" },
+            { "doclet.Toolkit_Usage_Violation", "\u30C9\u30C3\u30AF\u30EC\u30C3\u30C8\u30C4\u30FC\u30EB\u30AD\u30C3\u30C8\u306F {0} \u306B\u3088\u3063\u3066\u306E\u307F\u4F7F\u7528\u3055\u308C\u307E\u3059\u3002" },
+            { "doclet.TypeParameters", "\u578B\u30D1\u30E9\u30E1\u30FC\u30BF:" },
+            { "doclet.Type_Parameters_dup_warn", "\u578B\u30D1\u30E9\u30E1\u30FC\u30BF \"{0}\" \u304C 2 \u56DE\u4EE5\u4E0A\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5316\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "doclet.Type_Parameters_warn", "@param argument \"{0}\" \u306F\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u540D\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.Unable_to_create_directory_0", "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {0} \u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "doclet.UnknownTag", "{0} \u306F\u672A\u77E5\u306E\u30BF\u30B0\u3067\u3059\u3002" },
+            { "doclet.UnknownTagLowercase", "{0} \u306F\u672A\u77E5\u306E\u30BF\u30B0\u3067\u3059\u3002\u5927\u6587\u5B57\u3068\u5C0F\u6587\u5B57\u306E\u533A\u5225\u3092\u9664\u3044\u3066\u306F\u65E2\u77E5\u306E\u30BF\u30B0\u3068\u540C\u3058\u3067\u3059\u3002" },
+            { "doclet.Version", "\u30D0\u30FC\u30B8\u30E7\u30F3:" },
+            { "doclet.annotationtype", "\u6CE8\u91C8\u578B" },
+            { "doclet.class", "\u30AF\u30E9\u30B9" },
+            { "doclet.dest_dir_create", "\u5B9B\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u4F5C\u6210\u4E2D: \"{0}\"" },
+            { "doclet.destination_directory_not_directory_0", "\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {0} \u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.destination_directory_not_found_0", "\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {0} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.destination_directory_not_writable_0", "\u8EE2\u9001\u5148\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {0} \u306F\u66F8\u304D\u8FBC\u307F\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.enum", "\u5217\u6319" },
+            { "doclet.enum_valueof_doc", "\n\u6307\u5B9A\u3057\u305F\u540D\u524D\u3092\u6301\u3064\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u8FD4\u3057\u307E\u3059\u3002\n\u6587\u5B57\u5217\u306F\u3001\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u5BA3\u8A00\u3059\u308B\u306E\u306B\u4F7F\u7528\u3057\u305F\u8B58\u5225\u5B50\u3068\u53B3\u5BC6\u306B\n\u4E00\u81F4\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059 (\u4F59\u5206\u306A\u7A7A\u767D\u6587\u5B57\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093)\u3002\n\n@param name \u8FD4\u3055\u308C\u308B\u5217\u6319\u578B\u5B9A\u6570\u306E\u540D\u524D\n@return \u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5217\u6319\u578B\u5B9A\u6570\n@throws IllegalArgumentException \u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5B9A\u6570\u3092\n\u3053\u306E\u5217\u6319\u578B\u304C\u6301\u3063\u3066\u3044\u306A\u3044\u5834\u5408\n@throws NullPointerException \u5F15\u6570\u304C null \u306E\u5834\u5408" },
+            { "doclet.enum_values_doc", "\n\u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u542B\u3080\u914D\u5217\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\u8FD4\u3057\u307E\u3059\u3002\n\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u6B21\u306E\u3088\u3046\u306B\u3057\u3066\u5B9A\u6570\u3092\u53CD\u5FA9\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3067\u304D\u307E\u3059:\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@return \u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\u542B\u3080\u914D\u5217" },
+            { "doclet.error", "\u30A8\u30E9\u30FC" },
+            { "doclet.exception", "\u4F8B\u5916" },
+            { "doclet.exception_encountered", "{0} \u3092\u691C\u51FA \n\t\u30D5\u30A1\u30A4\u30EB\u306E\u4F5C\u6210\u4E2D: {1}" },
+            { "doclet.extended_by", "\u4E0A\u4F4D\u3092\u62E1\u5F35" },
+            { "doclet.extends", "extends" },
+            { "doclet.implements", "implementsdoclet.Same_package_name_used=\u30D1\u30C3\u30B1\u30FC\u30B8\u540D\u5F62\u5F0F\u304C 2 \u56DE\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059: {0}" },
+            { "doclet.in", "{1} \u306E {0}" },
+            { "doclet.interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "doclet.malformed_html_link_tag", "<a> \u30BF\u30B0\u306E\u5F62\u5F0F\u304C\u4E0D\u6B63:\n\"{0}\"" },
+            { "doclet.noInheritedDoc", "@inheritDoc \u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u304C\u3001{0} \u306F\u3069\u306E\u30E1\u30BD\u30C3\u30C9\u3082\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u307E\u305F\u306F\u5B9F\u88C5\u3057\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "doclet.perform_copy_exception_encountered", "\u30B3\u30D4\u30FC\u5B9F\u884C\u4E2D\u306B {0} \u3092 \n\u691C\u51FA\u3057\u307E\u3057\u305F\u3002" },
+            { "doclet.sourcetab_warning", "-sourcetab \u306E\u5F15\u6570\u306F 0 \u3088\u308A\u5927\u304D\u3044\u6574\u6570\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "doclet.tag_misuse", "{0} \u30BF\u30B0\u306F {1} \u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\u4F7F\u7528\u3067\u304D\u308B\u306E\u306F\u6B21\u306E\u7A2E\u985E\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u5185\u3060\u3051\u3067\u3059: {2}\u3002" },
+            { "doclet.value_tag_invalid_constant", "@value \u30BF\u30B0 ({0} \u3092\u53C2\u7167\u3057\u3066\u3044\u308B) \u306F\u5B9A\u6570\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002" },
+            { "doclet.value_tag_invalid_reference", "{0} (@value \u30BF\u30B0\u306B\u3088\u308A\u53C2\u7167\u3055\u308C\u3066\u3044\u308B) \u306F\u672A\u77E5\u306E\u53C2\u7167\u3067\u3059\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,137 @@
+package com.sun.tools.doclets.internal.toolkit.resources;
+
+import java.util.ListResourceBundle;
+
+public final class doclets_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "@throws", "\u5982\u679C\u53C2\u6570\u4E3A\u7A7A\u5219\u629B\u51FA NullPointerException" },
+            { "doclet.All_Classes", "\u6240\u6709\u7C7B" },
+            { "doclet.All_Implemented_Interfaces", "\u6240\u6709\u5DF2\u5B9E\u73B0\u7684\u63A5\u53E3\uFF1A" },
+            { "doclet.All_Superinterfaces", "\u6240\u6709\u8D85\u7EA7\u63A5\u53E3\uFF1A" },
+            { "doclet.All_classes_and_interfaces", "\u6240\u6709\u7C7B\u548C\u63A5\u53E3\uFF08\u9664\u4E86\u975E\u9759\u6001\u5D4C\u5957\u7C7B\u578B\uFF09" },
+            { "doclet.AnnotationType", "\u6CE8\u91CA\u7C7B\u578B" },
+            { "doclet.AnnotationTypes", "\u6CE8\u91CA\u7C7B\u578B" },
+            { "doclet.Annotation_Type_Member_Detail", "\u5143\u7D20\u8BE6\u7EC6\u4FE1\u606F" },
+            { "doclet.Annotation_Type_Optional_Member_Summary", "\u53EF\u9009\u5143\u7D20\u6458\u8981" },
+            { "doclet.Annotation_Type_Required_Member_Summary", "\u5FC5\u9700\u5143\u7D20\u6458\u8981" },
+            { "doclet.Annotation_Types_Summary", "\u6CE8\u91CA\u7C7B\u578B\u6458\u8981" },
+            { "doclet.Author", "\u4F5C\u8005\uFF1A" },
+            { "doclet.Building_Index", "\u6B63\u5728\u6784\u5EFA\u6240\u6709\u8F6F\u4EF6\u5305\u548C\u7C7B\u7684\u7D22\u5F15..." },
+            { "doclet.Building_Index_For_All_Classes", "\u6B63\u5728\u6784\u5EFA\u6240\u6709\u7C7B\u7684\u7D22\u5F15..." },
+            { "doclet.Building_Tree", "\u6B63\u5728\u6784\u5EFA\u6240\u6709\u8F6F\u4EF6\u5305\u548C\u7C7B\u7684\u6811..." },
+            { "doclet.Class", "\u7C7B" },
+            { "doclet.Class_0_extends_implements_serializable", "\u7C7B {0} \u7EE7\u627F {1} \u5B9E\u73B0 Serializable" },
+            { "doclet.Class_0_implements_serializable", "\u7C7B {0} \u5B9E\u73B0 Serializable" },
+            { "doclet.Class_Summary", "\u7C7B\u6458\u8981" },
+            { "doclet.Classes", "\u7C7B" },
+            { "doclet.Constants_Summary", "\u5E38\u91CF\u5B57\u6BB5\u503C" },
+            { "doclet.Constructor_Detail", "\u6784\u9020\u65B9\u6CD5\u8BE6\u7EC6\u4FE1\u606F" },
+            { "doclet.Constructor_Summary", "\u6784\u9020\u65B9\u6CD5\u6458\u8981" },
+            { "doclet.Copy_Overwrite_warning", "\u672A\u5C06\u6587\u4EF6 {0} \u590D\u5236\u5230 {1}\uFF0C\u56E0\u4E3A\u73B0\u6709\u6587\u4EF6\u5177\u6709\u76F8\u540C\u540D\u79F0..." },
+            { "doclet.Copying_File_0_To_Dir_1", "\u6B63\u5728\u5C06\u6587\u4EF6 {0} \u590D\u5236\u5230\u76EE\u5F55 {1}..." },
+            { "doclet.Copying_File_0_To_File_1", "\u6B63\u5728\u5C06\u6587\u4EF6 {0} \u590D\u5236\u5230\u6587\u4EF6 {1}..." },
+            { "doclet.Default", "\u9ED8\u8BA4\u503C\uFF1A" },
+            { "doclet.Deprecated", "\u5DF2\u8FC7\u65F6\u3002" },
+            { "doclet.Deprecated_class", "\u8BE5\u7C7B\u5DF2\u8FC7\u65F6\u3002" },
+            { "doclet.Encoding_not_supported", "\u4E0D\u652F\u6301\u7F16\u7801\uFF1A {0}" },
+            { "doclet.Enum", "\u679A\u4E3E" },
+            { "doclet.Enum_Constant_Detail", "\u679A\u4E3E\u5E38\u91CF\u8BE6\u7EC6\u4FE1\u606F" },
+            { "doclet.Enum_Constant_Summary", "\u679A\u4E3E\u5E38\u91CF\u6458\u8981" },
+            { "doclet.Enum_Summary", "\u679A\u4E3E\u6458\u8981" },
+            { "doclet.Enums", "\u679A\u4E3E" },
+            { "doclet.Error", "\u9519\u8BEF" },
+            { "doclet.Error_Summary", "\u9519\u8BEF\u6458\u8981" },
+            { "doclet.Error_creating_tmp_file", "\u4F7F\u7528\u9ED8\u8BA4\u5E73\u53F0\u7F16\u7801\u521B\u5EFA\u4E34\u65F6\u6587\u4EF6\u65F6\u51FA\u9519\u3002" },
+            { "doclet.Error_invalid_custom_tag_argument", "\u9519\u8BEF - \u5BF9\u4E8E -tag \u9009\u9879\uFF0C{0} \u662F\u65E0\u6548\u53C2\u6570..." },
+            { "doclet.Error_taglet_not_registered", "\u9519\u8BEF - \u5C1D\u8BD5\u6CE8\u518C Taglet {1} \u65F6\u629B\u51FA\u5F02\u5E38 {0}..." },
+            { "doclet.Errors", "\u9519\u8BEF" },
+            { "doclet.Exception", "\u5F02\u5E38" },
+            { "doclet.Exception_Summary", "\u5F02\u5E38\u6458\u8981" },
+            { "doclet.Exceptions", "\u5F02\u5E38" },
+            { "doclet.Externalizable", "Externalizable" },
+            { "doclet.Factory", "\u5DE5\u5382\uFF1A" },
+            { "doclet.Factory_Method_Summary", "\u9759\u6001\u5DE5\u5382\u65B9\u6CD5\u6458\u8981" },
+            { "doclet.Field_Detail", "\u5B57\u6BB5\u8BE6\u7EC6\u4FE1\u606F" },
+            { "doclet.Field_Summary", "\u5B57\u6BB5\u6458\u8981" },
+            { "doclet.Fields_Inherited_From_Class", "\u4ECE\u7C7B {0} \u7EE7\u627F\u7684\u5B57\u6BB5" },
+            { "doclet.Fields_Inherited_From_Interface", "\u4ECE\u63A5\u53E3 {0} \u7EE7\u627F\u7684\u5B57\u6BB5" },
+            { "doclet.File_not_found", "\u627E\u4E0D\u5230\u6587\u4EF6\uFF1A {0}" },
+            { "doclet.Generating_0", "\u6B63\u5728\u751F\u6210 {0}..." },
+            { "doclet.Groupname_already_used", "\u5728 -group \u9009\u9879\u4E2D\uFF0Cgroupname \u5DF2\u4F7F\u7528\uFF1A {0}" },
+            { "doclet.Interface", "\u63A5\u53E3" },
+            { "doclet.Interface_Summary", "\u63A5\u53E3\u6458\u8981" },
+            { "doclet.Interfaces", "\u63A5\u53E3" },
+            { "doclet.Members", "\u6210\u5458" },
+            { "doclet.Method_Detail", "\u65B9\u6CD5\u8BE6\u7EC6\u4FE1\u606F" },
+            { "doclet.Method_Summary", "\u65B9\u6CD5\u6458\u8981" },
+            { "doclet.Methods_Inherited_From_Class", "\u4ECE\u7C7B {0} \u7EE7\u627F\u7684\u65B9\u6CD5" },
+            { "doclet.Methods_Inherited_From_Interface", "\u4ECE\u63A5\u53E3 {0} \u7EE7\u627F\u7684\u65B9\u6CD5" },
+            { "doclet.MissingSerialDataTag", "\u5728\u7C7B {0} \u4E2D\uFF0C\u65B9\u6CD5 {1} \u4E2D\u7F3A\u5C11 @serialData \u6807\u8BB0\u3002" },
+            { "doclet.MissingSerialTag", "\u5728\u7C7B {0} \u4E2D\uFF0C\u9ED8\u8BA4\u7684\u53EF\u5E8F\u5217\u5316\u5B57\u6BB5 {1} \u7F3A\u5C11 @serial \u6807\u8BB0\u3002" },
+            { "doclet.Nested_Class_Summary", "\u5D4C\u5957\u7C7B\u6458\u8981" },
+            { "doclet.Nested_Classes_Interface_Inherited_From_Interface", "\u4ECE\u63A5\u53E3 {0} \u7EE7\u627F\u7684\u5D4C\u5957\u7C7B/\u63A5\u53E3" },
+            { "doclet.Nested_Classes_Interfaces_Inherited_From_Class", "\u4ECE\u7C7B {0} \u7EE7\u627F\u7684\u5D4C\u5957\u7C7B/\u63A5\u53E3" },
+            { "doclet.No_Public_Classes_To_Document", "\u627E\u4E0D\u5230\u53EF\u4EE5\u6587\u6863\u5316\u7684\u516C\u5171\u6216\u53D7\u4FDD\u62A4\u7684\u7C7B\u3002" },
+            { "doclet.Notice_taglet_conflict_warn", "\u6CE8\u610F\uFF1A\u53EF\u80FD\u8986\u76D6\u5C06\u6765\u7684\u6807\u51C6\u6807\u8BB0\u7684\u81EA\u5B9A\u4E49\u6807\u8BB0\uFF1A{0}\u3002\u4E3A\u4E86\u907F\u514D\u51FA\u73B0\u53EF\u80FD\u7684\u8986\u76D6\uFF0C\u8BF7\u5728\u81EA\u5B9A\u4E49\u6807\u8BB0\u540D\u79F0\u4E2D\u81F3\u5C11\u4F7F\u7528\u4E00\u4E2A\u53E5\u70B9\u5B57\u7B26 (.)\u3002" },
+            { "doclet.Notice_taglet_overriden", "\u6CE8\u610F\uFF1A\u8986\u76D6\u6807\u51C6\u6807\u8BB0\u7684\u81EA\u5B9A\u4E49\u6807\u8BB0\uFF1A {0}" },
+            { "doclet.Notice_taglet_registered", "\u6CE8\u518C\u7684 Taglet {0}..." },
+            { "doclet.Notice_taglet_unseen", "\u6CE8\u610F\uFF1A\u672A\u627E\u5230\u7684\u81EA\u5B9A\u4E49\u6807\u8BB0\uFF1A {0}" },
+            { "doclet.Option_conflict", "\u9009\u9879 {0} \u4E0E {1} \u51B2\u7A81" },
+            { "doclet.Option_reuse", "\u91CD\u590D\u4F7F\u7528\u7684\u9009\u9879\uFF1A {0}" },
+            { "doclet.Other_Packages", "\u5176\u4ED6\u8F6F\u4EF6\u5305" },
+            { "doclet.Package_Summary", "\u8F6F\u4EF6\u5305\u6458\u8981" },
+            { "doclet.Package_class_and_interface_descriptions", "\u8F6F\u4EF6\u5305\u3001\u7C7B\u548C\u63A5\u53E3\u63CF\u8FF0" },
+            { "doclet.Package_private", "\uFF08\u4E13\u7528\u8F6F\u4EF6\u5305\uFF09" },
+            { "doclet.Packages", "\u8F6F\u4EF6\u5305" },
+            { "doclet.Parameters", "\u53C2\u6570\uFF1A" },
+            { "doclet.Parameters_dup_warn", "\u591A\u6B21\u5BF9\u53C2\u6570 \"{0}\" \u8FDB\u884C\u6587\u6863\u5316\u3002" },
+            { "doclet.Parameters_warn", "@param argument \"{0}\" \u4E0D\u662F\u53C2\u6570\u540D\u79F0\u3002" },
+            { "doclet.Return_tag_on_void_method", "\u4E0D\u80FD\u5728\u8FD4\u56DE\u7C7B\u578B\u4E3A void \u7684\u65B9\u6CD5\u4E2D\u4F7F\u7528 @return \u6807\u8BB0\u3002" },
+            { "doclet.Returns", "\u8FD4\u56DE\uFF1A" },
+            { "doclet.See", "\u8BF7\u53C2\u89C1\uFF1A" },
+            { "doclet.See_Also", "\u53E6\u8BF7\u53C2\u89C1\uFF1A" },
+            { "doclet.SerialData", "\u5E8F\u5217\u6570\u636E\uFF1A" },
+            { "doclet.Serializable", "Serializable" },
+            { "doclet.Serializable_no_customization", "\u672A\u58F0\u660E readObject \u6216 writeObject \u65B9\u6CD5\u3002" },
+            { "doclet.Serialized_Form", "\u5E8F\u5217\u5316\u8868\u683C" },
+            { "doclet.Serialized_Form_class", "\u5E8F\u5217\u5316\u6982\u8FF0" },
+            { "doclet.Serialized_Form_fields", "\u5E8F\u5217\u5316\u5B57\u6BB5" },
+            { "doclet.Serialized_Form_methods", "\u5E8F\u5217\u5316\u65B9\u6CD5" },
+            { "doclet.Since", "\u4ECE\u4EE5\u4E0B\u7248\u672C\u5F00\u59CB\uFF1A" },
+            { "doclet.Throws", "\u629B\u51FA\uFF1A" },
+            { "doclet.Toolkit_Usage_Violation", "\u53EA\u6709 {0} \u53EF\u4EE5\u4F7F\u7528 Doclet \u5DE5\u5177\u7BB1" },
+            { "doclet.TypeParameters", "\u7C7B\u578B\u53C2\u6570\uFF1A" },
+            { "doclet.Type_Parameters_dup_warn", "\u591A\u6B21\u5BF9\u7C7B\u578B\u53C2\u6570 \"{0}\" \u8FDB\u884C\u6587\u6863\u5316\u3002" },
+            { "doclet.Type_Parameters_warn", "@param argument \"{0}\" \u4E0D\u662F\u7C7B\u578B\u53C2\u6570\u540D\u79F0\u3002" },
+            { "doclet.Unable_to_create_directory_0", "\u65E0\u6CD5\u521B\u5EFA\u76EE\u5F55 {0}" },
+            { "doclet.UnknownTag", "{0} \u662F\u672A\u77E5\u6807\u8BB0\u3002" },
+            { "doclet.UnknownTagLowercase", "{0} \u662F\u672A\u77E5\u6807\u8BB0 - \u9664\u4E86\u5927\u5C0F\u5199\u4E4B\u5916\u5176\u4ED6\u65B9\u9762\u4E0E\u5DF2\u77E5\u6807\u8BB0\u76F8\u540C\u3002" },
+            { "doclet.Version", "\u7248\u672C\uFF1A" },
+            { "doclet.annotationtype", "\u6CE8\u91CA\u7C7B\u578B" },
+            { "doclet.class", "\u7C7B" },
+            { "doclet.dest_dir_create", "\u6B63\u5728\u521B\u5EFA\u76EE\u6807\u76EE\u5F55\uFF1A \"{0}\"" },
+            { "doclet.destination_directory_not_directory_0", "\u76EE\u6807\u76EE\u5F55\u4E0D\u662F\u76EE\u5F55 {0}" },
+            { "doclet.destination_directory_not_found_0", "\u627E\u4E0D\u5230\u76EE\u6807\u76EE\u5F55 {0}" },
+            { "doclet.destination_directory_not_writable_0", "\u76EE\u6807\u76EE\u5F55\u4E0D\u53EF\u5199\u5165 {0}" },
+            { "doclet.enum", "\u679A\u4E3E" },
+            { "doclet.enum_valueof_doc", "\n\u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u3002\n\u5B57\u7B26\u4E32\u5FC5\u987B\u4E0E\u7528\u4E8E\u58F0\u660E\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u7684\n\u6807\u8BC6\u7B26<I>\u5B8C\u5168</I>\u5339\u914D\u3002\uFF08\u4E0D\u5141\u8BB8\u6709\u591A\u4F59\n\u7684\u7A7A\u683C\u3002\uFF09\n\n@param name \u8981\u8FD4\u56DE\u7684\u679A\u4E3E\u5E38\u91CF\u7684\u540D\u79F0\u3002\n@return \u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u679A\u4E3E\u5E38\u91CF\n@throws \u5982\u679C\u8BE5\u679A\u4E3E\u7C7B\u578B\u6CA1\u6709\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u5E38\u91CF\uFF0C\n\u5219\u629B\u51FA IllegalArgumentException" },
+            { "doclet.enum_values_doc", "\n\u6309\u7167\u58F0\u660E\u8BE5\u679A\u4E3E\u7C7B\u578B\u7684\u5E38\u91CF\u7684\u987A\u5E8F\uFF0C\u8FD4\u56DE\n\u5305\u542B\u8FD9\u4E9B\u5E38\u91CF\u7684\u6570\u7EC4\u3002\u8BE5\u65B9\u6CD5\u53EF\u7528\u4E8E\u8FED\u4EE3\n\u5E38\u91CF\uFF0C\u5982\u4E0B\u6240\u793A\uFF1A\n<pre>\nfor ({0} c : {0}.values())\n&nbsp;   System.out.println(c);\n</pre>\n@\u6309\u7167\u58F0\u660E\u8BE5\u679A\u4E3E\u7C7B\u578B\u7684\u5E38\u91CF\u7684\u987A\u5E8F\uFF0C\u8FD4\u56DE\n\u5305\u542B\u8FD9\u4E9B\u5E38\u91CF\u7684\u6570\u7EC4" },
+            { "doclet.error", "\u9519\u8BEF" },
+            { "doclet.exception", "\u5F02\u5E38" },
+            { "doclet.exception_encountered", "\u5C1D\u8BD5\u521B\u5EFA\u6587\u4EF6 {1} \u65F6 \n\t\u9047\u5230 {0}" },
+            { "doclet.extended_by", "\u7EE7\u627F\u8005" },
+            { "doclet.extends", "\u7EE7\u627F" },
+            { "doclet.implements", "implementsdoclet.Same_package_name_used=\u8F6F\u4EF6\u5305\u540D\u79F0\u5F62\u5F0F\u4F7F\u7528\u4E86\u4E24\u6B21\uFF1A {0}" },
+            { "doclet.in", "{1} \u4E2D\u7684 {0}" },
+            { "doclet.interface", "\u63A5\u53E3" },
+            { "doclet.malformed_html_link_tag", "<a> \u6807\u8BB0\u4E0D\u89C4\u5219\uFF1A\n\"{0}\"" },
+            { "doclet.noInheritedDoc", "\u4F7F\u7528\u4E86 @inheritDoc\uFF0C\u4F46 {0} \u672A\u8986\u76D6\u6216\u5B9E\u73B0\u4EFB\u4F55\u65B9\u6CD5\u3002" },
+            { "doclet.perform_copy_exception_encountered", "\u6267\u884C\u590D\u5236\u65F6 \n\u9047\u5230{0} \u3002" },
+            { "doclet.sourcetab_warning", "-sourcetab \u7684\u53C2\u6570\u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6574\u6570\u3002" },
+            { "doclet.tag_misuse", "\u4E0D\u80FD\u5728 {1} \u6587\u6863\u4E2D\u4F7F\u7528\u6807\u8BB0 {0}\u3002\u53EA\u80FD\u5728\u4EE5\u4E0B\u7C7B\u578B\u7684\u6587\u6863\u4E2D\u4F7F\u7528\u8BE5\u6807\u8BB0\uFF1A{2}\u3002" },
+            { "doclet.value_tag_invalid_constant", "@value \u6807\u8BB0\uFF08\u5F15\u7528 {0}\uFF09\u53EA\u80FD\u5728\u5E38\u91CF\u4E2D\u4F7F\u7528\u3002" },
+            { "doclet.value_tag_invalid_reference", "{0}\uFF08\u7531 @value \u6807\u8BB0\u5F15\u7528\uFF09\u4E3A\u672A\u77E5\u5F15\u7528\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/compiler.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,418 @@
+package com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class compiler extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "compiler.err.abstract.cant.be.accessed.directly", "abstract {0} {1} in {2} cannot be accessed directly" },
+            { "compiler.err.abstract.cant.be.instantiated", "{0} is abstract; cannot be instantiated" },
+            { "compiler.err.abstract.meth.cant.have.body", "abstract methods cannot have a body" },
+            { "compiler.err.already.annotated", "{0} {1} has already been annotated" },
+            { "compiler.err.already.defined", "{0} is already defined in {1}" },
+            { "compiler.err.already.defined.single.import", "{0} is already defined in a single-type import" },
+            { "compiler.err.already.defined.static.single.import", "{0} is already defined in a static single-type import" },
+            { "compiler.err.already.defined.this.unit", "{0} is already defined in this compilation unit" },
+            { "compiler.err.annotation.missing.default.value", "annotation {0} is missing {1}" },
+            { "compiler.err.annotation.not.valid.for.type", "annotation not valid for a value of type {0}" },
+            { "compiler.err.annotation.type.not.applicable", "annotation type not applicable to this kind of declaration" },
+            { "compiler.err.annotation.value.must.be.annotation", "annotation value must be an annotation" },
+            { "compiler.err.annotation.value.must.be.class.literal", "annotation value must be a class literal" },
+            { "compiler.err.annotation.value.must.be.name.value", "annotation values must be of the form ''name=value''" },
+            { "compiler.err.annotation.value.not.allowable.type", "annotation value not of an allowable type" },
+            { "compiler.err.annotations.not.supported.in.source", "annotations are not supported in -source {0}\n(use -source 5 or higher to enable annotations)" },
+            { "compiler.err.anon.class.impl.intf.no.args", "anonymous class implements interface; cannot have arguments" },
+            { "compiler.err.anon.class.impl.intf.no.qual.for.new", "anonymous class implements interface; cannot have qualifier for new" },
+            { "compiler.err.anon.class.impl.intf.no.typeargs", "anonymous class implements interface; cannot have type arguments" },
+            { "compiler.err.array.and.varargs", "cannot declare both {0} and {1} in {2}" },
+            { "compiler.err.array.dimension.missing", "array dimension missing" },
+            { "compiler.err.array.req.but.found", "array required, but {0} found" },
+            { "compiler.err.assert.as.identifier", "as of release 1.4, ''assert'' is a keyword, and may not be used as an identifier\n(use -source 1.3 or lower to use ''assert'' as an identifier)" },
+            { "compiler.err.assignment.from.super-bound", "assigning from wildcard {0}" },
+            { "compiler.err.assignment.to.extends-bound", "assigning to wildcard {0}" },
+            { "compiler.err.attribute.value.must.be.constant", "attribute value must be constant" },
+            { "compiler.err.break.outside.switch.loop", "break outside switch or loop" },
+            { "compiler.err.call.must.be.first.stmt.in.ctor", "call to {0} must be first statement in constructor" },
+            { "compiler.err.call.to.super.not.allowed.in.enum.ctor", "call to super not allowed in enum constructor" },
+            { "compiler.err.cannot.create.array.with.type.arguments", "cannot create array with type arguments" },
+            { "compiler.err.cant.access", "cannot access {0}\n{1}" },
+            { "compiler.err.cant.apply.symbol", "{0} in {1} cannot be applied to {2}({3})" },
+            { "compiler.err.cant.apply.symbol.1", "{0} in {1} cannot be applied to {2}({3}); {4}" },
+            { "compiler.err.cant.assign.val.to.final.var", "cannot assign a value to final variable {0}" },
+            { "compiler.err.cant.deref", "{0} cannot be dereferenced" },
+            { "compiler.err.cant.extend.intf.annotation", "''extends'' not allowed for @interfaces" },
+            { "compiler.err.cant.inherit.diff.arg", "{0} cannot be inherited with different arguments: <{1}> and <{2}>" },
+            { "compiler.err.cant.inherit.from.final", "cannot inherit from final {0}" },
+            { "compiler.err.cant.read.file", "cannot read: {0}" },
+            { "compiler.err.cant.ref.before.ctor.called", "cannot reference {0} before supertype constructor has been called" },
+            { "compiler.err.cant.resolve", "cannot find symbol\nsymbol: {0} {3}{1}{2}" },
+            { "compiler.err.cant.resolve.location", "cannot find symbol\nsymbol  : {0} {3}{1}{2}\nlocation: {4} {5}" },
+            { "compiler.err.cant.ret.val.from.meth.decl.void", "cannot return a value from method whose result type is void" },
+            { "compiler.err.cant.select.static.class.from.param.type", "cannot select a static class from a parameterized type" },
+            { "compiler.err.catch.without.try", "''catch'' without ''try''" },
+            { "compiler.err.clash.with.pkg.of.same.name", "{0} clashes with package of same name" },
+            { "compiler.err.class.cant.write", "error while writing {0}: {1}" },
+            { "compiler.err.class.public.should.be.in.file", "class {0} is public, should be declared in a file named {0}.java" },
+            { "compiler.err.concrete.inheritance.conflict", "methods {0} from {1} and {2} from {3} are inherited with the same signature" },
+            { "compiler.err.const.expr.req", "constant expression required" },
+            { "compiler.err.cont.outside.loop", "continue outside of loop" },
+            { "compiler.err.cyclic.annotation.element", "cyclic annotation element type" },
+            { "compiler.err.cyclic.inheritance", "cyclic inheritance involving {0}" },
+            { "compiler.err.default.allowed.in.intf.annotation.member", "default value only allowed in an @interface member" },
+            { "compiler.err.does.not.override.abstract", "{0} is not abstract and does not override abstract method {1} in {2}" },
+            { "compiler.err.doesnt.exist", "package {0} does not exist" },
+            { "compiler.err.dot.class.expected", "''.class'' expected" },
+            { "compiler.err.duplicate.annotation", "duplicate annotation" },
+            { "compiler.err.duplicate.annotation.member.value", "duplicate annotation member value {0} in {1}" },
+            { "compiler.err.duplicate.case.label", "duplicate case label" },
+            { "compiler.err.duplicate.class", "duplicate class: {0}" },
+            { "compiler.err.duplicate.default.label", "duplicate default label" },
+            { "compiler.err.else.without.if", "''else'' without ''if''" },
+            { "compiler.err.empty.char.lit", "empty character literal" },
+            { "compiler.err.encl.class.required", "an enclosing instance that contains {0} is required" },
+            { "compiler.err.enum.annotation.must.be.enum.constant", "an enum annotation value must be an enum constant" },
+            { "compiler.err.enum.as.identifier", "as of release 5, ''enum'' is a keyword, and may not be used as an identifier\n(use -source 1.4 or lower to use ''enum'' as an identifier)" },
+            { "compiler.err.enum.cant.be.instantiated", "enum types may not be instantiated" },
+            { "compiler.err.enum.const.req", "unqualified enumeration constant name required" },
+            { "compiler.err.enum.label.must.be.unqualified.enum", "an enum switch case label must be the unqualified name of an enumeration constant" },
+            { "compiler.err.enum.no.finalize", "enums cannot have finalize methods" },
+            { "compiler.err.enum.no.subclassing", "classes cannot directly extend java.lang.Enum" },
+            { "compiler.err.enum.types.not.extensible", "enum types are not extensible" },
+            { "compiler.err.enums.must.be.static", "enum declarations allowed only in static contexts" },
+            { "compiler.err.enums.not.supported.in.source", "enums are not supported in -source {0}\n(use -source 5 or higher to enable enums)" },
+            { "compiler.err.error", "error: " },
+            { "compiler.err.error.reading.file", "error reading {0}; {1}" },
+            { "compiler.err.except.already.caught", "exception {0} has already been caught" },
+            { "compiler.err.except.never.thrown.in.try", "exception {0} is never thrown in body of corresponding try statement" },
+            { "compiler.err.expected", "{0} expected" },
+            { "compiler.err.expected2", "{0} or {1} expected" },
+            { "compiler.err.expected3", "{0}, {1}, or {2} expected" },
+            { "compiler.err.final.parameter.may.not.be.assigned", "final parameter {0} may not be assigned" },
+            { "compiler.err.finally.without.try", "''finally'' without ''try''" },
+            { "compiler.err.foreach.not.applicable.to.type", "foreach not applicable to expression type" },
+            { "compiler.err.foreach.not.supported.in.source", "for-each loops are not supported in -source {0}\n(use -source 5 or higher to enable for-each loops)" },
+            { "compiler.err.fp.number.too.large", "floating point number too large" },
+            { "compiler.err.fp.number.too.small", "floating point number too small" },
+            { "compiler.err.generic.array.creation", "generic array creation" },
+            { "compiler.err.generic.throwable", "a generic class may not extend java.lang.Throwable" },
+            { "compiler.err.generics.not.supported.in.source", "generics are not supported in -source {0}\n(use -source 5 or higher to enable generics)" },
+            { "compiler.err.icls.cant.have.static.decl", "inner classes cannot have static declarations" },
+            { "compiler.err.illegal.char", "illegal character: \\{0}" },
+            { "compiler.err.illegal.char.for.encoding", "unmappable character for encoding {0}" },
+            { "compiler.err.illegal.combination.of.modifiers", "illegal combination of modifiers: {0} and {1}" },
+            { "compiler.err.illegal.enum.static.ref", "illegal reference to static field from initializer" },
+            { "compiler.err.illegal.esc.char", "illegal escape character" },
+            { "compiler.err.illegal.forward.ref", "illegal forward reference" },
+            { "compiler.err.illegal.generic.type.for.instof", "illegal generic type for instanceof" },
+            { "compiler.err.illegal.initializer.for.type", "illegal initializer for {0}" },
+            { "compiler.err.illegal.line.end.in.char.lit", "illegal line end in character literal" },
+            { "compiler.err.illegal.nonascii.digit", "illegal non-ASCII digit" },
+            { "compiler.err.illegal.qual.not.icls", "illegal qualifier; {0} is not an inner class" },
+            { "compiler.err.illegal.start.of.expr", "illegal start of expression" },
+            { "compiler.err.illegal.start.of.type", "illegal start of type" },
+            { "compiler.err.illegal.unicode.esc", "illegal unicode escape" },
+            { "compiler.err.import.requires.canonical", "import requires canonical name for {0}" },
+            { "compiler.err.improperly.formed.type.inner.raw.param", "improperly formed type, type parameters given on a raw type" },
+            { "compiler.err.improperly.formed.type.param.missing", "improperly formed type, some parameters are missing" },
+            { "compiler.err.incomparable.types", "incomparable types: {0} and {1}" },
+            { "compiler.err.initializer.must.be.able.to.complete.normally", "initializer must be able to complete normally" },
+            { "compiler.err.int.number.too.large", "integer number too large: {0}" },
+            { "compiler.err.internal.error.cant.instantiate", "internal error; cannot instantiate {0} at {1} to ({2})" },
+            { "compiler.err.intf.annotation.cant.have.type.params", "@interface may not have type parameters" },
+            { "compiler.err.intf.annotation.member.clash", "@interface member clashes with method ''{0}'' in {1}" },
+            { "compiler.err.intf.annotation.members.cant.have.params", "@interface members may not have parameters" },
+            { "compiler.err.intf.annotation.members.cant.have.type.params", "@interface members may not have type parameters" },
+            { "compiler.err.intf.expected.here", "interface expected here" },
+            { "compiler.err.intf.meth.cant.have.body", "interface methods cannot have body" },
+            { "compiler.err.intf.not.allowed.here", "interface not allowed here" },
+            { "compiler.err.invalid.annotation.member.type", "invalid type for annotation member" },
+            { "compiler.err.invalid.hex.number", "hexadecimal numbers must contain at least one hexadecimal digit" },
+            { "compiler.err.invalid.meth.decl.ret.type.req", "invalid method declaration; return type required" },
+            { "compiler.err.io.exception", "error reading source file: {0}" },
+            { "compiler.err.label.already.in.use", "label {0} already in use" },
+            { "compiler.err.limit.code", "code too large" },
+            { "compiler.err.limit.code.too.large.for.try.stmt", "code too large for try statement" },
+            { "compiler.err.limit.dimensions", "array type has too many dimensions" },
+            { "compiler.err.limit.locals", "too many local variables" },
+            { "compiler.err.limit.parameters", "too many parameters" },
+            { "compiler.err.limit.pool", "too many constants" },
+            { "compiler.err.limit.pool.in.class", "too many constants in class {0}" },
+            { "compiler.err.limit.stack", "code requires too much stack" },
+            { "compiler.err.limit.string", "constant string too long" },
+            { "compiler.err.limit.string.overflow", "UTF8 representation for string \"{0}...\" is too long for the constant pool" },
+            { "compiler.err.local.enum", "enum types must not be local" },
+            { "compiler.err.local.var.accessed.from.icls.needs.final", "local variable {0} is accessed from within inner class; needs to be declared final" },
+            { "compiler.err.malformed.fp.lit", "malformed floating point literal" },
+            { "compiler.err.method.does.not.override.superclass", "method does not override or implement a method from a supertype" },
+            { "compiler.err.missing.meth.body.or.decl.abstract", "missing method body, or declare abstract" },
+            { "compiler.err.missing.ret.stmt", "missing return statement" },
+            { "compiler.err.missing.ret.val", "missing return value" },
+            { "compiler.err.mod.not.allowed.here", "modifier {0} not allowed here" },
+            { "compiler.err.name.clash.same.erasure", "name clash: {0} and {1} have the same erasure" },
+            { "compiler.err.name.clash.same.erasure.no.override", "name clash: {0} in {1} and {2} in {3} have the same erasure, yet neither overrides the other" },
+            { "compiler.err.name.reserved.for.internal.use", "{0} is reserved for internal use" },
+            { "compiler.err.native.meth.cant.have.body", "native methods cannot have a body" },
+            { "compiler.err.neither.conditional.subtype", "incompatible types for ?: neither is a subtype of the other\nsecond operand: {0}\nthird operand : {1}" },
+            { "compiler.err.new.not.allowed.in.annotation", "''new'' not allowed in an annotation" },
+            { "compiler.err.no.annotation.member", "no annotation member {0} in {1}" },
+            { "compiler.err.no.encl.instance.of.type.in.scope", "no enclosing instance of type {0} is in scope" },
+            { "compiler.err.no.intf.expected.here", "no interface expected here" },
+            { "compiler.err.no.match.entry", "{0} has no match in entry in {1}; required {2}" },
+            { "compiler.err.no.superclass", "{0} has no superclass" },
+            { "compiler.err.non-static.cant.be.ref", "non-static {0} {1} cannot be referenced from a static context" },
+            { "compiler.err.not.annotation.type", "{0} is not an annotation type" },
+            { "compiler.err.not.def.access.class.intf.cant.access", "{0} in {1} is defined in an inaccessible class or interface" },
+            { "compiler.err.not.def.public.cant.access", "{0} is not public in {1}; cannot be accessed from outside package" },
+            { "compiler.err.not.encl.class", "not an enclosing class: {0}" },
+            { "compiler.err.not.loop.label", "not a loop label: {0}" },
+            { "compiler.err.not.stmt", "not a statement" },
+            { "compiler.err.not.within.bounds", "type parameter {0} is not within its bound" },
+            { "compiler.err.not.within.bounds.explain", "type parameter {0} is not within its bound; {1}" },
+            { "compiler.err.operator.cant.be.applied", "operator {0} cannot be applied to {1}" },
+            { "compiler.err.orphaned", "orphaned {0}" },
+            { "compiler.err.override.meth", "{0}; overridden method is {1}" },
+            { "compiler.err.override.meth.doesnt.throw", "{0}; overridden method does not throw {1}" },
+            { "compiler.err.override.static", "{0}; overriding method is static" },
+            { "compiler.err.override.weaker.access", "{0}; attempting to assign weaker access privileges; was {1}" },
+            { "compiler.err.pkg.annotations.sb.in.package-info.java", "package annotations should be in file package-info.java" },
+            { "compiler.err.pkg.clashes.with.class.of.same.name", "package {0} clashes with class of same name" },
+            { "compiler.err.premature.eof", "reached end of file while parsing" },
+            { "compiler.err.prob.found.req", "{0}\nfound   : {1}\nrequired: {2}" },
+            { "compiler.err.prob.found.req.1", "{0} {3}\nfound   : {1}\nrequired: {2}" },
+            { "compiler.err.proc.bad.config.file", "Bad service configuration file, or exception thrown while constructing Processor object: {0}" },
+            { "compiler.err.proc.cant.access", "cannot access {0}\n{1}\nConsult the following stack trace for details.\n{2}" },
+            { "compiler.err.proc.cant.create.loader", "Could not create class loader for annotation processors: {0}" },
+            { "compiler.err.proc.cant.find.class", "Could not find class file for ''{0}''." },
+            { "compiler.err.proc.messager", "{0}" },
+            { "compiler.err.proc.no.explicit.annotation.processing.requested", "Class names, ''{0}'', are only accepted if annotation processing is explicitly requested" },
+            { "compiler.err.proc.processor.bad.option.name", "Bad option name ''{0}'' provided by processor ''{1}''" },
+            { "compiler.err.proc.processor.cant.instantiate", "Could not instantiate an instance of processor ''{0}''" },
+            { "compiler.err.proc.processor.constructor.error", "Exception thrown while constructing Processor object: {0}" },
+            { "compiler.err.proc.processor.not.found", "Annotation processor ''{0}'' not found" },
+            { "compiler.err.proc.processor.wrong.type", "Annotation processor ''{0}'' does not implement javax.annotation.processing.Processor" },
+            { "compiler.err.qualified.new.of.static.class", "qualified new of static class" },
+            { "compiler.err.recursive.ctor.invocation", "recursive constructor invocation" },
+            { "compiler.err.ref.ambiguous", "reference to {0} is ambiguous, both {1} {2} in {3} and {4} {5} in {6} match" },
+            { "compiler.err.repeated.annotation.target", "repeated annotation target" },
+            { "compiler.err.repeated.interface", "repeated interface" },
+            { "compiler.err.repeated.modifier", "repeated modifier" },
+            { "compiler.err.report.access", "{0} has {1} access in {2}" },
+            { "compiler.err.ret.outside.meth", "return outside method" },
+            { "compiler.err.signature.doesnt.match.intf", "signature does not match {0}; incompatible interfaces" },
+            { "compiler.err.signature.doesnt.match.supertype", "signature does not match {0}; incompatible supertype" },
+            { "compiler.err.source.cant.overwrite.input.file", "error writing source; cannot overwrite input file {0}" },
+            { "compiler.err.stack.sim.error", "Internal error: stack sim error on {0}" },
+            { "compiler.err.static.imp.only.classes.and.interfaces", "static import only from classes and interfaces" },
+            { "compiler.err.static.import.not.supported.in.source", "static import declarations are not supported in -source {0}\n(use -source 5 or higher to enable static import declarations)" },
+            { "compiler.err.synthetic.name.conflict", "the symbol {0} conflicts with a compiler-synthesized symbol in {1}" },
+            { "compiler.err.throws.not.allowed.in.intf.annotation", "throws clause not allowed in @interface members" },
+            { "compiler.err.try.without.catch.or.finally", "''try'' without ''catch'' or ''finally''" },
+            { "compiler.err.type.doesnt.take.params", "type {0} does not take parameters" },
+            { "compiler.err.type.found.req", "unexpected type\nfound   : {0}\nrequired: {1}" },
+            { "compiler.err.type.var.cant.be.deref", "cannot select from a type variable" },
+            { "compiler.err.type.var.may.not.be.followed.by.other.bounds", "a type variable may not be followed by other bounds" },
+            { "compiler.err.type.var.more.than.once", "type variable {0} occurs more than once in result type of {1}; cannot be left uninstantiated" },
+            { "compiler.err.type.var.more.than.once.in.result", "type variable {0} occurs more than once in type of {1}; cannot be left uninstantiated" },
+            { "compiler.err.types.incompatible.diff.ret", "types {0} and {1} are incompatible; both define {2}, but with unrelated return types" },
+            { "compiler.err.unclosed.char.lit", "unclosed character literal" },
+            { "compiler.err.unclosed.comment", "unclosed comment" },
+            { "compiler.err.unclosed.str.lit", "unclosed string literal" },
+            { "compiler.err.undef.label", "undefined label: {0}" },
+            { "compiler.err.undetermined.type", "type parameters of {0} cannot be determined" },
+            { "compiler.err.undetermined.type.1", "type parameters of {0} cannot be determined; {1}" },
+            { "compiler.err.unexpected.type", "unexpected type\nrequired: {0}\nfound   : {1}" },
+            { "compiler.err.unknown.enum.constant", "in class file {0}: unknown enum constant {1}.{2}" },
+            { "compiler.err.unreachable.stmt", "unreachable statement" },
+            { "compiler.err.unreported.exception.default.constructor", "unreported exception {0} in default constructor" },
+            { "compiler.err.unreported.exception.need.to.catch.or.throw", "unreported exception {0}; must be caught or declared to be thrown" },
+            { "compiler.err.unsupported.cross.fp.lit", "hexadecimal floating-point literals are not supported on this VM" },
+            { "compiler.err.unsupported.encoding", "unsupported encoding: {0}" },
+            { "compiler.err.unsupported.fp.lit", "hexadecimal floating-point literals are not supported before -source 5" },
+            { "compiler.err.var.might.already.be.assigned", "variable {0} might already have been assigned" },
+            { "compiler.err.var.might.be.assigned.in.loop", "variable {0} might be assigned in loop" },
+            { "compiler.err.var.might.not.have.been.initialized", "variable {0} might not have been initialized" },
+            { "compiler.err.varargs.not.supported.in.source", "variable-arity methods are not supported in -source {0}\n(use -source 5 or higher to enable variable-arity methods)" },
+            { "compiler.err.void.not.allowed.here", "''void'' type not allowed here" },
+            { "compiler.err.wrong.number.type.args", "wrong number of type arguments; required {0}" },
+            { "compiler.misc.anonymous.class", "<anonymous {0}>" },
+            { "compiler.misc.arg.length.mismatch", "cannot instantiate from arguments because actual and formal argument lists differ in length" },
+            { "compiler.misc.assignment.from.super-bound", "assignment from super-bound type {0}" },
+            { "compiler.misc.assignment.to.extends-bound", "assignment to extends-bound type {0}" },
+            { "compiler.misc.bad.class.file.header", "bad class file: {0}\n{1}\nPlease remove or make sure it appears in the correct subdirectory of the classpath." },
+            { "compiler.misc.bad.class.signature", "bad class signature: {0}" },
+            { "compiler.misc.bad.const.pool.tag", "bad constant pool tag: {0}" },
+            { "compiler.misc.bad.const.pool.tag.at", "bad constant pool tag: {0} at {1}" },
+            { "compiler.misc.bad.enclosing.method", "bad enclosing method attribute: {0}" },
+            { "compiler.misc.bad.runtime.invisible.param.annotations", "bad RuntimeInvisibleParameterAnnotations attribute: {0}" },
+            { "compiler.misc.bad.signature", "bad signature: {0}" },
+            { "compiler.misc.base.membership", "all your base class are belong to us" },
+            { "compiler.misc.cant.implement", "{0} in {1} cannot implement {2} in {3}" },
+            { "compiler.misc.cant.override", "{0} in {1} cannot override {2} in {3}" },
+            { "compiler.misc.ccf.found.later.version", "class file has later version than expected: {0}" },
+            { "compiler.misc.ccf.unrecognized.attribute", "unrecognized attribute: {0}" },
+            { "compiler.misc.clashes.with", "{0} in {1} clashes with {2} in {3}" },
+            { "compiler.misc.class.file.not.found", "class file for {0} not found" },
+            { "compiler.misc.class.file.wrong.class", "class file contains wrong class: {0}" },
+            { "compiler.misc.count.error", "{0} error" },
+            { "compiler.misc.count.error.plural", "{0} errors" },
+            { "compiler.misc.count.warn", "{0} warning" },
+            { "compiler.misc.count.warn.plural", "{0} warnings" },
+            { "compiler.misc.fatal.err.cant.locate.ctor", "Fatal Error: Unable to find constructor for {0}" },
+            { "compiler.misc.fatal.err.cant.locate.field", "Fatal Error: Unable to find field {0}" },
+            { "compiler.misc.fatal.err.cant.locate.meth", "Fatal Error: Unable to find method {0}" },
+            { "compiler.misc.fatal.err.no.java.lang", "Fatal Error: Unable to find package java.lang in classpath or bootclasspath" },
+            { "compiler.misc.file.does.not.contain.package", "file does not contain package {0}" },
+            { "compiler.misc.file.doesnt.contain.class", "file does not contain class {0}" },
+            { "compiler.misc.illegal.start.of.class.file", "illegal start of class file" },
+            { "compiler.misc.incompatible.types", "incompatible types" },
+            { "compiler.misc.incompatible.types.1", "incompatible types; {0}" },
+            { "compiler.misc.inconvertible.types", "inconvertible types" },
+            { "compiler.misc.inferred.do.not.conform.to.bounds", "inferred type argument(s) {0} do not conform to bounds of type variable(s) {1}" },
+            { "compiler.misc.kindname", "identifier({0})" },
+            { "compiler.misc.kindname.annotation", "@interface" },
+            { "compiler.misc.kindname.class", "class" },
+            { "compiler.misc.kindname.class.package", "class, package" },
+            { "compiler.misc.kindname.constructor", "constructor" },
+            { "compiler.misc.kindname.interface", "interface" },
+            { "compiler.misc.kindname.method", "method" },
+            { "compiler.misc.kindname.method.class", "method, class" },
+            { "compiler.misc.kindname.method.class.package", "method, class, package" },
+            { "compiler.misc.kindname.method.package", "method, package" },
+            { "compiler.misc.kindname.package", "package" },
+            { "compiler.misc.kindname.static", "static" },
+            { "compiler.misc.kindname.type.variable", "type variable" },
+            { "compiler.misc.kindname.type.variable.bound", "bound of type variable" },
+            { "compiler.misc.kindname.value", "value" },
+            { "compiler.misc.kindname.value.class", "value, class" },
+            { "compiler.misc.kindname.value.class.package", "value, class, package" },
+            { "compiler.misc.kindname.value.method", "value, method" },
+            { "compiler.misc.kindname.value.method.class", "value, method, class" },
+            { "compiler.misc.kindname.value.method.class.package", "value, method, class, package" },
+            { "compiler.misc.kindname.value.method.package", "value, method, package" },
+            { "compiler.misc.kindname.value.package", "value, package" },
+            { "compiler.misc.kindname.variable", "variable" },
+            { "compiler.misc.kindname.variable.class", "variable, class" },
+            { "compiler.misc.kindname.variable.class.package", "variable, class, package" },
+            { "compiler.misc.kindname.variable.method", "variable, method" },
+            { "compiler.misc.kindname.variable.method.class", "variable, method, class" },
+            { "compiler.misc.kindname.variable.method.class.package", "variable, method, class, package" },
+            { "compiler.misc.kindname.variable.method.package", "variable, method, package" },
+            { "compiler.misc.kindname.variable.package", "variable, package" },
+            { "compiler.misc.no.conforming.assignment.exists", "no instance(s) of type variable(s) {0} exist so that argument type {1} conforms to formal parameter type {2}" },
+            { "compiler.misc.no.conforming.instance.exists", "no instance(s) of type variable(s) {0} exist so that {1} conforms to {2}" },
+            { "compiler.misc.no.unique.maximal.instance.exists", "no unique maximal instance exists for type variable {0} with upper bounds {1}" },
+            { "compiler.misc.no.unique.minimal.instance.exists", "no unique minimal instance exists for type variable {0} with lower bounds {1}" },
+            { "compiler.misc.override.incompatible.ret", "{0}; attempting to use incompatible return type" },
+            { "compiler.misc.override.unchecked.ret", "{0}; return type requires unchecked conversion" },
+            { "compiler.misc.possible.loss.of.precision", "possible loss of precision" },
+            { "compiler.misc.resume.abort", "R)esume, A)bort>" },
+            { "compiler.misc.source.unavailable", "(source unavailable)" },
+            { "compiler.misc.token.bad-symbol", "<bad symbol>" },
+            { "compiler.misc.token.character", "<character>" },
+            { "compiler.misc.token.double", "<double>" },
+            { "compiler.misc.token.end-of-input", "<end of input>" },
+            { "compiler.misc.token.float", "<float>" },
+            { "compiler.misc.token.identifier", "<identifier>" },
+            { "compiler.misc.token.integer", "<integer>" },
+            { "compiler.misc.token.long-integer", "<long integer>" },
+            { "compiler.misc.token.string", "<string>" },
+            { "compiler.misc.type.parameter", "type parameter {0} " },
+            { "compiler.misc.type.req.class", "class" },
+            { "compiler.misc.type.req.class.array", "class or array" },
+            { "compiler.misc.type.req.exact", "class or interface without bounds" },
+            { "compiler.misc.type.req.ref", "reference" },
+            { "compiler.misc.unable.to.access.file", "unable to access file: {0}" },
+            { "compiler.misc.unchecked.assign", "[unchecked] unchecked conversion" },
+            { "compiler.misc.unchecked.cast.to.type", "[unchecked] unchecked cast" },
+            { "compiler.misc.unchecked.clash.with", "{0} in {1} overrides {2} in {3}" },
+            { "compiler.misc.unchecked.implement", "{0} in {1} implements {2} in {3}" },
+            { "compiler.misc.unchecked.override", "{0} in {1} overrides {2} in {3}" },
+            { "compiler.misc.undecl.type.var", "undeclared type variable: {0}" },
+            { "compiler.misc.undetermined.type", "undetermined type" },
+            { "compiler.misc.unicode.str.not.supported", "unicode string in class file not supported" },
+            { "compiler.misc.unnamed.package", "unnamed package" },
+            { "compiler.misc.varargs.clash.with", "{0} in {1} overrides {2} in {3}" },
+            { "compiler.misc.varargs.implement", "{0} in {1} implements {2} in {3}" },
+            { "compiler.misc.varargs.override", "{0} in {1} overrides {2} in {3}" },
+            { "compiler.misc.verbose.checking.attribution", "[checking {0}]" },
+            { "compiler.misc.verbose.classpath", "[search path for class files: {0}]" },
+            { "compiler.misc.verbose.loading", "[loading {0}]" },
+            { "compiler.misc.verbose.parsing.done", "[parsing completed {0}ms]" },
+            { "compiler.misc.verbose.parsing.started", "[parsing started {0}]" },
+            { "compiler.misc.verbose.retro", "[retrofitting {0}]" },
+            { "compiler.misc.verbose.retro.with", "\tretrofitting {0} with {1}" },
+            { "compiler.misc.verbose.retro.with.list", "\tretrofitting {0} with type parameters {1}, supertype {2}, interfaces {3}" },
+            { "compiler.misc.verbose.sourcepath", "[search path for source files: {0}]" },
+            { "compiler.misc.verbose.total", "[total {0}ms]" },
+            { "compiler.misc.verbose.wrote.file", "[wrote {0}]" },
+            { "compiler.misc.wrong.version", "class file has wrong version {0}.{1}, should be {2}.{3}" },
+            { "compiler.misc.x.print.processor.info", "Processor {0} matches {1} and returns {2}." },
+            { "compiler.misc.x.print.rounds", "Round {0}:\n\tinput files: {1}\n\tannotations: {2}\n\tlast round: {3}" },
+            { "compiler.note.deprecated.filename", "{0} uses or overrides a deprecated API." },
+            { "compiler.note.deprecated.filename.additional", "{0} has additional uses or overrides of a deprecated API." },
+            { "compiler.note.deprecated.plural", "Some input files use or override a deprecated API." },
+            { "compiler.note.deprecated.plural.additional", "Some input files additionally use or override a deprecated API." },
+            { "compiler.note.deprecated.recompile", "Recompile with -Xlint:deprecation for details." },
+            { "compiler.note.note", "Note: " },
+            { "compiler.note.proc.messager", "{0}" },
+            { "compiler.note.unchecked.filename", "{0} uses unchecked or unsafe operations." },
+            { "compiler.note.unchecked.filename.additional", "{0} has additional unchecked or unsafe operations." },
+            { "compiler.note.unchecked.plural", "Some input files use unchecked or unsafe operations." },
+            { "compiler.note.unchecked.plural.additional", "Some input files additionally use unchecked or unsafe operations." },
+            { "compiler.note.unchecked.recompile", "Recompile with -Xlint:unchecked for details." },
+            { "compiler.warn.annotation.method.not.found", "Cannot find annotation method ''{1}()'' in type ''{0}''" },
+            { "compiler.warn.annotation.method.not.found.reason", "Cannot find annotation method ''{1}()'' in type ''{0}'': {2}" },
+            { "compiler.warn.assert.as.identifier", "as of release 1.4, ''assert'' is a keyword, and may not be used as an identifier\n(use -source 1.4 or higher to use ''assert'' as a keyword)" },
+            { "compiler.warn.big.major.version", "{0}: major version {1} is newer than {2}, the highest major version supported by this compiler.\nIt is recommended that the compiler be upgraded." },
+            { "compiler.warn.constant.SVUID", "[serial] serialVersionUID must be constant in class {0}" },
+            { "compiler.warn.dir.path.element.not.found", "[path] bad path element \"{0}\": no such directory" },
+            { "compiler.warn.div.zero", "[divzero] division by zero" },
+            { "compiler.warn.empty.if", "[empty] empty statement after if" },
+            { "compiler.warn.enum.as.identifier", "as of release 5, ''enum'' is a keyword, and may not be used as an identifier\n(use -source 5 or higher to use ''enum'' as a keyword)" },
+            { "compiler.warn.finally.cannot.complete", "[finally] finally clause cannot complete normally" },
+            { "compiler.warn.forward.ref", "reference to variable ''{0}'' before it has been initialized" },
+            { "compiler.warn.has.been.deprecated", "[deprecation] {0} in {1} has been deprecated" },
+            { "compiler.warn.illegal.char.for.encoding", "unmappable character for encoding {0}" },
+            { "compiler.warn.improper.SVUID", "[serial] serialVersionUID must be declared static final in class {0}" },
+            { "compiler.warn.inexact.non-varargs.call", "non-varargs call of varargs method with inexact argument type for last parameter;\ncast to {0} for a varargs call\ncast to {1} for a non-varargs call and to suppress this warning" },
+            { "compiler.warn.invalid.archive.file", "[path] Unexpected file on path: {0}" },
+            { "compiler.warn.long.SVUID", "[serial] serialVersionUID must be of type long in class {0}" },
+            { "compiler.warn.missing.SVUID", "[serial] serializable class {0} has no definition of serialVersionUID" },
+            { "compiler.warn.missing.deprecated.annotation", "[dep-ann] deprecated item is not annotated with @Deprecated" },
+            { "compiler.warn.override.bridge", "{0}; overridden method is a bridge method" },
+            { "compiler.warn.override.varargs.extra", "{0}; overriding method is missing ''...''" },
+            { "compiler.warn.override.varargs.missing", "{0}; overridden method has no ''...''" },
+            { "compiler.warn.path.element.not.found", "[path] bad path element \"{0}\": no such file or directory" },
+            { "compiler.warn.pkg-info.already.seen", "[package-info] a package-info.java file has already been seen for package {0}" },
+            { "compiler.warn.position.overflow", "Position encoding overflows at line {0}" },
+            { "compiler.warn.possible.fall-through.into.case", "[fallthrough] possible fall-through into case" },
+            { "compiler.warn.prob.found.req", "{0}\nfound   : {1}\nrequired: {2}" },
+            { "compiler.warn.proc.annotations.without.processors", "No processor claimed any of these annotations: {0}" },
+            { "compiler.warn.proc.file.create.last.round", "File for type ''{0}'' created in the last round will not be subject to annotation processing." },
+            { "compiler.warn.proc.file.reopening", "Attempt to create a file for ''{0}'' multiple times" },
+            { "compiler.warn.proc.illegal.file.name", "Cannot create file for illegal name ''{0}''." },
+            { "compiler.warn.proc.malformed.supported.string", "Malformed string ''{0}'' for a supported annotation type returned by processor ''{1}''" },
+            { "compiler.warn.proc.messager", "{0}" },
+            { "compiler.warn.proc.package.does.not.exist", "package {0} does not exist" },
+            { "compiler.warn.proc.proc-only.requested.no.procs", "Annotation processing without compilation requested but no processors were found." },
+            { "compiler.warn.proc.processor.incompatible.source.version", "Supported source version ''{0}'' from annotation processor ''{1}'' less than -source ''{2}''" },
+            { "compiler.warn.proc.type.already.exists", "A file for type ''{0}'' already exists on the sourcepath or classpath" },
+            { "compiler.warn.proc.type.recreate", "Attempt to create a file for type ''{0}'' multiple times" },
+            { "compiler.warn.proc.unclosed.type.files", "Unclosed files for the types ''{0}''; these types will not undergo annotation processing" },
+            { "compiler.warn.proc.unmatched.processor.options", "The following options were not recognized by any processor: ''{0}''" },
+            { "compiler.warn.proc.use.implicit", "Implicitly compiled files were not subject to annotation processing.\nUse -implicit to specify a policy for implicit compilation." },
+            { "compiler.warn.proc.use.proc.or.implicit", "Implicitly compiled files were not subject to annotation processing.\nUse -proc:none to disable annotation processing or -implicit to specify a policy for implicit compilation." },
+            { "compiler.warn.redundant.cast", "[cast] redundant cast to {0}" },
+            { "compiler.warn.sun.proprietary", "{0} is Sun proprietary API and may be removed in a future release" },
+            { "compiler.warn.unchecked.assign", "[unchecked] unchecked assignment: {0} to {1}" },
+            { "compiler.warn.unchecked.assign.to.var", "[unchecked] unchecked assignment to variable {0} as member of raw type {1}" },
+            { "compiler.warn.unchecked.call.mbr.of.raw.type", "[unchecked] unchecked call to {0} as a member of the raw type {1}" },
+            { "compiler.warn.unchecked.cast.to.type", "[unchecked] unchecked cast to type {0}" },
+            { "compiler.warn.unchecked.generic.array.creation", "[unchecked] unchecked generic array creation of type {0} for varargs parameter" },
+            { "compiler.warn.unchecked.meth.invocation.applied", "[unchecked] unchecked method invocation: {0} in {1} is applied to {2}({3})" },
+            { "compiler.warn.unexpected.archive.file", "[path] Unexpected extension for archive file: {0}" },
+            { "compiler.warn.warning", "warning: " },
+            { "ncompiler.misc.type.variable.has.undetermined.type", "type variable {0} has undetermined type" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/compiler_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,414 @@
+package com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class compiler_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "compiler.err.abstract.cant.be.accessed.directly", "\u62BD\u8C61 {0} {1} ({2} \u5185) \u306B\u76F4\u63A5\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.abstract.cant.be.instantiated", "{0} \u306F abstract \u3067\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u751F\u6210\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.abstract.meth.cant.have.body", "abstract \u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.already.annotated", "{0} {1} \u306F\u6CE8\u91C8\u304C\u4ED8\u3044\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.already.defined", "{0} \u306F {1} \u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.already.defined.single.import", "{0} \u306F\u5358\u4E00\u306E\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u5BA3\u8A00\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.already.defined.static.single.import", "{0} \u306F static \u306E\u5358\u4E00\u306E\u578B\u30A4\u30F3\u30DD\u30FC\u30C8\u5BA3\u8A00\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.already.defined.this.unit", "{0} \u306F\u30B3\u30F3\u30D1\u30A4\u30EB\u5358\u4F4D\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.annotation.missing.default.value", "\u6CE8\u91C8 {0} \u306B {1} \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.annotation.not.valid.for.type", "\u6CE8\u91C8\u306F\u30BF\u30A4\u30D7 {0} \u306E\u5024\u306B\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.annotation.type.not.applicable", "\u6CE8\u91C8\u578B\u306F\u3053\u306E\u7A2E\u985E\u306E\u5BA3\u8A00\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.annotation.value.must.be.annotation", "\u6CE8\u91C8\u306E\u5024\u306F\u6CE8\u91C8\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.annotation.value.must.be.class.literal", "\u6CE8\u91C8\u306E\u5024\u306F\u30AF\u30E9\u30B9\u30EA\u30C6\u30E9\u30EB\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.annotation.value.must.be.name.value", "\u6CE8\u91C8\u306E\u5024\u306F ''name=value'' \u3068\u3044\u3046\u5F62\u5F0F\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093" },
+            { "compiler.err.annotation.value.not.allowable.type", "\u4F7F\u7528\u3067\u304D\u306A\u3044\u30BF\u30A4\u30D7\u306E\u6CE8\u91C8\u306E\u5024\u3067\u3059\u3002" },
+            { "compiler.err.annotations.not.supported.in.source", "\u6CE8\u91C8\u306F -source {0} \u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u6CE8\u91C8\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5 \u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.anon.class.impl.intf.no.args", "\u540D\u524D\u306E\u306A\u3044\u30AF\u30E9\u30B9\u304C\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002\u5F15\u6570\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.anon.class.impl.intf.no.qual.for.new", "\u540D\u524D\u306E\u306A\u3044\u30AF\u30E9\u30B9\u304C\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002new \u306B\u4FEE\u98FE\u5B50\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.anon.class.impl.intf.no.typeargs", "\u540D\u524D\u306E\u306A\u3044\u30AF\u30E9\u30B9\u304C\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u3059\u3002\u578B\u5F15\u6570\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093" },
+            { "compiler.err.array.and.varargs", "{2} \u3067 {0} \u3068 {1} \u306E\u4E21\u65B9\u3092\u5BA3\u8A00\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093" },
+            { "compiler.err.array.dimension.missing", "\u914D\u5217\u306E\u5927\u304D\u3055\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.err.array.req.but.found", "\u914D\u5217\u304C\u8981\u6C42\u3055\u308C\u307E\u3057\u305F\u304C\u3001{0} \u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002" },
+            { "compiler.err.assert.as.identifier", "\u30EA\u30EA\u30FC\u30B9 1.4 \u304B\u3089 ''assert'' \u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u3001\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''assert'' \u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001-source 1.3 (\u307E\u305F\u306F\u305D\u308C\u4EE5\u524D\u306E\u30EA\u30EA\u30FC\u30B9\u540D) \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.assignment.from.super-bound", "\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9 {0} \u304B\u3089\u4EE3\u5165\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.assignment.to.extends-bound", "\u30EF\u30A4\u30EB\u30C9\u30AB\u30FC\u30C9 {0} \u3078\u4EE3\u5165\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.attribute.value.must.be.constant", "\u5C5E\u6027\u306E\u5024\u306F\u5B9A\u6570\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.break.outside.switch.loop", "break \u304C switch \u6587\u307E\u305F\u306F\u30EB\u30FC\u30D7\u306E\u5916\u306B\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.err.call.must.be.first.stmt.in.ctor", "{0} \u306E\u547C\u3073\u51FA\u3057\u306F\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u5148\u982D\u6587\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.call.to.super.not.allowed.in.enum.ctor", "\u5217\u6319\u578B\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3067\u306F\u3001\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u306E\u547C\u3073\u51FA\u3057\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.access", "{0} \u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002\n{1}" },
+            { "compiler.err.cant.apply.symbol", "{0} ({1} \u5185) \u3092 {2}({3}) \u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093" },
+            { "compiler.err.cant.apply.symbol.1", "{0} ({1} \u5185) \u3092 {2}({3}) \u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093; {4}" },
+            { "compiler.err.cant.assign.val.to.final.var", "final \u5909\u6570 {0} \u306B\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.deref", "{0} \u306F\u9593\u63A5\u53C2\u7167\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.extend.intf.annotation", "@interfaces \u3067\u306F ''extends'' \u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093" },
+            { "compiler.err.cant.inherit.diff.arg", "{0} \u3092\u7570\u306A\u308B\u5F15\u6570 <{1}> \u3068 <{2}> \u3067\u7D99\u627F\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.inherit.from.final", "final {0} \u304B\u3089\u306F\u7D99\u627F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.read.file", "{0} \u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.ref.before.ctor.called", "\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u547C\u3073\u51FA\u3057\u524D\u306F {0} \u3092\u53C2\u7167\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.resolve", "\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\u3002\n\u30B7\u30F3\u30DC\u30EB: {0} {3}{1}{2}" },
+            { "compiler.err.cant.resolve.location", "\u30B7\u30F3\u30DC\u30EB\u3092\u898B\u3064\u3051\u3089\u308C\u307E\u305B\u3093\u3002\n\u30B7\u30F3\u30DC\u30EB: {0} {3}{1}{2}\n\u5834\u6240    : {5} \u306E {4}" },
+            { "compiler.err.cant.ret.val.from.meth.decl.void", "\u623B\u308A\u5024\u306E\u578B\u304C void \u306E\u30E1\u30BD\u30C3\u30C9\u304B\u3089\u306F\u5024\u3092\u8FD4\u305B\u307E\u305B\u3093\u3002" },
+            { "compiler.err.cant.select.static.class.from.param.type", "\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u3055\u308C\u305F\u578B\u304B\u3089 static \u30AF\u30E9\u30B9\u3092\u9078\u629E\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.catch.without.try", "''catch'' \u3078\u306E ''try'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.clash.with.pkg.of.same.name", "{0} \u306F\u540C\u540D\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002" },
+            { "compiler.err.class.cant.write", "{0} \u306E\u66F8\u304D\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002{1}" },
+            { "compiler.err.class.public.should.be.in.file", "\u30AF\u30E9\u30B9 {0} \u306F public \u3067\u3042\u308A\u3001\u30D5\u30A1\u30A4\u30EB {0}.java \u3067\u5BA3\u8A00\u3057\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.concrete.inheritance.conflict", "{1} \u306E\u30E1\u30BD\u30C3\u30C9 {0} \u3068 {3} \u306E {2} \u306F\u540C\u3058\u30B7\u30B0\u30CB\u30C1\u30E3\u30FC\u304B\u3089\u7D99\u627F\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.const.expr.req", "\u5B9A\u6570\u5F0F\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.err.cont.outside.loop", "continue \u304C\u30EB\u30FC\u30D7\u306E\u5916\u306B\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.err.cyclic.annotation.element", "\u6CE8\u91C8\u306E\u8981\u7D20\u30BF\u30A4\u30D7\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.cyclic.inheritance", "{0} \u3092\u542B\u3080\u7D99\u627F\u304C\u30EB\u30FC\u30D7\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.default.allowed.in.intf.annotation.member", "\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306F @interface \u30E1\u30F3\u30D0\u5185\u3067\u306E\u307F\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002" },
+            { "compiler.err.does.not.override.abstract", "{0} \u306F abstract \u3067\u306A\u304F\u3001{2} \u5185\u306E abstract \u30E1\u30BD\u30C3\u30C9 {1} \u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.err.doesnt.exist", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.err.dot.class.expected", "''.class'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.duplicate.annotation", "\u6CE8\u91C8\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.duplicate.annotation.member.value", "{1} \u306E\u6CE8\u91C8\u30E1\u30F3\u30D0\u306E\u5024 {0} \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.duplicate.case.label", "case \u30E9\u30D9\u30EB\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.duplicate.class", "\u30AF\u30E9\u30B9 {0} \u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.duplicate.default.label", "default \u30E9\u30D9\u30EB\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.else.without.if", "''else'' \u3078\u306E ''if'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.empty.char.lit", "\u7A7A\u306E\u6587\u5B57\u30EA\u30C6\u30E9\u30EB\u3067\u3059\u3002" },
+            { "compiler.err.encl.class.required", "{0} \u3092\u542B\u3080\u56F2\u3046\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.err.enum.annotation.must.be.enum.constant", "\u5217\u6319\u578B\u6CE8\u91C8\u5024\u306F\u3001\u5217\u6319\u578B\u5B9A\u6570\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.enum.as.identifier", "\u30EA\u30EA\u30FC\u30B9 5 \u304B\u3089 ''enum'' \u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''enum'' \u3092\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F -source 1.4 \u307E\u305F\u306F\u305D\u308C\u4EE5\u524D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.enum.cant.be.instantiated", "\u5217\u6319\u578B\u30BF\u30A4\u30D7\u306F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.enum.const.req", "\u4FEE\u98FE\u3055\u308C\u3066\u3044\u306A\u3044\u5217\u6319\u578B\u5B9A\u6570\u306E\u540D\u524D\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.err.enum.label.must.be.unqualified.enum", "\u5217\u6319\u578B\u306E switch case \u30E9\u30D9\u30EB\u306F\u5217\u6319\u578B\u5B9A\u6570\u306E\u975E\u4FEE\u98FE\u540D\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.enum.no.finalize", "\u5217\u6319\u578B\u30BF\u30A4\u30D7\u306F finalize \u30E1\u30BD\u30C3\u30C9\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093" },
+            { "compiler.err.enum.no.subclassing", "\u30AF\u30E9\u30B9\u306F\u76F4\u63A5 java.lang.Enum \u3092\u62E1\u5F35\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.enum.types.not.extensible", "\u5217\u6319\u578B\u30BF\u30A4\u30D7\u306F\u62E1\u5F35\u53EF\u80FD\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.enums.must.be.static", "\u5217\u6319\u578B\u306E\u5BA3\u8A00\u306F static \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u3067\u3057\u304B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093" },
+            { "compiler.err.enums.not.supported.in.source", "\u5217\u6319\u578B\u306F -source {0} \u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u5217\u6319\u578B\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F -source 5 \u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.error", "\u30A8\u30E9\u30FC:" },
+            { "compiler.err.error.reading.file", "{0} \u306E\u8AAD\u307F\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002{1}" },
+            { "compiler.err.except.already.caught", "\u4F8B\u5916 {0} \u306F\u3059\u3067\u306B\u30AD\u30E3\u30C3\u30C1\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.except.never.thrown.in.try", "\u4F8B\u5916 {0} \u306F\u5BFE\u5FDC\u3059\u308B try \u6587\u306E\u672C\u4F53\u3067\u306F\u30B9\u30ED\u30FC\u3055\u308C\u307E\u305B\u3093\u3002" },
+            { "compiler.err.expected", "{0} \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.expected2", "{0} \u307E\u305F\u306F {1} \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.expected3", "{0}\u3001{1}\u3001\u307E\u305F\u306F {2} \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.final.parameter.may.not.be.assigned", "final \u30D1\u30E9\u30E1\u30FC\u30BF {0} \u306B\u5024\u3092\u4EE3\u5165\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.finally.without.try", "''finally'' \u3078\u306E ''try'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.foreach.not.applicable.to.type", "foreach \u306F\u5F0F\u306E\u30BF\u30A4\u30D7\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.foreach.not.supported.in.source", "for-each \u30EB\u30FC\u30D7\u306F -source {0} \u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(for-each \u30EB\u30FC\u30D7\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5 \u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.fp.number.too.large", "\u6D6E\u52D5\u5C0F\u6570\u70B9\u6570\u304C\u5927\u304D\u904E\u304E\u307E\u3059\u3002" },
+            { "compiler.err.fp.number.too.small", "\u6D6E\u52D5\u5C0F\u6570\u70B9\u6570\u304C\u5C0F\u3055\u904E\u304E\u307E\u3059\u3002" },
+            { "compiler.err.generic.array.creation", "\u6C4E\u7528\u914D\u5217\u3092\u4F5C\u6210\u3057\u307E\u3059\u3002" },
+            { "compiler.err.generic.throwable", "\u6C4E\u7528\u30AF\u30E9\u30B9\u306F java.lang.Throwable \u3092\u62E1\u5F35\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.generics.not.supported.in.source", "\u7DCF\u79F0\u578B\u306F -source {0} \u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u7DCF\u79F0\u578B\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5 \u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.icls.cant.have.static.decl", "\u5185\u90E8\u30AF\u30E9\u30B9\u304C static \u5BA3\u8A00\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.illegal.char", "\\{0} \u306F\u4E0D\u6B63\u306A\u6587\u5B57\u3067\u3059\u3002" },
+            { "compiler.err.illegal.char.for.encoding", "\u3053\u306E\u6587\u5B57\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0 {0} \u306B\u30DE\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.illegal.combination.of.modifiers", "\u4FEE\u98FE\u5B50 {0} \u3068 {1} \u306E\u7D44\u307F\u5408\u308F\u305B\u306F\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.enum.static.ref", "\u521D\u671F\u5316\u5B50\u304B\u3089 static \u30D5\u30A3\u30FC\u30EB\u30C9\u3078\u306E\u53C2\u7167\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.esc.char", "\u30A8\u30B9\u30B1\u30FC\u30D7\u6587\u5B57\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.forward.ref", "\u9806\u65B9\u5411\u53C2\u7167\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.generic.type.for.instof", "instanceof \u306E\u7DCF\u79F0\u578B\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.initializer.for.type", "{0} \u306E\u521D\u671F\u5316\u5B50\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.line.end.in.char.lit", "\u6587\u5B57\u30EA\u30C6\u30E9\u30EB\u306E\u884C\u672B\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.nonascii.digit", "\u4E0D\u6B63\u306A\u975E ASCII \u6570\u5B57\u3067\u3059\u3002" },
+            { "compiler.err.illegal.qual.not.icls", "\u4FEE\u98FE\u5B50\u304C\u4E0D\u6B63\u3067\u3059\u3002{0} \u306F\u5185\u90E8\u30AF\u30E9\u30B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.illegal.start.of.expr", "\u5F0F\u306E\u958B\u59CB\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.start.of.type", "\u578B\u306E\u958B\u59CB\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.illegal.unicode.esc", "Unicode \u30A8\u30B9\u30B1\u30FC\u30D7\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.import.requires.canonical", "\u30A4\u30F3\u30DD\u30FC\u30C8\u306B\u306F {0} \u306E\u6A19\u6E96\u540D\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.err.improperly.formed.type.inner.raw.param", "\u578B\u306E\u5F62\u5F0F\u304C\u4E0D\u9069\u5207\u3067\u3059\u3002raw \u578B\u306B\u6307\u5B9A\u3055\u308C\u305F\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3067\u3059\u3002" },
+            { "compiler.err.improperly.formed.type.param.missing", "\u578B\u306E\u5F62\u5F0F\u304C\u4E0D\u9069\u5207\u3067\u3059\u3002\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.incomparable.types", "\u578B {0} \u3068 {1} \u306F\u6BD4\u8F03\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.initializer.must.be.able.to.complete.normally", "\u521D\u671F\u5316\u5B50\u306F\u6B63\u5E38\u306B\u5B8C\u4E86\u3067\u304D\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.int.number.too.large", "\u6574\u6570 {0} \u304C\u5927\u304D\u904E\u304E\u307E\u3059\u3002" },
+            { "compiler.err.internal.error.cant.instantiate", "\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002{0} \u3092 {1} \u3067 ({2}) \u306B\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u751F\u6210\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.intf.annotation.cant.have.type.params", "@interface \u304C\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.intf.annotation.member.clash", "@interface \u30E1\u30F3\u30D0\u30FC\u306F {1} \u306E\u30E1\u30BD\u30C3\u30C9 ''{0}'' \u3068\u7AF6\u5408\u3057\u307E\u3059" },
+            { "compiler.err.intf.annotation.members.cant.have.params", "@interface \u30E1\u30F3\u30D0\u304C\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.intf.annotation.members.cant.have.type.params", "@interface \u30E1\u30F3\u30D0\u304C\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.intf.expected.here", "\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.err.intf.meth.cant.have.body", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.intf.not.allowed.here", "\u3053\u3053\u3067\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u8A31\u53EF\u3055\u308C\u307E\u305B\u3093" },
+            { "compiler.err.invalid.annotation.member.type", "\u6CE8\u91C8\u30E1\u30F3\u30D0\u306E\u578B\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.invalid.hex.number", "16 \u9032\u6570\u306B\u306F 16 \u9032\u6570\u5B57\u304C\u6700\u4F4E 1 \u3064\u306F\u542B\u307E\u308C\u3066\u3044\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.invalid.meth.decl.ret.type.req", "\u30E1\u30BD\u30C3\u30C9\u306E\u5BA3\u8A00\u304C\u4E0D\u6B63\u3067\u3059\u3002\u623B\u308A\u5024\u306E\u578B\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.err.io.exception", "\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u30A8\u30E9\u30FC\u3067\u3059: {0}" },
+            { "compiler.err.label.already.in.use", "\u30E9\u30D9\u30EB {0} \u306F\u3059\u3067\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.limit.code", "\u30B3\u30FC\u30C9\u304C\u5927\u304D\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.code.too.large.for.try.stmt", "try \u6587\u306E\u30B3\u30FC\u30C9\u304C\u5927\u304D\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.dimensions", "\u914D\u5217\u578B\u306E\u6B21\u5143\u304C\u591A\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.locals", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570\u304C\u591A\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.parameters", "\u30D1\u30E9\u30E1\u30FC\u30BF\u304C\u591A\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.pool", "\u5B9A\u6570\u304C\u591A\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.pool.in.class", "\u30AF\u30E9\u30B9 {0} \u5185\u306E\u5B9A\u6570\u304C\u591A\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.stack", "\u30B3\u30FC\u30C9\u304C\u8981\u6C42\u3059\u308B\u30B9\u30BF\u30C3\u30AF\u304C\u591A\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.string", "\u5B9A\u6570\u6587\u5B57\u5217\u304C\u9577\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.limit.string.overflow", "\u6587\u5B57\u5217 \"{0}...\" \u306E UTF8 \u8868\u73FE\u304C\u3001\u5B9A\u6570\u30D7\u30FC\u30EB\u306B\u5BFE\u3057\u3066\u9577\u3059\u304E\u307E\u3059\u3002" },
+            { "compiler.err.local.enum", "\u5217\u6319\u578B\u306F\u30ED\u30FC\u30AB\u30EB\u3067\u306F\u3044\u3051\u307E\u305B\u3093\u3002" },
+            { "compiler.err.local.var.accessed.from.icls.needs.final", "\u30ED\u30FC\u30AB\u30EB\u5909\u6570 {0} \u306F\u5185\u90E8\u30AF\u30E9\u30B9\u304B\u3089\u30A2\u30AF\u30BB\u30B9\u3055\u308C\u307E\u3059\u3002final \u3067\u5BA3\u8A00\u3055\u308C\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.err.malformed.fp.lit", "\u6D6E\u52D5\u5C0F\u6570\u70B9\u30EA\u30C6\u30E9\u30EB\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.err.method.does.not.override.superclass", "\u30E1\u30BD\u30C3\u30C9\u306F\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7\u306E\u30E1\u30BD\u30C3\u30C9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u307E\u305F\u306F\u5B9F\u88C5\u3057\u307E\u305B\u3093" },
+            { "compiler.err.missing.meth.body.or.decl.abstract", "\u30E1\u30BD\u30C3\u30C9\u672C\u4F53\u304C\u306A\u3044\u304B\u3001abstract \u3068\u3057\u3066\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.missing.ret.stmt", "return \u6587\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.err.missing.ret.val", "\u623B\u308A\u5024\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.mod.not.allowed.here", "\u4FEE\u98FE\u5B50 {0} \u3092\u3053\u3053\u3067\u4F7F\u3046\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.name.clash.same.erasure", "\u540D\u524D\u304C\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059\u3002{0} \u3068 {1} \u306F\u524A\u9664\u5F8C\u306E\u540D\u524D\u304C\u540C\u3058\u3067\u3059\u3002" },
+            { "compiler.err.name.clash.same.erasure.no.override", "\u540D\u524D\u304C\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059\u3002{1} \u306E {0} \u3068 {3} \u306E {2} \u306F\u307E\u3060\u4ED6\u65B9\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u305B\u3093\u304C\u3001\u524A\u9664\u5F8C\u306E\u540D\u524D\u304C\u540C\u3058\u3067\u3059\u3002" },
+            { "compiler.err.name.reserved.for.internal.use", "{0} \u306F\u5185\u90E8\u3067\u306E\u4F7F\u7528\u306E\u305F\u3081\u4E88\u7D04\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.native.meth.cant.have.body", "native \u30E1\u30BD\u30C3\u30C9\u304C\u672C\u4F53\u3092\u6301\u3064\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.neither.conditional.subtype", "? \u306B\u5BFE\u3059\u308B\u4E92\u63DB\u6027\u306E\u306A\u3044\u578B : \u3069\u3061\u3089\u3082\u4ED6\u65B9\u306E\u30B5\u30D6\u30BF\u30A4\u30D7\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\n2 \u756A\u76EE\u306E\u30AA\u30DA\u30E9\u30F3\u30C9 : {0}\n3 \u756A\u76EE\u306E\u30AA\u30DA\u30E9\u30F3\u30C9 : {1}" },
+            { "compiler.err.new.not.allowed.in.annotation", "''new'' \u306F\u6CE8\u91C8\u306B\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093" },
+            { "compiler.err.no.annotation.member", "{1} \u306E\u6CE8\u91C8\u30E1\u30F3\u30D0 {0} \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.no.encl.instance.of.type.in.scope", "\u578B {0} \u306E\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u3080\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u30B9\u30B3\u30FC\u30D7\u5185\u306B\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.no.intf.expected.here", "\u3053\u3053\u306B\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306F\u5FC5\u8981\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.no.match.entry", "{0} \u306F {1} \u306E\u30A8\u30F3\u30C8\u30EA\u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002{2} \u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.err.no.superclass", "{0} \u306B\u306F\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.non-static.cant.be.ref", "static \u3067\u306A\u3044 {0} {1} \u3092 static \u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u304B\u3089\u53C2\u7167\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.not.annotation.type", "{0} \u306F\u6CE8\u91C8\u578B\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.not.def.access.class.intf.cant.access", "{1} \u306E {0} \u304C\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u306B\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059" },
+            { "compiler.err.not.def.public.cant.access", "{1} \u306E {0} \u306F public \u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002\u30D1\u30C3\u30B1\u30FC\u30B8\u5916\u304B\u3089\u306F\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.not.encl.class", "{0} \u306F\u5185\u90E8\u30AF\u30E9\u30B9\u3092\u56F2\u307F\u307E\u305B\u3093\u3002" },
+            { "compiler.err.not.loop.label", "{0} \u306F\u30EB\u30FC\u30D7\u30E9\u30D9\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.not.stmt", "\u6587\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.not.within.bounds", "\u578B\u30D1\u30E9\u30E1\u30FC\u30BF {0} \u306F\u305D\u306E\u7BC4\u56F2\u3092\u8D8A\u3048\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.not.within.bounds.explain", "\u578B\u30D1\u30E9\u30E1\u30FC\u30BF {0} \u306F\u305D\u306E\u7BC4\u56F2\u3092\u8D8A\u3048\u3066\u3044\u307E\u3059\u3002{1}" },
+            { "compiler.err.operator.cant.be.applied", "\u6F14\u7B97\u5B50 {0} \u306F {1} \u306B\u9069\u7528\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.orphaned", "{0} \u306B\u306F\u89AA\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.override.meth", "{0}\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306F {1} \u3067\u3059\u3002" },
+            { "compiler.err.override.meth.doesnt.throw", "{0}\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306F {1} \u3092\u30B9\u30ED\u30FC\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.err.override.static", "{0}\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\u30E1\u30BD\u30C3\u30C9\u304C static \u3067\u3059\u3002" },
+            { "compiler.err.override.weaker.access", "{0}\u30B9\u30FC\u30D1\u30FC\u30AF\u30E9\u30B9\u3067\u306E\u5B9A\u7FA9\u3088\u308A\u5F31\u3044\u30A2\u30AF\u30BB\u30B9\u7279\u6A29 ({1}) \u3092\u5272\u308A\u5F53\u3066\u3088\u3046\u3068\u3057\u307E\u3057\u305F\u3002" },
+            { "compiler.err.pkg.annotations.sb.in.package-info.java", "\u30D1\u30C3\u30B1\u30FC\u30B8\u306E\u6CE8\u91C8\u306F\u30D5\u30A1\u30A4\u30EB package-info.java \u5185\u306B\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.pkg.clashes.with.class.of.same.name", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306F\u540C\u540D\u306E\u30AF\u30E9\u30B9\u3068\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.premature.eof", "\u69CB\u6587\u89E3\u6790\u4E2D\u306B\u30D5\u30A1\u30A4\u30EB\u306E\u7D42\u308F\u308A\u306B\u79FB\u308A\u307E\u3057\u305F" },
+            { "compiler.err.prob.found.req", "{0}\n\u691C\u51FA\u5024  : {1}\n\u671F\u5F85\u5024  : {2}" },
+            { "compiler.err.prob.found.req.1", "{0} {3}\n\u691C\u51FA\u5024  : {1}\n\u671F\u5F85\u5024  : {2}" },
+            { "compiler.err.proc.bad.config.file", "\u30B5\u30FC\u30D3\u30B9\u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u304C\u4E0D\u6B63\u3067\u3042\u308B\u304B\u3001\u30D7\u30ED\u30BB\u30C3\u30B5\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u69CB\u7BC9\u4E2D\u306B\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F: {0}" },
+            { "compiler.err.proc.cant.access", "{0} \u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\n{1}\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n{2}" },
+            { "compiler.err.proc.cant.create.loader", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306E\u30AF\u30E9\u30B9\u30ED\u30FC\u30C0\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F: {0}" },
+            { "compiler.err.proc.cant.find.class", "''{0}'' \u306E\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "compiler.err.proc.messager", "{0}" },
+            { "compiler.err.proc.no.explicit.annotation.processing.requested", "\u30AF\u30E9\u30B9\u540D ''{0}'' \u304C\u53D7\u3051\u5165\u308C\u3089\u308C\u308B\u306E\u306F\u3001\u6CE8\u91C8\u51E6\u7406\u304C\u660E\u793A\u7684\u306B\u8981\u6C42\u3055\u308C\u305F\u5834\u5408\u3060\u3051\u3067\u3059" },
+            { "compiler.err.proc.processor.bad.option.name", "\u30D7\u30ED\u30BB\u30C3\u30B5 ''{1}'' \u306B\u3088\u3063\u3066\u6307\u5B9A\u3055\u308C\u305F\u30AA\u30D7\u30B7\u30E7\u30F3\u540D ''{0}'' \u304C\u4E0D\u6B63\u3067\u3059" },
+            { "compiler.err.proc.processor.cant.instantiate", "\u30D7\u30ED\u30BB\u30C3\u30B5 ''{0}'' \u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F" },
+            { "compiler.err.proc.processor.constructor.error", "\u30D7\u30ED\u30BB\u30C3\u30B5\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u306E\u69CB\u7BC9\u4E2D\u306B\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F: {0}" },
+            { "compiler.err.proc.processor.not.found", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5 ''{0}'' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093" },
+            { "compiler.err.proc.processor.wrong.type", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5 ''{0}'' \u304C javax.annotation.processing.Processor \u3092\u5B9F\u88C5\u3057\u3066\u3044\u307E\u305B\u3093" },
+            { "compiler.err.qualified.new.of.static.class", "static \u30AF\u30E9\u30B9\u306E new \u304C\u4FEE\u98FE\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.recursive.ctor.invocation", "\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u306E\u547C\u3073\u51FA\u3057\u304C\u518D\u5E30\u7684\u3067\u3059\u3002" },
+            { "compiler.err.ref.ambiguous", "{0} \u306E\u53C2\u7167\u306F\u3042\u3044\u307E\u3044\u3067\u3059\u3002{3} \u306E {1} {2} \u3068 {6} \u306E {4} {5} \u304C\u4E21\u65B9\u9069\u5408\u3057\u307E\u3059\u3002" },
+            { "compiler.err.repeated.annotation.target", "\u6CE8\u91C8\u30BF\u30FC\u30B2\u30C3\u30C8\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.repeated.interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.repeated.modifier", "\u4FEE\u98FE\u5B50\u304C\u7E70\u308A\u8FD4\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.err.report.access", "{0} \u306F {2} \u3067 {1} \u30A2\u30AF\u30BB\u30B9\u3055\u308C\u307E\u3059\u3002" },
+            { "compiler.err.ret.outside.meth", "\u30E1\u30BD\u30C3\u30C9\u306E\u5916\u306E return \u6587\u3067\u3059\u3002" },
+            { "compiler.err.signature.doesnt.match.intf", "\u30B7\u30B0\u30CB\u30C1\u30E3\u30FC\u304C {0} \u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002\u4E92\u63DB\u6027\u306E\u306A\u3044\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002" },
+            { "compiler.err.signature.doesnt.match.supertype", "\u30B7\u30B0\u30CB\u30C1\u30E3\u30FC\u304C {0} \u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002\u4E92\u63DB\u6027\u306E\u306A\u3044\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7\u3067\u3059\u3002" },
+            { "compiler.err.source.cant.overwrite.input.file", "\u30BD\u30FC\u30B9\u306E\u66F8\u304D\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002\u5165\u529B\u30D5\u30A1\u30A4\u30EB {0} \u3092\u4E0A\u66F8\u304D\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.stack.sim.error", "\u5185\u90E8\u30A8\u30E9\u30FC: {0} \u3067\u306E\u30B9\u30BF\u30C3\u30AF\u30B7\u30DF\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30A8\u30E9\u30FC" },
+            { "compiler.err.static.imp.only.classes.and.interfaces", "static import \u306F\u30AF\u30E9\u30B9\u3068\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u304B\u3089\u306E\u307F\u3068\u306A\u308A\u307E\u3059\u3002" },
+            { "compiler.err.static.import.not.supported.in.source", "static import \u5BA3\u8A00\u306F -source {0} \u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(static import \u5BA3\u8A00\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5 \u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.synthetic.name.conflict", "\u30B7\u30F3\u30DC\u30EB {0} \u304C\u3001{1} \u3067\u30B3\u30F3\u30D1\u30A4\u30E9\u304C\u5408\u6210\u3057\u305F\u30B7\u30F3\u30DC\u30EB\u3068\u7AF6\u5408\u3057\u307E\u3059\u3002" },
+            { "compiler.err.throws.not.allowed.in.intf.annotation", "throws \u7BC0\u3092 @interface \u30E1\u30F3\u30D0\u3067\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.try.without.catch.or.finally", "''try'' \u3078\u306E ''catch'' \u307E\u305F\u306F ''finally'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.type.doesnt.take.params", "\u578B {0} \u306F\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u3068\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.type.found.req", "\u4E88\u671F\u3057\u306A\u3044\u578B\n\u691C\u51FA\u5024  : {0}\n\u671F\u5F85\u5024  : {1}" },
+            { "compiler.err.type.var.cant.be.deref", "\u578B\u5909\u6570\u304B\u3089\u9078\u629E\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.type.var.may.not.be.followed.by.other.bounds", "\u3053\u306E\u578B\u5909\u6570\u306E\u5F8C\u308D\u306B\u4ED6\u306E\u5883\u754C\u3092\u914D\u7F6E\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.type.var.more.than.once", "\u578B\u5909\u6570 {0} \u306F {1} \u306E\u623B\u308A\u5024\u306E\u578B\u3067 2 \u56DE\u4EE5\u4E0A\u51FA\u73FE\u3057\u307E\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u751F\u6210\u3055\u308C\u306A\u3044\u307E\u307E\u306B\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.type.var.more.than.once.in.result", "\u578B\u5909\u6570 {0} \u306F {1} \u306E\u578B\u3067 2 \u56DE\u4EE5\u4E0A\u51FA\u73FE\u3057\u307E\u3059\u3002\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u751F\u6210\u3055\u308C\u306A\u3044\u307E\u307E\u306B\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.types.incompatible.diff.ret", "\u578B {0} \u3068\u578B {1} \u306E\u4E92\u63DB\u6027\u304C\u3042\u308A\u307E\u305B\u3093\u3002\u4E21\u65B9\u3068\u3082 {2} \u3092\u5B9A\u7FA9\u3057\u3066\u3044\u307E\u3059\u304C\u3001\u623B\u308A\u5024\u306E\u578B\u304C\u7121\u95A2\u4FC2\u3067\u3059\u3002" },
+            { "compiler.err.unclosed.char.lit", "\u6587\u5B57\u30EA\u30C6\u30E9\u30EB\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.err.unclosed.comment", "\u30B3\u30E1\u30F3\u30C8\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.err.unclosed.str.lit", "\u6587\u5B57\u5217\u30EA\u30C6\u30E9\u30EB\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.err.undef.label", "\u30E9\u30D9\u30EB {0} \u306F\u672A\u5B9A\u7FA9\u3067\u3059\u3002" },
+            { "compiler.err.undetermined.type", "{0} \u306E\u578B\u30D1\u30E9\u30E1\u30FC\u30BF\u3092\u5224\u5225\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.undetermined.type.1", "\u578B\u30D1\u30E9\u30E1\u30FC\u30BF {0} \u3092\u5224\u5225\u3067\u304D\u307E\u305B\u3093; {1}" },
+            { "compiler.err.unexpected.type", "\u4E88\u671F\u3057\u306A\u3044\u578B\n\u671F\u5F85\u5024  : {0}\n\u691C\u51FA\u5024  : {1}" },
+            { "compiler.err.unknown.enum.constant", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB {0} \u5185: \u4E0D\u660E\u306A\u5217\u6319\u578B\u5B9A\u6570\u3067\u3059 {1}.{2}" },
+            { "compiler.err.unreachable.stmt", "\u3053\u306E\u6587\u306B\u5236\u5FA1\u304C\u79FB\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.unreported.exception.default.constructor", "\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u5185\u306B\u5831\u544A\u3055\u308C\u306A\u3044\u4F8B\u5916 {0} \u304C\u5B58\u5728\u3057\u307E\u3059\u3002" },
+            { "compiler.err.unreported.exception.need.to.catch.or.throw", "\u4F8B\u5916 {0} \u306F\u5831\u544A\u3055\u308C\u307E\u305B\u3093\u3002\u30B9\u30ED\u30FC\u3059\u308B\u306B\u306F\u30AD\u30E3\u30C3\u30C1\u307E\u305F\u306F\u3001\u30B9\u30ED\u30FC\u5BA3\u8A00\u3092\u3057\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.err.unsupported.cross.fp.lit", "16 \u9032\u6D6E\u52D5\u5C0F\u6570\u70B9\u30EA\u30C6\u30E9\u30EB\u306F\u3053\u306E VM \u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.err.unsupported.encoding", "\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3067\u3059: {0}" },
+            { "compiler.err.unsupported.fp.lit", "16 \u9032\u6D6E\u52D5\u5C0F\u6570\u70B9\u30EA\u30C6\u30E9\u30EB\u306F -source 5 \u3088\u308A\u524D\u3067\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093" },
+            { "compiler.err.var.might.already.be.assigned", "\u5909\u6570 {0} \u306F\u3059\u3067\u306B\u4EE3\u5165\u3055\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.err.var.might.be.assigned.in.loop", "\u5909\u6570 {0} \u306F\u30EB\u30FC\u30D7\u5185\u3067\u4EE3\u5165\u3055\u308C\u3066\u3044\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.err.var.might.not.have.been.initialized", "\u5909\u6570 {0} \u306F\u521D\u671F\u5316\u3055\u308C\u3066\u3044\u306A\u3044\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.err.varargs.not.supported.in.source", "\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u306F -source {0} \u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\n(\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u3092\u4F7F\u7528\u53EF\u80FD\u306B\u3059\u308B\u306B\u306F\u3001-source 5 \u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.err.void.not.allowed.here", "\u3053\u3053\u3067 ''void'' \u578B\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.err.wrong.number.type.args", "\u578B\u5F15\u6570\u306E\u6570\u304C\u4E0D\u6B63\u3067\u3059\u3002{0} \u500B\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.misc.anonymous.class", "<anonymous {0}>" },
+            { "compiler.misc.arg.length.mismatch", "\u5B9F\u5F15\u6570\u30EA\u30B9\u30C8\u3068\u4EEE\u5F15\u6570\u30EA\u30B9\u30C8\u306E\u9577\u3055\u304C\u7570\u306A\u308B\u305F\u3081\u3001\u5F15\u6570\u304B\u3089\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.assignment.from.super-bound", "\u30B9\u30FC\u30D1\u30FC\u30D0\u30A6\u30F3\u30C9\u578B {0} \u304B\u3089\u306E\u4EE3\u5165" },
+            { "compiler.misc.assignment.to.extends-bound", "\u62E1\u5F35\u30D0\u30A6\u30F3\u30C9\u578B {0} \u3078\u306E\u4EE3\u5165" },
+            { "compiler.misc.bad.class.file.header", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB {0} \u306F\u4E0D\u6B63\u3067\u3059\u3002\n{1}\n\u524A\u9664\u3059\u308B\u304B\u3001\u30AF\u30E9\u30B9\u30D1\u30B9\u306E\u6B63\u3057\u3044\u30B5\u30D6\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u3042\u308B\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "compiler.misc.bad.class.signature", "\u30AF\u30E9\u30B9 {0} \u306E\u30B7\u30B0\u30CB\u30C1\u30E3\u30FC\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.misc.bad.const.pool.tag", "\u5B9A\u6570\u30D7\u30FC\u30EB\u30BF\u30B0 {0} \u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.misc.bad.const.pool.tag.at", "\u5B9A\u6570\u30D7\u30FC\u30EB\u30BF\u30B0 {1} \u3067\u306E {0} \u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.misc.bad.enclosing.method", "\u56F2\u3093\u3067\u3044\u308B\u30E1\u30BD\u30C3\u30C9\u5C5E\u6027\u304C\u4E0D\u6B63\u3067\u3059: {0}" },
+            { "compiler.misc.bad.runtime.invisible.param.annotations", "RuntimeInvisibleParameterAnnotations \u5C5E\u6027\u304C\u4E0D\u6B63\u3067\u3059: {0}" },
+            { "compiler.misc.bad.signature", "\u30B7\u30B0\u30CB\u30C1\u30E3\u30FC {0} \u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.misc.base.membership", "\u3059\u3079\u3066\u306E\u57FA\u5E95\u30AF\u30E9\u30B9\u304C\u3001\u30E1\u30F3\u30D0\u3067\u3059\u3002" },
+            { "compiler.misc.cant.implement", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u5B9F\u88C5\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.cant.override", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.ccf.found.later.version", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB {0} \u306B\u4E88\u60F3\u5916\u306E\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.misc.ccf.unrecognized.attribute", "{0} \u306F\u8A8D\u8B58\u3055\u308C\u306A\u3044\u5C5E\u6027\u3067\u3059\u3002" },
+            { "compiler.misc.clashes.with", "{1} \u306E {0} \u306F {3} \u306E {2} \u3068\u7AF6\u5408\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.class.file.not.found", "{0} \u306E\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093" },
+            { "compiler.misc.class.file.wrong.class", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB {0} \u306B\u4E0D\u6B63\u306A\u30AF\u30E9\u30B9\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.misc.count.error", "\u30A8\u30E9\u30FC {0} \u500B" },
+            { "compiler.misc.count.error.plural", "\u30A8\u30E9\u30FC {0} \u500B" },
+            { "compiler.misc.count.warn", "\u8B66\u544A {0} \u500B" },
+            { "compiler.misc.count.warn.plural", "\u8B66\u544A {0} \u500B" },
+            { "compiler.misc.fatal.err.cant.locate.ctor", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC: {0} \u306E\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF\u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.fatal.err.cant.locate.field", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC: \u30D5\u30A3\u30FC\u30EB\u30C9 {0} \u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.fatal.err.cant.locate.meth", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC: \u30E1\u30BD\u30C3\u30C9 {0} \u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.fatal.err.no.java.lang", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC: \u30AF\u30E9\u30B9\u30D1\u30B9\u307E\u305F\u306F\u30D6\u30FC\u30C8\u30AF\u30E9\u30B9\u30D1\u30B9\u3067\u30D1\u30C3\u30B1\u30FC\u30B8 java.lang \u3092\u691C\u51FA\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.file.does.not.contain.package", "\u30D5\u30A1\u30A4\u30EB\u306B\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093" },
+            { "compiler.misc.file.doesnt.contain.class", "\u30D5\u30A1\u30A4\u30EB\u306B\u30AF\u30E9\u30B9 {0} \u304C\u542B\u307E\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.illegal.start.of.class.file", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u958B\u59CB\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "compiler.misc.incompatible.types", "\u4E92\u63DB\u6027\u306E\u306A\u3044\u578B" },
+            { "compiler.misc.incompatible.types.1", "\u4E92\u63DB\u6027\u306E\u306A\u3044\u578B; {0}" },
+            { "compiler.misc.inconvertible.types", "\u5909\u63DB\u3067\u304D\u306A\u3044\u578B" },
+            { "compiler.misc.inferred.do.not.conform.to.bounds", "\u63A8\u5B9A\u578B\u5F15\u6570 {0} \u306F\u578B\u5909\u6570 {1} \u306E\u5883\u754C\u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.kindname", "\u8B58\u5225\u5B50 ({0})" },
+            { "compiler.misc.kindname.annotation", "@\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "compiler.misc.kindname.class", "\u30AF\u30E9\u30B9" },
+            { "compiler.misc.kindname.class.package", "\u30AF\u30E9\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.constructor", "\u30B3\u30F3\u30B9\u30C8\u30E9\u30AF\u30BF" },
+            { "compiler.misc.kindname.interface", "\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "compiler.misc.kindname.method", "\u30E1\u30BD\u30C3\u30C9" },
+            { "compiler.misc.kindname.method.class", "\u30E1\u30BD\u30C3\u30C9\u3001\u30AF\u30E9\u30B9" },
+            { "compiler.misc.kindname.method.class.package", "\u30E1\u30BD\u30C3\u30C9\u3001\u30AF\u30E9\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.method.package", "\u30E1\u30BD\u30C3\u30C9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.package", "\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.static", "static" },
+            { "compiler.misc.kindname.type.variable", "\u578B\u5909\u6570\u306E\u5883\u754C" },
+            { "compiler.misc.kindname.value", "\u5024" },
+            { "compiler.misc.kindname.value.class", "\u5024\u3001\u30AF\u30E9\u30B9" },
+            { "compiler.misc.kindname.value.class.package", "\u5024\u3001\u30AF\u30E9\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.value.method", "\u5024\u3001\u30E1\u30BD\u30C3\u30C9" },
+            { "compiler.misc.kindname.value.method.class", "\u5024\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30AF\u30E9\u30B9" },
+            { "compiler.misc.kindname.value.method.class.package", "\u5024\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30AF\u30E9\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.value.method.package", "\u5024\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.value.package", "\u5024\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.variable", "\u5909\u6570" },
+            { "compiler.misc.kindname.variable.class", "\u5909\u6570\u3001\u30AF\u30E9\u30B9" },
+            { "compiler.misc.kindname.variable.class.package", "\u5909\u6570\u3001\u30AF\u30E9\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.variable.method", "\u5909\u6570\u3001\u30E1\u30BD\u30C3\u30C9" },
+            { "compiler.misc.kindname.variable.method.class", "\u5909\u6570\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30AF\u30E9\u30B9" },
+            { "compiler.misc.kindname.variable.method.class.package", "\u5909\u6570\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30AF\u30E9\u30B9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.variable.method.package", "\u5909\u6570\u3001\u30E1\u30BD\u30C3\u30C9\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.kindname.variable.package", "\u5909\u6570\u3001\u30D1\u30C3\u30B1\u30FC\u30B8" },
+            { "compiler.misc.no.conforming.assignment.exists", "\u578B\u5909\u6570 {0} \u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u306A\u3044\u306E\u3067\u3001\u5F15\u6570\u578B {1} \u306F\u4EEE\u30D1\u30E9\u30E1\u30FC\u30BF\u578B {2} \u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.no.conforming.instance.exists", "\u578B\u5909\u6570 {0} \u306E\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u306A\u3044\u306E\u3067\u3001{1} \u306F {2} \u306B\u9069\u5408\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.no.unique.maximal.instance.exists", "\u578B\u5909\u6570 {0} (\u4E0A\u9650 {1}) \u306E\u56FA\u6709\u306E\u6700\u5927\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.no.unique.minimal.instance.exists", "\u578B\u5909\u6570 {0} (\u4E0B\u9650 {1}) \u306E\u56FA\u6709\u306E\u6700\u5C0F\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.override.incompatible.ret", "{0}\u4E92\u63DB\u6027\u306E\u306A\u3044\u623B\u308A\u5024\u306E\u578B\u3092\u4F7F\u304A\u3046\u3068\u3057\u307E\u3057\u305F\u3002" },
+            { "compiler.misc.override.unchecked.ret", "{0}; \u623B\u308A\u5024\u306E\u578B\u306F\u7121\u691C\u67FB\u5909\u63DB\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "compiler.misc.possible.loss.of.precision", "\u7CBE\u5EA6\u304C\u843D\u3061\u3066\u3044\u308B\u53EF\u80FD\u6027" },
+            { "compiler.misc.resume.abort", "R)\u518D\u958B, A)\u4E2D\u6B62>" },
+            { "compiler.misc.source.unavailable", "(\u30BD\u30FC\u30B9\u304C\u5229\u7528\u4E0D\u53EF)" },
+            { "compiler.misc.token.bad-symbol", "<bad symbol>" },
+            { "compiler.misc.token.character", "<character>" },
+            { "compiler.misc.token.double", "<double>" },
+            { "compiler.misc.token.end-of-input", "<end of input>" },
+            { "compiler.misc.token.float", "<float>" },
+            { "compiler.misc.token.identifier", "<identifier>" },
+            { "compiler.misc.token.integer", "<integer>" },
+            { "compiler.misc.token.long-integer", "<long integer>" },
+            { "compiler.misc.token.string", "<string>" },
+            { "compiler.misc.type.parameter", "\u578B\u30D1\u30E9\u30E1\u30FC\u30BF {0} " },
+            { "compiler.misc.type.req.class", "\u30AF\u30E9\u30B9" },
+            { "compiler.misc.type.req.class.array", "\u30AF\u30E9\u30B9\u307E\u305F\u306F\u914D\u5217" },
+            { "compiler.misc.type.req.exact", "\u5883\u754C\u306E\u306A\u3044\u30AF\u30E9\u30B9\u307E\u305F\u306F\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9" },
+            { "compiler.misc.type.req.ref", "\u53C2\u7167" },
+            { "compiler.misc.unable.to.access.file", "\u30D5\u30A1\u30A4\u30EB {0} \u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.unchecked.assign", "[unchecked] \u7121\u691C\u67FB\u5909\u63DB\u3067\u3059" },
+            { "compiler.misc.unchecked.cast.to.type", "[unchecked] \u7121\u691C\u67FB\u30AD\u30E3\u30B9\u30C8\u3067\u3059" },
+            { "compiler.misc.unchecked.clash.with", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.unchecked.implement", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u5B9F\u88C5\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.unchecked.override", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.undecl.type.var", "\u578B\u5909\u6570 {0} \u306F\u5BA3\u8A00\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.undetermined.type", "\u672A\u5B9A\u578B" },
+            { "compiler.misc.unicode.str.not.supported", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u5185\u306E Unicode \u6587\u5B57\u5217\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.misc.varargs.clash.with", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.varargs.implement", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u5B9F\u88C5\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.varargs.override", "{1} \u306E {0} \u306F {3} \u306E {2} \u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.verbose.checking.attribution", "[{0} \u3092\u78BA\u8A8D\u4E2D]" },
+            { "compiler.misc.verbose.classpath", "[\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u7D22\u30D1\u30B9: {0}]" },
+            { "compiler.misc.verbose.loading", "[{0} \u3092\u8AAD\u307F\u8FBC\u307F\u4E2D]" },
+            { "compiler.misc.verbose.parsing.done", "[{0}ms \u3067\u69CB\u6587\u89E3\u6790\u5B8C\u4E86]" },
+            { "compiler.misc.verbose.parsing.started", "[{0} \u3092\u69CB\u6587\u89E3\u6790\u958B\u59CB]" },
+            { "compiler.misc.verbose.retro", "[{0} \u3092\u7D44\u307F\u66FF\u3048\u4E2D]" },
+            { "compiler.misc.verbose.retro.with", "{0} \u3092 {1} \u3067\u7D44\u307F\u66FF\u3048\u4E2D\u3067\u3059\u3002" },
+            { "compiler.misc.verbose.retro.with.list", "{0} \u3092\u578B\u30D1\u30E9\u30E1\u30FC\u30BF {1}\u3001\u30B9\u30FC\u30D1\u30FC\u30BF\u30A4\u30D7 {2}\u3001\u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9 {3} \u3067\u7D44\u307F\u66FF\u3048\u4E2D\u3067\u3059\u3002" },
+            { "compiler.misc.verbose.sourcepath", "[\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u7D22\u30D1\u30B9: {0}]" },
+            { "compiler.misc.verbose.total", "[\u5408\u8A08 {0}ms]" },
+            { "compiler.misc.verbose.wrote.file", "[{0} \u3092\u66F8\u304D\u8FBC\u307F\u5B8C\u4E86]" },
+            { "compiler.misc.wrong.version", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30FC\u30B8\u30E7\u30F3 {0}.{1} \u306F\u4E0D\u6B63\u3067\u3059\u3002{2}.{3} \u3067\u3042\u308B\u3079\u304D\u3067\u3059\u3002" },
+            { "compiler.misc.x.print.processor.info", "\u30D7\u30ED\u30BB\u30C3\u30B5 {0} \u306F {1} \u306B\u4E00\u81F4\u3057\u3001{2} \u3092\u8FD4\u3057\u307E\u3059\u3002" },
+            { "compiler.misc.x.print.rounds", "\u5F80\u5FA9 {0}:\n\t\u5165\u529B\u30D5\u30A1\u30A4\u30EB: {1}\n\t\u6CE8\u91C8: {2}\n\t\u6700\u5F8C\u306E\u5F80\u5FA9: {3}" },
+            { "compiler.note.deprecated.filename", "{0} \u306F\u63A8\u5968\u3055\u308C\u306A\u3044 API \u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.note.deprecated.filename.additional", "{0} \u306B\u63A8\u5968\u3055\u308C\u306A\u3044 API \u306E\u8FFD\u52A0\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.note.deprecated.plural", "\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u63A8\u5968\u3055\u308C\u306A\u3044 API \u3092\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.note.deprecated.plural.additional", "\u4E00\u90E8\u306E\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306F\u63A8\u5968\u3055\u308C\u306A\u3044 API \u3092\u8FFD\u52A0\u4F7F\u7528\u307E\u305F\u306F\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.note.deprecated.recompile", "\u8A73\u7D30\u306B\u3064\u3044\u3066\u306F\u3001-Xlint:deprecation \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "compiler.note.note", "\u6CE8:" },
+            { "compiler.note.proc.messager", "{0}" },
+            { "compiler.note.unchecked.filename", "{0} \u306E\u64CD\u4F5C\u306F\u3001\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.note.unchecked.filename.additional", "{0} \u306B\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u306A\u3044\u64CD\u4F5C\u304C\u3055\u3089\u306B\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.note.unchecked.plural", "\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u64CD\u4F5C\u306E\u3046\u3061\u3001\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u306A\u3044\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.note.unchecked.plural.additional", "\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u64CD\u4F5C\u306E\u3046\u3061\u3001\u672A\u30C1\u30A7\u30C3\u30AF\u307E\u305F\u306F\u5B89\u5168\u3067\u306F\u306A\u3044\u3082\u306E\u304C\u3055\u3089\u306B\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.note.unchecked.recompile", "\u8A73\u7D30\u306B\u3064\u3044\u3066\u306F\u3001-Xlint:unchecked \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u6307\u5B9A\u3057\u3066\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "compiler.warn.annotation.method.not.found", "\u30BF\u30A4\u30D7 ''{0}'' \u5185\u306B\u6CE8\u91C8\u30E1\u30BD\u30C3\u30C9 ''{1}()'' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093" },
+            { "compiler.warn.annotation.method.not.found.reason", "\u30BF\u30A4\u30D7 ''{0}'' \u5185\u306B\u6CE8\u91C8\u30E1\u30BD\u30C3\u30C9 ''{1}()'' \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {2}" },
+            { "compiler.warn.assert.as.identifier", "\u30EA\u30EA\u30FC\u30B9 1.4 \u304B\u3089 ''assert'' \u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u3001\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''assert'' \u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F\u3001-source 1.4 (\u307E\u305F\u306F\u305D\u308C\u4EE5\u964D\u306E\u30EA\u30EA\u30FC\u30B9\u540D) \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.warn.big.major.version", "{0}: \u30E1\u30B8\u30E3\u30FC\u30D0\u30FC\u30B8\u30E7\u30F3 {1} \u306F\u3001\u3053\u306E\u30B3\u30F3\u30D1\u30A4\u30E9\u3067\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u308B\u6700\u65B0\u306E\u30E1\u30B8\u30E3\u30FC\u30D0\u30FC\u30B8\u30E7\u30F3 {2} \u3088\u308A\u65B0\u3057\u3044\u3067\u3059\u3002\n\u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u30A2\u30C3\u30D7\u30B0\u30EC\u30FC\u30C9\u3092\u304A\u52E7\u3081\u3057\u307E\u3059\u3002" },
+            { "compiler.warn.constant.SVUID", "[serial] serialVersionUID \u306F\u30AF\u30E9\u30B9 {0} \u306E\u5B9A\u6570\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.dir.path.element.not.found", "[path] \u4E0D\u6B63\u306A\u30D1\u30B9\u8981\u7D20 \"{0}\": \u305D\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u5B58\u5728\u3057\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.div.zero", "[divzero] \u30BC\u30ED\u3067\u9664\u7B97" },
+            { "compiler.warn.empty.if", "[empty] if \u4EE5\u964D\u304C\u7A7A\u306E\u6587\u3067\u3059" },
+            { "compiler.warn.enum.as.identifier", "\u30EA\u30EA\u30FC\u30B9 5 \u304B\u3089 ''enum'' \u306F\u30AD\u30FC\u30EF\u30FC\u30C9\u306A\u306E\u3067\u8B58\u5225\u5B50\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\n(''enum'' \u3092\u30AD\u30FC\u30EF\u30FC\u30C9\u3068\u3057\u3066\u4F7F\u7528\u3059\u308B\u306B\u306F -source 5 \u4EE5\u964D\u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044)" },
+            { "compiler.warn.finally.cannot.complete", "[finally] finally \u7BC0\u304C\u6B63\u5E38\u306B\u5B8C\u4E86\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.forward.ref", "\u521D\u671F\u5316\u3055\u308C\u308B\u524D\u306E\u5909\u6570 ''{0}'' \u3092\u53C2\u7167\u3057\u3088\u3046\u3068\u3057\u307E\u3057\u305F" },
+            { "compiler.warn.has.been.deprecated", "[deprecation] {1} \u306E {0} \u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.illegal.char.for.encoding", "\u3053\u306E\u6587\u5B57\u306F\u3001\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0 {0} \u306B\u30DE\u30C3\u30D7\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.improper.SVUID", "[serial] serialVersionUID \u306F\u3001\u30AF\u30E9\u30B9 {0} \u306B static \u30D5\u30A1\u30A4\u30CA\u30EB\u3092\u5BA3\u8A00\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.warn.inexact.non-varargs.call", "\u6700\u7D42\u30D1\u30E9\u30E1\u30FC\u30BF\u306E\u4E0D\u6B63\u78BA\u306A\u5F15\u6570\u578B\u3092\u6301\u3063\u305F\u53EF\u5909\u5F15\u6570\u30E1\u30BD\u30C3\u30C9\u306E\u975E\u53EF\u5909\u5F15\u6570\u547C\u3073\u51FA\u3057;\n\u53EF\u5909\u5F15\u6570\u547C\u3073\u51FA\u3057\u306B\u95A2\u3057\u3066\u306F {0} \u306B\u30AD\u30E3\u30B9\u30C8\u3057\u307E\u3059\u3002\n\u975E\u53EF\u5909\u5F15\u6570\u547C\u3073\u51FA\u3057\u306B\u95A2\u3057\u3066\u306F {1} \u306B\u30AD\u30E3\u30B9\u30C8\u3057\u3066\u3053\u306E\u8B66\u544A\u3092\u51FA\u3055\u306A\u3044\u3088\u3046\u306B\u3057\u307E\u3059\u3002" },
+            { "compiler.warn.invalid.archive.file", "[path] \u30D1\u30B9\u4E0A\u306E\u4E88\u671F\u3057\u306A\u3044\u30D5\u30A1\u30A4\u30EB: {0}" },
+            { "compiler.warn.long.SVUID", "[serial] serialVersionUID \u306F\u3001\u30AF\u30E9\u30B9 {0} \u306E long \u578B\u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.missing.SVUID", "[serial] \u76F4\u5217\u5316\u53EF\u80FD\u306A\u30AF\u30E9\u30B9 {0} \u306B\u306F\u3001serialVersionUID \u304C\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.missing.deprecated.annotation", "[dep-ann] \u63A8\u5968\u3055\u308C\u306A\u3044\u9805\u76EE\u306F @Deprecated \u3067\u6CE8\u91C8\u304C\u4ED8\u3051\u3089\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.override.bridge", "{0}; \u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306F\u30D6\u30EA\u30C3\u30B8\u30E1\u30BD\u30C3\u30C9\u3067\u3059\u3002" },
+            { "compiler.warn.override.varargs.extra", "{0}; \u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u3066\u3044\u308B\u30E1\u30BD\u30C3\u30C9\u306B\u306F ''...'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.override.varargs.missing", "{0}; \u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3055\u308C\u305F\u30E1\u30BD\u30C3\u30C9\u306B\u306F ''...'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.path.element.not.found", "[path] \u4E0D\u6B63\u306A\u30D1\u30B9\u8981\u7D20 \"{0}\": \u305D\u306E\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.pkg-info.already.seen", "[package-info] package-info.java \u30D5\u30A1\u30A4\u30EB\u304C\u3059\u3067\u306B\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u7528\u306B\u8868\u793A\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "compiler.warn.position.overflow", "\u4F4D\u7F6E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u304C\u884C {0} \u3067\u30AA\u30FC\u30D0\u30FC\u30D5\u30ED\u30FC\u3057\u307E\u3059" },
+            { "compiler.warn.possible.fall-through.into.case", "[fallthrough] case \u306B fall-through \u3059\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "compiler.warn.prob.found.req", "{0}\n\u691C\u51FA\u5024  : {1}\n\u671F\u5F85\u5024  : {2}" },
+            { "compiler.warn.proc.annotations.without.processors", "\u3053\u308C\u3089\u306E\u6CE8\u91C8\u3092\u8981\u6C42\u3059\u308B\u30D7\u30ED\u30BB\u30C3\u30B5\u306F\u3042\u308A\u307E\u305B\u3093\u3067\u3057\u305F: {0}" },
+            { "compiler.warn.proc.file.create.last.round", "\u6700\u5F8C\u306B\u4F5C\u6210\u3055\u308C\u305F\u30BF\u30A4\u30D7 ''{0}'' \u306E\u30D5\u30A1\u30A4\u30EB\u306F\u6CE8\u91C8\u51E6\u7406\u306B\u6E21\u3055\u308C\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.proc.file.reopening", "''{0}'' \u7528\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059" },
+            { "compiler.warn.proc.illegal.file.name", "\u7121\u52B9\u306A\u540D\u524D ''{0}'' \u306E\u30D5\u30A1\u30A4\u30EB\u306F\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "compiler.warn.proc.malformed.supported.string", "\u30D7\u30ED\u30BB\u30C3\u30B5 ''{1}'' \u304C\u8FD4\u3057\u305F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u308B\u6CE8\u91C8\u578B\u306E\u6587\u5B57\u5217 ''{0}'' \u304C\u4E0D\u6B63\u3067\u3059" },
+            { "compiler.warn.proc.messager", "{0}" },
+            { "compiler.warn.proc.package.does.not.exist", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306F\u5B58\u5728\u3057\u307E\u305B\u3093" },
+            { "compiler.warn.proc.proc-only.requested.no.procs", "\u30B3\u30F3\u30D1\u30A4\u30EB\u306A\u3057\u306E\u6CE8\u91C8\u51E6\u7406\u304C\u8981\u6C42\u3055\u308C\u307E\u3057\u305F\u304C\u3001\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "compiler.warn.proc.processor.incompatible.source.version", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5 ''{1}'' \u304B\u3089 -source ''{2}'' \u3088\u308A\u5C0F\u3055\u3044\u30BD\u30FC\u30B9\u30D0\u30FC\u30B8\u30E7\u30F3 ''{0}'' \u304C\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u307E\u3059" },
+            { "compiler.warn.proc.type.already.exists", "\u30BF\u30A4\u30D7 ''{0}'' \u306E\u30D5\u30A1\u30A4\u30EB\u306F\u65E2\u306B\u30BD\u30FC\u30B9\u30D1\u30B9\u3082\u3057\u304F\u306F\u30AF\u30E9\u30B9\u30D1\u30B9\u306B\u5B58\u5728\u3057\u307E\u3059" },
+            { "compiler.warn.proc.type.recreate", "\u30BF\u30A4\u30D7 ''{0}'' \u306E\u30D5\u30A1\u30A4\u30EB\u3092\u8907\u6570\u56DE\u4F5C\u6210\u3057\u3088\u3046\u3068\u3057\u3066\u3044\u307E\u3059" },
+            { "compiler.warn.proc.unclosed.type.files", "\u30BF\u30A4\u30D7 ''{0}'' \u306E\u30D5\u30A1\u30A4\u30EB\u304C\u9589\u3058\u3089\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u3053\u308C\u3089\u306E\u30BF\u30A4\u30D7\u306F\u6CE8\u91C8\u51E6\u7406\u3055\u308C\u307E\u305B\u3093" },
+            { "compiler.warn.proc.unmatched.processor.options", "\u6B21\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u3069\u306E\u30D7\u30ED\u30BB\u30C3\u30B5\u3067\u3082\u8A8D\u8B58\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F: ''{0}''" },
+            { "compiler.warn.proc.use.implicit", "\u6697\u9ED9\u7684\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u6CE8\u91C8\u51E6\u7406\u306B\u6E21\u3055\u308C\u307E\u305B\u3093\u3002\n-implicit \u3092\u4F7F\u7528\u3057\u6697\u9ED9\u7684\u30B3\u30F3\u30D1\u30A4\u30EB\u306E\u30DD\u30EA\u30B7\u30FC\u3092\u6307\u5B9A\u3057\u3066\u4E0B\u3055\u3044\u3002" },
+            { "compiler.warn.proc.use.proc.or.implicit", "\u6697\u9ED9\u7684\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u306F\u6CE8\u91C8\u51E6\u7406\u306B\u6E21\u3055\u308C\u307E\u305B\u3093\u3002\n-proc:none \u3092\u4F7F\u7528\u3057\u6CE8\u91C8\u51E6\u7406\u3092\u7121\u52B9\u306B\u3059\u308B\u304B -implicit \u3092\u4F7F\u7528\u3057\u6697\u9ED9\u7684\u30B3\u30F3\u30D1\u30A4\u30EB\u306E\u30DD\u30EA\u30B7\u30FC\u3092\u6307\u5B9A\u3057\u3066\u4E0B\u3055\u3044\u3002" },
+            { "compiler.warn.redundant.cast", "[cast] {0} \u3078\u306E\u5197\u9577\u306A\u30AD\u30E3\u30B9\u30C8\u3067\u3059" },
+            { "compiler.warn.unchecked.assign", "[unchecked] {0} \u304B\u3089 {1} \u3078\u306E\u7121\u691C\u67FB\u4EE3\u5165\u3067\u3059\u3002" },
+            { "compiler.warn.unchecked.assign.to.var", "[unchecked] raw \u578B {1} \u306E\u30E1\u30F3\u30D0\u30FC\u3068\u3057\u3066\u5909\u6570 {0} \u3078\u306E\u7121\u691C\u67FB\u4EE3\u5165\u3067\u3059\u3002" },
+            { "compiler.warn.unchecked.call.mbr.of.raw.type", "[unchecked] raw \u578B {1} \u306E\u30E1\u30F3\u30D0\u3068\u3057\u3066\u306E {0} \u3078\u306E\u7121\u691C\u67FB\u547C\u3073\u51FA\u3057\u3067\u3059\u3002" },
+            { "compiler.warn.unchecked.cast.to.type", "[unchecked] \u578B {0} \u3078\u306E\u7121\u691C\u67FB\u30AD\u30E3\u30B9\u30C8\u3067\u3059\u3002" },
+            { "compiler.warn.unchecked.generic.array.creation", "[unchecked] \u53EF\u5909\u5F15\u6570\u30D1\u30E9\u30E1\u30FC\u30BF\u306B\u5BFE\u3059\u308B\u578B {0} \u306E\u7DCF\u79F0\u578B\u914D\u5217\u306E\u7121\u691C\u67FB\u4F5C\u6210\u3067\u3059\u3002" },
+            { "compiler.warn.unchecked.meth.invocation.applied", "[unchecked] \u7121\u691C\u67FB\u30E1\u30BD\u30C3\u30C9\u547C\u3073\u51FA\u3057: {1} \u306E {0} \u306F {2}({3}) \u306B\u9069\u7528\u3055\u308C\u307E\u3059\u3002" },
+            { "compiler.warn.unexpected.archive.file", "[path] \u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A1\u30A4\u30EB\u306E\u4E88\u671F\u3057\u306A\u3044\u62E1\u5F35\u5B50: {0}" },
+            { "compiler.warn.warning", "\u8B66\u544A:" },
+            { "ncompiler.misc.type.variable.has.undetermined.type", "\u578B\u5909\u6570 {0} \u306F\u672A\u5B9A\u578B\u3067\u3059\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/compiler_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,414 @@
+package com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class compiler_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "compiler.err.abstract.cant.be.accessed.directly", "\u65E0\u6CD5\u76F4\u63A5\u8BBF\u95EE {2} \u4E2D\u7684\u62BD\u8C61 {0} {1}" },
+            { "compiler.err.abstract.cant.be.instantiated", "{0} \u662F\u62BD\u8C61\u7684\uFF1B\u65E0\u6CD5\u5BF9\u5176\u8FDB\u884C\u5B9E\u4F8B\u5316" },
+            { "compiler.err.abstract.meth.cant.have.body", "\u62BD\u8C61\u65B9\u6CD5\u4E0D\u80FD\u6709\u4E3B\u4F53" },
+            { "compiler.err.already.annotated", "{0} {1} \u5DF2\u88AB\u6CE8\u91CA" },
+            { "compiler.err.already.defined", "\u5DF2\u5728 {1} \u4E2D\u5B9A\u4E49 {0}" },
+            { "compiler.err.already.defined.single.import", "\u5DF2\u5728 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49 {0}" },
+            { "compiler.err.already.defined.static.single.import", "\u5DF2\u5728\u9759\u6001 single-type \u5BFC\u5165\u4E2D\u5B9A\u4E49 {0}" },
+            { "compiler.err.already.defined.this.unit", "\u5DF2\u5728\u8BE5\u7F16\u8BD1\u5355\u5143\u4E2D\u5B9A\u4E49 {0}" },
+            { "compiler.err.annotation.missing.default.value", "\u6CE8\u91CA {0} \u7F3A\u5C11 {1}" },
+            { "compiler.err.annotation.not.valid.for.type", "\u5BF9\u4E8E\u7C7B\u578B\u4E3A {0} \u7684\u503C\uFF0C\u6CE8\u91CA\u65E0\u6548" },
+            { "compiler.err.annotation.type.not.applicable", "\u6CE8\u91CA\u7C7B\u578B\u4E0D\u9002\u7528\u4E8E\u8BE5\u7C7B\u578B\u7684\u58F0\u660E" },
+            { "compiler.err.annotation.value.must.be.annotation", "\u6CE8\u91CA\u503C\u5FC5\u987B\u4E3A\u6CE8\u91CA" },
+            { "compiler.err.annotation.value.must.be.class.literal", "\u6CE8\u91CA\u503C\u5FC5\u987B\u4E3A\u7C7B\u5B57\u9762\u503C" },
+            { "compiler.err.annotation.value.must.be.name.value", "\u6CE8\u91CA\u503C\u5FC5\u987B\u4E3A\u4EE5\u4E0B\u683C\u5F0F\uFF1A\u201Cname=value\u201D" },
+            { "compiler.err.annotation.value.not.allowable.type", "\u6CE8\u91CA\u503C\u4E0D\u662F\u5141\u8BB8\u7684\u7C7B\u578B" },
+            { "compiler.err.annotations.not.supported.in.source", "-source {0} \u4E2D\u4E0D\u652F\u6301\u6CE8\u91CA\n\uFF08\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u6CE8\u91CA\uFF09" },
+            { "compiler.err.anon.class.impl.intf.no.args", "\u533F\u540D\u7C7B\u5B9E\u73B0\u63A5\u53E3\uFF1B\u4E0D\u80FD\u6709\u53C2\u6570" },
+            { "compiler.err.anon.class.impl.intf.no.qual.for.new", "\u533F\u540D\u7C7B\u5B9E\u73B0\u63A5\u53E3\uFF1B\u4E0D\u80FD\u6709\u9650\u5B9A\u7B26 - \u5BF9\u4E8E\u65B0" },
+            { "compiler.err.anon.class.impl.intf.no.typeargs", "\u533F\u540D\u7C7B\u5B9E\u73B0\u63A5\u53E3\uFF1B\u4E0D\u80FD\u5177\u6709\u7C7B\u578B\u53C2\u6570" },
+            { "compiler.err.array.and.varargs", "\u65E0\u6CD5\u5728 {2} \u4E2D\u540C\u65F6\u58F0\u660E {0} \u548C {1}" },
+            { "compiler.err.array.dimension.missing", "\u7F3A\u5C11\u6570\u7EC4\u7EF4\u6570" },
+            { "compiler.err.array.req.but.found", "\u9700\u8981\u6570\u7EC4\uFF0C\u4F46\u627E\u5230 {0}" },
+            { "compiler.err.assert.as.identifier", "\u4ECE\u7248\u672C 1.4 \u5F00\u59CB\uFF0C''assert'' \u662F\u4E00\u4E2A\u5173\u952E\u5B57\uFF0C\u4F46\u4E0D\u80FD\u7528\u4F5C\u6807\u8BC6\u7B26\n\uFF08\u8BF7\u4F7F\u7528 -source 1.3 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u4FBF\u5C06 ''assert'' \u7528\u4F5C\u6807\u8BC6\u7B26\uFF09" },
+            { "compiler.err.assignment.from.super-bound", "\u901A\u8FC7\u901A\u914D\u7B26 {0} \u6307\u5B9A" },
+            { "compiler.err.assignment.to.extends-bound", "\u6307\u5B9A\u7ED9\u901A\u914D\u7B26 {0}" },
+            { "compiler.err.attribute.value.must.be.constant", "\u5C5E\u6027\u503C\u5FC5\u987B\u4E3A\u5E38\u91CF" },
+            { "compiler.err.break.outside.switch.loop", "\u5728 switch \u6216 loop \u5916\u90E8\u4E2D\u65AD" },
+            { "compiler.err.call.must.be.first.stmt.in.ctor", "\u5BF9 {0} \u7684\u8C03\u7528\u5FC5\u987B\u662F\u6784\u9020\u51FD\u6570\u4E2D\u7684\u7B2C\u4E00\u4E2A\u8BED\u53E5" },
+            { "compiler.err.call.to.super.not.allowed.in.enum.ctor", "\u5728\u679A\u4E3E\u6784\u9020\u51FD\u6570\u4E2D\u4E0D\u5141\u8BB8\u8C03\u7528\u7236\u7C7B\u578B" },
+            { "compiler.err.cant.access", "\u65E0\u6CD5\u8BBF\u95EE {0}\n{1}" },
+            { "compiler.err.cant.apply.symbol", "\u65E0\u6CD5\u5C06 {1} \u4E2D\u7684 {0} \u5E94\u7528\u4E8E {2}({3})" },
+            { "compiler.err.cant.apply.symbol.1", "\u65E0\u6CD5\u5C06 {1} \u4E2D\u7684 {0} \u5E94\u7528\u4E8E {2}({3})\uFF1B{4}" },
+            { "compiler.err.cant.assign.val.to.final.var", "\u65E0\u6CD5\u4E3A\u6700\u7EC8\u53D8\u91CF {0} \u6307\u5B9A\u503C" },
+            { "compiler.err.cant.deref", "\u65E0\u6CD5\u53D6\u6D88\u5F15\u7528 {0}" },
+            { "compiler.err.cant.extend.intf.annotation", "\u5BF9\u4E8E @interface\uFF0C\u4E0D\u5141\u8BB8 \"extends\"" },
+            { "compiler.err.cant.inherit.diff.arg", "\u65E0\u6CD5\u4F7F\u7528\u4EE5\u4E0B\u4E0D\u540C\u7684\u53C2\u6570\u7EE7\u627F {0}\uFF1A<{1}> \u548C <{2}>" },
+            { "compiler.err.cant.inherit.from.final", "\u65E0\u6CD5\u4ECE\u6700\u7EC8 {0} \u8FDB\u884C\u7EE7\u627F" },
+            { "compiler.err.cant.read.file", "\u65E0\u6CD5\u8BFB\u53D6\uFF1A {0}" },
+            { "compiler.err.cant.ref.before.ctor.called", "\u65E0\u6CD5\u5728\u8C03\u7528\u7236\u7C7B\u578B\u6784\u9020\u51FD\u6570\u4E4B\u524D\u5F15\u7528 {0}" },
+            { "compiler.err.cant.resolve", "\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7\uFF1A {0} {3}{1}{2}" },
+            { "compiler.err.cant.resolve.location", "\u627E\u4E0D\u5230\u7B26\u53F7\n\u7B26\u53F7\uFF1A {0} {3}{1}{2}\n\u4F4D\u7F6E\uFF1A {4} {5}" },
+            { "compiler.err.cant.ret.val.from.meth.decl.void", "\u5BF9\u4E8E\u7ED3\u679C\u7C7B\u578B\u4E3A void \u7684\u65B9\u6CD5\uFF0C\u65E0\u6CD5\u8FD4\u56DE\u503C" },
+            { "compiler.err.cant.select.static.class.from.param.type", "\u65E0\u6CD5\u4ECE\u53C2\u6570\u5316\u7684\u7C7B\u578B\u4E2D\u9009\u62E9\u9759\u6001\u7C7B" },
+            { "compiler.err.catch.without.try", "\"catch\" \u4E0D\u5E26\u6709 \"try\"" },
+            { "compiler.err.clash.with.pkg.of.same.name", "{0} \u4E0E\u5E26\u6709\u76F8\u540C\u540D\u79F0\u7684\u8F6F\u4EF6\u5305\u51B2\u7A81" },
+            { "compiler.err.class.cant.write", "\u5199\u5165 {0} \u65F6\u51FA\u9519\uFF1A {1}" },
+            { "compiler.err.class.public.should.be.in.file", "\u7C7B {0} \u662F\u516C\u5171\u7684\uFF0C\u5E94\u5728\u540D\u4E3A {0}.java \u7684\u6587\u4EF6\u4E2D\u58F0\u660E" },
+            { "compiler.err.concrete.inheritance.conflict", "{1} \u4E2D\u7684\u65B9\u6CD5 {0} \u548C {3} \u4E2D\u7684\u65B9\u6CD5 {2} \u662F\u4F7F\u7528\u76F8\u540C\u7684\u7B7E\u540D\u7EE7\u627F\u7684" },
+            { "compiler.err.const.expr.req", "\u9700\u8981\u5E38\u91CF\u8868\u8FBE\u5F0F" },
+            { "compiler.err.cont.outside.loop", "continue \u5728 loop \u5916\u90E8" },
+            { "compiler.err.cyclic.annotation.element", "\u5FAA\u73AF\u6CE8\u91CA\u5143\u7D20\u7C7B\u578B" },
+            { "compiler.err.cyclic.inheritance", "\u5FAA\u73AF\u7EE7\u627F\u6D89\u53CA {0}" },
+            { "compiler.err.default.allowed.in.intf.annotation.member", "\u4EC5\u5728 @interface \u6210\u5458\u4E2D\u5141\u8BB8\u4F7F\u7528\u9ED8\u8BA4\u503C" },
+            { "compiler.err.does.not.override.abstract", "{0} \u4E0D\u662F\u62BD\u8C61\u7684\uFF0C\u5E76\u4E14\u672A\u8986\u76D6 {2} \u4E2D\u7684\u62BD\u8C61\u65B9\u6CD5 {1}" },
+            { "compiler.err.doesnt.exist", "\u8F6F\u4EF6\u5305 {0} \u4E0D\u5B58\u5728" },
+            { "compiler.err.dot.class.expected", "\u9700\u8981 \".class\"" },
+            { "compiler.err.duplicate.annotation", "\u6CE8\u91CA\u91CD\u590D" },
+            { "compiler.err.duplicate.annotation.member.value", "{1} \u4E2D\u7684\u6CE8\u91CA\u6210\u5458\u503C {0} \u91CD\u590D" },
+            { "compiler.err.duplicate.case.label", "case \u6807\u7B7E\u91CD\u590D" },
+            { "compiler.err.duplicate.class", "\u7C7B\u91CD\u590D\uFF1A {0}" },
+            { "compiler.err.duplicate.default.label", "default \u6807\u7B7E\u91CD\u590D" },
+            { "compiler.err.else.without.if", "\"else\" \u4E0D\u5E26\u6709 \"if\"" },
+            { "compiler.err.empty.char.lit", "\u7A7A\u5B57\u7B26\u5B57\u9762\u503C" },
+            { "compiler.err.encl.class.required", "\u9700\u8981\u5305\u542B {0} \u7684\u5C01\u95ED\u5B9E\u4F8B" },
+            { "compiler.err.enum.annotation.must.be.enum.constant", "\u679A\u4E3E\u6CE8\u91CA\u503C\u5FC5\u987B\u662F\u679A\u4E3E\u5E38\u91CF" },
+            { "compiler.err.enum.as.identifier", "\u4ECE\u53D1\u884C\u7248 5 \u5F00\u59CB\uFF0C\"enum\" \u4E3A\u5173\u952E\u5B57\uFF0C\u800C\u4E0D\u7528\u4F5C\u6807\u8BC6\u7B26\n\uFF08\u8BF7\u4F7F\u7528 -source 1.4 \u6216\u66F4\u4F4E\u7248\u672C\u4EE5\u5C06 \"enum\" \u7528\u4F5C\u6807\u8BC6\u7B26\uFF09" },
+            { "compiler.err.enum.cant.be.instantiated", "\u65E0\u6CD5\u5B9E\u4F8B\u5316\u679A\u4E3E\u7C7B\u578B" },
+            { "compiler.err.enum.const.req", "\u9700\u8981\u975E\u9650\u5B9A\u679A\u4E3E\u5E38\u91CF\u540D\u79F0" },
+            { "compiler.err.enum.label.must.be.unqualified.enum", "\u679A\u4E3E switch case \u6807\u7B7E\u5FC5\u987B\u4E3A\u679A\u4E3E\u5E38\u91CF\u7684\u975E\u9650\u5B9A\u540D\u79F0" },
+            { "compiler.err.enum.no.finalize", "\u679A\u4E3E\u4E0D\u80FD\u6709 finalize \u65B9\u6CD5" },
+            { "compiler.err.enum.no.subclassing", "\u7C7B\u65E0\u6CD5\u76F4\u63A5\u7EE7\u627F java.lang.Enum" },
+            { "compiler.err.enum.types.not.extensible", "\u679A\u4E3E\u7C7B\u578B\u4E0D\u53EF\u7EE7\u627F" },
+            { "compiler.err.enums.must.be.static", "\u53EA\u6709\u5728\u9759\u6001\u4E0A\u4E0B\u6587\u4E2D\u624D\u5141\u8BB8\u4F7F\u7528\u679A\u4E3E\u58F0\u660E" },
+            { "compiler.err.enums.not.supported.in.source", "-source {0} \u4E2D\u4E0D\u652F\u6301\u679A\u4E3E\n\uFF08\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u679A\u4E3E\uFF09" },
+            { "compiler.err.error", "\u9519\u8BEF\uFF1A" },
+            { "compiler.err.error.reading.file", "\u8BFB\u53D6 {0} \u65F6\u51FA\u9519\uFF1B{1}" },
+            { "compiler.err.except.already.caught", "\u5DF2\u6355\u6349\u5230\u5F02\u5E38 {0}" },
+            { "compiler.err.except.never.thrown.in.try", "\u5728\u76F8\u5E94\u7684 try \u8BED\u53E5\u4E3B\u4F53\u4E2D\u4E0D\u80FD\u629B\u51FA\u5F02\u5E38 {0}" },
+            { "compiler.err.expected", "\u9700\u8981 {0}" },
+            { "compiler.err.expected2", "\u9700\u8981\u4E3A {0} \u6216 {1}" },
+            { "compiler.err.expected3", "\u9700\u8981\u4E3A {0}\u3001{1} \u6216 {2}" },
+            { "compiler.err.final.parameter.may.not.be.assigned", "\u4E0D\u80FD\u6307\u5B9A\u6700\u7EC8\u53C2\u6570 {0}" },
+            { "compiler.err.finally.without.try", "\"finally\" \u4E0D\u5E26\u6709 \"try\"" },
+            { "compiler.err.foreach.not.applicable.to.type", "foreach \u4E0D\u9002\u7528\u4E8E\u8868\u8FBE\u5F0F\u7C7B\u578B" },
+            { "compiler.err.foreach.not.supported.in.source", "-source {0} \u4E2D\u4E0D\u652F\u6301 for-each \u5FAA\u73AF\n\uFF08\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 for-each \u5FAA\u73AF\uFF09" },
+            { "compiler.err.fp.number.too.large", "\u6D6E\u70B9\u6570\u8FC7\u5927" },
+            { "compiler.err.fp.number.too.small", "\u6D6E\u70B9\u6570\u8FC7\u5C0F" },
+            { "compiler.err.generic.array.creation", "\u521B\u5EFA\u6CDB\u578B\u6570\u7EC4" },
+            { "compiler.err.generic.throwable", "\u6CDB\u578B\u7C7B\u65E0\u6CD5\u7EE7\u627F java.lang.Throwable" },
+            { "compiler.err.generics.not.supported.in.source", "-source {0} \u4E2D\u4E0D\u652F\u6301\u6CDB\u578B\n\uFF08\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u6CDB\u578B\uFF09" },
+            { "compiler.err.icls.cant.have.static.decl", "\u5185\u90E8\u7C7B\u4E0D\u80FD\u6709\u9759\u6001\u58F0\u660E" },
+            { "compiler.err.illegal.char", "\u975E\u6CD5\u5B57\u7B26\uFF1A \\{0}" },
+            { "compiler.err.illegal.char.for.encoding", "\u7F16\u7801 {0} \u7684\u4E0D\u53EF\u6620\u5C04\u5B57\u7B26" },
+            { "compiler.err.illegal.combination.of.modifiers", "\u975E\u6CD5\u7684\u4FEE\u9970\u7B26\u7EC4\u5408\uFF1A{0} \u548C {1}" },
+            { "compiler.err.illegal.enum.static.ref", "\u521D\u59CB\u5316\u7A0B\u5E8F\u4E2D\u5BF9\u9759\u6001\u5B57\u6BB5\u7684\u5F15\u7528\u4E0D\u5408\u6CD5" },
+            { "compiler.err.illegal.esc.char", "\u975E\u6CD5\u8F6C\u4E49\u5B57\u7B26" },
+            { "compiler.err.illegal.forward.ref", "\u975E\u6CD5\u5411\u524D\u5F15\u7528" },
+            { "compiler.err.illegal.generic.type.for.instof", "instanceof \u7684\u6CDB\u578B\u7C7B\u578B\u4E0D\u5408\u6CD5" },
+            { "compiler.err.illegal.initializer.for.type", "{0} \u7684\u521D\u59CB\u5316\u7A0B\u5E8F\u4E0D\u5408\u6CD5" },
+            { "compiler.err.illegal.line.end.in.char.lit", "\u5B57\u7B26\u5B57\u9762\u503C\u7684\u884C\u7ED3\u5C3E\u4E0D\u5408\u6CD5" },
+            { "compiler.err.illegal.nonascii.digit", "\u975E\u6CD5\u7684\u975E ASCII \u6570\u5B57" },
+            { "compiler.err.illegal.qual.not.icls", "\u975E\u6CD5\u9650\u5B9A\u7B26\uFF1B{0} \u4E0D\u662F\u5185\u90E8\u7C7B" },
+            { "compiler.err.illegal.start.of.expr", "\u975E\u6CD5\u7684\u8868\u8FBE\u5F0F\u5F00\u59CB" },
+            { "compiler.err.illegal.start.of.type", "\u975E\u6CD5\u7684\u7C7B\u578B\u5F00\u59CB" },
+            { "compiler.err.illegal.unicode.esc", "\u975E\u6CD5\u7684 Unicode \u8F6C\u4E49" },
+            { "compiler.err.import.requires.canonical", "\u5BFC\u5165\u9700\u8981 {0} \u7684\u89C4\u8303\u540D\u79F0" },
+            { "compiler.err.improperly.formed.type.inner.raw.param", "\u7C7B\u578B\u7684\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u7ED9\u51FA\u4E86\u666E\u901A\u7C7B\u578B\u7684\u7C7B\u578B\u53C2\u6570" },
+            { "compiler.err.improperly.formed.type.param.missing", "\u7C7B\u578B\u7684\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u7F3A\u5C11\u67D0\u4E9B\u53C2\u6570" },
+            { "compiler.err.incomparable.types", "\u4E0D\u53EF\u6BD4\u8F83\u7684\u7C7B\u578B\uFF1A{0} \u548C {1}" },
+            { "compiler.err.initializer.must.be.able.to.complete.normally", "\u521D\u59CB\u5316\u7A0B\u5E8F\u5FC5\u987B\u80FD\u591F\u6B63\u5E38\u5B8C\u6210" },
+            { "compiler.err.int.number.too.large", "\u8FC7\u5927\u7684\u6574\u6570\uFF1A {0}" },
+            { "compiler.err.internal.error.cant.instantiate", "\u5185\u90E8\u9519\u8BEF\uFF1B\u65E0\u6CD5\u5C06\u4F4D\u4E8E {1} \u7684 {0} \u5B9E\u4F8B\u5316\u4E3A ({2})" },
+            { "compiler.err.intf.annotation.cant.have.type.params", "@interface \u4E0D\u80FD\u5E26\u6709\u7C7B\u578B\u53C2\u6570" },
+            { "compiler.err.intf.annotation.member.clash", "@interface \u6210\u5458\u4E0E {1} \u4E2D\u7684\u65B9\u6CD5''{0}''\u51B2\u7A81" },
+            { "compiler.err.intf.annotation.members.cant.have.params", "@interface \u6210\u5458\u4E0D\u80FD\u5E26\u6709\u53C2\u6570" },
+            { "compiler.err.intf.annotation.members.cant.have.type.params", "@interface \u6210\u5458\u4E0D\u80FD\u5E26\u6709\u7C7B\u578B\u53C2\u6570" },
+            { "compiler.err.intf.expected.here", "\u6B64\u5904\u9700\u8981\u63A5\u53E3" },
+            { "compiler.err.intf.meth.cant.have.body", "\u63A5\u53E3\u65B9\u6CD5\u4E0D\u80FD\u5E26\u6709\u4E3B\u4F53" },
+            { "compiler.err.intf.not.allowed.here", "\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u63A5\u53E3" },
+            { "compiler.err.invalid.annotation.member.type", "\u6CE8\u91CA\u6210\u5458\u7684\u7C7B\u578B\u65E0\u6548" },
+            { "compiler.err.invalid.hex.number", "\u5341\u516D\u8FDB\u5236\u6570\u5B57\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4F4D\u5341\u516D\u8FDB\u5236\u6570" },
+            { "compiler.err.invalid.meth.decl.ret.type.req", "\u65B9\u6CD5\u58F0\u660E\u65E0\u6548\uFF1B\u9700\u8981\u8FD4\u56DE\u7C7B\u578B" },
+            { "compiler.err.io.exception", "\u8BFB\u53D6\u6E90\u6587\u4EF6\u65F6\u51FA\u9519\uFF1A {0}" },
+            { "compiler.err.label.already.in.use", "\u6807\u7B7E {0} \u5DF2\u4F7F\u7528" },
+            { "compiler.err.limit.code", "\u4EE3\u7801\u8FC7\u957F" },
+            { "compiler.err.limit.code.too.large.for.try.stmt", "try \u8BED\u53E5\u7684\u4EE3\u7801\u8FC7\u957F" },
+            { "compiler.err.limit.dimensions", "\u6570\u7EC4\u7C7B\u578B\u7EF4\u6570\u8FC7\u591A" },
+            { "compiler.err.limit.locals", "\u5C40\u90E8\u53D8\u91CF\u8FC7\u591A" },
+            { "compiler.err.limit.parameters", "\u53C2\u6570\u8FC7\u591A" },
+            { "compiler.err.limit.pool", "\u5E38\u91CF\u8FC7\u591A" },
+            { "compiler.err.limit.pool.in.class", "\u7C7B {0} \u4E2D\u7684\u5E38\u91CF\u8FC7\u591A" },
+            { "compiler.err.limit.stack", "\u4EE3\u7801\u9700\u8981\u8FC7\u591A\u5806\u6808" },
+            { "compiler.err.limit.string", "\u5E38\u91CF\u5B57\u7B26\u4E32\u8FC7\u957F" },
+            { "compiler.err.limit.string.overflow", "\u5BF9\u4E8E\u5E38\u91CF\u6C60\u6765\u8BF4\uFF0C\u5B57\u7B26\u4E32 \"{0}...\" \u7684 UTF8 \u8868\u793A\u8FC7\u957F" },
+            { "compiler.err.local.enum", "\u679A\u4E3E\u7C7B\u578B\u4E0D\u80FD\u4E3A\u672C\u5730\u7C7B\u578B" },
+            { "compiler.err.local.var.accessed.from.icls.needs.final", "\u4ECE\u5185\u90E8\u7C7B\u4E2D\u8BBF\u95EE\u5C40\u90E8\u53D8\u91CF {0}\uFF1B\u9700\u8981\u88AB\u58F0\u660E\u4E3A\u6700\u7EC8\u7C7B\u578B" },
+            { "compiler.err.malformed.fp.lit", "\u6D6E\u70B9\u5B57\u9762\u503C\u4E0D\u89C4\u5219" },
+            { "compiler.err.method.does.not.override.superclass", "\u65B9\u6CD5\u4E0D\u4F1A\u8986\u76D6\u6216\u5B9E\u73B0\u8D85\u7C7B\u578B\u7684\u65B9\u6CD5" },
+            { "compiler.err.missing.meth.body.or.decl.abstract", "\u7F3A\u5C11\u65B9\u6CD5\u4E3B\u4F53\uFF0C\u6216\u58F0\u660E\u62BD\u8C61" },
+            { "compiler.err.missing.ret.stmt", "\u7F3A\u5C11\u8FD4\u56DE\u8BED\u53E5" },
+            { "compiler.err.missing.ret.val", "\u7F3A\u5C11\u8FD4\u56DE\u503C" },
+            { "compiler.err.mod.not.allowed.here", "\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528\u4FEE\u9970\u7B26 {0}" },
+            { "compiler.err.name.clash.same.erasure", "\u540D\u79F0\u51B2\u7A81\uFF1A{0} \u548C {1} \u5177\u6709\u76F8\u540C\u7591\u7B26" },
+            { "compiler.err.name.clash.same.erasure.no.override", "\u540D\u79F0\u51B2\u7A81\uFF1A{1} \u4E2D\u7684 {0} \u548C {3} \u4E2D\u7684 {2} \u5177\u6709\u76F8\u540C\u7591\u7B26\uFF0C\u4F46\u4E24\u8005\u5747\u4E0D\u8986\u76D6\u5BF9\u65B9" },
+            { "compiler.err.name.reserved.for.internal.use", "{0} \u4E3A\u5185\u90E8\u4F7F\u7528\u4FDD\u7559" },
+            { "compiler.err.native.meth.cant.have.body", "\u672C\u673A\u65B9\u6CD5\u4E0D\u80FD\u5E26\u6709\u4E3B\u4F53" },
+            { "compiler.err.neither.conditional.subtype", "? \u7684\u4E0D\u517C\u5BB9\u7C7B\u578B\uFF1A\u4E24\u8005\u90FD\u4E0D\u662F\u5BF9\u65B9\u7684\u5B50\u7C7B\u578B\n\u7B2C\u4E8C\u4E2A\u64CD\u4F5C\u6570\uFF1A {0}\n\u7B2C\u4E09\u4E2A\u64CD\u4F5C\u6570\uFF1A {1}" },
+            { "compiler.err.new.not.allowed.in.annotation", "\u6CE8\u91CA\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528 \"new\"" },
+            { "compiler.err.no.annotation.member", "{1} \u4E2D\u6CA1\u6709\u6CE8\u91CA\u6210\u5458 {0}" },
+            { "compiler.err.no.encl.instance.of.type.in.scope", "\u4F5C\u7528\u57DF\u4E2D\u6CA1\u6709\u7C7B\u578B\u4E3A {0} \u7684\u5C01\u95ED\u5B9E\u4F8B" },
+            { "compiler.err.no.intf.expected.here", "\u6B64\u5904\u4E0D\u9700\u8981\u63A5\u53E3" },
+            { "compiler.err.no.match.entry", "{0} \u5728 {1} \u7684\u6761\u76EE\u4E2D\u6CA1\u6709\u5339\u914D\u9879\uFF1B\u9700\u8981 {2}" },
+            { "compiler.err.no.superclass", "{0} \u4E0D\u5177\u6709\u7236\u7C7B" },
+            { "compiler.err.non-static.cant.be.ref", "\u65E0\u6CD5\u4ECE\u9759\u6001\u4E0A\u4E0B\u6587\u4E2D\u5F15\u7528\u975E\u9759\u6001 {0} {1}" },
+            { "compiler.err.not.annotation.type", "{0} \u4E0D\u662F\u6CE8\u91CA\u7C7B\u578B" },
+            { "compiler.err.not.def.access.class.intf.cant.access", "{1} \u4E2D\u7684 {0} \u662F\u5728\u4E0D\u53EF\u8BBF\u95EE\u7684\u7C7B\u6216\u63A5\u53E3\u4E2D\u5B9A\u4E49\u7684" },
+            { "compiler.err.not.def.public.cant.access", "{0} \u5728 {1} \u4E2D\u4E0D\u662F\u516C\u5171\u7684\uFF1B\u65E0\u6CD5\u4ECE\u5916\u90E8\u8F6F\u4EF6\u5305\u4E2D\u5BF9\u5176\u8FDB\u884C\u8BBF\u95EE" },
+            { "compiler.err.not.encl.class", "\u4E0D\u662F\u5C01\u95ED\u7C7B\uFF1A {0}" },
+            { "compiler.err.not.loop.label", "\u4E0D\u662F loop \u6807\u7B7E\uFF1A {0}" },
+            { "compiler.err.not.stmt", "\u4E0D\u662F\u8BED\u53E5" },
+            { "compiler.err.not.within.bounds", "\u7C7B\u578B\u53C2\u6570 {0} \u4E0D\u5728\u5176\u9650\u5236\u8303\u56F4\u4E4B\u5185" },
+            { "compiler.err.not.within.bounds.explain", "\u7C7B\u578B\u53C2\u6570 {0} \u4E0D\u5728\u5176\u9650\u5236\u8303\u56F4\u4E4B\u5185\uFF1B{1}" },
+            { "compiler.err.operator.cant.be.applied", "\u8FD0\u7B97\u7B26 {0} \u4E0D\u80FD\u5E94\u7528\u4E8E {1}" },
+            { "compiler.err.orphaned", "\u5355\u4E2A {0}\uFF1A" },
+            { "compiler.err.override.meth", "{0}\uFF1B\u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u4E3A {1}" },
+            { "compiler.err.override.meth.doesnt.throw", "{0}\uFF1B\u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u4E0D\u629B\u51FA {1}" },
+            { "compiler.err.override.static", "{0}\uFF1B\u8986\u76D6\u7684\u65B9\u6CD5\u4E3A\u9759\u6001" },
+            { "compiler.err.override.weaker.access", "{0}\uFF1B\u6B63\u5728\u5C1D\u8BD5\u6307\u5B9A\u66F4\u4F4E\u7684\u8BBF\u95EE\u6743\u9650\uFF1B\u4E3A {1}" },
+            { "compiler.err.pkg.annotations.sb.in.package-info.java", "\u8F6F\u4EF6\u5305\u6CE8\u91CA\u5E94\u5728\u6587\u4EF6 package-info.java \u4E2D" },
+            { "compiler.err.pkg.clashes.with.class.of.same.name", "\u8F6F\u4EF6\u5305 {0} \u4E0E\u5E26\u6709\u76F8\u540C\u540D\u79F0\u7684\u7C7B\u51B2\u7A81" },
+            { "compiler.err.premature.eof", "\u8FDB\u884C\u8BED\u6CD5\u89E3\u6790\u65F6\u5DF2\u5230\u8FBE\u6587\u4EF6\u7ED3\u5C3E" },
+            { "compiler.err.prob.found.req", "{0}\n\u627E\u5230\uFF1A {1}\n\u9700\u8981\uFF1A {2}" },
+            { "compiler.err.prob.found.req.1", "{0} {3}\n\u627E\u5230\uFF1A {1}\n\u9700\u8981\uFF1A {2}" },
+            { "compiler.err.proc.bad.config.file", "\u670D\u52A1\u914D\u7F6E\u6587\u4EF6\u4E0D\u6B63\u786E\uFF0C\u6216\u6784\u9020\u5904\u7406\u7A0B\u5E8F\u5BF9\u8C61 {0} \u65F6\u629B\u51FA\u5F02\u5E38" },
+            { "compiler.err.proc.cant.access", "\u65E0\u6CD5\u8BBF\u95EE {0}\n{1}\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8FFD\u8E2A\u3002\n{2}" },
+            { "compiler.err.proc.cant.create.loader", "\u65E0\u6CD5\u4E3A\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F {0} \u521B\u5EFA\u7C7B\u52A0\u8F7D\u5668" },
+            { "compiler.err.proc.cant.find.class", "\u627E\u4E0D\u5230\u201C{0}\u201D\u7684\u7C7B\u6587\u4EF6\u3002" },
+            { "compiler.err.proc.messager", "{0}" },
+            { "compiler.err.proc.no.explicit.annotation.processing.requested", "\u4EC5\u5F53\u663E\u5F0F\u8BF7\u6C42\u6CE8\u91CA\u5904\u7406\u65F6\u624D\u63A5\u53D7\u7C7B\u540D\u79F0\u201C{0}\u201D" },
+            { "compiler.err.proc.processor.bad.option.name", "\u5904\u7406\u5668\"{1}\"\u63D0\u4F9B\u7684\u9009\u9879\u540D\u79F0\"{0}\"\u9519\u8BEF" },
+            { "compiler.err.proc.processor.cant.instantiate", "\u65E0\u6CD5\u5B9E\u4F8B\u5316\u5904\u7406\u7A0B\u5E8F\u201C{0}\u201D\u7684\u5B9E\u4F8B" },
+            { "compiler.err.proc.processor.constructor.error", "\u6784\u9020\u5904\u7406\u7A0B\u5E8F\u5BF9\u8C61 {0} \u65F6\u629B\u51FA\u5F02\u5E38" },
+            { "compiler.err.proc.processor.not.found", "\u672A\u627E\u5230\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u201C{0}\u201D" },
+            { "compiler.err.proc.processor.wrong.type", "\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u201C{0}\u201D\u672A\u5B9E\u73B0 javax.annotation.processing.Processor" },
+            { "compiler.err.qualified.new.of.static.class", "\u9650\u5B9A\u7684\u65B0\u9759\u6001\u7C7B" },
+            { "compiler.err.recursive.ctor.invocation", "\u9012\u5F52\u6784\u9020\u51FD\u6570\u8C03\u7528" },
+            { "compiler.err.ref.ambiguous", "\u5BF9 {0} \u7684\u5F15\u7528\u4E0D\u660E\u786E\uFF0C{3} \u4E2D\u7684 {1} {2} \u548C {6} \u4E2D\u7684 {4} {5} \u90FD\u5339\u914D" },
+            { "compiler.err.repeated.annotation.target", "\u6CE8\u91CA\u76EE\u6807\u91CD\u590D" },
+            { "compiler.err.repeated.interface", "\u63A5\u53E3\u91CD\u590D" },
+            { "compiler.err.repeated.modifier", "\u4FEE\u9970\u7B26\u91CD\u590D" },
+            { "compiler.err.report.access", "{0} \u53EF\u4EE5\u5728 {2} \u4E2D\u8BBF\u95EE {1}" },
+            { "compiler.err.ret.outside.meth", "\u8FD4\u56DE\u5916\u90E8\u65B9\u6CD5" },
+            { "compiler.err.signature.doesnt.match.intf", "\u7B7E\u540D\u4E0E {0} \u4E0D\u5339\u914D\uFF1B\u4E0D\u517C\u5BB9\u7684\u63A5\u53E3" },
+            { "compiler.err.signature.doesnt.match.supertype", "\u7B7E\u540D\u4E0E {0} \u4E0D\u5339\u914D\uFF1B\u4E0D\u517C\u5BB9\u7684\u7236\u7C7B\u578B" },
+            { "compiler.err.source.cant.overwrite.input.file", "\u5199\u5165\u6E90\u65F6\u51FA\u9519\uFF1B\u65E0\u6CD5\u8986\u5199\u8F93\u5165\u6587\u4EF6 {0}" },
+            { "compiler.err.stack.sim.error", "\u5185\u90E8\u9519\u8BEF\uFF1A{0} \u4E2D\u7684\u5806\u6808 sim \u9519\u8BEF" },
+            { "compiler.err.static.imp.only.classes.and.interfaces", "\u4EC5\u4ECE\u7C7B\u548C\u63A5\u53E3\u9759\u6001\u5BFC\u5165" },
+            { "compiler.err.static.import.not.supported.in.source", "-source {0} \u4E2D\u4E0D\u652F\u6301\u9759\u6001\u5BFC\u5165\u58F0\u660E\n\uFF08\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528\u9759\u6001\u5BFC\u5165\u58F0\u660E\uFF09" },
+            { "compiler.err.synthetic.name.conflict", "\u7B26\u53F7 {0} \u4E0E {1} \u4E2D\u7684 compiler-synthesized \u7B26\u53F7\u51B2\u7A81" },
+            { "compiler.err.throws.not.allowed.in.intf.annotation", "@interface \u6210\u5458\u4E2D\u4E0D\u5141\u8BB8\u4F7F\u7528 throws \u5B50\u53E5" },
+            { "compiler.err.try.without.catch.or.finally", "\"try\" \u4E0D\u5E26\u6709 \"catch\" \u6216 \"finally\"" },
+            { "compiler.err.type.doesnt.take.params", "\u7C7B\u578B {0} \u4E0D\u5E26\u6709\u53C2\u6570" },
+            { "compiler.err.type.found.req", "\u610F\u5916\u7684\u7C7B\u578B\n\u627E\u5230\uFF1A {0}\n\u9700\u8981\uFF1A {1}" },
+            { "compiler.err.type.var.cant.be.deref", "\u65E0\u6CD5\u4ECE\u7C7B\u578B\u53D8\u91CF\u4E2D\u8FDB\u884C\u9009\u62E9" },
+            { "compiler.err.type.var.may.not.be.followed.by.other.bounds", "\u7C7B\u578B\u53D8\u91CF\u540E\u9762\u4E0D\u80FD\u5E26\u6709\u5176\u4ED6\u9650\u5236\u8303\u56F4" },
+            { "compiler.err.type.var.more.than.once", "\u7C7B\u578B\u53D8\u91CF {0} \u5728 {1} \u7684\u7ED3\u679C\u7C7B\u578B\u4E2D\u591A\u6B21\u51FA\u73B0\uFF1B\u5FC5\u987B\u5BF9\u5176\u8FDB\u884C\u5B9E\u4F8B\u5316" },
+            { "compiler.err.type.var.more.than.once.in.result", "\u7C7B\u578B\u53D8\u91CF {0} \u5728 {1} \u7684\u7C7B\u578B\u4E2D\u591A\u6B21\u51FA\u73B0\uFF1B\u5FC5\u987B\u5BF9\u5176\u8FDB\u884C\u5B9E\u4F8B\u5316" },
+            { "compiler.err.types.incompatible.diff.ret", "\u7C7B\u578B {0} \u548C {1} \u4E0D\u517C\u5BB9\uFF1B\u4E24\u8005\u90FD\u5B9A\u4E49\u4E86 {2}\uFF0C\u4F46\u5374\u5E26\u6709\u4E0D\u76F8\u5173\u7684\u8FD4\u56DE\u7C7B\u578B" },
+            { "compiler.err.unclosed.char.lit", "\u672A\u7ED3\u675F\u7684\u5B57\u7B26\u5B57\u9762\u503C" },
+            { "compiler.err.unclosed.comment", "\u672A\u7ED3\u675F\u7684\u6CE8\u91CA" },
+            { "compiler.err.unclosed.str.lit", "\u672A\u7ED3\u675F\u7684\u5B57\u7B26\u4E32\u5B57\u9762\u503C" },
+            { "compiler.err.undef.label", "\u672A\u5B9A\u4E49\u7684\u6807\u7B7E\uFF1A {0}" },
+            { "compiler.err.undetermined.type", "\u65E0\u6CD5\u786E\u5B9A {0} \u7684\u7C7B\u578B\u53C2\u6570" },
+            { "compiler.err.undetermined.type.1", "\u65E0\u6CD5\u786E\u5B9A {0} \u7684\u7C7B\u578B\u53C2\u6570\uFF1B{1}" },
+            { "compiler.err.unexpected.type", "\u610F\u5916\u7684\u7C7B\u578B\n\u9700\u8981\uFF1A {0}\n\u627E\u5230\uFF1A {1}" },
+            { "compiler.err.unknown.enum.constant", "\u5728\u7C7B\u6587\u4EF6 {0} \u4E2D\uFF1A\u672A\u77E5\u7684\u679A\u4E3E\u5E38\u91CF {1}.{2}" },
+            { "compiler.err.unreachable.stmt", "\u65E0\u6CD5\u8BBF\u95EE\u7684\u8BED\u53E5" },
+            { "compiler.err.unreported.exception.default.constructor", "\u9ED8\u8BA4\u6784\u9020\u51FD\u6570\u4E2D\u672A\u62A5\u544A\u7684\u5F02\u5E38 {0}" },
+            { "compiler.err.unreported.exception.need.to.catch.or.throw", "\u672A\u62A5\u544A\u7684\u5F02\u5E38 {0}\uFF1B\u5FC5\u987B\u5BF9\u5176\u8FDB\u884C\u6355\u6349\u6216\u58F0\u660E\u4EE5\u4FBF\u629B\u51FA" },
+            { "compiler.err.unsupported.cross.fp.lit", "\u8BE5 VM \u4E0D\u652F\u6301\u5341\u516D\u8FDB\u5236\u6D6E\u70B9\u5B57\u9762\u503C" },
+            { "compiler.err.unsupported.encoding", "\u4E0D\u652F\u6301\u7684\u7F16\u7801\uFF1A {0}" },
+            { "compiler.err.unsupported.fp.lit", "\u5728 -source 5 \u4E4B\u524D\uFF0C\u4E0D\u652F\u6301\u5341\u516D\u8FDB\u5236\u6D6E\u70B9\u5B57\u9762\u503C" },
+            { "compiler.err.var.might.already.be.assigned", "\u53EF\u80FD\u5DF2\u6307\u5B9A\u53D8\u91CF {0}" },
+            { "compiler.err.var.might.be.assigned.in.loop", "\u53EF\u80FD\u5728 loop \u4E2D\u6307\u5B9A\u4E86\u53D8\u91CF {0}" },
+            { "compiler.err.var.might.not.have.been.initialized", "\u53EF\u80FD\u5C1A\u672A\u521D\u59CB\u5316\u53D8\u91CF {0}" },
+            { "compiler.err.varargs.not.supported.in.source", "-source {0} \u4E2D\u4E0D\u652F\u6301 variable-arity \u65B9\u6CD5\n\uFF08\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u542F\u7528 variable-arity \u65B9\u6CD5\uFF09" },
+            { "compiler.err.void.not.allowed.here", "\u6B64\u5904\u4E0D\u5141\u8BB8\u4F7F\u7528 \"void\" \u7C7B\u578B" },
+            { "compiler.err.wrong.number.type.args", "\u7C7B\u578B\u53D8\u91CF\u6570\u76EE\u9519\u8BEF\uFF1B\u9700\u8981 {0}" },
+            { "compiler.misc.anonymous.class", "<\u533F\u540D {0}>" },
+            { "compiler.misc.arg.length.mismatch", "\u65E0\u6CD5\u4ECE\u53C2\u6570\u8FDB\u884C\u5B9E\u4F8B\u5316\uFF0C\u56E0\u4E3A\u5B9E\u9645\u53C2\u6570\u5217\u8868\u548C\u5F62\u5F0F\u53C2\u6570\u5217\u8868\u957F\u5EA6\u4E0D\u540C" },
+            { "compiler.misc.assignment.from.super-bound", "\u4ECE super-bound \u7C7B\u578B {0} \u6307\u5B9A" },
+            { "compiler.misc.assignment.to.extends-bound", "\u5BF9 extends-bound \u7C7B\u578B {0} \u8FDB\u884C\u6307\u5B9A" },
+            { "compiler.misc.bad.class.file.header", "\u9519\u8BEF\u7684\u7C7B\u6587\u4EF6\uFF1A {0}\n{1}\n\u8BF7\u5220\u9664\u8BE5\u6587\u4EF6\u6216\u786E\u4FDD\u8BE5\u6587\u4EF6\u4F4D\u4E8E\u6B63\u786E\u7684\u7C7B\u8DEF\u5F84\u5B50\u76EE\u5F55\u4E2D\u3002" },
+            { "compiler.misc.bad.class.signature", "\u9519\u8BEF\u7684\u7C7B\u7B7E\u540D\uFF1A {0}" },
+            { "compiler.misc.bad.const.pool.tag", "\u9519\u8BEF\u7684\u5E38\u91CF\u6C60\u6807\u8BB0\uFF1A {0}" },
+            { "compiler.misc.bad.const.pool.tag.at", "\u9519\u8BEF\u7684\u5E38\u91CF\u6C60\u6807\u8BB0\uFF1A{0}\uFF0C\u4F4D\u4E8E {1}" },
+            { "compiler.misc.bad.enclosing.method", "\u95ED\u5408\u65B9\u6CD5\u5C5E\u6027 {0} \u65F6\u51FA\u9519" },
+            { "compiler.misc.bad.runtime.invisible.param.annotations", "RuntimeInvisibleParameterAnnotations \u5C5E\u6027\u9519\u8BEF: {0}" },
+            { "compiler.misc.bad.signature", "\u9519\u8BEF\u7684\u7B7E\u540D\uFF1A {0}" },
+            { "compiler.misc.base.membership", "\u60A8\u7684\u6240\u6709\u57FA\u7C7B\u90FD\u5C5E\u4E8E\u6211\u4EEC" },
+            { "compiler.misc.cant.implement", "{1} \u4E2D\u7684 {0} \u65E0\u6CD5\u5B9E\u73B0 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.cant.override", "{1} \u4E2D\u7684 {0} \u65E0\u6CD5\u8986\u76D6 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.ccf.found.later.version", "\u7C7B\u6587\u4EF6\u7684\u7248\u672C\u9AD8\u4E8E\u9884\u671F\uFF1A {0}" },
+            { "compiler.misc.ccf.unrecognized.attribute", "\u65E0\u6CD5\u8BC6\u522B\u7684\u5C5E\u6027\uFF1A {0}" },
+            { "compiler.misc.clashes.with", "{1} \u4E2D\u7684 {0} \u4E0E {3} \u4E2D\u7684 {2} \u51B2\u7A81" },
+            { "compiler.misc.class.file.not.found", "\u672A\u627E\u5230 {0} \u7684\u7C7B\u6587\u4EF6" },
+            { "compiler.misc.class.file.wrong.class", "\u7C7B\u6587\u4EF6\u5305\u542B\u9519\u8BEF\u7684\u7C7B\uFF1A {0}" },
+            { "compiler.misc.count.error", "{0} \u9519\u8BEF" },
+            { "compiler.misc.count.error.plural", "{0} \u9519\u8BEF" },
+            { "compiler.misc.count.warn", "{0} \u8B66\u544A" },
+            { "compiler.misc.count.warn.plural", "{0} \u8B66\u544A" },
+            { "compiler.misc.fatal.err.cant.locate.ctor", "\u81F4\u547D\u9519\u8BEF\uFF1A\u627E\u4E0D\u5230 {0} \u7684\u6784\u9020\u51FD\u6570" },
+            { "compiler.misc.fatal.err.cant.locate.field", "\u81F4\u547D\u9519\u8BEF\uFF1A\u627E\u4E0D\u5230\u5B57\u6BB5 {0}" },
+            { "compiler.misc.fatal.err.cant.locate.meth", "\u81F4\u547D\u9519\u8BEF\uFF1A\u627E\u4E0D\u5230\u65B9\u6CD5 {0}" },
+            { "compiler.misc.fatal.err.no.java.lang", "\u81F4\u547D\u9519\u8BEF\uFF1A\u5728\u7C7B\u8DEF\u5F84\u6216\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E2D\u627E\u4E0D\u5230\u8F6F\u4EF6\u5305 java.lang" },
+            { "compiler.misc.file.does.not.contain.package", "\u6587\u4EF6\u4E0D\u5305\u542B\u8F6F\u4EF6\u5305 {0}" },
+            { "compiler.misc.file.doesnt.contain.class", "\u6587\u4EF6\u4E0D\u5305\u542B\u7C7B {0}" },
+            { "compiler.misc.illegal.start.of.class.file", "\u975E\u6CD5\u7684\u7C7B\u6587\u4EF6\u5F00\u59CB" },
+            { "compiler.misc.incompatible.types", "\u4E0D\u517C\u5BB9\u7684\u7C7B\u578B" },
+            { "compiler.misc.incompatible.types.1", "\u4E0D\u517C\u5BB9\u7684\u7C7B\u578B\uFF1B{0}" },
+            { "compiler.misc.inconvertible.types", "\u4E0D\u53EF\u8F6C\u6362\u7684\u7C7B\u578B" },
+            { "compiler.misc.inferred.do.not.conform.to.bounds", "\u63A8\u7406\u7C7B\u578B\u53C2\u6570 {0} \u4E0D\u7B26\u5408\u7C7B\u578B\u53D8\u91CF {1} \u7684\u9650\u5236\u8303\u56F4" },
+            { "compiler.misc.kindname", "\u6807\u8BC6\u7B26 ({0})" },
+            { "compiler.misc.kindname.annotation", "@interface" },
+            { "compiler.misc.kindname.class", "\u7C7B" },
+            { "compiler.misc.kindname.class.package", "\u7C7B\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.constructor", "\u6784\u9020\u51FD\u6570" },
+            { "compiler.misc.kindname.interface", "\u63A5\u53E3" },
+            { "compiler.misc.kindname.method", "\u65B9\u6CD5" },
+            { "compiler.misc.kindname.method.class", "\u65B9\u6CD5\u3001\u7C7B" },
+            { "compiler.misc.kindname.method.class.package", "\u65B9\u6CD5\u3001\u7C7B\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.method.package", "\u65B9\u6CD5\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.package", "\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.static", "\u9759\u6001" },
+            { "compiler.misc.kindname.type.variable", "\u7C7B\u578B\u53D8\u91CF\u7684\u9650\u5236\u8303\u56F4" },
+            { "compiler.misc.kindname.value", "\u503C" },
+            { "compiler.misc.kindname.value.class", "\u503C\u3001\u7C7B" },
+            { "compiler.misc.kindname.value.class.package", "\u503C\u3001\u7C7B\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.value.method", "\u503C\u3001\u65B9\u6CD5" },
+            { "compiler.misc.kindname.value.method.class", "\u503C\u3001\u65B9\u6CD5\u3001\u7C7B" },
+            { "compiler.misc.kindname.value.method.class.package", "\u503C\u3001\u65B9\u6CD5\u3001\u7C7B\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.value.method.package", "\u503C\u3001\u65B9\u6CD5\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.value.package", "\u503C\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.variable", "\u53D8\u91CF" },
+            { "compiler.misc.kindname.variable.class", "\u53D8\u91CF\u3001\u7C7B" },
+            { "compiler.misc.kindname.variable.class.package", "\u53D8\u91CF\u3001\u7C7B\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.variable.method", "\u53D8\u91CF\u3001\u65B9\u6CD5" },
+            { "compiler.misc.kindname.variable.method.class", "\u53D8\u91CF\u3001\u65B9\u6CD5\u3001\u7C7B" },
+            { "compiler.misc.kindname.variable.method.class.package", "\u53D8\u91CF\u3001\u65B9\u6CD5\u3001\u7C7B\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.variable.method.package", "\u53D8\u91CF\u3001\u65B9\u6CD5\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.kindname.variable.package", "\u53D8\u91CF\u3001\u8F6F\u4EF6\u5305" },
+            { "compiler.misc.no.conforming.assignment.exists", "\u4E0D\u5B58\u5728\u7C7B\u578B\u53D8\u91CF {0} \u7684\u5B9E\u4F8B\uFF0C\u4EE5\u4F7F\u53C2\u6570\u7C7B\u578B {1} \u4E0E\u5F62\u5F0F\u53C2\u6570\u7C7B\u578B {2} \u4E00\u81F4" },
+            { "compiler.misc.no.conforming.instance.exists", "\u4E0D\u5B58\u5728\u7C7B\u578B\u53D8\u91CF {0} \u7684\u5B9E\u4F8B\uFF0C\u4EE5\u4F7F {1} \u4E0E {2} \u4E00\u81F4" },
+            { "compiler.misc.no.unique.maximal.instance.exists", "\u5BF9\u4E8E\u4E0A\u9650\u4E3A {1} \u7684\u7C7B\u578B\u53D8\u91CF {0}\uFF0C\u4E0D\u5B58\u5728\u552F\u4E00\u6700\u5927\u5B9E\u4F8B" },
+            { "compiler.misc.no.unique.minimal.instance.exists", "\u5BF9\u4E8E\u4E0B\u9650\u4E3A {1} \u7684\u7C7B\u578B\u53D8\u91CF {0}\uFF0C\u4E0D\u5B58\u5728\u552F\u4E00\u6700\u5C0F\u5B9E\u4F8B" },
+            { "compiler.misc.override.incompatible.ret", "{0}\uFF1B\u6B63\u5728\u5C1D\u8BD5\u4F7F\u7528\u4E0D\u517C\u5BB9\u7684\u8FD4\u56DE\u7C7B\u578B" },
+            { "compiler.misc.override.unchecked.ret", "{0}\uFF1B\u8FD4\u56DE\u7C7B\u578B\u9700\u8981\u672A\u7ECF\u68C0\u67E5\u7684\u8F6C\u6362" },
+            { "compiler.misc.possible.loss.of.precision", "\u53EF\u80FD\u635F\u5931\u7CBE\u5EA6" },
+            { "compiler.misc.resume.abort", "\u7EE7\u7EED(&R), \u653E\u5F03(&A)>" },
+            { "compiler.misc.source.unavailable", "\uFF08\u6E90\u4E0D\u53EF\u7528\uFF09" },
+            { "compiler.misc.token.bad-symbol", "<\u9519\u8BEF\u7B26\u53F7>" },
+            { "compiler.misc.token.character", "<\u5B57\u7B26>" },
+            { "compiler.misc.token.double", "<\u53CC\u7CBE\u5EA6\u578B>" },
+            { "compiler.misc.token.end-of-input", "<\u8F93\u5165\u7ED3\u675F>" },
+            { "compiler.misc.token.float", "<\u6D6E\u70B9\u578B>" },
+            { "compiler.misc.token.identifier", "<\u6807\u8BC6\u7B26>" },
+            { "compiler.misc.token.integer", "<\u6574\u578B>" },
+            { "compiler.misc.token.long-integer", "<\u957F\u6574\u578B>" },
+            { "compiler.misc.token.string", "<\u5B57\u7B26\u4E32>" },
+            { "compiler.misc.type.parameter", "\u7C7B\u578B\u53C2\u6570 {0} " },
+            { "compiler.misc.type.req.class", "\u7C7B" },
+            { "compiler.misc.type.req.class.array", "\u7C7B\u6216\u6570\u7EC4" },
+            { "compiler.misc.type.req.exact", "\u4E0D\u5E26\u9650\u5236\u8303\u56F4\u7684\u7C7B\u6216\u63A5\u53E3" },
+            { "compiler.misc.type.req.ref", "\u5F15\u7528" },
+            { "compiler.misc.unable.to.access.file", "\u65E0\u6CD5\u8BBF\u95EE\u6587\u4EF6\uFF1A {0}" },
+            { "compiler.misc.unchecked.assign", "[unchecked] \u672A\u7ECF\u68C0\u67E5\u7684\u8F6C\u6362" },
+            { "compiler.misc.unchecked.cast.to.type", "[unchecked] \u672A\u7ECF\u68C0\u67E5\u7684\u7C7B\u578B\u4F7F\u7528" },
+            { "compiler.misc.unchecked.clash.with", "{1} \u4E2D\u7684 {0} \u8986\u76D6\u4E86 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.unchecked.implement", "{1} \u4E2D\u7684 {0} \u5B9E\u73B0\u4E86 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.unchecked.override", "{1} \u4E2D\u7684 {0} \u8986\u76D6\u4E86 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.undecl.type.var", "\u672A\u58F0\u660E\u7684\u7C7B\u578B\u53D8\u91CF\uFF1A {0}" },
+            { "compiler.misc.undetermined.type", "\u672A\u786E\u5B9A\u7684\u7C7B\u578B" },
+            { "compiler.misc.unicode.str.not.supported", "\u4E0D\u652F\u6301\u7C7B\u6587\u4EF6\u4E2D\u7684 Unicode \u5B57\u7B26\u4E32" },
+            { "compiler.misc.varargs.clash.with", "{1} \u4E2D\u7684 {0} \u8986\u76D6\u4E86 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.varargs.implement", "{1} \u4E2D\u7684 {0} \u5B9E\u73B0\u4E86 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.varargs.override", "{1} \u4E2D\u7684 {0} \u8986\u76D6\u4E86 {3} \u4E2D\u7684 {2}" },
+            { "compiler.misc.verbose.checking.attribution", "[\u6B63\u5728\u68C0\u67E5 {0}]" },
+            { "compiler.misc.verbose.classpath", "[\u7C7B\u6587\u4EF6\u7684\u641C\u7D22\u8DEF\u5F84\uFF1A {0}]" },
+            { "compiler.misc.verbose.loading", "[\u6B63\u5728\u88C5\u5165 {0}]" },
+            { "compiler.misc.verbose.parsing.done", "[\u89E3\u6790\u5DF2\u5B8C\u6210\u65F6\u95F4 {0}ms]" },
+            { "compiler.misc.verbose.parsing.started", "[\u89E3\u6790\u5F00\u59CB\u65F6\u95F4 {0}]" },
+            { "compiler.misc.verbose.retro", "[\u6B63\u5728\u66F4\u65B0 {0}]" },
+            { "compiler.misc.verbose.retro.with", "\u6B63\u5728\u4F7F\u7528 {1} \u66F4\u65B0 {0}" },
+            { "compiler.misc.verbose.retro.with.list", "\u6B63\u5728\u4F7F\u7528\u7C7B\u578B\u53C2\u6570 {1}\u3001\u7236\u7C7B\u578B {2} \u548C\u63A5\u53E3 {3} \u66F4\u65B0 {0}" },
+            { "compiler.misc.verbose.sourcepath", "[\u6E90\u6587\u4EF6\u7684\u641C\u7D22\u8DEF\u5F84\uFF1A {0}]" },
+            { "compiler.misc.verbose.total", "[\u603B\u65F6\u95F4 {0}ms]" },
+            { "compiler.misc.verbose.wrote.file", "[\u5DF2\u5199\u5165 {0}]" },
+            { "compiler.misc.wrong.version", "\u7C7B\u6587\u4EF6\u5177\u6709\u9519\u8BEF\u7684\u7248\u672C {0}.{1}\uFF0C\u5E94\u4E3A {2}.{3}" },
+            { "compiler.misc.x.print.processor.info", "\u5904\u7406\u7A0B\u5E8F {0} \u4E0E {1} \u5339\u914D\u5E76\u8FD4\u56DE {2}\u3002" },
+            { "compiler.misc.x.print.rounds", "\u5FAA\u73AF {0}:\n\t\u8F93\u5165\u6587\u4EF6: {1}\n\t\u6CE8\u91CA: {2}\n\t\u6700\u540E\u4E00\u4E2A\u5FAA\u73AF: {3}" },
+            { "compiler.note.deprecated.filename", "{0} \u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002" },
+            { "compiler.note.deprecated.filename.additional", "{0} \u8FD8\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002" },
+            { "compiler.note.deprecated.plural", "\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002" },
+            { "compiler.note.deprecated.plural.additional", "\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u8FD8\u4F7F\u7528\u6216\u8986\u76D6\u4E86\u5DF2\u8FC7\u65F6\u7684 API\u3002" },
+            { "compiler.note.deprecated.recompile", "\u8981\u4E86\u89E3\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u4F7F\u7528 -Xlint:deprecation \u91CD\u65B0\u7F16\u8BD1\u3002" },
+            { "compiler.note.note", "\u6CE8\u610F\uFF1A" },
+            { "compiler.note.proc.messager", "{0}" },
+            { "compiler.note.unchecked.filename", "{0} \u4F7F\u7528\u4E86\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002" },
+            { "compiler.note.unchecked.filename.additional", "{0} \u8FD8\u6709\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002" },
+            { "compiler.note.unchecked.plural", "\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u4F7F\u7528\u4E86\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002" },
+            { "compiler.note.unchecked.plural.additional", "\u67D0\u4E9B\u8F93\u5165\u6587\u4EF6\u8FD8\u4F7F\u7528\u4E86\u672A\u7ECF\u68C0\u67E5\u6216\u4E0D\u5B89\u5168\u7684\u64CD\u4F5C\u3002" },
+            { "compiler.note.unchecked.recompile", "\u8981\u4E86\u89E3\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u4F7F\u7528 -Xlint:unchecked \u91CD\u65B0\u7F16\u8BD1\u3002" },
+            { "compiler.warn.annotation.method.not.found", "\u65E0\u6CD5\u627E\u5230\u7C7B\u578B\u4E3A\u201C{0}\u201D\u7684\u6CE8\u91CA\u65B9\u6CD5\u201C{1}()\u201D" },
+            { "compiler.warn.annotation.method.not.found.reason", "\u65E0\u6CD5\u627E\u5230\u7C7B\u578B\u4E3A\u201C{0}\u201D\u7684\u6CE8\u91CA\u65B9\u6CD5\u201C{1}()\u201D: {2}" },
+            { "compiler.warn.assert.as.identifier", "\u4ECE\u7248\u672C 1.4 \u5F00\u59CB\uFF0C''assert'' \u662F\u4E00\u4E2A\u5173\u952E\u5B57\uFF0C\u4F46\u4E0D\u80FD\u7528\u4F5C\u6807\u8BC6\u7B26\n\uFF08\u8BF7\u4F7F\u7528 -source 1.4 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u4FBF\u5C06 ''assert'' \u7528\u4F5C\u5173\u952E\u5B57\uFF09" },
+            { "compiler.warn.big.major.version", "{0}: \u4E3B\u7248\u672C {1} \u6BD4 {2} \u65B0\uFF0C\u6B64\u7F16\u8BD1\u5668\u652F\u6301\u6700\u65B0\u7684\u4E3B\u7248\u672C\u3002\n\u5EFA\u8BAE\u5347\u7EA7\u6B64\u7F16\u8BD1\u5668\u3002" },
+            { "compiler.warn.constant.SVUID", "[serial] \u5728\u7C7B {0} \u4E2D serialVersionUID \u5FC5\u987B\u4E3A\u5E38\u91CF" },
+            { "compiler.warn.dir.path.element.not.found", "[path] \u9519\u8BEF\u7684\u8DEF\u5F84\u5143\u7D20 \"{0}\"\uFF1A\u65E0\u6B64\u76EE\u5F55" },
+            { "compiler.warn.div.zero", "[divzero] \u9664\u6570\u4E3A\u96F6" },
+            { "compiler.warn.empty.if", "[\u7A7A] if \u4E4B\u540E\u6CA1\u6709\u8BED\u53E5" },
+            { "compiler.warn.enum.as.identifier", "\u4ECE\u53D1\u884C\u7248 5 \u5F00\u59CB\uFF0C\"enum\" \u4E3A\u5173\u952E\u5B57\uFF0C\u800C\u4E0D\u7528\u4F5C\u6807\u8BC6\u7B26\n\uFF08\u8BF7\u4F7F\u7528 -source 5 \u6216\u66F4\u9AD8\u7248\u672C\u4EE5\u5C06 \"enum\"' \u7528\u4F5C\u5173\u952E\u5B57\uFF09" },
+            { "compiler.warn.finally.cannot.complete", "[finally] \u65E0\u6CD5\u6B63\u5E38\u5B8C\u6210 finally \u5B50\u53E5" },
+            { "compiler.warn.forward.ref", "\u5148\u5F15\u7528\u53D8\u91CF''{0}''\uFF0C\u7136\u540E\u518D\u5BF9\u5176\u521D\u59CB\u5316" },
+            { "compiler.warn.has.been.deprecated", "[deprecation] {1} \u4E2D\u7684 {0} \u5DF2\u8FC7\u65F6" },
+            { "compiler.warn.illegal.char.for.encoding", "\u7F16\u7801 {0} \u7684\u4E0D\u53EF\u6620\u5C04\u5B57\u7B26" },
+            { "compiler.warn.improper.SVUID", "[serial] \u5728\u7C7B {0} \u4E2D\u5FC5\u987B\u5C06 serialVersionUID \u58F0\u660E\u4E3A\u9759\u6001\u6700\u7EC8\u7C7B\u578B" },
+            { "compiler.warn.inexact.non-varargs.call", "\u6700\u540E\u4E00\u4E2A\u53C2\u6570\u4F7F\u7528\u4E86\u4E0D\u51C6\u786E\u7684\u53D8\u91CF\u7C7B\u578B\u7684 varargs \u65B9\u6CD5\u7684\u975E varargs \u8C03\u7528\uFF1B\n\u5BF9\u4E8E varargs \u8C03\u7528\uFF0C\u5E94\u4F7F\u7528 {0}\n\u5BF9\u4E8E\u975E varargs \u8C03\u7528\uFF0C\u5E94\u4F7F\u7528 {1}\uFF0C\u8FD9\u6837\u4E5F\u53EF\u4EE5\u6291\u5236\u6B64\u8B66\u544A" },
+            { "compiler.warn.invalid.archive.file", "[path] \u4EE5\u4E0B\u8DEF\u5F84\u4E2D\u5B58\u5728\u610F\u5916\u7684\u6587\u4EF6: {0}" },
+            { "compiler.warn.long.SVUID", "[serial] \u5728\u7C7B {0} \u4E2D serialVersionUID \u5FC5\u987B\u4E3A\u957F\u6574\u578B" },
+            { "compiler.warn.missing.SVUID", "[serial] \u53EF\u5E8F\u5217\u5316\u7C7B {0} \u4E2D\u6CA1\u6709 serialVersionUID \u7684\u5B9A\u4E49" },
+            { "compiler.warn.missing.deprecated.annotation", "[dep-ann] \u672A\u4F7F\u7528 @Deprecated \u5BF9\u5DF2\u8FC7\u65F6\u7684\u9879\u76EE\u8FDB\u884C\u6CE8\u91CA" },
+            { "compiler.warn.override.bridge", "{0}\uFF1B\u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u4E3A bridge \u65B9\u6CD5" },
+            { "compiler.warn.override.varargs.extra", "{0}\uFF1B\u8986\u76D6\u7684\u65B9\u6CD5\u7F3A\u5C11 \"...\"" },
+            { "compiler.warn.override.varargs.missing", "{0}\uFF1B\u88AB\u8986\u76D6\u7684\u65B9\u6CD5\u6CA1\u6709 \"...\"" },
+            { "compiler.warn.path.element.not.found", "[path] \u9519\u8BEF\u7684\u8DEF\u5F84\u5143\u7D20 \"{0}\"\uFF1A\u65E0\u6B64\u6587\u4EF6\u6216\u76EE\u5F55" },
+            { "compiler.warn.pkg-info.already.seen", "[package-info] \u5DF2\u627E\u5230\u8F6F\u4EF6\u5305 {0} \u7684 package-info.java \u6587\u4EF6" },
+            { "compiler.warn.position.overflow", "\u884C {0} \u5904\u7684\u4F4D\u7F6E\u7F16\u7801\u6EA2\u51FA" },
+            { "compiler.warn.possible.fall-through.into.case", "[fallthrough] \u53EF\u80FD\u65E0\u6CD5\u5B9E\u73B0 case" },
+            { "compiler.warn.prob.found.req", "{0}\n\u627E\u5230\uFF1A {1}\n\u9700\u8981\uFF1A {2}" },
+            { "compiler.warn.proc.annotations.without.processors", "\u6CA1\u6709\u5904\u7406\u7A0B\u5E8F\u8981\u4F7F\u7528\u4EE5\u4E0B\u4EFB\u4F55\u6CE8\u91CA: {0}" },
+            { "compiler.warn.proc.file.create.last.round", "\u5C06\u4E0D\u5BF9\u5728\u6700\u540E\u4E00\u4E2A\u5FAA\u73AF\u4E2D\u521B\u5EFA\u7684\u7C7B\u578B\u4E3A\u201C{0}\u201D\u7684\u6587\u4EF6\u8FDB\u884C\u6CE8\u91CA\u5904\u7406\u3002" },
+            { "compiler.warn.proc.file.reopening", "\u5C1D\u8BD5\u591A\u6B21\u4E3A\u201C{0}\u201D\u521B\u5EFA\u6587\u4EF6" },
+            { "compiler.warn.proc.illegal.file.name", "\u65E0\u6CD5\u521B\u5EFA\u5E26\u6709\u975E\u6CD5\u540D\u79F0\u201C{0}\u201D\u7684\u6587\u4EF6\u3002" },
+            { "compiler.warn.proc.malformed.supported.string", "\u5904\u7406\u7A0B\u5E8F\u201C{1}\u201D\u4E3A\u652F\u6301\u7684\u6CE8\u91CA\u7C7B\u578B\u8FD4\u56DE\u4E0D\u89C4\u5219\u7684\u5B57\u7B26\u4E32\u201C{0}\u201D" },
+            { "compiler.warn.proc.messager", "{0}" },
+            { "compiler.warn.proc.package.does.not.exist", "\u8F6F\u4EF6\u5305 {0} \u4E0D\u5B58\u5728" },
+            { "compiler.warn.proc.proc-only.requested.no.procs", "\u5728\u672A\u8BF7\u6C42\u7F16\u8BD1\u7684\u60C5\u51B5\u4E0B\u8FDB\u884C\u6CE8\u91CA\u5904\u7406\uFF0C\u4F46\u672A\u627E\u5230\u5904\u7406\u7A0B\u5E8F\u3002" },
+            { "compiler.warn.proc.processor.incompatible.source.version", "\u6765\u81EA\u6CE8\u91CA\u5904\u7406\u5668\"{1}\"\u7684\u53D7\u652F\u6301 source \u7248\u672C\"{0}\"\u4F4E\u4E8E -source\"{2}\"" },
+            { "compiler.warn.proc.type.already.exists", "\u5177\u6709\u7C7B\u578B''{0}''\u7684\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\u4E8E\u6E90\u8DEF\u5F84\u6216\u7C7B\u8DEF\u5F84\u4E2D" },
+            { "compiler.warn.proc.type.recreate", "\u5C1D\u8BD5\u591A\u6B21\u521B\u5EFA\u5177\u6709\u7C7B\u578B\u201C{0}\u201D\u7684\u6587\u4EF6" },
+            { "compiler.warn.proc.unclosed.type.files", "\u7C7B\u578B\u4E3A\u201C{0}\u201D\u7684\u6587\u4EF6\u672A\u5173\u95ED\uFF1B\u5C06\u4E0D\u9488\u5BF9\u8FD9\u4E9B\u7C7B\u578B\u8FDB\u884C\u6CE8\u91CA\u5904\u7406" },
+            { "compiler.warn.proc.unmatched.processor.options", "\u4EE5\u4E0B\u9009\u9879\u672A\u88AB\u4EFB\u4F55\u5904\u7406\u5668\u8BC6\u522B\uFF1A\"{0}\"" },
+            { "compiler.warn.proc.use.implicit", "\u6CE8\u91CA\u5904\u7406\u4E0D\u9002\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u6587\u4EF6\u3002\n\u4F7F\u7528 -implicit \u6307\u5B9A\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u7B56\u7565\u3002" },
+            { "compiler.warn.proc.use.proc.or.implicit", "\u6CE8\u91CA\u5904\u7406\u4E0D\u9002\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u6587\u4EF6\u3002\n\u4F7F\u7528 -proc:none \u7981\u7528\u6CE8\u91CA\u5904\u7406\u6216\u4F7F\u7528 -implicit \u6307\u5B9A\u7528\u4E8E\u9690\u5F0F\u7F16\u8BD1\u7684\u7B56\u7565\u3002" },
+            { "compiler.warn.redundant.cast", "[\u8F6C\u6362] \u5411 {0} \u8F6C\u6362\u51FA\u73B0\u5197\u4F59" },
+            { "compiler.warn.unchecked.assign", "[unchecked] \u672A\u7ECF\u68C0\u67E5\u7684\u6307\u5B9A\uFF1A\u5C06 {0} \u6307\u5B9A\u7ED9 {1}" },
+            { "compiler.warn.unchecked.assign.to.var", "[unchecked] \u5BF9\u4F5C\u4E3A\u666E\u901A\u7C7B\u578B {1} \u7684\u6210\u5458\u7684\u53D8\u91CF {0} \u7684\u6307\u5B9A\u672A\u7ECF\u68C0\u67E5" },
+            { "compiler.warn.unchecked.call.mbr.of.raw.type", "[unchecked] \u5BF9\u4F5C\u4E3A\u666E\u901A\u7C7B\u578B {1} \u7684\u6210\u5458\u7684 {0} \u7684\u8C03\u7528\u672A\u7ECF\u68C0\u67E5" },
+            { "compiler.warn.unchecked.cast.to.type", "[unchecked] \u5BF9\u7C7B\u578B {0} \u7684\u4F7F\u7528\u672A\u7ECF\u68C0\u67E5" },
+            { "compiler.warn.unchecked.generic.array.creation", "[unchecked] \u5BF9\u4E8E varargs \u53C2\u6570\uFF0C\u7C7B\u578B {0} \u7684\u6CDB\u578B\u6570\u7EC4\u521B\u5EFA\u672A\u7ECF\u68C0\u67E5" },
+            { "compiler.warn.unchecked.meth.invocation.applied", "[unchecked] \u65B9\u6CD5\u8C03\u7528\u672A\u7ECF\u68C0\u67E5\uFF1A{1} \u4E2D\u7684 {0} \u88AB\u5E94\u7528\u4E8E {2}({3})" },
+            { "compiler.warn.unexpected.archive.file", "[path] \u4EE5\u4E0B\u5F52\u6863\u6587\u4EF6\u5B58\u5728\u610F\u5916\u7684\u6269\u5C55\u540D: {0}" },
+            { "compiler.warn.warning", "\u8B66\u544A\uFF1A" },
+            { "ncompiler.misc.type.variable.has.undetermined.type", "\u7C7B\u578B\u53D8\u91CF {0} \u5E26\u6709\u672A\u786E\u5B9A\u7684\u7C7B\u578B" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/javac.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,91 @@
+package com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class javac extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "javac.err.dir.not.found", "directory not found: {0}" },
+            { "javac.err.empty.A.argument", "-A requires an argument; use ''-Akey'' or ''-Akey=value''" },
+            { "javac.err.error.writing.file", "error writing {0}; {1}" },
+            { "javac.err.file.not.directory", "not a directory: {0}" },
+            { "javac.err.file.not.file", "not a file: {0}" },
+            { "javac.err.file.not.found", "file not found: {0}" },
+            { "javac.err.invalid.A.key", "key in annotation processor option ''{0}'' is not a dot-separated sequence of identifiers" },
+            { "javac.err.invalid.arg", "invalid argument: {0}" },
+            { "javac.err.invalid.flag", "invalid flag: {0}" },
+            { "javac.err.invalid.source", "invalid source release: {0}" },
+            { "javac.err.invalid.target", "invalid target release: {0}" },
+            { "javac.err.no.source.files", "no source files" },
+            { "javac.err.req.arg", "{0} requires an argument" },
+            { "javac.fullVersion", "{0} full version \"{1}\"" },
+            { "javac.msg.bug", "An exception has occurred in the compiler ({0}). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you." },
+            { "javac.msg.io", "\n\nAn input/output error occurred.\nConsult the following stack trace for details.\n" },
+            { "javac.msg.proc.annotation.uncaught.exception", "\n\nAn annotation processor threw an uncaught exception.\nConsult the following stack trace for details.\n" },
+            { "javac.msg.resource", "\n\nThe system is out of resources.\nConsult the following stack trace for details.\n" },
+            { "javac.msg.usage", "Usage: {0} <options> <source files>\nuse -help for a list of possible options" },
+            { "javac.msg.usage.header", "Usage: {0} <options> <source files>\nwhere possible options include:" },
+            { "javac.msg.usage.nonstandard.footer", "These options are non-standard and subject to change without notice." },
+            { "javac.opt.A", "Options to pass to annotation processors" },
+            { "javac.opt.J", "Pass <flag> directly to the runtime system" },
+            { "javac.opt.X", "Print a synopsis of nonstandard options" },
+            { "javac.opt.Xbootclasspath.a", "Append to the bootstrap class path" },
+            { "javac.opt.Xbootclasspath.p", "Prepend to the bootstrap class path" },
+            { "javac.opt.Xlint", "Enable recommended warnings" },
+            { "javac.opt.Xlint.suboptlist", "Enable or disable specific warnings" },
+            { "javac.opt.Xstdout", "Redirect standard output" },
+            { "javac.opt.arg.class", "<class>" },
+            { "javac.opt.arg.class.list", "<class1>[,<class2>,<class3>...]" },
+            { "javac.opt.arg.directory", "<directory>" },
+            { "javac.opt.arg.dirs", "<dirs>" },
+            { "javac.opt.arg.encoding", "<encoding>" },
+            { "javac.opt.arg.file", "<filename>" },
+            { "javac.opt.arg.flag", "<flag>" },
+            { "javac.opt.arg.key.equals.value", "key[=value]" },
+            { "javac.opt.arg.number", "<number>" },
+            { "javac.opt.arg.path", "<path>" },
+            { "javac.opt.arg.pathname", "<pathname>" },
+            { "javac.opt.arg.release", "<release>" },
+            { "javac.opt.bootclasspath", "Override location of bootstrap class files" },
+            { "javac.opt.classpath", "Specify where to find user class files and annotation processors" },
+            { "javac.opt.d", "Specify where to place generated class files" },
+            { "javac.opt.deprecation", "Output source locations where deprecated APIs are used" },
+            { "javac.opt.encoding", "Specify character encoding used by source files" },
+            { "javac.opt.endorseddirs", "Override location of endorsed standards path" },
+            { "javac.opt.extdirs", "Override location of installed extensions" },
+            { "javac.opt.g", "Generate all debugging info" },
+            { "javac.opt.g.lines.vars.source", "Generate only some debugging info" },
+            { "javac.opt.g.none", "Generate no debugging info" },
+            { "javac.opt.help", "Print a synopsis of standard options" },
+            { "javac.opt.implicit", "Specify whether or not to generate class files for implicitly referenced files " },
+            { "javac.opt.maxerrs", "Set the maximum number of errors to print" },
+            { "javac.opt.maxwarns", "Set the maximum number of warnings to print" },
+            { "javac.opt.moreinfo", "Print extended information for type variables" },
+            { "javac.opt.nogj", "Don't accept generics in the language" },
+            { "javac.opt.nowarn", "Generate no warnings" },
+            { "javac.opt.prefer", "Specify which file to read when both a source file and class file are found for an implicitly compiled class" },
+            { "javac.opt.print", "Print out a textual representation of specified types" },
+            { "javac.opt.printProcessorInfo", "Print information about which annotations a processor is asked to process" },
+            { "javac.opt.printRounds", "Print information about rounds of annotation processing" },
+            { "javac.opt.printflat", "Print abstract syntax tree after inner class conversion" },
+            { "javac.opt.printsearch", "Print information where classfiles are searched" },
+            { "javac.opt.proc.none.only", "Control whether annotation processing and/or compilation is done." },
+            { "javac.opt.processor", "Names of the annotation processors to run; bypasses default discovery process" },
+            { "javac.opt.processorpath", "Specify where to find annotation processors" },
+            { "javac.opt.prompt", "Stop after each error" },
+            { "javac.opt.retrofit", "Retrofit existing classfiles with generic types" },
+            { "javac.opt.s", "Emit java sources instead of classfiles" },
+            { "javac.opt.scramble", "Scramble private identifiers in bytecode" },
+            { "javac.opt.scrambleall", "Scramble package visible identifiers in bytecode" },
+            { "javac.opt.source", "Provide source compatibility with specified release" },
+            { "javac.opt.sourceDest", "Specify where to place generated source files" },
+            { "javac.opt.sourcepath", "Specify where to find input source files" },
+            { "javac.opt.target", "Generate class files for specific VM version" },
+            { "javac.opt.verbose", "Output messages about what the compiler is doing" },
+            { "javac.opt.version", "Version information" },
+            { "javac.version", "{0} {1}" },
+            { "javac.warn.source.target.conflict", "source release {0} requires target release {1}" },
+            { "javac.warn.target.default.source.conflict", "target release {0} conflicts with default source release {1}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/javac_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,90 @@
+package com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class javac_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "javac.err.empty.A.argument", "-A \u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002''-Akey'' \u307E\u305F\u306F ''-Akey=value'' \u3092\u4F7F\u7528\u3057\u3066\u304F\u3060\u3055\u3044" },
+            { "javac.err.error.writing.file", "{0} \u306E\u66F8\u304D\u8FBC\u307F\u30A8\u30E9\u30FC\u3067\u3059\u3002{1}" },
+            { "javac.err.file.not.directory", "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}" },
+            { "javac.err.file.not.file", "\u30D5\u30A1\u30A4\u30EB\u3067\u306F\u3042\u308A\u307E\u305B\u3093: {0}" },
+            { "javac.err.file.not.found", "\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: {0}" },
+            { "javac.err.invalid.A.key", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u30AA\u30D7\u30B7\u30E7\u30F3 ''{0}'' \u306E\u30AD\u30FC\u306B\u6307\u5B9A\u3055\u308C\u3066\u3044\u308B\u4E00\u9023\u306E\u8B58\u5225\u5B50\u304C\u3001\u30C9\u30C3\u30C8\u3067\u533A\u5207\u3089\u308C\u3066\u3044\u307E\u305B\u3093" },
+            { "javac.err.invalid.arg", "{0} \u306F\u7121\u52B9\u306A\u5F15\u6570\u3067\u3059\u3002" },
+            { "javac.err.invalid.flag", "{0} \u306F\u7121\u52B9\u306A\u30D5\u30E9\u30B0\u3067\u3059\u3002" },
+            { "javac.err.invalid.source", "{0} \u306F\u7121\u52B9\u306A\u30BD\u30FC\u30B9\u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u3059\u3002" },
+            { "javac.err.invalid.target", "{0} \u306F\u7121\u52B9\u306A VM \u30D0\u30FC\u30B8\u30E7\u30F3\u3067\u3059\u3002" },
+            { "javac.err.no.source.files", "\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "javac.err.req.arg", "{0} \u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059" },
+            { "javac.fullVersion", "{0} \u30D5\u30EB\u30D0\u30FC\u30B8\u30E7\u30F3 \"{1}\"" },
+            { "javac.msg.bug", "\u30B3\u30F3\u30D1\u30A4\u30E9\u3067\u4F8B\u5916\u304C\u767A\u751F\u3057\u307E\u3057\u305F ({0})\u3002Bug Parade \u306B\u540C\u3058\u30D0\u30B0\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u3092\u3054\u78BA\u8A8D\u306E\u4E0A\u3001Java Developer Connection (http://java.sun.com/webapps/bugreport) \u306B\u3066\u30D0\u30B0\u306E\u767B\u9332\u3092\u304A\u9858\u3044\u3044\u305F\u3057\u307E\u3059\u3002\u30EC\u30DD\u30FC\u30C8\u306B\u306F\u3001\u305D\u306E\u30D7\u30ED\u30B0\u30E9\u30E0\u3068\u4E0B\u8A18\u306E\u8A3A\u65AD\u5185\u5BB9\u3092\u542B\u3081\u3066\u304F\u3060\u3055\u3044\u3002\u3054\u5354\u529B\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002" },
+            { "javac.msg.io", "\n\n\u5165\u51FA\u529B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n" },
+            { "javac.msg.proc.annotation.uncaught.exception", "\n\n\u6CE8\u91C8\u51E6\u7406\u3067\u30AD\u30E3\u30C3\u30C1\u3055\u308C\u306A\u3044\u4F8B\u5916\u304C\u30B9\u30ED\u30FC\u3055\u308C\u307E\u3057\u305F\u3002\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n" },
+            { "javac.msg.resource", "\n\n\u30B7\u30B9\u30C6\u30E0\u30EA\u30BD\u30FC\u30B9\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002\n\u8A73\u7D30\u306F\u6B21\u306E\u30B9\u30BF\u30C3\u30AF\u30C8\u30EC\u30FC\u30B9\u3067\u8ABF\u67FB\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n" },
+            { "javac.msg.usage", "\u4F7F\u3044\u65B9: {0} <options> <source files>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30EA\u30B9\u30C8\u306B\u3064\u3044\u3066\u306F\u3001-help \u3092\u4F7F\u7528\u3057\u307E\u3059" },
+            { "javac.msg.usage.header", "\u4F7F\u3044\u65B9: {0} <options> <source files>\n\u4F7F\u7528\u53EF\u80FD\u306A\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u306F\u6B21\u306E\u3082\u306E\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "javac.msg.usage.nonstandard.footer", "\u3053\u308C\u3089\u306F\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u3067\u3042\u308A\u4E88\u544A\u306A\u3057\u306B\u5909\u66F4\u3055\u308C\u308B\u3053\u3068\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "javac.opt.A", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306B\u6E21\u3055\u308C\u308B\u30AA\u30D7\u30B7\u30E7\u30F3" },
+            { "javac.opt.J", "<flag> \u3092\u5B9F\u884C\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3059" },
+            { "javac.opt.X", "\u975E\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.Xbootclasspath.a", "\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30AF\u30E9\u30B9\u306B\u8FFD\u52A0\u3059\u308B" },
+            { "javac.opt.Xbootclasspath.p", "\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30AF\u30E9\u30B9\u306B\u4ED8\u52A0\u3059\u308B" },
+            { "javac.opt.Xlint", "\u63A8\u5968\u306E\u8B66\u544A\u3092\u6709\u52B9\u306B\u3059\u308B" },
+            { "javac.opt.Xlint.suboptlist", "\u7279\u5B9A\u306E\u8B66\u544A\u3092\u6709\u52B9\u307E\u305F\u306F\u7121\u52B9\u306B\u3059\u308B" },
+            { "javac.opt.Xstdout", "\u6A19\u6E96\u51FA\u529B\u3092\u30EA\u30C0\u30A4\u30EC\u30AF\u30C8\u3059\u308B" },
+            { "javac.opt.arg.class", "<class>" },
+            { "javac.opt.arg.class.list", "<class1>[,<class2>,<class3>...]" },
+            { "javac.opt.arg.directory", "<directory>" },
+            { "javac.opt.arg.dirs", "<dirs>" },
+            { "javac.opt.arg.encoding", "<encoding>" },
+            { "javac.opt.arg.file", "<filename>" },
+            { "javac.opt.arg.flag", "<flag>" },
+            { "javac.opt.arg.key.equals.value", "key[=value]" },
+            { "javac.opt.arg.number", "<number>" },
+            { "javac.opt.arg.path", "<path>" },
+            { "javac.opt.arg.pathname", "<pathname>" },
+            { "javac.opt.arg.release", "<release>" },
+            { "javac.opt.bootclasspath", "\u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u4F4D\u7F6E\u3092\u7F6E\u304D\u63DB\u3048\u308B" },
+            { "javac.opt.classpath", "\u30E6\u30FC\u30B6\u30FC\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u304A\u3088\u3073\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "javac.opt.d", "\u751F\u6210\u3055\u308C\u305F\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "javac.opt.deprecation", "\u63A8\u5968\u3055\u308C\u306A\u3044 API \u304C\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u30BD\u30FC\u30B9\u306E\u4F4D\u7F6E\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.encoding", "\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u4F7F\u7528\u3059\u308B\u6587\u5B57\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u3092\u6307\u5B9A\u3059\u308B" },
+            { "javac.opt.endorseddirs", "\u63A8\u5968\u898F\u683C\u30D1\u30B9\u306E\u4F4D\u7F6E\u3092\u7F6E\u304D\u63DB\u3048\u308B" },
+            { "javac.opt.extdirs", "\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F\u62E1\u5F35\u6A5F\u80FD\u306E\u4F4D\u7F6E\u3092\u7F6E\u304D\u63DB\u3048\u308B" },
+            { "javac.opt.g", "\u3059\u3079\u3066\u306E\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3059\u308B" },
+            { "javac.opt.g.lines.vars.source", "\u3044\u304F\u3064\u304B\u306E\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3060\u3051\u3092\u751F\u6210\u3059\u308B" },
+            { "javac.opt.g.none", "\u30C7\u30D0\u30C3\u30B0\u60C5\u5831\u3092\u751F\u6210\u3057\u306A\u3044" },
+            { "javac.opt.help", "\u6A19\u6E96\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u6982\u8981\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.implicit", "\u6697\u9ED9\u7684\u306B\u53C2\u7167\u3055\u308C\u308B\u30D5\u30A1\u30A4\u30EB\u306B\u3064\u3044\u3066\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u6307\u5B9A\u3059\u308B " },
+            { "javac.opt.maxerrs", "\u51FA\u529B\u3059\u308B\u30A8\u30E9\u30FC\u306E\u6700\u5927\u6570\u3092\u8A2D\u5B9A\u3059\u308B" },
+            { "javac.opt.maxwarns", "\u51FA\u529B\u3059\u308B\u8B66\u544A\u306E\u6700\u5927\u6570\u3092\u8A2D\u5B9A\u3059\u308B" },
+            { "javac.opt.moreinfo", "\u578B\u5909\u6570\u306E\u62E1\u5F35\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.nogj", "\u8A00\u8A9E\u306E\u6C4E\u7528\u6027\u3092\u53D7\u3051\u4ED8\u3051\u306A\u3044" },
+            { "javac.opt.nowarn", "\u8B66\u544A\u3092\u767A\u751F\u3055\u305B\u306A\u3044" },
+            { "javac.opt.prefer", "\u6697\u9ED9\u7684\u306B\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u308B\u30AF\u30E9\u30B9\u306B\u3064\u3044\u3066\u3001\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3068\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u4E21\u65B9\u304C\u898B\u3064\u304B\u3063\u305F\u969B\u3069\u3061\u3089\u3092\u8AAD\u307F\u8FBC\u3080\u304B\u6307\u5B9A\u3059\u308B" },
+            { "javac.opt.print", "\u6307\u5B9A\u3057\u305F\u578B\u306E\u30C6\u30AD\u30B9\u30C8\u8868\u793A\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.printProcessorInfo", "\u30D7\u30ED\u30BB\u30C3\u30B5\u304C\u51E6\u7406\u3092\u4F9D\u983C\u3055\u308C\u308B\u6CE8\u91C8\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B" },
+            { "javac.opt.printRounds", "\u6CE8\u91C8\u51E6\u7406\u306E\u5F80\u5FA9\u306B\u3064\u3044\u3066\u306E\u60C5\u5831\u3092\u5370\u5237\u3059\u308B" },
+            { "javac.opt.printflat", "\u5185\u90E8\u30AF\u30E9\u30B9\u306E\u5909\u63DB\u5F8C\u306B\u62BD\u8C61\u69CB\u6587\u30C4\u30EA\u30FC\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.printsearch", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u691C\u7D22\u4F4D\u7F6E\u60C5\u5831\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.proc.none.only", "\u6CE8\u91C8\u51E6\u7406\u3084\u30B3\u30F3\u30D1\u30A4\u30EB\u3092\u5B9F\u884C\u3059\u308B\u304B\u3069\u3046\u304B\u3092\u5236\u5FA1\u3057\u307E\u3059\u3002" },
+            { "javac.opt.processor", "\u5B9F\u884C\u3059\u308B\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u306E\u540D\u524D\u3002\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u691C\u51FA\u51E6\u7406\u3092\u30D0\u30A4\u30D1\u30B9" },
+            { "javac.opt.processorpath", "\u6CE8\u91C8\u30D7\u30ED\u30BB\u30C3\u30B5\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "javac.opt.prompt", "\u5404\u30A8\u30E9\u30FC\u3067\u505C\u6B62\u3059\u308B" },
+            { "javac.opt.retrofit", "\u65E2\u5B58\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u6C4E\u7528\u578B\u3067\u7D44\u307F\u66FF\u3048\u308B" },
+            { "javac.opt.s", "\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u4EE3\u308F\u308A\u306B java \u30BD\u30FC\u30B9\u3092\u767A\u884C\u3059\u308B" },
+            { "javac.opt.scramble", "\u30D0\u30A4\u30C8\u30B3\u30FC\u30C9\u306E private \u8B58\u5225\u5B50\u306B\u30B9\u30AF\u30E9\u30F3\u30D6\u30EB\u3092\u304B\u3051\u308B" },
+            { "javac.opt.scrambleall", "\u30D0\u30A4\u30C8\u30B3\u30FC\u30C9\u306E package \u53EF\u8996\u8B58\u5225\u5B50\u306B\u30B9\u30AF\u30E9\u30F3\u30D6\u30EB\u3092\u304B\u3051\u308B" },
+            { "javac.opt.source", "\u6307\u5B9A\u3055\u308C\u305F\u30EA\u30EA\u30FC\u30B9\u3068\u30BD\u30FC\u30B9\u306E\u4E92\u63DB\u6027\u3092\u4FDD\u3064" },
+            { "javac.opt.sourceDest", "\u751F\u6210\u3055\u308C\u305F\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u683C\u7D0D\u3059\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B" },
+            { "javac.opt.sourcepath", "\u5165\u529B\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u691C\u7D22\u3059\u308B\u4F4D\u7F6E\u3092\u6307\u5B9A\u3059\u308B" },
+            { "javac.opt.target", "\u7279\u5B9A\u306E VM \u30D0\u30FC\u30B8\u30E7\u30F3\u7528\u306E\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210\u3059\u308B" },
+            { "javac.opt.verbose", "\u30B3\u30F3\u30D1\u30A4\u30E9\u306E\u52D5\u4F5C\u306B\u3064\u3044\u3066\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B" },
+            { "javac.opt.version", "\u30D0\u30FC\u30B8\u30E7\u30F3\u60C5\u5831" },
+            { "javac.version", "{0} {1}" },
+            { "javac.warn.source.target.conflict", "\u30EA\u30EA\u30FC\u30B9 {0} \u306E\u30BD\u30FC\u30B9\u306B\u306F\u30EA\u30EA\u30FC\u30B9 {1} \u306E\u30BF\u30FC\u30B2\u30C3\u30C8\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "javac.warn.target.default.source.conflict", "\u30BF\u30FC\u30B2\u30C3\u30C8\u30EA\u30EA\u30FC\u30B9 {0} \u304C\u30C7\u30D5\u30A9\u30EB\u30C8\u306E\u30BD\u30FC\u30B9\u30EA\u30EA\u30FC\u30B9 {1} \u3068\u7AF6\u5408\u3057\u3066\u3044\u307E\u3059\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/javac_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,90 @@
+package com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class javac_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "javac.err.empty.A.argument", "-A \u9700\u8981\u4E00\u4E2A\u53C2\u6570\uFF1B\u4F7F\u7528 ''-Akey'' \u6216 ''-Akey=value''" },
+            { "javac.err.error.writing.file", "\u5199\u5165 {0} \u65F6\u51FA\u9519\uFF1B{1}" },
+            { "javac.err.file.not.directory", "\u4E0D\u662F\u76EE\u5F55: {0}" },
+            { "javac.err.file.not.file", "\u4E0D\u662F\u6587\u4EF6: {0}" },
+            { "javac.err.file.not.found", "\u627E\u4E0D\u5230\u6587\u4EF6\uFF1A {0}" },
+            { "javac.err.invalid.A.key", "\u6CE8\u91CA\u5904\u7406\u5668\u9009\u9879\"{0}\"\u4E2D\u7684\u5173\u952E\u5B57\u4E0D\u662F\u4EE5\u70B9\u5206\u9694\u7684\u6807\u8BC6\u7B26\u5E8F\u5217" },
+            { "javac.err.invalid.arg", "\u65E0\u6548\u7684\u53C2\u6570\uFF1A {0}" },
+            { "javac.err.invalid.flag", "\u65E0\u6548\u7684\u6807\u5FD7\uFF1A {0}" },
+            { "javac.err.invalid.source", "\u65E0\u6548\u7684\u6E90\u7248\u672C\uFF1A {0}" },
+            { "javac.err.invalid.target", "\u65E0\u6548\u7684\u76EE\u6807\u7248\u672C\uFF1A {0}" },
+            { "javac.err.no.source.files", "\u65E0\u6E90\u6587\u4EF6" },
+            { "javac.err.req.arg", "{0} \u9700\u8981\u53C2\u6570" },
+            { "javac.fullVersion", "{0} \u5B8C\u6574\u7248\u672C \"{1}\"" },
+            { "javac.msg.bug", "\u7F16\u8BD1\u5668 ({0}) \u4E2D\u51FA\u73B0\u5F02\u5E38\u3002 \u5982\u679C\u5728 Bug Parade \u4E2D\u6CA1\u6709\u627E\u5230\u8BE5\u9519\u8BEF\uFF0C\u8BF7\u5728 Java Developer Connection (http://java.sun.com/webapps/bugreport)  \u5BF9\u8BE5\u9519\u8BEF\u8FDB\u884C\u5F52\u6863\u3002 \u8BF7\u5728\u62A5\u544A\u4E2D\u9644\u4E0A\u60A8\u7684\u7A0B\u5E8F\u548C\u4EE5\u4E0B\u8BCA\u65AD\u4FE1\u606F\u3002\u8C22\u8C22\u60A8\u7684\u5408\u4F5C\u3002" },
+            { "javac.msg.io", "\n\n\u53D1\u751F\u8F93\u5165/\u8F93\u51FA\u9519\u8BEF\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8FFD\u8E2A\u3002\n" },
+            { "javac.msg.proc.annotation.uncaught.exception", "\n\n\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u629B\u51FA\u672A\u6355\u83B7\u7684\u5F02\u5E38\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8FFD\u8E2A\u3002\n" },
+            { "javac.msg.resource", "\n\n\u7CFB\u7EDF\u8D44\u6E90\u4E0D\u8DB3\u3002\n\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u8BF7\u53C2\u9605\u4EE5\u4E0B\u5806\u6808\u8FFD\u8E2A\u3002\n" },
+            { "javac.msg.usage", "\u7528\u6CD5: {0} <options> <source files>\n-help \u7528\u4E8E\u5217\u51FA\u53EF\u80FD\u7684\u9009\u9879" },
+            { "javac.msg.usage.header", "\u7528\u6CD5\uFF1A{0} <\u9009\u9879> <\u6E90\u6587\u4EF6>\n\u5176\u4E2D\uFF0C\u53EF\u80FD\u7684\u9009\u9879\u5305\u62EC\uFF1A" },
+            { "javac.msg.usage.nonstandard.footer", "\u8FD9\u4E9B\u9009\u9879\u90FD\u662F\u975E\u6807\u51C6\u9009\u9879\uFF0C\u5982\u6709\u66F4\u6539\uFF0C\u6055\u4E0D\u53E6\u884C\u901A\u77E5\u3002" },
+            { "javac.opt.A", "\u4F20\u9012\u7ED9\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u9009\u9879" },
+            { "javac.opt.J", "\u76F4\u63A5\u5C06 <\u6807\u5FD7> \u4F20\u9012\u7ED9\u8FD0\u884C\u65F6\u7CFB\u7EDF" },
+            { "javac.opt.X", "\u8F93\u51FA\u975E\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981" },
+            { "javac.opt.Xbootclasspath.a", "\u7F6E\u4E8E\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E4B\u540E" },
+            { "javac.opt.Xbootclasspath.p", "\u7F6E\u4E8E\u5F15\u5BFC\u7C7B\u8DEF\u5F84\u4E4B\u524D" },
+            { "javac.opt.Xlint", "\u542F\u7528\u5EFA\u8BAE\u7684\u8B66\u544A" },
+            { "javac.opt.Xlint.suboptlist", "\u542F\u7528\u6216\u7981\u7528\u7279\u5B9A\u7684\u8B66\u544A" },
+            { "javac.opt.Xstdout", "\u91CD\u5B9A\u5411\u6807\u51C6\u8F93\u51FA" },
+            { "javac.opt.arg.class", "<class>" },
+            { "javac.opt.arg.class.list", "<class1>[,<class2>,<class3>...]" },
+            { "javac.opt.arg.directory", "<\u76EE\u5F55>" },
+            { "javac.opt.arg.dirs", "<\u76EE\u5F55>" },
+            { "javac.opt.arg.encoding", "<\u7F16\u7801>" },
+            { "javac.opt.arg.file", "<\u6587\u4EF6\u540D>" },
+            { "javac.opt.arg.flag", "<\u6807\u5FD7>" },
+            { "javac.opt.arg.key.equals.value", "key[=value]" },
+            { "javac.opt.arg.number", "<\u7F16\u53F7>" },
+            { "javac.opt.arg.path", "<\u8DEF\u5F84>" },
+            { "javac.opt.arg.pathname", "<\u8DEF\u5F84\u540D>" },
+            { "javac.opt.arg.release", "<\u7248\u672C>" },
+            { "javac.opt.bootclasspath", "\u8986\u76D6\u5F15\u5BFC\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E" },
+            { "javac.opt.classpath", "\u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u548C\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u4F4D\u7F6E" },
+            { "javac.opt.d", "\u6307\u5B9A\u5B58\u653E\u751F\u6210\u7684\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E" },
+            { "javac.opt.deprecation", "\u8F93\u51FA\u4F7F\u7528\u5DF2\u8FC7\u65F6\u7684 API \u7684\u6E90\u4F4D\u7F6E" },
+            { "javac.opt.encoding", "\u6307\u5B9A\u6E90\u6587\u4EF6\u4F7F\u7528\u7684\u5B57\u7B26\u7F16\u7801" },
+            { "javac.opt.endorseddirs", "\u8986\u76D6\u7B7E\u540D\u7684\u6807\u51C6\u8DEF\u5F84\u7684\u4F4D\u7F6E" },
+            { "javac.opt.extdirs", "\u8986\u76D6\u5B89\u88C5\u7684\u6269\u5C55\u76EE\u5F55\u7684\u4F4D\u7F6E" },
+            { "javac.opt.g", "\u751F\u6210\u6240\u6709\u8C03\u8BD5\u4FE1\u606F" },
+            { "javac.opt.g.lines.vars.source", "\u53EA\u751F\u6210\u67D0\u4E9B\u8C03\u8BD5\u4FE1\u606F" },
+            { "javac.opt.g.none", "\u4E0D\u751F\u6210\u4EFB\u4F55\u8C03\u8BD5\u4FE1\u606F" },
+            { "javac.opt.help", "\u8F93\u51FA\u6807\u51C6\u9009\u9879\u7684\u63D0\u8981" },
+            { "javac.opt.implicit", "\u6307\u5B9A\u662F\u5426\u4E3A\u9690\u5F0F\u5F15\u7528\u6587\u4EF6\u751F\u6210\u7C7B\u6587\u4EF6 " },
+            { "javac.opt.maxerrs", "\u8BBE\u7F6E\u8981\u8F93\u51FA\u7684\u9519\u8BEF\u7684\u6700\u5927\u6570\u76EE" },
+            { "javac.opt.maxwarns", "\u8BBE\u7F6E\u8981\u8F93\u51FA\u7684\u8B66\u544A\u7684\u6700\u5927\u6570\u76EE" },
+            { "javac.opt.moreinfo", "\u8F93\u51FA\u7C7B\u578B\u53D8\u91CF\u7684\u6269\u5C55\u4FE1\u606F" },
+            { "javac.opt.nogj", "\u8BED\u8A00\u4E2D\u4E0D\u63A5\u53D7\u6CDB\u578B" },
+            { "javac.opt.nowarn", "\u4E0D\u751F\u6210\u4EFB\u4F55\u8B66\u544A" },
+            { "javac.opt.prefer", "\u6307\u5B9A\u8BFB\u53D6\u6587\u4EF6\uFF0C\u5F53\u540C\u65F6\u627E\u5230\u9690\u5F0F\u7F16\u8BD1\u7C7B\u7684\u6E90\u6587\u4EF6\u548C\u7C7B\u6587\u4EF6\u65F6" },
+            { "javac.opt.print", "\u8F93\u51FA\u6307\u5B9A\u7C7B\u578B\u7684\u6587\u672C\u8868\u793A" },
+            { "javac.opt.printProcessorInfo", "\u8F93\u51FA\u6709\u5173\u8BF7\u6C42\u5904\u7406\u7A0B\u5E8F\u5904\u7406\u54EA\u4E9B\u6CE8\u91CA\u7684\u4FE1\u606F" },
+            { "javac.opt.printRounds", "\u8F93\u51FA\u6709\u5173\u6CE8\u91CA\u5904\u7406\u5FAA\u73AF\u7684\u4FE1\u606F" },
+            { "javac.opt.printflat", "\u5728\u5185\u90E8\u7C7B\u8F6C\u6362\u4E4B\u540E\u8F93\u51FA\u62BD\u8C61\u8BED\u6CD5\u6811" },
+            { "javac.opt.printsearch", "\u8F93\u51FA\u6709\u5173\u641C\u7D22\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\u7684\u4FE1\u606F" },
+            { "javac.opt.proc.none.only", "\u63A7\u5236\u662F\u5426\u6267\u884C\u6CE8\u91CA\u5904\u7406\u548C/\u6216\u7F16\u8BD1\u3002" },
+            { "javac.opt.processor", "\u8981\u8FD0\u884C\u7684\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u540D\u79F0\uFF1B\u7ED5\u8FC7\u9ED8\u8BA4\u7684\u641C\u7D22\u8FDB\u7A0B" },
+            { "javac.opt.processorpath", "\u6307\u5B9A\u67E5\u627E\u6CE8\u91CA\u5904\u7406\u7A0B\u5E8F\u7684\u4F4D\u7F6E" },
+            { "javac.opt.prompt", "\u5728\u6BCF\u6B21\u51FA\u9519\u540E\u505C\u6B62" },
+            { "javac.opt.retrofit", "\u66F4\u65B0\u4F7F\u7528\u6CDB\u578B\u7684\u73B0\u6709\u7C7B\u6587\u4EF6" },
+            { "javac.opt.s", "\u53D1\u51FA java \u6E90\u800C\u4E0D\u662F\u7C7B\u6587\u4EF6" },
+            { "javac.opt.scramble", "\u5728\u5B57\u8282\u7801\u4E2D\u6DF7\u6DC6\u4E13\u7528\u6807\u8BC6\u7B26" },
+            { "javac.opt.scrambleall", "\u5728\u5B57\u8282\u7801\u4E2D\u6DF7\u6DC6\u8F6F\u4EF6\u5305\u53EF\u89C1\u6807\u8BC6\u7B26" },
+            { "javac.opt.source", "\u63D0\u4F9B\u4E0E\u6307\u5B9A\u7248\u672C\u7684\u6E90\u517C\u5BB9\u6027" },
+            { "javac.opt.sourceDest", "\u6307\u5B9A\u5B58\u653E\u751F\u6210\u7684\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E" },
+            { "javac.opt.sourcepath", "\u6307\u5B9A\u67E5\u627E\u8F93\u5165\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E" },
+            { "javac.opt.target", "\u751F\u6210\u7279\u5B9A VM \u7248\u672C\u7684\u7C7B\u6587\u4EF6" },
+            { "javac.opt.verbose", "\u8F93\u51FA\u6709\u5173\u7F16\u8BD1\u5668\u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F" },
+            { "javac.opt.version", "\u7248\u672C\u4FE1\u606F" },
+            { "javac.version", "{0} {1}" },
+            { "javac.warn.source.target.conflict", "\u6E90\u7248\u672C {0} \u9700\u8981\u76EE\u6807\u7248\u672C {1}" },
+            { "javac.warn.target.default.source.conflict", "\u76EE\u6807\u7248\u672C {0} \u4E0E\u9ED8\u8BA4\u7684\u6E90\u7248\u672C {1} \u51B2\u7A81" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/legacy.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,553 @@
+package com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class legacy extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "com.sun.accessibility.internal.resources", "tiger legacy" },
+            { "com.sun.beans", "tiger legacy" },
+            { "com.sun.corba.se.impl.activation", "tiger legacy" },
+            { "com.sun.corba.se.impl.copyobject", "tiger legacy" },
+            { "com.sun.corba.se.impl.corba", "tiger legacy" },
+            { "com.sun.corba.se.impl.dynamicany", "tiger legacy" },
+            { "com.sun.corba.se.impl.encoding", "tiger legacy" },
+            { "com.sun.corba.se.impl.interceptors", "tiger legacy" },
+            { "com.sun.corba.se.impl.io", "tiger legacy" },
+            { "com.sun.corba.se.impl.ior", "tiger legacy" },
+            { "com.sun.corba.se.impl.ior.iiop", "tiger legacy" },
+            { "com.sun.corba.se.impl.javax.rmi", "tiger legacy" },
+            { "com.sun.corba.se.impl.javax.rmi.CORBA", "tiger legacy" },
+            { "com.sun.corba.se.impl.legacy.connection", "tiger legacy" },
+            { "com.sun.corba.se.impl.logging", "tiger legacy" },
+            { "com.sun.corba.se.impl.monitoring", "tiger legacy" },
+            { "com.sun.corba.se.impl.naming.cosnaming", "tiger legacy" },
+            { "com.sun.corba.se.impl.naming.namingutil", "tiger legacy" },
+            { "com.sun.corba.se.impl.naming.pcosnaming", "tiger legacy" },
+            { "com.sun.corba.se.impl.oa", "tiger legacy" },
+            { "com.sun.corba.se.impl.oa.poa", "tiger legacy" },
+            { "com.sun.corba.se.impl.oa.toa", "tiger legacy" },
+            { "com.sun.corba.se.impl.orb", "tiger legacy" },
+            { "com.sun.corba.se.impl.orbutil", "tiger legacy" },
+            { "com.sun.corba.se.impl.orbutil.closure", "tiger legacy" },
+            { "com.sun.corba.se.impl.orbutil.concurrent", "tiger legacy" },
+            { "com.sun.corba.se.impl.orbutil.fsm", "tiger legacy" },
+            { "com.sun.corba.se.impl.orbutil.graph", "tiger legacy" },
+            { "com.sun.corba.se.impl.orbutil.resources", "tiger legacy" },
+            { "com.sun.corba.se.impl.orbutil.threadpool", "tiger legacy" },
+            { "com.sun.corba.se.impl.presentation.rmi", "tiger legacy" },
+            { "com.sun.corba.se.impl.protocol", "tiger legacy" },
+            { "com.sun.corba.se.impl.protocol.giopmsgheaders", "tiger legacy" },
+            { "com.sun.corba.se.impl.resolver", "tiger legacy" },
+            { "com.sun.corba.se.impl.transport", "tiger legacy" },
+            { "com.sun.corba.se.impl.util", "tiger legacy" },
+            { "com.sun.corba.se.internal.CosNaming", "tiger legacy" },
+            { "com.sun.corba.se.internal.Interceptors", "tiger legacy" },
+            { "com.sun.corba.se.internal.POA", "tiger legacy" },
+            { "com.sun.corba.se.internal.corba", "tiger legacy" },
+            { "com.sun.corba.se.internal.iiop", "tiger legacy" },
+            { "com.sun.corba.se.org.omg.CORBA", "tiger legacy" },
+            { "com.sun.corba.se.pept.broker", "tiger legacy" },
+            { "com.sun.corba.se.pept.encoding", "tiger legacy" },
+            { "com.sun.corba.se.pept.protocol", "tiger legacy" },
+            { "com.sun.corba.se.pept.transport", "tiger legacy" },
+            { "com.sun.corba.se.spi.activation", "tiger legacy" },
+            { "com.sun.corba.se.spi.activation.InitialNameServicePackage", "tiger legacy" },
+            { "com.sun.corba.se.spi.activation.LocatorPackage", "tiger legacy" },
+            { "com.sun.corba.se.spi.activation.RepositoryPackage", "tiger legacy" },
+            { "com.sun.corba.se.spi.copyobject", "tiger legacy" },
+            { "com.sun.corba.se.spi.encoding", "tiger legacy" },
+            { "com.sun.corba.se.spi.extension", "tiger legacy" },
+            { "com.sun.corba.se.spi.ior", "tiger legacy" },
+            { "com.sun.corba.se.spi.ior.iiop", "tiger legacy" },
+            { "com.sun.corba.se.spi.legacy.connection", "tiger legacy" },
+            { "com.sun.corba.se.spi.legacy.interceptor", "tiger legacy" },
+            { "com.sun.corba.se.spi.logging", "tiger legacy" },
+            { "com.sun.corba.se.spi.monitoring", "tiger legacy" },
+            { "com.sun.corba.se.spi.oa", "tiger legacy" },
+            { "com.sun.corba.se.spi.orb", "tiger legacy" },
+            { "com.sun.corba.se.spi.orbutil.closure", "tiger legacy" },
+            { "com.sun.corba.se.spi.orbutil.fsm", "tiger legacy" },
+            { "com.sun.corba.se.spi.orbutil.proxy", "tiger legacy" },
+            { "com.sun.corba.se.spi.orbutil.threadpool", "tiger legacy" },
+            { "com.sun.corba.se.spi.presentation.rmi", "tiger legacy" },
+            { "com.sun.corba.se.spi.protocol", "tiger legacy" },
+            { "com.sun.corba.se.spi.resolver", "tiger legacy" },
+            { "com.sun.corba.se.spi.servicecontext", "tiger legacy" },
+            { "com.sun.corba.se.spi.transport", "tiger legacy" },
+            { "com.sun.image.codec.jpeg", "tiger legacy" },
+            { "com.sun.imageio.metadata", "tiger legacy" },
+            { "com.sun.imageio.plugins.bmp", "tiger legacy" },
+            { "com.sun.imageio.plugins.common", "tiger legacy" },
+            { "com.sun.imageio.plugins.gif", "tiger legacy" },
+            { "com.sun.imageio.plugins.jpeg", "tiger legacy" },
+            { "com.sun.imageio.plugins.png", "tiger legacy" },
+            { "com.sun.imageio.plugins.wbmp", "tiger legacy" },
+            { "com.sun.imageio.spi", "tiger legacy" },
+            { "com.sun.java.browser.dom", "tiger legacy" },
+            { "com.sun.java.browser.net", "tiger legacy" },
+            { "com.sun.java.swing", "tiger legacy" },
+            { "com.sun.java.swing.plaf.gtk", "tiger legacy" },
+            { "com.sun.java.swing.plaf.gtk.icons", "tiger legacy" },
+            { "com.sun.java.swing.plaf.gtk.resources", "tiger legacy" },
+            { "com.sun.java.swing.plaf.gtk.resources.metacity.SwingFallbackTheme.metacity-1", "tiger legacy" },
+            { "com.sun.java.swing.plaf.motif", "tiger legacy" },
+            { "com.sun.java.swing.plaf.motif.icons", "tiger legacy" },
+            { "com.sun.java.swing.plaf.motif.resources", "tiger legacy" },
+            { "com.sun.java.swing.plaf.windows", "tiger legacy" },
+            { "com.sun.java.swing.plaf.windows.icons", "tiger legacy" },
+            { "com.sun.java.swing.plaf.windows.resources", "tiger legacy" },
+            { "com.sun.java.util.jar.pack", "tiger legacy" },
+            { "com.sun.java_cup.internal", "tiger legacy" },
+            { "com.sun.java_cup.internal.runtime", "tiger legacy" },
+            { "com.sun.jlex.internal", "tiger legacy" },
+            { "com.sun.jmx.defaults", "tiger legacy" },
+            { "com.sun.jmx.interceptor", "tiger legacy" },
+            { "com.sun.jmx.mbeanserver", "tiger legacy" },
+            { "com.sun.jmx.remote.internal", "tiger legacy" },
+            { "com.sun.jmx.remote.protocol.iiop", "tiger legacy" },
+            { "com.sun.jmx.remote.protocol.rmi", "tiger legacy" },
+            { "com.sun.jmx.remote.security", "tiger legacy" },
+            { "com.sun.jmx.remote.util", "tiger legacy" },
+            { "com.sun.jmx.snmp", "tiger legacy" },
+            { "com.sun.jmx.snmp.IPAcl", "tiger legacy" },
+            { "com.sun.jmx.snmp.agent", "tiger legacy" },
+            { "com.sun.jmx.snmp.daemon", "tiger legacy" },
+            { "com.sun.jmx.snmp.defaults", "tiger legacy" },
+            { "com.sun.jmx.snmp.internal", "tiger legacy" },
+            { "com.sun.jmx.snmp.mpm", "tiger legacy" },
+            { "com.sun.jmx.snmp.tasks", "tiger legacy" },
+            { "com.sun.jmx.trace", "tiger legacy" },
+            { "com.sun.jndi.cosnaming", "tiger legacy" },
+            { "com.sun.jndi.dns", "tiger legacy" },
+            { "com.sun.jndi.ldap", "tiger legacy" },
+            { "com.sun.jndi.ldap.ext", "tiger legacy" },
+            { "com.sun.jndi.ldap.pool", "tiger legacy" },
+            { "com.sun.jndi.ldap.sasl", "tiger legacy" },
+            { "com.sun.jndi.rmi.registry", "tiger legacy" },
+            { "com.sun.jndi.toolkit.corba", "tiger legacy" },
+            { "com.sun.jndi.toolkit.ctx", "tiger legacy" },
+            { "com.sun.jndi.toolkit.dir", "tiger legacy" },
+            { "com.sun.jndi.toolkit.url", "tiger legacy" },
+            { "com.sun.jndi.url.corbaname", "tiger legacy" },
+            { "com.sun.jndi.url.dns", "tiger legacy" },
+            { "com.sun.jndi.url.iiop", "tiger legacy" },
+            { "com.sun.jndi.url.iiopname", "tiger legacy" },
+            { "com.sun.jndi.url.ldap", "tiger legacy" },
+            { "com.sun.jndi.url.ldaps", "tiger legacy" },
+            { "com.sun.jndi.url.rmi", "tiger legacy" },
+            { "com.sun.management", "tiger legacy" },
+            { "com.sun.management.jmx", "tiger legacy" },
+            { "com.sun.media.sound", "tiger legacy" },
+            { "com.sun.naming.internal", "tiger legacy" },
+            { "com.sun.net.ssl", "tiger legacy" },
+            { "com.sun.net.ssl.internal.ssl", "tiger legacy" },
+            { "com.sun.net.ssl.internal.www.protocol.https", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal.classfile", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal.generic", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal.util", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal.verifier", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal.verifier.exc", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal.verifier.statics", "tiger legacy" },
+            { "com.sun.org.apache.bcel.internal.verifier.structurals", "tiger legacy" },
+            { "com.sun.org.apache.html.internal.dom", "tiger legacy" },
+            { "com.sun.org.apache.regexp.internal", "tiger legacy" },
+            { "com.sun.org.apache.wml.internal", "tiger legacy" },
+            { "com.sun.org.apache.wml.internal.dom", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.client", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.extensions", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.lib", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.res", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.templates", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xslt", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.cmdline", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.cmdline.getopt", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.compiler", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.compiler.util", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.dom", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.runtime", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.runtime.output", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.trax", "tiger legacy" },
+            { "com.sun.org.apache.xalan.internal.xsltc.util", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.dom", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.dom.events", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.dom3.as", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.dtd", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.dtd.models", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.dv", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.dv.dtd", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.dv.util", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.dv.xs", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.io", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.msg", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.validation", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xpath", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xpath.regex", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xs", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xs.dom", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xs.identity", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xs.models", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xs.opti", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xs.traversers", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.impl.xs.util", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.jaxp", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.jaxp.datatype", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.jaxp.validation", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.jaxp.validation.xs", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.parsers", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.util", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.xinclude", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.xni", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.xni.grammars", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.xni.parser", "tiger legacy" },
+            { "com.sun.org.apache.xerces.internal.xs", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.dtm", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.dtm.ref", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.dtm.ref.dom2dtm", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.dtm.ref.sax2dtm", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.res", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.serialize", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.serializer", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.utils", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.utils.res", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.utils.synthetic", "tiger legacy" },
+            { "com.sun.org.apache.xml.internal.utils.synthetic.reflection", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.axes", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.compiler", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.functions", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.jaxp", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.objects", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.operations", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.patterns", "tiger legacy" },
+            { "com.sun.org.apache.xpath.internal.res", "tiger legacy" },
+            { "com.sun.org.omg.CORBA", "tiger legacy" },
+            { "com.sun.org.omg.CORBA.ValueDefPackage", "tiger legacy" },
+            { "com.sun.org.omg.CORBA.portable", "tiger legacy" },
+            { "com.sun.org.omg.SendingContext", "tiger legacy" },
+            { "com.sun.org.omg.SendingContext.CodeBasePackage", "tiger legacy" },
+            { "com.sun.rmi.rmid", "tiger legacy" },
+            { "com.sun.rowset", "tiger legacy" },
+            { "com.sun.rowset.internal", "tiger legacy" },
+            { "com.sun.rowset.providers", "tiger legacy" },
+            { "com.sun.security.auth", "tiger legacy" },
+            { "com.sun.security.auth.callback", "tiger legacy" },
+            { "com.sun.security.auth.login", "tiger legacy" },
+            { "com.sun.security.auth.module", "tiger legacy" },
+            { "com.sun.security.cert.internal.x509", "tiger legacy" },
+            { "com.sun.security.jgss", "tiger legacy" },
+            { "com.sun.security.sasl", "tiger legacy" },
+            { "com.sun.security.sasl.digest", "tiger legacy" },
+            { "com.sun.security.sasl.gsskerb", "tiger legacy" },
+            { "com.sun.security.sasl.util", "tiger legacy" },
+            { "com.sun.swing.internal.plaf.basic.resources", "tiger legacy" },
+            { "com.sun.swing.internal.plaf.metal.resources", "tiger legacy" },
+            { "com.sun.swing.internal.plaf.synth.resources", "tiger legacy" },
+            { "java.applet", "tiger legacy" },
+            { "java.awt", "tiger legacy" },
+            { "java.awt.color", "tiger legacy" },
+            { "java.awt.datatransfer", "tiger legacy" },
+            { "java.awt.dnd", "tiger legacy" },
+            { "java.awt.dnd.peer", "tiger legacy" },
+            { "java.awt.event", "tiger legacy" },
+            { "java.awt.font", "tiger legacy" },
+            { "java.awt.geom", "tiger legacy" },
+            { "java.awt.im", "tiger legacy" },
+            { "java.awt.im.spi", "tiger legacy" },
+            { "java.awt.image", "tiger legacy" },
+            { "java.awt.image.renderable", "tiger legacy" },
+            { "java.awt.peer", "tiger legacy" },
+            { "java.awt.print", "tiger legacy" },
+            { "java.beans", "tiger legacy" },
+            { "java.beans.beancontext", "tiger legacy" },
+            { "java.io", "tiger legacy" },
+            { "java.lang", "tiger legacy" },
+            { "java.lang.annotation", "tiger legacy" },
+            { "java.lang.instrument", "tiger legacy" },
+            { "java.lang.management", "tiger legacy" },
+            { "java.lang.ref", "tiger legacy" },
+            { "java.lang.reflect", "tiger legacy" },
+            { "java.math", "tiger legacy" },
+            { "java.net", "tiger legacy" },
+            { "java.nio", "tiger legacy" },
+            { "java.nio.channels", "tiger legacy" },
+            { "java.nio.channels.spi", "tiger legacy" },
+            { "java.nio.charset", "tiger legacy" },
+            { "java.nio.charset.spi", "tiger legacy" },
+            { "java.rmi", "tiger legacy" },
+            { "java.rmi.activation", "tiger legacy" },
+            { "java.rmi.dgc", "tiger legacy" },
+            { "java.rmi.registry", "tiger legacy" },
+            { "java.rmi.server", "tiger legacy" },
+            { "java.security", "tiger legacy" },
+            { "java.security.acl", "tiger legacy" },
+            { "java.security.cert", "tiger legacy" },
+            { "java.security.interfaces", "tiger legacy" },
+            { "java.security.spec", "tiger legacy" },
+            { "java.sql", "tiger legacy" },
+            { "java.text", "tiger legacy" },
+            { "java.util", "tiger legacy" },
+            { "java.util.concurrent", "tiger legacy" },
+            { "java.util.concurrent.atomic", "tiger legacy" },
+            { "java.util.concurrent.locks", "tiger legacy" },
+            { "java.util.jar", "tiger legacy" },
+            { "java.util.logging", "tiger legacy" },
+            { "java.util.prefs", "tiger legacy" },
+            { "java.util.regex", "tiger legacy" },
+            { "java.util.zip", "tiger legacy" },
+            { "javax.accessibility", "tiger legacy" },
+            { "javax.activity", "tiger legacy" },
+            { "javax.imageio", "tiger legacy" },
+            { "javax.imageio.event", "tiger legacy" },
+            { "javax.imageio.metadata", "tiger legacy" },
+            { "javax.imageio.plugins.bmp", "tiger legacy" },
+            { "javax.imageio.plugins.jpeg", "tiger legacy" },
+            { "javax.imageio.spi", "tiger legacy" },
+            { "javax.imageio.stream", "tiger legacy" },
+            { "javax.management", "tiger legacy" },
+            { "javax.management.loading", "tiger legacy" },
+            { "javax.management.modelmbean", "tiger legacy" },
+            { "javax.management.monitor", "tiger legacy" },
+            { "javax.management.openmbean", "tiger legacy" },
+            { "javax.management.relation", "tiger legacy" },
+            { "javax.management.remote", "tiger legacy" },
+            { "javax.management.remote.rmi", "tiger legacy" },
+            { "javax.management.timer", "tiger legacy" },
+            { "javax.naming", "tiger legacy" },
+            { "javax.naming.directory", "tiger legacy" },
+            { "javax.naming.event", "tiger legacy" },
+            { "javax.naming.ldap", "tiger legacy" },
+            { "javax.naming.spi", "tiger legacy" },
+            { "javax.net", "tiger legacy" },
+            { "javax.net.ssl", "tiger legacy" },
+            { "javax.print", "tiger legacy" },
+            { "javax.print.attribute", "tiger legacy" },
+            { "javax.print.attribute.standard", "tiger legacy" },
+            { "javax.print.event", "tiger legacy" },
+            { "javax.rmi", "tiger legacy" },
+            { "javax.rmi.CORBA", "tiger legacy" },
+            { "javax.rmi.ssl", "tiger legacy" },
+            { "javax.security.auth", "tiger legacy" },
+            { "javax.security.auth.callback", "tiger legacy" },
+            { "javax.security.auth.kerberos", "tiger legacy" },
+            { "javax.security.auth.login", "tiger legacy" },
+            { "javax.security.auth.spi", "tiger legacy" },
+            { "javax.security.auth.x500", "tiger legacy" },
+            { "javax.security.cert", "tiger legacy" },
+            { "javax.security.sasl", "tiger legacy" },
+            { "javax.sound.midi", "tiger legacy" },
+            { "javax.sound.midi.spi", "tiger legacy" },
+            { "javax.sound.sampled", "tiger legacy" },
+            { "javax.sound.sampled.spi", "tiger legacy" },
+            { "javax.sql", "tiger legacy" },
+            { "javax.sql.rowset", "tiger legacy" },
+            { "javax.sql.rowset.serial", "tiger legacy" },
+            { "javax.sql.rowset.spi", "tiger legacy" },
+            { "javax.swing", "tiger legacy" },
+            { "javax.swing.border", "tiger legacy" },
+            { "javax.swing.colorchooser", "tiger legacy" },
+            { "javax.swing.event", "tiger legacy" },
+            { "javax.swing.filechooser", "tiger legacy" },
+            { "javax.swing.plaf", "tiger legacy" },
+            { "javax.swing.plaf.basic", "tiger legacy" },
+            { "javax.swing.plaf.basic.icons", "tiger legacy" },
+            { "javax.swing.plaf.metal", "tiger legacy" },
+            { "javax.swing.plaf.metal.icons", "tiger legacy" },
+            { "javax.swing.plaf.metal.icons.ocean", "tiger legacy" },
+            { "javax.swing.plaf.metal.sounds", "tiger legacy" },
+            { "javax.swing.plaf.multi", "tiger legacy" },
+            { "javax.swing.plaf.synth", "tiger legacy" },
+            { "javax.swing.table", "tiger legacy" },
+            { "javax.swing.text", "tiger legacy" },
+            { "javax.swing.text.html", "tiger legacy" },
+            { "javax.swing.text.html.icons", "tiger legacy" },
+            { "javax.swing.text.html.parser", "tiger legacy" },
+            { "javax.swing.text.rtf", "tiger legacy" },
+            { "javax.swing.text.rtf.charsets", "tiger legacy" },
+            { "javax.swing.tree", "tiger legacy" },
+            { "javax.swing.undo", "tiger legacy" },
+            { "javax.transaction", "tiger legacy" },
+            { "javax.transaction.xa", "tiger legacy" },
+            { "javax.xml", "tiger legacy" },
+            { "javax.xml.datatype", "tiger legacy" },
+            { "javax.xml.namespace", "tiger legacy" },
+            { "javax.xml.parsers", "tiger legacy" },
+            { "javax.xml.transform", "tiger legacy" },
+            { "javax.xml.transform.dom", "tiger legacy" },
+            { "javax.xml.transform.sax", "tiger legacy" },
+            { "javax.xml.transform.stream", "tiger legacy" },
+            { "javax.xml.validation", "tiger legacy" },
+            { "javax.xml.xpath", "tiger legacy" },
+            { "org.ietf.jgss", "tiger legacy" },
+            { "org.omg.CORBA", "tiger legacy" },
+            { "org.omg.CORBA.DynAnyPackage", "tiger legacy" },
+            { "org.omg.CORBA.ORBPackage", "tiger legacy" },
+            { "org.omg.CORBA.TypeCodePackage", "tiger legacy" },
+            { "org.omg.CORBA.portable", "tiger legacy" },
+            { "org.omg.CORBA_2_3", "tiger legacy" },
+            { "org.omg.CORBA_2_3.portable", "tiger legacy" },
+            { "org.omg.CosNaming", "tiger legacy" },
+            { "org.omg.CosNaming.NamingContextExtPackage", "tiger legacy" },
+            { "org.omg.CosNaming.NamingContextPackage", "tiger legacy" },
+            { "org.omg.Dynamic", "tiger legacy" },
+            { "org.omg.DynamicAny", "tiger legacy" },
+            { "org.omg.DynamicAny.DynAnyFactoryPackage", "tiger legacy" },
+            { "org.omg.DynamicAny.DynAnyPackage", "tiger legacy" },
+            { "org.omg.IOP", "tiger legacy" },
+            { "org.omg.IOP.CodecFactoryPackage", "tiger legacy" },
+            { "org.omg.IOP.CodecPackage", "tiger legacy" },
+            { "org.omg.Messaging", "tiger legacy" },
+            { "org.omg.PortableInterceptor", "tiger legacy" },
+            { "org.omg.PortableInterceptor.ORBInitInfoPackage", "tiger legacy" },
+            { "org.omg.PortableServer", "tiger legacy" },
+            { "org.omg.PortableServer.CurrentPackage", "tiger legacy" },
+            { "org.omg.PortableServer.POAManagerPackage", "tiger legacy" },
+            { "org.omg.PortableServer.POAPackage", "tiger legacy" },
+            { "org.omg.PortableServer.ServantLocatorPackage", "tiger legacy" },
+            { "org.omg.PortableServer.portable", "tiger legacy" },
+            { "org.omg.SendingContext", "tiger legacy" },
+            { "org.omg.stub.java.rmi", "tiger legacy" },
+            { "org.omg.stub.javax.management.remote.rmi", "tiger legacy" },
+            { "org.w3c.dom", "tiger legacy" },
+            { "org.w3c.dom.bootstrap", "tiger legacy" },
+            { "org.w3c.dom.css", "tiger legacy" },
+            { "org.w3c.dom.events", "tiger legacy" },
+            { "org.w3c.dom.html", "tiger legacy" },
+            { "org.w3c.dom.ls", "tiger legacy" },
+            { "org.w3c.dom.ranges", "tiger legacy" },
+            { "org.w3c.dom.stylesheets", "tiger legacy" },
+            { "org.w3c.dom.traversal", "tiger legacy" },
+            { "org.w3c.dom.views", "tiger legacy" },
+            { "org.xml.sax", "tiger legacy" },
+            { "org.xml.sax.ext", "tiger legacy" },
+            { "org.xml.sax.helpers", "tiger legacy" },
+            { "sun.applet", "tiger legacy" },
+            { "sun.applet.resources", "tiger legacy" },
+            { "sun.audio", "tiger legacy" },
+            { "sun.awt", "tiger legacy" },
+            { "sun.awt.X11", "tiger legacy" },
+            { "sun.awt.color", "tiger legacy" },
+            { "sun.awt.datatransfer", "tiger legacy" },
+            { "sun.awt.dnd", "tiger legacy" },
+            { "sun.awt.geom", "tiger legacy" },
+            { "sun.awt.im", "tiger legacy" },
+            { "sun.awt.image", "tiger legacy" },
+            { "sun.awt.image.codec", "tiger legacy" },
+            { "sun.awt.motif", "tiger legacy" },
+            { "sun.awt.resources", "tiger legacy" },
+            { "sun.awt.shell", "tiger legacy" },
+            { "sun.awt.windows", "tiger legacy" },
+            { "sun.beans.editors", "tiger legacy" },
+            { "sun.beans.infos", "tiger legacy" },
+            { "sun.corba", "tiger legacy" },
+            { "sun.dc.path", "tiger legacy" },
+            { "sun.dc.pr", "tiger legacy" },
+            { "sun.font", "tiger legacy" },
+            { "sun.instrument", "tiger legacy" },
+            { "sun.io", "tiger legacy" },
+            { "sun.java2d", "tiger legacy" },
+            { "sun.java2d.loops", "tiger legacy" },
+            { "sun.java2d.opengl", "tiger legacy" },
+            { "sun.java2d.pipe", "tiger legacy" },
+            { "sun.jdbc.odbc", "tiger legacy" },
+            { "sun.jdbc.odbc.ee", "tiger legacy" },
+            { "sun.management", "tiger legacy" },
+            { "sun.management.counter", "tiger legacy" },
+            { "sun.management.counter.perf", "tiger legacy" },
+            { "sun.management.jmxremote", "tiger legacy" },
+            { "sun.management.resources", "tiger legacy" },
+            { "sun.management.snmp", "tiger legacy" },
+            { "sun.management.snmp.jvminstr", "tiger legacy" },
+            { "sun.management.snmp.jvmmib", "tiger legacy" },
+            { "sun.management.snmp.util", "tiger legacy" },
+            { "sun.misc", "tiger legacy" },
+            { "sun.misc.resources", "tiger legacy" },
+            { "sun.net", "tiger legacy" },
+            { "sun.net.dns", "tiger legacy" },
+            { "sun.net.ftp", "tiger legacy" },
+            { "sun.net.smtp", "tiger legacy" },
+            { "sun.net.spi", "tiger legacy" },
+            { "sun.net.spi.nameservice", "tiger legacy" },
+            { "sun.net.util", "tiger legacy" },
+            { "sun.net.www", "tiger legacy" },
+            { "sun.net.www.content.audio", "tiger legacy" },
+            { "sun.net.www.content.image", "tiger legacy" },
+            { "sun.net.www.content.text", "tiger legacy" },
+            { "sun.net.www.http", "tiger legacy" },
+            { "sun.net.www.protocol.doc", "tiger legacy" },
+            { "sun.net.www.protocol.file", "tiger legacy" },
+            { "sun.net.www.protocol.ftp", "tiger legacy" },
+            { "sun.net.www.protocol.gopher", "tiger legacy" },
+            { "sun.net.www.protocol.http", "tiger legacy" },
+            { "sun.net.www.protocol.https", "tiger legacy" },
+            { "sun.net.www.protocol.jar", "tiger legacy" },
+            { "sun.net.www.protocol.mailto", "tiger legacy" },
+            { "sun.net.www.protocol.netdoc", "tiger legacy" },
+            { "sun.net.www.protocol.systemresource", "tiger legacy" },
+            { "sun.net.www.protocol.verbatim", "tiger legacy" },
+            { "sun.nio", "tiger legacy" },
+            { "sun.nio.ch", "tiger legacy" },
+            { "sun.nio.cs", "tiger legacy" },
+            { "sun.print", "tiger legacy" },
+            { "sun.print.resources", "tiger legacy" },
+            { "sun.reflect", "tiger legacy" },
+            { "sun.reflect.annotation", "tiger legacy" },
+            { "sun.reflect.generics.factory", "tiger legacy" },
+            { "sun.reflect.generics.parser", "tiger legacy" },
+            { "sun.reflect.generics.reflectiveObjects", "tiger legacy" },
+            { "sun.reflect.generics.repository", "tiger legacy" },
+            { "sun.reflect.generics.scope", "tiger legacy" },
+            { "sun.reflect.generics.tree", "tiger legacy" },
+            { "sun.reflect.generics.visitor", "tiger legacy" },
+            { "sun.rmi.log", "tiger legacy" },
+            { "sun.rmi.registry", "tiger legacy" },
+            { "sun.rmi.registry.resources", "tiger legacy" },
+            { "sun.rmi.rmid.resources", "tiger legacy" },
+            { "sun.rmi.runtime", "tiger legacy" },
+            { "sun.rmi.server", "tiger legacy" },
+            { "sun.rmi.transport", "tiger legacy" },
+            { "sun.rmi.transport.proxy", "tiger legacy" },
+            { "sun.rmi.transport.tcp", "tiger legacy" },
+            { "sun.security.acl", "tiger legacy" },
+            { "sun.security.action", "tiger legacy" },
+            { "sun.security.jca", "tiger legacy" },
+            { "sun.security.jgss", "tiger legacy" },
+            { "sun.security.jgss.krb5", "tiger legacy" },
+            { "sun.security.jgss.spi", "tiger legacy" },
+            { "sun.security.krb5", "tiger legacy" },
+            { "sun.security.krb5.internal", "tiger legacy" },
+            { "sun.security.krb5.internal.ccache", "tiger legacy" },
+            { "sun.security.krb5.internal.crypto", "tiger legacy" },
+            { "sun.security.krb5.internal.crypto.dk", "tiger legacy" },
+            { "sun.security.krb5.internal.ktab", "tiger legacy" },
+            { "sun.security.krb5.internal.rcache", "tiger legacy" },
+            { "sun.security.krb5.internal.tools", "tiger legacy" },
+            { "sun.security.krb5.internal.util", "tiger legacy" },
+            { "sun.security.pkcs", "tiger legacy" },
+            { "sun.security.provider", "tiger legacy" },
+            { "sun.security.provider.certpath", "tiger legacy" },
+            { "sun.security.rsa", "tiger legacy" },
+            { "sun.security.timestamp", "tiger legacy" },
+            { "sun.security.tools", "tiger legacy" },
+            { "sun.security.util", "tiger legacy" },
+            { "sun.security.validator", "tiger legacy" },
+            { "sun.security.x509", "tiger legacy" },
+            { "sun.swing", "tiger legacy" },
+            { "sun.swing.plaf.synth", "tiger legacy" },
+            { "sun.text", "tiger legacy" },
+            { "sun.text.resources", "tiger legacy" },
+            { "sun.tools.hprof", "tiger legacy" },
+            { "sun.tools.jar", "tiger legacy" },
+            { "sun.tools.jar.resources", "tiger legacy" },
+            { "sun.util", "tiger legacy" },
+            { "sun.util.calendar", "tiger legacy" },
+            { "sun.util.logging.resources", "tiger legacy" },
+            { "sunw.io", "tiger legacy" },
+            { "sunw.util", "tiger legacy" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javac/resources/version.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2005 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 com.sun.tools.javac.resources;
+
+import java.util.ListResourceBundle;
+
+public final class version extends ListResourceBundle {
+    private static final Object[][] contents = {
+	{ "jdk", "1.7.0" },
+	{ "full", "1.7.0-internal-root_25_may_2007_15_53-b00" },
+	{ "release", "1.7.0-internal" },
+    };
+
+    protected final Object[][] getContents() {
+         return contents;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javadoc/resources/javadoc.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,67 @@
+package com.sun.tools.javadoc.resources;
+
+import java.util.ListResourceBundle;
+
+public final class javadoc extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "javadoc.Body_missing_from_html_file", "Body tag missing from HTML" },
+            { "javadoc.End_body_missing_from_html_file", "Close body tag missing from HTML file" },
+            { "javadoc.File_Read_Error", "Error while reading file {0}" },
+            { "javadoc.Multiple_package_comments", "Multiple sources of package comments found for package \"{0}\"" },
+            { "javadoc.class_not_found", "Class {0} not found." },
+            { "javadoc.error", "error" },
+            { "javadoc.warning", "warning" },
+            { "main.Building_tree", "Constructing Javadoc information..." },
+            { "main.Loading_source_file", "Loading source file {0}..." },
+            { "main.Loading_source_file_for_class", "Loading source file for class {0}..." },
+            { "main.Loading_source_files_for_package", "Loading source files for package {0}..." },
+            { "main.No_packages_or_classes_specified", "No packages or classes specified." },
+            { "main.cant.read", "cannot read {0}" },
+            { "main.doclet_class_not_found", "Cannot find doclet class {0}" },
+            { "main.doclet_method_must_be_static", "In doclet class {0}, method {1} must be static." },
+            { "main.doclet_method_not_accessible", "In doclet class {0},  method {1} not accessible" },
+            { "main.doclet_method_not_found", "Doclet class {0} does not contain a {1} method" },
+            { "main.done_in", "[done in {0} ms]" },
+            { "main.error", "{0} error" },
+            { "main.exception_thrown", "In doclet class {0},  method {1} has thrown an exception {2}" },
+            { "main.fatal.error", "fatal error" },
+            { "main.fatal.exception", "fatal exception" },
+            { "main.file_not_found", "File not found: \"{0}\"" },
+            { "main.illegal_locale_name", "Locale not available: {0}" },
+            { "main.illegal_package_name", "Illegal package name: \"{0}\"" },
+            { "main.incompatible.access.flags", "More than one of -public, -private, -package, or -protected specified." },
+            { "main.internal_error_exception_thrown", "Internal error: In doclet class {0},  method {1} has thrown an exception {2}" },
+            { "main.invalid_flag", "invalid flag: {0}" },
+            { "main.locale_first", "option -locale must be first on the command line." },
+            { "main.malformed_locale_name", "Malformed locale name: {0}" },
+            { "main.more_than_one_doclet_specified_0_and_1", "More than one doclet specified ({0} and {1})." },
+            { "main.must_return_boolean", "In doclet class {0}, method {1} must return boolean." },
+            { "main.must_return_int", "In doclet class {0}, method {1} must return int." },
+            { "main.must_return_languageversion", "In doclet class {0}, method {1} must return LanguageVersion." },
+            { "main.no_source_files_for_package", "No source files for package {0}" },
+            { "main.option.already.seen", "The {0} option may be specified no more than once." },
+            { "main.out.of.memory", "java.lang.OutOfMemoryError: Please increase memory.\nFor example, on the Sun Classic or HotSpot VMs, add the option -J-Xmx\nsuch as -J-Xmx32m." },
+            { "main.requires_argument", "option {0} requires an argument." },
+            { "main.usage", "usage: javadoc [options] [packagenames] [sourcefiles] [@files]\n-overview <file>          Read overview documentation from HTML file\n-public                   Show only public classes and members\n-protected                Show protected/public classes and members (default)\n-package                  Show package/protected/public classes and members\n-private                  Show all classes and members\n-help                     Display command line options and exit\n-doclet <class>           Generate output via alternate doclet\n-docletpath <path>        Specify where to find doclet class files\n-sourcepath <pathlist>    Specify where to find source files\n-classpath <pathlist>     Specify where to find user class files\n-exclude <pkglist>        Specify a list of packages to exclude\n-subpackages <subpkglist> Specify subpackages to recursively load\n-breakiterator            Compute 1st sentence with BreakIterator\n-bootclasspath <pathlist> Override location of class files loaded\n\t\t\t  by the bootstrap class loader\n-source <release>         Provide source compatibility with specified release\n-extdirs <dirlist>        Override location of installed extensions\n-verbose                  Output messages about what Javadoc is doing\n-locale <name>            Locale to be used, e.g. en_US or en_US_WIN\n-encoding <name>          Source file encoding name\n-quiet                    Do not display status messages\n-J<flag>                  Pass <flag> directly to the runtime system\n" },
+            { "main.warning", "{0} warning" },
+            { "main.warnings", "{0} warnings" },
+            { "tag.End_delimiter_missing_for_possible_SeeTag", "End Delimiter } missing for possible See Tag in comment string: \"{0}\"" },
+            { "tag.Improper_Use_Of_Link_Tag", "Missing closing ''}'' character for inline tag: \"{0}\"" },
+            { "tag.illegal_char_in_arr_dim", "Tag {0}: Syntax Error in array dimension, method parameters: {1}" },
+            { "tag.illegal_see_tag", "Tag {0}: Syntax Error in method parameters: {1}" },
+            { "tag.missing_comma_space", "Tag {0}: Missing comma or space in method parameters: {1}" },
+            { "tag.see.can_not_find_member", "Tag {0}: can''t find {1} in {2}" },
+            { "tag.see.class_not_found", "class {0} not found for @see tag: \"{1}\"" },
+            { "tag.see.class_not_specified", "Tag {0}: class not specified: \"{1}\"" },
+            { "tag.see.illegal_character", "Tag {0}:illegal character: \"{1}\" in \"{2}\"" },
+            { "tag.see.malformed_see_tag", "Tag {0}: malformed: \"{1}\"" },
+            { "tag.see.missing_sharp", "Tag {0}: missing ''#'': \"{1}\"" },
+            { "tag.see.no_close_bracket_on_url", "Tag {0}: missing final ''>'': \"{1}\"" },
+            { "tag.see.no_close_quote", "Tag {0}: no final close quote: \"{1}\"" },
+            { "tag.serialField.illegal_character", "illegal character {0} in @serialField tag: {1}." },
+            { "tag.tag_has_no_arguments", "{0} tag has no arguments." },
+            { "tag.throws.exception_not_found", "{0} tag, class {1} not found." },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javadoc/resources/javadoc_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,68 @@
+package com.sun.tools.javadoc.resources;
+
+import java.util.ListResourceBundle;
+
+public final class javadoc_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "javadoc.Body_missing_from_html_file", "HTML \u30D5\u30A1\u30A4\u30EB\u306B body \u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "javadoc.End_body_missing_from_html_file", "HTML \u30D5\u30A1\u30A4\u30EB\u306B body \u306E\u9589\u3058\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "javadoc.File_Read_Error", "\u30D5\u30A1\u30A4\u30EB {0} \u306E\u8AAD\u307F\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002" },
+            { "javadoc.Multiple_package_comments", "\u30D1\u30C3\u30B1\u30FC\u30B8 \"{0}\" \u306B\u8907\u6570\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u30B3\u30E1\u30F3\u30C8\u306E\u30BD\u30FC\u30B9\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "javadoc.class_not_found", "\u30AF\u30E9\u30B9 {0} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "javadoc.error", "\u30A8\u30E9\u30FC" },
+            { "javadoc.warning", "\u8B66\u544A" },
+            { "main.Building_tree", "Javadoc \u60C5\u5831\u3092\u69CB\u7BC9\u3057\u3066\u3044\u307E\u3059..." },
+            { "main.Loading_source_file", "\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB {0} \u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059..." },
+            { "main.Loading_source_file_for_class", "\u30AF\u30E9\u30B9 {0} \u306E\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059..." },
+            { "main.Loading_source_files_for_package", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306E\u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059..." },
+            { "main.No_packages_or_classes_specified", "\u30D1\u30C3\u30B1\u30FC\u30B8\u307E\u305F\u306F\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002" },
+            { "main.cant.read", "{0} \u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3002" },
+            { "main.doclet_class_not_found", "doclet \u30AF\u30E9\u30B9 {0} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "main.doclet_method_must_be_static", "doclet \u30AF\u30E9\u30B9 {0} \u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9 {1} \u306F static \u3067\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "main.doclet_method_not_accessible", "doclet \u30AF\u30E9\u30B9 {0} \u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9 {1} \u306B\u30A2\u30AF\u30BB\u30B9\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "main.doclet_method_not_found", "doclet \u30AF\u30E9\u30B9 {0} \u306B\u306F\u30E1\u30BD\u30C3\u30C9 {1} \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "main.done_in", "[{0} ms \u3067\u5B8C\u4E86]" },
+            { "main.error", "\u30A8\u30E9\u30FC {0} \u500B" },
+            { "main.errors", "\u30A8\u30E9\u30FC {0} \u500B" },
+            { "main.exception_thrown", "doclet \u30AF\u30E9\u30B9 {0} \u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9 {1} \u306F\u4F8B\u5916 {2} \u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F\u3002" },
+            { "main.fatal.error", "\u81F4\u547D\u7684\u30A8\u30E9\u30FC" },
+            { "main.fatal.exception", "\u81F4\u547D\u7684\u4F8B\u5916" },
+            { "main.file_not_found", "\u30D5\u30A1\u30A4\u30EB {0} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "main.illegal_locale_name", "\u30ED\u30B1\u30FC\u30EB {0} \u304C\u7121\u52B9\u3067\u3059\u3002" },
+            { "main.illegal_package_name", "\u30D1\u30C3\u30B1\u30FC\u30B8\u540D {0} \u306F\u4E0D\u5F53\u3067\u3059\u3002" },
+            { "main.incompatible.access.flags", "-public\u3001-private\u3001-package\u3001\u307E\u305F\u306F -protected \u306E\u3046\u3061\u306E 2 \u3064\u4EE5\u4E0A\u3092\u6307\u5B9A\u3057\u307E\u3057\u305F\u3002" },
+            { "main.internal_error_exception_thrown", "doclet \u30AF\u30E9\u30B9 {0} \u306E\u5185\u90E8\u30A8\u30E9\u30FC\u3067\u3059\u3002\u30E1\u30BD\u30C3\u30C9 {1} \u306F\u4F8B\u5916 {2} \u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F\u3002" },
+            { "main.invalid_flag", "\u30D5\u30E9\u30B0 {0} \u306F\u7121\u52B9\u3067\u3059\u3002" },
+            { "main.locale_first", "\u30AA\u30D7\u30B7\u30E7\u30F3 -locale \u306F\u3001\u30B3\u30DE\u30F3\u30C9\u884C\u306E\u6700\u521D\u306B\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "main.malformed_locale_name", "\u30ED\u30B1\u30FC\u30EB\u540D {0} \u306E\u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "main.more_than_one_doclet_specified_0_and_1", "2 \u3064\u306E doclet ({0} \u3068 {1}) \u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "main.must_return_boolean", "doclet \u30AF\u30E9\u30B9 {0} \u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9 {1} \u306F boolean \u3092\u8FD4\u3055\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "main.must_return_int", "doclet \u30AF\u30E9\u30B9 {0} \u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9 {1} \u306F int \u3092\u8FD4\u3055\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "main.must_return_languageversion", "doclet \u30AF\u30E9\u30B9 {0} \u3067\u306F\u3001\u30E1\u30BD\u30C3\u30C9 {1} \u306F LanguageVersion \u3092\u8FD4\u3055\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "main.no_source_files_for_package", "\u30D1\u30C3\u30B1\u30FC\u30B8 {0} \u306E\u30BD\u30FC\u30B9\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "main.option.already.seen", "\u30AA\u30D7\u30B7\u30E7\u30F3 {0} \u306F 1 \u56DE\u3057\u304B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "main.out.of.memory", "java.lang.OutOfMemoryError: \u30E1\u30E2\u30EA\u3092\u5897\u3084\u3057\u3066\u304F\u3060\u3055\u3044\u3002\n\u305F\u3068\u3048\u3070\u3001Sun \u306E classic \u3082\u3057\u304F\u306F hotspot VM \u3067\u306F\u3001-J-Xmx32m \u306E\u3088\u3046\u306B\n-J-Xmx \u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002" },
+            { "main.requires_argument", "\u30AA\u30D7\u30B7\u30E7\u30F3 {0} \u306B\u306F\u5F15\u6570\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "main.usage", "\u4F7F\u7528\u6CD5: javadoc [options] [packagenames] [sourcefiles] [@files]\n-overview <file>          HTML \u30D5\u30A1\u30A4\u30EB\u304B\u3089\u6982\u8981\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3080\n-public                   public \u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u306E\u307F\u3092\u793A\u3059\n-protected                protected/public \u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u3092\u793A\u3059 (\u30C7\u30D5\u30A9\u30EB\u30C8)\n-package                  package/protected/public \u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u3092\u793A\u3059\n-private                  \u3059\u3079\u3066\u306E\u30AF\u30E9\u30B9\u3068\u30E1\u30F3\u30D0\u3092\u793A\u3059\n-help                     \u30B3\u30DE\u30F3\u30C9\u884C\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u8868\u793A\u3057\u3066\u7D42\u4E86\u3059\u308B\n-doclet <class>           \u4EE3\u66FF doclet \u3092\u4ECB\u3057\u3066\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n-docletpath <path>        doclet \u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u63A2\u3059\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n-sourcepath <pathlist>    \u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n-classpath <pathlist>     \u30E6\u30FC\u30B6\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u3042\u308B\u5834\u6240\u3092\u6307\u5B9A\u3059\u308B\n-exclude <pkglist>        \u9664\u5916\u3059\u308B\u30D1\u30C3\u30B1\u30FC\u30B8\u30EA\u30B9\u30C8\u3092\u6307\u5B9A\u3059\u308B\n-subpackages <subpkglist> \u518D\u5E30\u7684\u306B\u30ED\u30FC\u30C9\u3059\u308B\u30B5\u30D6\u30D1\u30C3\u30B1\u30FC\u30B8\u3092\u6307\u5B9A\u3059\u308B\n-breakiterator            BreakIterator \u3067\u6700\u521D\u306E\u6587\u3092\u8A08\u7B97\u3059\u308B\n-bootclasspath <pathlist> \u30D6\u30FC\u30C8\u30B9\u30C8\u30E9\u30C3\u30D7\u30AF\u30E9\u30B9\u30ED\u30FC\u30C0\u306B\u3088\u308A\u30ED\u30FC\u30C9\u3055\u308C\u305F\n\t\t\t  \u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n-source <release>         \u6307\u5B9A\u3055\u308C\u305F\u30EA\u30EA\u30FC\u30B9\u3068\u30BD\u30FC\u30B9\u306E\u4E92\u63DB\u6027\u304C\u63D0\u4F9B\u3055\u308C\u308B\n-extdirs <dirlist>        \u62E1\u5F35\u6A5F\u80FD\u304C\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u305F\u4F4D\u7F6E\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3059\u308B\n-verbose                  Javadoc \u306E\u52D5\u4F5C\u306B\u3064\u3044\u3066\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3059\u308B\n-locale <name>            en_US \u3084 en_US_WIN \u306A\u3069\u306E\u4F7F\u7528\u3059\u308B\u30ED\u30B1\u30FC\u30EB\n-encoding <name>          \u30BD\u30FC\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u30A8\u30F3\u30B3\u30FC\u30C7\u30A3\u30F3\u30B0\u540D\n-quiet                    \u72B6\u614B\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u8868\u793A\u3057\u306A\u3044\n-J<flag>                  <flag> \u3092\u5B9F\u884C\u30B7\u30B9\u30C6\u30E0\u306B\u76F4\u63A5\u6E21\u3059\n" },
+            { "main.warning", "\u8B66\u544A {0} \u500B" },
+            { "main.warnings", "\u8B66\u544A {0} \u500B" },
+            { "tag.End_delimiter_missing_for_possible_SeeTag", "\u30B3\u30E1\u30F3\u30C8\u6587\u5B57\u5217 \"{0}\" \u3067\u3001\u6709\u52B9\u306A see \u30BF\u30B0\u306B\u7D42\u7AEF\u30C7\u30EA\u30DF\u30BF } \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "tag.Improper_Use_Of_Link_Tag", "\u30A4\u30F3\u30E9\u30A4\u30F3\u30BF\u30B0 \"{0}\" \u306B\u7D42\u4E86\u6587\u5B57 ''}'' \u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "tag.illegal_char_in_arr_dim", "{0} \u30BF\u30B0: \u914D\u5217\u306E\u5927\u304D\u3055\u3001\u30E1\u30BD\u30C3\u30C9\u30D1\u30E9\u30E1\u30FC\u30BF {1} \u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "tag.illegal_see_tag", "{0} \u30BF\u30B0: \u30E1\u30BD\u30C3\u30C9\u30D1\u30E9\u30E1\u30FC\u30BF {1} \u306B\u69CB\u6587\u30A8\u30E9\u30FC\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "tag.missing_comma_space", "{0} \u30BF\u30B0: \u30E1\u30BD\u30C3\u30C9\u30D1\u30E9\u30E1\u30FC\u30BF {1} \u306B\u30B3\u30F3\u30DE\u307E\u305F\u306F\u7A7A\u767D\u6587\u5B57\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "tag.see.can_not_find_member", "{0} \u30BF\u30B0: {2} \u3067 {1} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093" },
+            { "tag.see.class_not_found", "@see \u30BF\u30B0\u7528\u306E\u30AF\u30E9\u30B9 {0} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093: \"{1}\"" },
+            { "tag.see.class_not_specified", "{0} \u30BF\u30B0: \u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093: \"{1}\"" },
+            { "tag.see.illegal_character", "{0} \u30BF\u30B0:{2} \u306B\u4E0D\u6B63\u306A\u6587\u5B57 {1} \u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "tag.see.malformed_see_tag", "\u30BF\u30B0 {0}: \u66F8\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093: \"{1}\"" },
+            { "tag.see.missing_sharp", "{0} \u30BF\u30B0: '#' \u304C\u3042\u308A\u307E\u305B\u3093: \"{1}\"" },
+            { "tag.see.no_close_bracket_on_url", "{0} \u30BF\u30B0: \u9589\u3058\u30BF\u30B0 '>' \u304C\u3042\u308A\u307E\u305B\u3093: \"{1}\"" },
+            { "tag.see.no_close_quote", "{0} \u30BF\u30B0: \u9589\u3058\u5F15\u7528\u7B26\u304C\u3042\u308A\u307E\u305B\u3093: \"{1}\"" },
+            { "tag.serialField.illegal_character", "@serialField \u30BF\u30B0\u306B\u4E0D\u6B63\u306A\u6587\u5B57 {0} \u304C\u3042\u308A\u307E\u3059: {1}" },
+            { "tag.tag_has_no_arguments", "\u30BF\u30B0 {0} \u306B\u5F15\u6570\u304C\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "tag.throws.exception_not_found", "\u30BF\u30B0 {0}\u3001\u30AF\u30E9\u30B9 {1} \u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/javadoc/resources/javadoc_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,68 @@
+package com.sun.tools.javadoc.resources;
+
+import java.util.ListResourceBundle;
+
+public final class javadoc_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "javadoc.Body_missing_from_html_file", "HTML \u4E2D\u7F3A\u5C11\u4E3B\u4F53\u6807\u8BB0" },
+            { "javadoc.End_body_missing_from_html_file", "HTML \u6587\u4EF6\u4E2D\u7F3A\u5C11\u4E3B\u4F53\u7ED3\u675F\u6807\u8BB0" },
+            { "javadoc.File_Read_Error", "\u8BFB\u53D6\u6587\u4EF6 {0} \u65F6\u51FA\u9519" },
+            { "javadoc.Multiple_package_comments", "\u627E\u5230\u8F6F\u4EF6\u5305 \"{0}\" \u7684\u591A\u4E2A\u8F6F\u4EF6\u5305\u6CE8\u91CA\u6E90" },
+            { "javadoc.class_not_found", "\u627E\u4E0D\u5230\u7C7B {0}\u3002" },
+            { "javadoc.error", "\u9519\u8BEF" },
+            { "javadoc.warning", "\u8B66\u544A" },
+            { "main.Building_tree", "\u6B63\u5728\u6784\u9020 Javadoc \u4FE1\u606F..." },
+            { "main.Loading_source_file", "\u6B63\u5728\u88C5\u5165\u6E90\u6587\u4EF6 {0}..." },
+            { "main.Loading_source_file_for_class", "\u6B63\u5728\u88C5\u5165\u7C7B {0} \u7684\u6E90\u6587\u4EF6..." },
+            { "main.Loading_source_files_for_package", "\u6B63\u5728\u88C5\u5165\u8F6F\u4EF6\u5305 {0} \u7684\u6E90\u6587\u4EF6..." },
+            { "main.No_packages_or_classes_specified", "\u672A\u6307\u5B9A\u8F6F\u4EF6\u5305\u6216\u7C7B\u3002" },
+            { "main.cant.read", "\u65E0\u6CD5\u8BFB\u53D6 {0}" },
+            { "main.doclet_class_not_found", "\u627E\u4E0D\u5230 doclet \u7C7B {0}" },
+            { "main.doclet_method_must_be_static", "\u5728 doclet \u7C7B {0} \u4E2D\uFF0C\u65B9\u6CD5 {1} \u5FC5\u987B\u4E3A\u9759\u6001\u3002" },
+            { "main.doclet_method_not_accessible", "\u5728 doclet \u7C7B {0} \u4E2D\uFF0C\u65E0\u6CD5\u8BBF\u95EE\u65B9\u6CD5 {1}" },
+            { "main.doclet_method_not_found", "doclet \u7C7B {0} \u4E0D\u5305\u542B {1} \u65B9\u6CD5" },
+            { "main.done_in", "[\u5728{0} \u6BEB\u79D2\u5185\u5B8C\u6210]" },
+            { "main.error", "{0} \u9519\u8BEF" },
+            { "main.errors", "{0} \u9519\u8BEF" },
+            { "main.exception_thrown", "\u5728 doclet \u7C7B {0} \u4E2D\uFF0C\u65B9\u6CD5 {1} \u5DF2\u629B\u51FA\u5F02\u5E38 {2}" },
+            { "main.fatal.error", "\u81F4\u547D\u9519\u8BEF" },
+            { "main.fatal.exception", "\u81F4\u547D\u5F02\u5E38" },
+            { "main.file_not_found", "\u627E\u4E0D\u5230\u6587\u4EF6\uFF1A\"{0}\"" },
+            { "main.illegal_locale_name", "\u8BED\u8A00\u73AF\u5883\u4E0D\u53EF\u7528\uFF1A{0}" },
+            { "main.illegal_package_name", "\u975E\u6CD5\u7684\u8F6F\u4EF6\u5305\u540D\u79F0\uFF1A\"{0}\"" },
+            { "main.incompatible.access.flags", "\u6307\u5B9A\u4E86\u591A\u4E2A -public\u3001-private\u3001-package \u6216 -protected\u3002" },
+            { "main.internal_error_exception_thrown", "\u5185\u90E8\u9519\u8BEF\uFF1A\u5728 doclet \u7C7B {0} \u4E2D\uFF0C\u65B9\u6CD5 {1} \u5DF2\u629B\u51FA\u5F02\u5E38 {2}" },
+            { "main.invalid_flag", "\u65E0\u6548\u7684\u6807\u5FD7\uFF1A {0}" },
+            { "main.locale_first", "\u5728\u547D\u4EE4\u884C\u4E2D\uFF0C\u9009\u9879 -locale \u5FC5\u987B\u4E3A\u7B2C\u4E00\u4E2A\u9009\u9879\u3002" },
+            { "main.malformed_locale_name", "\u4E0D\u89C4\u5219\u7684\u8BED\u8A00\u73AF\u5883\u540D\u79F0\uFF1A{0}" },
+            { "main.more_than_one_doclet_specified_0_and_1", "\u6307\u5B9A\u4E86\u591A\u4E2A doclet\uFF08{0} \u548C {1}\uFF09\u3002" },
+            { "main.must_return_boolean", "\u5728 doclet \u7C7B {0} \u4E2D\uFF0C\u65B9\u6CD5 {1} \u5FC5\u987B\u8FD4\u56DE\u5E03\u5C14\u503C\u3002" },
+            { "main.must_return_int", "\u5728 doclet \u7C7B {0} \u4E2D\uFF0C\u65B9\u6CD5 {1} \u5FC5\u987B\u8FD4\u56DE\u6574\u578B\u503C\u3002" },
+            { "main.must_return_languageversion", "\u5728 doclet \u7C7B {0} \u4E2D\uFF0C\u65B9\u6CD5 {1} \u5FC5\u987B\u8FD4\u56DE\u8BED\u8A00\u7248\u672C\u3002" },
+            { "main.no_source_files_for_package", "\u6CA1\u6709\u8F6F\u4EF6\u5305 {0} \u7684\u6E90\u6587\u4EF6" },
+            { "main.option.already.seen", "{0} \u9009\u9879\u53EF\u80FD\u88AB\u6307\u5B9A\u4E86\u4E0D\u6B62\u4E00\u6B21\u3002" },
+            { "main.out.of.memory", "java.lang.OutOfMemoryError\uFF1A\u8BF7\u589E\u52A0\u5185\u5B58\u3002\n\u4F8B\u5982\uFF0C\u5BF9\u4E8E Sun Classic \u6216 HotSpot VM\uFF0C\u8BF7\u6DFB\u52A0\u9009\u9879 -J-Xmx\uFF0C\n\u5982 -J-Xmx32m\u3002" },
+            { "main.requires_argument", "\u9009\u9879 {0} \u9700\u8981\u53C2\u6570\u3002" },
+            { "main.usage", "\u7528\u6CD5\uFF1Ajavadoc [\u9009\u9879] [\u8F6F\u4EF6\u5305\u540D\u79F0] [\u6E90\u6587\u4EF6] [@file]\n-overview <\u6587\u4EF6>          \u8BFB\u53D6 HTML \u6587\u4EF6\u7684\u6982\u8FF0\u6587\u6863\n-public                   \u4EC5\u663E\u793A\u516C\u5171\u7C7B\u548C\u6210\u5458\n-protected                \u663E\u793A\u53D7\u4FDD\u62A4/\u516C\u5171\u7C7B\u548C\u6210\u5458\uFF08\u9ED8\u8BA4\uFF09\n-package                  \u663E\u793A\u8F6F\u4EF6\u5305/\u53D7\u4FDD\u62A4/\u516C\u5171\u7C7B\u548C\u6210\u5458\n-private                  \u663E\u793A\u6240\u6709\u7C7B\u548C\u6210\u5458\n-help                     \u663E\u793A\u547D\u4EE4\u884C\u9009\u9879\u5E76\u9000\u51FA\n-doclet <\u7C7B>              \u901A\u8FC7\u66FF\u4EE3 doclet \u751F\u6210\u8F93\u51FA\n-docletpath <\u8DEF\u5F84>        \u6307\u5B9A\u67E5\u627E doclet \u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n-sourcepath <\u8DEF\u5F84\u5217\u8868>    \u6307\u5B9A\u67E5\u627E\u6E90\u6587\u4EF6\u7684\u4F4D\u7F6E\n-classpath <\u8DEF\u5F84\u5217\u8868>     \u6307\u5B9A\u67E5\u627E\u7528\u6237\u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n-exclude <\u8F6F\u4EF6\u5305\u5217\u8868>     \u6307\u5B9A\u8981\u6392\u9664\u7684\u8F6F\u4EF6\u5305\u7684\u5217\u8868\n-subpackages <\u5B50\u8F6F\u4EF6\u5305\u5217\u8868> \u6307\u5B9A\u8981\u9012\u5F52\u88C5\u5165\u7684\u5B50\u8F6F\u4EF6\u5305\n-breakiterator            \u4F7F\u7528 BreakIterator \u8BA1\u7B97\u7B2C 1 \u53E5\n-bootclasspath <\u8DEF\u5F84\u5217\u8868> \u8986\u76D6\u5F15\u5BFC\u7C7B\u52A0\u8F7D\u5668\u6240\u88C5\u5165\u7684\n\t\t\t  \u7C7B\u6587\u4EF6\u7684\u4F4D\u7F6E\n-source <\u7248\u672C>            \u63D0\u4F9B\u4E0E\u6307\u5B9A\u7248\u672C\u7684\u6E90\u517C\u5BB9\u6027\n-extdirs <\u76EE\u5F55\u5217\u8868>       \u8986\u76D6\u5B89\u88C5\u7684\u6269\u5C55\u76EE\u5F55\u7684\u4F4D\u7F6E\n-verbose                  \u8F93\u51FA\u6709\u5173 Javadoc \u6B63\u5728\u6267\u884C\u7684\u64CD\u4F5C\u7684\u6D88\u606F\n-locale <\u540D\u79F0>            \u8981\u4F7F\u7528\u7684\u8BED\u8A00\u73AF\u5883\uFF0C\u4F8B\u5982 en_US \u6216 en_US_WIN\n-encoding <\u540D\u79F0>          \u6E90\u6587\u4EF6\u7F16\u7801\u540D\u79F0\n-quiet                    \u4E0D\u663E\u793A\u72B6\u6001\u6D88\u606F\n-J<\u6807\u5FD7>                  \u76F4\u63A5\u5C06 <\u6807\u5FD7> \u4F20\u9012\u7ED9\u8FD0\u884C\u65F6\u7CFB\u7EDF\n" },
+            { "main.warning", "{0} \u8B66\u544A" },
+            { "main.warnings", "{0} \u8B66\u544A" },
+            { "tag.End_delimiter_missing_for_possible_SeeTag", "\u6CE8\u91CA\u5B57\u7B26\u4E32\u4E2D\u53EF\u80FD\u51FA\u73B0\u7684\u53C2\u89C1\u6807\u8BB0\u7F3A\u5C11\u7ED3\u675F\u5206\u9694\u7B26 }\uFF1A\"{0}\"" },
+            { "tag.Improper_Use_Of_Link_Tag", "\u5185\u5D4C\u6807\u8BB0\u7F3A\u5C11\u7ED3\u675F \"}\" \u5B57\u7B26\uFF1A\"{0}\"" },
+            { "tag.illegal_char_in_arr_dim", "\u6807\u8BB0 {0}\uFF1A\u6570\u7EC4\u7EF4\u6570\u3001\u65B9\u6CD5\u53C2\u6570\u4E2D\u6709\u8BED\u6CD5\u9519\u8BEF\uFF1A{1}" },
+            { "tag.illegal_see_tag", "\u6807\u8BB0 {0}\uFF1A\u65B9\u6CD5\u53C2\u6570\u4E2D\u6709\u8BED\u6CD5\u9519\u8BEF\uFF1A{1}" },
+            { "tag.missing_comma_space", "\u6807\u8BB0 {0}\uFF1A\u65B9\u6CD5\u53C2\u6570\u4E2D\u7F3A\u5C11\u9017\u53F7\u6216\u7A7A\u683C\uFF1A{1}" },
+            { "tag.see.can_not_find_member", "\u6807\u8BB0 {0}\uFF1A\u5728 {2} \u4E2D\u627E\u4E0D\u5230 {1}" },
+            { "tag.see.class_not_found", "\u627E\u4E0D\u5230 @see \u6807\u8BB0\u7684\u7C7B {0}\uFF1A\"{1}\"" },
+            { "tag.see.class_not_specified", "\u6807\u8BB0 {0}\uFF1A\u672A\u6307\u5B9A\u7C7B\uFF1A\"{1}\"" },
+            { "tag.see.illegal_character", "\u6807\u8BB0 {0}\uFF1A\"{2}\" \u4E2D\u7684 \"{1}\" \u4E3A\u975E\u6CD5\u5B57\u7B26" },
+            { "tag.see.malformed_see_tag", "\u6807\u8BB0 {0}\uFF1A\u4E0D\u89C4\u5219\uFF1A\"{1}\"" },
+            { "tag.see.missing_sharp", "\u6807\u8BB0 {0}\uFF1A\u7F3A\u5C11 \"#\"\uFF1A\"{1}\"" },
+            { "tag.see.no_close_bracket_on_url", "\u6807\u8BB0 {0}\uFF1A\u7F3A\u5C11\u6700\u540E\u7684 \">\"\uFF1A\"{1}\"" },
+            { "tag.see.no_close_quote", "\u6807\u8BB0 {0}\uFF1A\u65E0\u53F3\u5F15\u53F7\uFF1A\"{1}\"" },
+            { "tag.serialField.illegal_character", "@serialField \u6807\u8BB0\u4E2D\u7684\u975E\u6CD5\u5B57\u7B26 {0}\uFF1A{1}\u3002" },
+            { "tag.tag_has_no_arguments", "{0} \u6807\u8BB0\u6CA1\u6709\u53C2\u6570\u3002" },
+            { "tag.throws.exception_not_found", "\u6807\u8BB0 {0}\uFF1A\u627E\u4E0D\u5230\u7C7B {1}\u3002" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/jdi/JDWP.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,8609 @@
+package com.sun.tools.jdi;
+
+import com.sun.jdi.*;
+import java.util.*;
+
+
+/**
+ * Java(tm) Debug Wire Protocol
+ */
+class JDWP {
+
+    static class VirtualMachine {
+        static final int COMMAND_SET = 1;
+        private VirtualMachine() {}  // hide constructor
+
+        /**
+         * Returns the JDWP version implemented by the target VM. 
+         * The version string format is implementation dependent. 
+         */
+        static class Version {
+            static final int COMMAND = 1;
+
+            static Version process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Version"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static Version waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Version(vm, ps);
+            }
+
+
+            /**
+             * Text information on the VM version
+             */
+            final String description;
+
+            /**
+             * Major JDWP Version number
+             */
+            final int jdwpMajor;
+
+            /**
+             * Minor JDWP Version number
+             */
+            final int jdwpMinor;
+
+            /**
+             * Target VM JRE version, as in the java.version property
+             */
+            final String vmVersion;
+
+            /**
+             * Target VM name, as in the java.vm.name property
+             */
+            final String vmName;
+
+            private Version(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Version"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                description = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "description(String): " + description);
+                }
+                jdwpMajor = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "jdwpMajor(int): " + jdwpMajor);
+                }
+                jdwpMinor = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "jdwpMinor(int): " + jdwpMinor);
+                }
+                vmVersion = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "vmVersion(String): " + vmVersion);
+                }
+                vmName = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "vmName(String): " + vmName);
+                }
+            }
+        }
+
+        /**
+         * Returns reference types for all the classes loaded by the target VM 
+         * which match the given signature. 
+         * Multple reference types will be returned if two or more class 
+         * loaders have loaded a class of the same name. 
+         * The search is confined to loaded classes only; no attempt is made 
+         * to load a class of the given signature. 
+         */
+        static class ClassesBySignature {
+            static final int COMMAND = 2;
+
+            static ClassesBySignature process(VirtualMachineImpl vm, 
+                                String signature)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, signature);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                String signature) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.ClassesBySignature"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 signature(String): " + signature);
+                }
+                ps.writeString(signature);
+                ps.send();
+                return ps;
+            }
+
+            static ClassesBySignature waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ClassesBySignature(vm, ps);
+            }
+
+            static class ClassInfo {
+
+                /**
+                 * <a href="#JDWP_TypeTag">Kind</a> 
+                 * of following reference type. 
+                 */
+                final byte refTypeTag;
+
+                /**
+                 * Matching loaded reference type
+                 */
+                final long typeID;
+
+                /**
+                 * The current class 
+                 * <a href="#JDWP_ClassStatus">status.</a> 
+                 */
+                final int status;
+
+                private ClassInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    refTypeTag = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "refTypeTag(byte): " + refTypeTag);
+                    }
+                    typeID = ps.readClassRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "typeID(long): " + "ref="+typeID);
+                    }
+                    status = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "status(int): " + status);
+                    }
+                }
+            }
+
+
+            /**
+             * Number of reference types that follow.
+             */
+            final ClassInfo[] classes;
+
+            private ClassesBySignature(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.ClassesBySignature"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classes(ClassInfo[]): " + "");
+                }
+                int classesCount = ps.readInt();
+                classes = new ClassInfo[classesCount];
+                for (int i = 0; i < classesCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "classes[i](ClassInfo): " + "");
+                    }
+                    classes[i] = new ClassInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns reference types for all classes currently loaded by the 
+         * target VM.
+         */
+        static class AllClasses {
+            static final int COMMAND = 3;
+
+            static AllClasses process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.AllClasses"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static AllClasses waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new AllClasses(vm, ps);
+            }
+
+            static class ClassInfo {
+
+                /**
+                 * <a href="#JDWP_TypeTag">Kind</a> 
+                 * of following reference type. 
+                 */
+                final byte refTypeTag;
+
+                /**
+                 * Loaded reference type
+                 */
+                final long typeID;
+
+                /**
+                 * The JNI signature of the loaded reference type
+                 */
+                final String signature;
+
+                /**
+                 * The current class 
+                 * <a href="#JDWP_ClassStatus">status.</a> 
+                 */
+                final int status;
+
+                private ClassInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    refTypeTag = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "refTypeTag(byte): " + refTypeTag);
+                    }
+                    typeID = ps.readClassRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "typeID(long): " + "ref="+typeID);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    status = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "status(int): " + status);
+                    }
+                }
+            }
+
+
+            /**
+             * Number of reference types that follow.
+             */
+            final ClassInfo[] classes;
+
+            private AllClasses(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.AllClasses"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classes(ClassInfo[]): " + "");
+                }
+                int classesCount = ps.readInt();
+                classes = new ClassInfo[classesCount];
+                for (int i = 0; i < classesCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "classes[i](ClassInfo): " + "");
+                    }
+                    classes[i] = new ClassInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns all threads currently running in the target VM . 
+         * The returned list contains threads created through 
+         * java.lang.Thread, all native threads attached to 
+         * the target VM through JNI, and system threads created 
+         * by the target VM. Threads that have not yet been started 
+         * and threads that have completed their execution are not 
+         * included in the returned list. 
+         */
+        static class AllThreads {
+            static final int COMMAND = 4;
+
+            static AllThreads process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.AllThreads"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static AllThreads waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new AllThreads(vm, ps);
+            }
+
+
+            /**
+             * Number of threads that follow.
+             */
+            final ThreadReferenceImpl[] threads;
+
+            private AllThreads(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.AllThreads"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "threads(ThreadReferenceImpl[]): " + "");
+                }
+                int threadsCount = ps.readInt();
+                threads = new ThreadReferenceImpl[threadsCount];
+                for (int i = 0; i < threadsCount; i++) {;
+                    threads[i] = ps.readThreadReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "threads[i](ThreadReferenceImpl): " + (threads[i]==null?"NULL":"ref="+threads[i].ref()));
+                    }
+                }
+            }
+        }
+
+        /**
+         * Returns all thread groups that do not have a parent. This command 
+         * may be used as the first step in building a tree (or trees) of the 
+         * existing thread groups.
+         */
+        static class TopLevelThreadGroups {
+            static final int COMMAND = 5;
+
+            static TopLevelThreadGroups process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.TopLevelThreadGroups"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static TopLevelThreadGroups waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new TopLevelThreadGroups(vm, ps);
+            }
+
+
+            /**
+             * Number of thread groups that follow.
+             */
+            final ThreadGroupReferenceImpl[] groups;
+
+            private TopLevelThreadGroups(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.TopLevelThreadGroups"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "groups(ThreadGroupReferenceImpl[]): " + "");
+                }
+                int groupsCount = ps.readInt();
+                groups = new ThreadGroupReferenceImpl[groupsCount];
+                for (int i = 0; i < groupsCount; i++) {;
+                    groups[i] = ps.readThreadGroupReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "groups[i](ThreadGroupReferenceImpl): " + (groups[i]==null?"NULL":"ref="+groups[i].ref()));
+                    }
+                }
+            }
+        }
+
+        /**
+         * Invalidates this virtual machine mirror. 
+         * The communication channel to the target VM is closed, and 
+         * the target VM prepares to accept another subsequent connection 
+         * from this debugger or another debugger, including the 
+         * following tasks: 
+         * <ul>
+         * <li>All event requests are cancelled. 
+         * <li>All threads suspended by the thread-level 
+         * <a href="#JDWP_ThreadReference_Resume">resume</a> command 
+         * or the VM-level 
+         * <a href="#JDWP_VirtualMachine_Resume">resume</a> command 
+         * are resumed as many times as necessary for them to run. 
+         * <li>Garbage collection is re-enabled in all cases where it was 
+         * <a href="#JDWP_ObjectReference_DisableCollection">disabled</a> 
+         * </ul>
+         * Any current method invocations executing in the target VM 
+         * are continued after the disconnection. Upon completion of any such 
+         * method invocation, the invoking thread continues from the 
+         * location where it was originally stopped. 
+         * <p>
+         * Resources originating in  
+         * this VirtualMachine (ObjectReferences, ReferenceTypes, etc.) 
+         * will become invalid. 
+         */
+        static class Dispose {
+            static final int COMMAND = 6;
+
+            static Dispose process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Dispose"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static Dispose waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Dispose(vm, ps);
+            }
+
+
+            private Dispose(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Dispose"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Returns the sizes of variably-sized data types in the target VM.
+         * The returned values indicate the number of bytes used by the 
+         * identifiers in command and reply packets.
+         */
+        static class IDSizes {
+            static final int COMMAND = 7;
+
+            static IDSizes process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.IDSizes"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static IDSizes waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new IDSizes(vm, ps);
+            }
+
+
+            /**
+             * fieldID size in bytes 
+             */
+            final int fieldIDSize;
+
+            /**
+             * methodID size in bytes 
+             */
+            final int methodIDSize;
+
+            /**
+             * objectID size in bytes 
+             */
+            final int objectIDSize;
+
+            /**
+             * referenceTypeID size in bytes 
+             */
+            final int referenceTypeIDSize;
+
+            /**
+             * frameID size in bytes 
+             */
+            final int frameIDSize;
+
+            private IDSizes(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.IDSizes"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                fieldIDSize = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "fieldIDSize(int): " + fieldIDSize);
+                }
+                methodIDSize = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "methodIDSize(int): " + methodIDSize);
+                }
+                objectIDSize = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "objectIDSize(int): " + objectIDSize);
+                }
+                referenceTypeIDSize = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "referenceTypeIDSize(int): " + referenceTypeIDSize);
+                }
+                frameIDSize = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "frameIDSize(int): " + frameIDSize);
+                }
+            }
+        }
+
+        /**
+         * Suspends the execution of the application running in the target 
+         * VM. All Java threads currently running will be suspended. 
+         * <p>
+         * Unlike java.lang.Thread.suspend, 
+         * suspends of both the virtual machine and individual threads are 
+         * counted. Before a thread will run again, it must be resumed through 
+         * the <a href="#JDWP_VirtualMachine_Resume">VM-level resume</a> command 
+         * or the <a href="#JDWP_ThreadReference_Resume">thread-level resume</a> command 
+         * the same number of times it has been suspended. 
+         */
+        static class Suspend {
+            static final int COMMAND = 8;
+
+            static Suspend process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Suspend"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static Suspend waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Suspend(vm, ps);
+            }
+
+
+            private Suspend(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Suspend"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Resumes execution of the application after the suspend 
+         * command or an event has stopped it. 
+         * Suspensions of the Virtual Machine and individual threads are 
+         * counted. If a particular thread is suspended n times, it must 
+         * resumed n times before it will continue. 
+         */
+        static class Resume {
+            static final int COMMAND = 9;
+
+            static Resume process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Resume"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static Resume waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Resume(vm, ps);
+            }
+
+
+            private Resume(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Resume"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Terminates the target VM with the given exit code. 
+         * On some platforms, the exit code might be truncated, for 
+         * example, to the low order 8 bits. 
+         * All ids previously returned from the target VM become invalid. 
+         * Threads running in the VM are abruptly terminated. 
+         * A thread death exception is not thrown and 
+         * finally blocks are not run.
+         */
+        static class Exit {
+            static final int COMMAND = 10;
+
+            static Exit process(VirtualMachineImpl vm, 
+                                int exitCode)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, exitCode);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                int exitCode) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Exit"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 exitCode(int): " + exitCode);
+                }
+                ps.writeInt(exitCode);
+                ps.send();
+                return ps;
+            }
+
+            static Exit waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Exit(vm, ps);
+            }
+
+
+            private Exit(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Exit"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Creates a new string object in the target VM and returns 
+         * its id. 
+         */
+        static class CreateString {
+            static final int COMMAND = 11;
+
+            static CreateString process(VirtualMachineImpl vm, 
+                                String utf)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, utf);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                String utf) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.CreateString"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 utf(String): " + utf);
+                }
+                ps.writeString(utf);
+                ps.send();
+                return ps;
+            }
+
+            static CreateString waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new CreateString(vm, ps);
+            }
+
+
+            /**
+             * Created string (instance of java.lang.String) 
+             */
+            final StringReferenceImpl stringObject;
+
+            private CreateString(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.CreateString"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                stringObject = ps.readStringReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "stringObject(StringReferenceImpl): " + (stringObject==null?"NULL":"ref="+stringObject.ref()));
+                }
+            }
+        }
+
+        /**
+         * Retrieve this VM's capabilities. The capabilities are returned 
+         * as booleans, each indicating the presence or absence of a 
+         * capability. The commands associated with each capability will 
+         * return the NOT_IMPLEMENTED error if the cabability is not 
+         * available.
+         */
+        static class Capabilities {
+            static final int COMMAND = 12;
+
+            static Capabilities process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Capabilities"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static Capabilities waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Capabilities(vm, ps);
+            }
+
+
+            /**
+             * Can the VM watch field modification, and therefore 
+             * can it send the Modification Watchpoint Event?
+             */
+            final boolean canWatchFieldModification;
+
+            /**
+             * Can the VM watch field access, and therefore 
+             * can it send the Access Watchpoint Event?
+             */
+            final boolean canWatchFieldAccess;
+
+            /**
+             * Can the VM get the bytecodes of a given method? 
+             */
+            final boolean canGetBytecodes;
+
+            /**
+             * Can the VM determine whether a field or method is 
+             * synthetic? (that is, can the VM determine if the 
+             * method or the field was invented by the compiler?) 
+             */
+            final boolean canGetSyntheticAttribute;
+
+            /**
+             * Can the VM get the owned monitors infornation for 
+             * a thread?
+             */
+            final boolean canGetOwnedMonitorInfo;
+
+            /**
+             * Can the VM get the current contended monitor of a thread?
+             */
+            final boolean canGetCurrentContendedMonitor;
+
+            /**
+             * Can the VM get the monitor information for a given object? 
+             */
+            final boolean canGetMonitorInfo;
+
+            private Capabilities(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.Capabilities"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                canWatchFieldModification = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canWatchFieldModification(boolean): " + canWatchFieldModification);
+                }
+                canWatchFieldAccess = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canWatchFieldAccess(boolean): " + canWatchFieldAccess);
+                }
+                canGetBytecodes = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetBytecodes(boolean): " + canGetBytecodes);
+                }
+                canGetSyntheticAttribute = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetSyntheticAttribute(boolean): " + canGetSyntheticAttribute);
+                }
+                canGetOwnedMonitorInfo = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetOwnedMonitorInfo(boolean): " + canGetOwnedMonitorInfo);
+                }
+                canGetCurrentContendedMonitor = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetCurrentContendedMonitor(boolean): " + canGetCurrentContendedMonitor);
+                }
+                canGetMonitorInfo = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetMonitorInfo(boolean): " + canGetMonitorInfo);
+                }
+            }
+        }
+
+        /**
+         * Retrieve the classpath and bootclasspath of the target VM. 
+         * If the classpath is not defined, returns an empty list. If the 
+         * bootclasspath is not defined returns an empty list.
+         */
+        static class ClassPaths {
+            static final int COMMAND = 13;
+
+            static ClassPaths process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.ClassPaths"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static ClassPaths waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ClassPaths(vm, ps);
+            }
+
+
+            /**
+             * Base directory used to resolve relative 
+             * paths in either of the following lists.
+             */
+            final String baseDir;
+
+            /**
+             * Number of paths in classpath.
+             */
+            final String[] classpaths;
+
+            /**
+             * Number of paths in bootclasspath.
+             */
+            final String[] bootclasspaths;
+
+            private ClassPaths(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.ClassPaths"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                baseDir = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "baseDir(String): " + baseDir);
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classpaths(String[]): " + "");
+                }
+                int classpathsCount = ps.readInt();
+                classpaths = new String[classpathsCount];
+                for (int i = 0; i < classpathsCount; i++) {;
+                    classpaths[i] = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "classpaths[i](String): " + classpaths[i]);
+                    }
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "bootclasspaths(String[]): " + "");
+                }
+                int bootclasspathsCount = ps.readInt();
+                bootclasspaths = new String[bootclasspathsCount];
+                for (int i = 0; i < bootclasspathsCount; i++) {;
+                    bootclasspaths[i] = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "bootclasspaths[i](String): " + bootclasspaths[i]);
+                    }
+                }
+            }
+        }
+
+        /**
+         * Releases a list of object IDs. For each object in the list, the 
+         * following applies. 
+         * The count of references held by the back-end (the reference 
+         * count) will be decremented by refCnt. 
+         * If thereafter the reference count is less than 
+         * or equal to zero, the ID is freed. 
+         * Any back-end resources associated with the freed ID may 
+         * be freed, and if garbage collection was 
+         * disabled for the object, it will be re-enabled. 
+         * The sender of this command 
+         * promises that no further commands will be sent 
+         * referencing a freed ID.
+         * <p>
+         * Use of this command is not required. If it is not sent, 
+         * resources associated with each ID will be freed by the back-end 
+         * at some time after the corresponding object is garbage collected. 
+         * It is most useful to use this command to reduce the load on the 
+         * back-end if a very large number of 
+         * objects has been retrieved from the back-end (a large array, 
+         * for example) but may not be garbage collected any time soon. 
+         * <p>
+         * IDs may be re-used by the back-end after they 
+         * have been freed with this command.
+         * This description assumes reference counting, 
+         * a back-end may use any implementation which operates 
+         * equivalently. 
+         */
+        static class DisposeObjects {
+            static final int COMMAND = 14;
+
+            static class Request {
+
+                /**
+                 * The object ID
+                 */
+                final ObjectReferenceImpl object;
+
+                /**
+                 * The number of times this object ID has been 
+                 * part of a packet received from the back-end. 
+                 * An accurate count prevents the object ID 
+                 * from being freed on the back-end if 
+                 * it is part of an incoming packet, not yet 
+                 * handled by the front-end.
+                 */
+                final int refCnt;
+
+                Request(ObjectReferenceImpl object, int refCnt) {
+                    this.object = object;
+                    this.refCnt = refCnt;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                    }
+                    ps.writeObjectRef(object.ref());
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     refCnt(int): " + refCnt);
+                    }
+                    ps.writeInt(refCnt);
+                }
+            }
+
+            static DisposeObjects process(VirtualMachineImpl vm, 
+                                Request[] requests)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, requests);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                Request[] requests) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.DisposeObjects"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 requests(Request[]): " + "");
+                }
+                ps.writeInt(requests.length);
+                for (int i = 0; i < requests.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     requests[i](Request): " + "");
+                    }
+                    requests[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static DisposeObjects waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new DisposeObjects(vm, ps);
+            }
+
+
+            private DisposeObjects(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.DisposeObjects"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Tells the target VM to stop sending events. Events are not discarded; 
+         * they are held until a subsequent ReleaseEvents command is sent. 
+         * This command is useful to control the number of events sent 
+         * to the debugger VM in situations where very large numbers of events 
+         * are generated. 
+         * While events are held by the debugger back-end, application 
+         * execution may be frozen by the debugger back-end to prevent 
+         * buffer overflows on the back end. 
+         * Responses to commands are never held and are not affected by this 
+         * command. If events are already being held, this command is 
+         * ignored.
+         */
+        static class HoldEvents {
+            static final int COMMAND = 15;
+
+            static HoldEvents process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.HoldEvents"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static HoldEvents waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new HoldEvents(vm, ps);
+            }
+
+
+            private HoldEvents(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.HoldEvents"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Tells the target VM to continue sending events. This command is 
+         * used to restore normal activity after a HoldEvents command. If 
+         * there is no current HoldEvents command in effect, this command is 
+         * ignored.
+         */
+        static class ReleaseEvents {
+            static final int COMMAND = 16;
+
+            static ReleaseEvents process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.ReleaseEvents"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static ReleaseEvents waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ReleaseEvents(vm, ps);
+            }
+
+
+            private ReleaseEvents(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.ReleaseEvents"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Retrieve all of this VM's capabilities. The capabilities are returned 
+         * as booleans, each indicating the presence or absence of a 
+         * capability. The commands associated with each capability will 
+         * return the NOT_IMPLEMENTED error if the cabability is not 
+         * available.
+         * Since JDWP version 1.4.
+         */
+        static class CapabilitiesNew {
+            static final int COMMAND = 17;
+
+            static CapabilitiesNew process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.CapabilitiesNew"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static CapabilitiesNew waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new CapabilitiesNew(vm, ps);
+            }
+
+
+            /**
+             * Can the VM watch field modification, and therefore 
+             * can it send the Modification Watchpoint Event?
+             */
+            final boolean canWatchFieldModification;
+
+            /**
+             * Can the VM watch field access, and therefore 
+             * can it send the Access Watchpoint Event?
+             */
+            final boolean canWatchFieldAccess;
+
+            /**
+             * Can the VM get the bytecodes of a given method? 
+             */
+            final boolean canGetBytecodes;
+
+            /**
+             * Can the VM determine whether a field or method is 
+             * synthetic? (that is, can the VM determine if the 
+             * method or the field was invented by the compiler?) 
+             */
+            final boolean canGetSyntheticAttribute;
+
+            /**
+             * Can the VM get the owned monitors infornation for 
+             * a thread?
+             */
+            final boolean canGetOwnedMonitorInfo;
+
+            /**
+             * Can the VM get the current contended monitor of a thread?
+             */
+            final boolean canGetCurrentContendedMonitor;
+
+            /**
+             * Can the VM get the monitor information for a given object? 
+             */
+            final boolean canGetMonitorInfo;
+
+            /**
+             * Can the VM redefine classes?
+             */
+            final boolean canRedefineClasses;
+
+            /**
+             * Can the VM add methods when redefining 
+             * classes?
+             */
+            final boolean canAddMethod;
+
+            /**
+             * Can the VM redefine classes
+             * in arbitrary ways?
+             */
+            final boolean canUnrestrictedlyRedefineClasses;
+
+            /**
+             * Can the VM pop stack frames?
+             */
+            final boolean canPopFrames;
+
+            /**
+             * Can the VM filter events by specific object?
+             */
+            final boolean canUseInstanceFilters;
+
+            /**
+             * Can the VM get the source debug extension?
+             */
+            final boolean canGetSourceDebugExtension;
+
+            /**
+             * Can the VM request VM death events?
+             */
+            final boolean canRequestVMDeathEvent;
+
+            /**
+             * Can the VM set a default stratum?
+             */
+            final boolean canSetDefaultStratum;
+
+            /**
+             * Can the VM return instances, counts of instances of classes 
+             * and referring objects?
+             */
+            final boolean canGetInstanceInfo;
+
+            /**
+             * Can the VM request monitor events?
+             */
+            final boolean canRequestMonitorEvents;
+
+            /**
+             * Can the VM get monitors with frame depth info?
+             */
+            final boolean canGetMonitorFrameInfo;
+
+            /**
+             * Can the VM filter class prepare events by source name?
+             */
+            final boolean canUseSourceNameFilters;
+
+            /**
+             * Can the VM return the constant pool information?
+             */
+            final boolean canGetConstantPool;
+
+            /**
+             * Can the VM force early return from a method?
+             */
+            final boolean canForceEarlyReturn;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved22;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved23;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved24;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved25;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved26;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved27;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved28;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved29;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved30;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved31;
+
+            /**
+             * Reserved for future capability
+             */
+            final boolean reserved32;
+
+            private CapabilitiesNew(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.CapabilitiesNew"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                canWatchFieldModification = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canWatchFieldModification(boolean): " + canWatchFieldModification);
+                }
+                canWatchFieldAccess = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canWatchFieldAccess(boolean): " + canWatchFieldAccess);
+                }
+                canGetBytecodes = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetBytecodes(boolean): " + canGetBytecodes);
+                }
+                canGetSyntheticAttribute = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetSyntheticAttribute(boolean): " + canGetSyntheticAttribute);
+                }
+                canGetOwnedMonitorInfo = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetOwnedMonitorInfo(boolean): " + canGetOwnedMonitorInfo);
+                }
+                canGetCurrentContendedMonitor = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetCurrentContendedMonitor(boolean): " + canGetCurrentContendedMonitor);
+                }
+                canGetMonitorInfo = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetMonitorInfo(boolean): " + canGetMonitorInfo);
+                }
+                canRedefineClasses = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canRedefineClasses(boolean): " + canRedefineClasses);
+                }
+                canAddMethod = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canAddMethod(boolean): " + canAddMethod);
+                }
+                canUnrestrictedlyRedefineClasses = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canUnrestrictedlyRedefineClasses(boolean): " + canUnrestrictedlyRedefineClasses);
+                }
+                canPopFrames = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canPopFrames(boolean): " + canPopFrames);
+                }
+                canUseInstanceFilters = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canUseInstanceFilters(boolean): " + canUseInstanceFilters);
+                }
+                canGetSourceDebugExtension = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetSourceDebugExtension(boolean): " + canGetSourceDebugExtension);
+                }
+                canRequestVMDeathEvent = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canRequestVMDeathEvent(boolean): " + canRequestVMDeathEvent);
+                }
+                canSetDefaultStratum = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canSetDefaultStratum(boolean): " + canSetDefaultStratum);
+                }
+                canGetInstanceInfo = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetInstanceInfo(boolean): " + canGetInstanceInfo);
+                }
+                canRequestMonitorEvents = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canRequestMonitorEvents(boolean): " + canRequestMonitorEvents);
+                }
+                canGetMonitorFrameInfo = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetMonitorFrameInfo(boolean): " + canGetMonitorFrameInfo);
+                }
+                canUseSourceNameFilters = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canUseSourceNameFilters(boolean): " + canUseSourceNameFilters);
+                }
+                canGetConstantPool = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canGetConstantPool(boolean): " + canGetConstantPool);
+                }
+                canForceEarlyReturn = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "canForceEarlyReturn(boolean): " + canForceEarlyReturn);
+                }
+                reserved22 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved22(boolean): " + reserved22);
+                }
+                reserved23 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved23(boolean): " + reserved23);
+                }
+                reserved24 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved24(boolean): " + reserved24);
+                }
+                reserved25 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved25(boolean): " + reserved25);
+                }
+                reserved26 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved26(boolean): " + reserved26);
+                }
+                reserved27 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved27(boolean): " + reserved27);
+                }
+                reserved28 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved28(boolean): " + reserved28);
+                }
+                reserved29 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved29(boolean): " + reserved29);
+                }
+                reserved30 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved30(boolean): " + reserved30);
+                }
+                reserved31 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved31(boolean): " + reserved31);
+                }
+                reserved32 = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "reserved32(boolean): " + reserved32);
+                }
+            }
+        }
+
+        /**
+         * Installs new class definitions. 
+         * If there are active stack frames in methods of the redefined classes in the 
+         * target VM then those active frames continue to run the bytecodes of the 
+         * original method. These methods are considered obsolete - see 
+         * <a href="#JDWP_Method_IsObsolete">IsObsolete</a>. The methods in the 
+         * redefined classes will be used for new invokes in the target VM. 
+         * The original method ID refers to the redefined method. 
+         * All breakpoints in the redefined classes are cleared.
+         * If resetting of stack frames is desired, the 
+         * <a href="#JDWP_StackFrame_PopFrames">PopFrames</a> command can be used 
+         * to pop frames with obsolete methods.
+         * <p>
+         * Requires canRedefineClasses capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>. 
+         * In addition to the canRedefineClasses capability, the target VM must 
+         * have the canAddMethod capability to add methods when redefining classes, 
+         * or the canUnrestrictedlyRedefineClasses to redefine classes in arbitrary 
+         * ways.
+         */
+        static class RedefineClasses {
+            static final int COMMAND = 18;
+
+            static class ClassDef {
+
+                /**
+                 * The reference type.
+                 */
+                final ReferenceTypeImpl refType;
+
+                /**
+                 * Number of bytes defining class (below)
+                 */
+                final byte[] classfile;
+
+                ClassDef(ReferenceTypeImpl refType, byte[] classfile) {
+                    this.refType = refType;
+                    this.classfile = classfile;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                    }
+                    ps.writeClassRef(refType.ref());
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     classfile(byte[]): " + "");
+                    }
+                    ps.writeInt(classfile.length);
+                    for (int i = 0; i < classfile.length; i++) {;
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         classfile[i](byte): " + classfile[i]);
+                        }
+                        ps.writeByte(classfile[i]);
+                    }
+                }
+            }
+
+            static RedefineClasses process(VirtualMachineImpl vm, 
+                                ClassDef[] classes)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, classes);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ClassDef[] classes) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.RedefineClasses"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 classes(ClassDef[]): " + "");
+                }
+                ps.writeInt(classes.length);
+                for (int i = 0; i < classes.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     classes[i](ClassDef): " + "");
+                    }
+                    classes[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static RedefineClasses waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new RedefineClasses(vm, ps);
+            }
+
+
+            private RedefineClasses(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.RedefineClasses"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Set the default stratum. Requires canSetDefaultStratum capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class SetDefaultStratum {
+            static final int COMMAND = 19;
+
+            static SetDefaultStratum process(VirtualMachineImpl vm, 
+                                String stratumID)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, stratumID);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                String stratumID) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.SetDefaultStratum"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 stratumID(String): " + stratumID);
+                }
+                ps.writeString(stratumID);
+                ps.send();
+                return ps;
+            }
+
+            static SetDefaultStratum waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SetDefaultStratum(vm, ps);
+            }
+
+
+            private SetDefaultStratum(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.SetDefaultStratum"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Returns reference types for all classes currently loaded by the 
+         * target VM.  
+         * Both the JNI signature and the generic signature are 
+         * returned for each class.  
+         * Generic signatures are described in the signature attribute 
+         * section in the 
+         * <a href="http://java.sun.com/docs/books/vmspec">
+         * Java Virtual Machine Specification, 3rd Edition.</a>  
+         * Since JDWP version 1.5.
+         */
+        static class AllClassesWithGeneric {
+            static final int COMMAND = 20;
+
+            static AllClassesWithGeneric process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.AllClassesWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static AllClassesWithGeneric waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new AllClassesWithGeneric(vm, ps);
+            }
+
+            static class ClassInfo {
+
+                /**
+                 * <a href="#JDWP_TypeTag">Kind</a> 
+                 * of following reference type. 
+                 */
+                final byte refTypeTag;
+
+                /**
+                 * Loaded reference type
+                 */
+                final long typeID;
+
+                /**
+                 * The JNI signature of the loaded reference type.
+                 */
+                final String signature;
+
+                /**
+                 * The generic signature of the loaded reference type 
+                 * or an empty string if there is none.
+                 */
+                final String genericSignature;
+
+                /**
+                 * The current class 
+                 * <a href="#JDWP_ClassStatus">status.</a> 
+                 */
+                final int status;
+
+                private ClassInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    refTypeTag = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "refTypeTag(byte): " + refTypeTag);
+                    }
+                    typeID = ps.readClassRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "typeID(long): " + "ref="+typeID);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    genericSignature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "genericSignature(String): " + genericSignature);
+                    }
+                    status = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "status(int): " + status);
+                    }
+                }
+            }
+
+
+            /**
+             * Number of reference types that follow.
+             */
+            final ClassInfo[] classes;
+
+            private AllClassesWithGeneric(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.AllClassesWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classes(ClassInfo[]): " + "");
+                }
+                int classesCount = ps.readInt();
+                classes = new ClassInfo[classesCount];
+                for (int i = 0; i < classesCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "classes[i](ClassInfo): " + "");
+                    }
+                    classes[i] = new ClassInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns the number of instances of each reference type in the input list. 
+         * Only instances that are reachable for the purposes of 
+         * garbage collection are counted.  If a reference type is invalid, 
+         * eg. it has been unloaded, zero is returned for its instance count.
+         * <p>Since JDWP version 1.6. Requires canGetInstanceInfo capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class InstanceCounts {
+            static final int COMMAND = 21;
+
+            static InstanceCounts process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl[] refTypesCount)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refTypesCount);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl[] refTypesCount) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.InstanceCounts"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refTypesCount(ReferenceTypeImpl[]): " + "");
+                }
+                ps.writeInt(refTypesCount.length);
+                for (int i = 0; i < refTypesCount.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     refTypesCount[i](ReferenceTypeImpl): " + (refTypesCount[i]==null?"NULL":"ref="+refTypesCount[i].ref()));
+                    }
+                    ps.writeClassRef(refTypesCount[i].ref());
+                }
+                ps.send();
+                return ps;
+            }
+
+            static InstanceCounts waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new InstanceCounts(vm, ps);
+            }
+
+
+            /**
+             * The number of counts that follow.
+             */
+            final long[] counts;
+
+            private InstanceCounts(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.VirtualMachine.InstanceCounts"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "counts(long[]): " + "");
+                }
+                int countsCount = ps.readInt();
+                counts = new long[countsCount];
+                for (int i = 0; i < countsCount; i++) {;
+                    counts[i] = ps.readLong();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "counts[i](long): " + counts[i]);
+                    }
+                }
+            }
+        }
+    }
+
+    static class ReferenceType {
+        static final int COMMAND_SET = 2;
+        private ReferenceType() {}  // hide constructor
+
+        /**
+         * Returns the JNI signature of a reference type. 
+         * JNI signature formats are described in the 
+         * <a href="http://java.sun.com/products/jdk/1.2/docs/guide/jni/index.html">Java Native Inteface Specification</a>
+         * <p>
+         * For primitive classes 
+         * the returned signature is the signature of the corresponding primitive 
+         * type; for example, "I" is returned as the signature of the class 
+         * represented by java.lang.Integer.TYPE.
+         */
+        static class Signature {
+            static final int COMMAND = 1;
+
+            static Signature process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Signature"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Signature waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Signature(vm, ps);
+            }
+
+
+            /**
+             * The JNI signature for the reference type.
+             */
+            final String signature;
+
+            private Signature(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Signature"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                signature = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "signature(String): " + signature);
+                }
+            }
+        }
+
+        /**
+         * Returns the instance of java.lang.ClassLoader which loaded 
+         * a given reference type. If the reference type was loaded by the 
+         * system class loader, the returned object ID is null.
+         */
+        static class ClassLoader {
+            static final int COMMAND = 2;
+
+            static ClassLoader process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ClassLoader"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static ClassLoader waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ClassLoader(vm, ps);
+            }
+
+
+            /**
+             * The class loader for the reference type. 
+             */
+            final ClassLoaderReferenceImpl classLoader;
+
+            private ClassLoader(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ClassLoader"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                classLoader = ps.readClassLoaderReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classLoader(ClassLoaderReferenceImpl): " + (classLoader==null?"NULL":"ref="+classLoader.ref()));
+                }
+            }
+        }
+
+        /**
+         * Returns the modifiers (also known as access flags) for a reference type. 
+         * The returned bit mask contains information on the declaration 
+         * of the reference type. If the reference type is an array or 
+         * a primitive class (for example, java.lang.Integer.TYPE), the 
+         * value of the returned bit mask is undefined.
+         */
+        static class Modifiers {
+            static final int COMMAND = 3;
+
+            static Modifiers process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Modifiers"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Modifiers waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Modifiers(vm, ps);
+            }
+
+
+            /**
+             * Modifier bits as defined in the 
+             * <a href="http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html">VM Specification</a>
+             */
+            final int modBits;
+
+            private Modifiers(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Modifiers"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                modBits = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "modBits(int): " + modBits);
+                }
+            }
+        }
+
+        /**
+         * Returns information for each field in a reference type. 
+         * Inherited fields are not included. 
+         * The field list will include any synthetic fields created 
+         * by the compiler. 
+         * Fields are returned in the order they occur in the class file.
+         */
+        static class Fields {
+            static final int COMMAND = 4;
+
+            static Fields process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Fields"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Fields waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Fields(vm, ps);
+            }
+
+            static class FieldInfo {
+
+                /**
+                 * Field ID.
+                 */
+                final long fieldID;
+
+                /**
+                 * Name of field.
+                 */
+                final String name;
+
+                /**
+                 * JNI Signature of field.
+                 */
+                final String signature;
+
+                /**
+                 * The modifier bit flags (also known as access flags) 
+                 * which provide additional information on the  
+                 * field declaration. Individual flag values are 
+                 * defined in the 
+                 * <a href="http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html">VM Specification</a>.
+                 * In addition, The <code>0xf0000000</code> bit identifies 
+                 * the field as synthetic, if the synthetic attribute 
+                 * <a href="#JDWP_VirtualMachine_Capabilities">capability</a> is available.
+                 */
+                final int modBits;
+
+                private FieldInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    fieldID = ps.readFieldRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "fieldID(long): " + fieldID);
+                    }
+                    name = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "name(String): " + name);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    modBits = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "modBits(int): " + modBits);
+                    }
+                }
+            }
+
+
+            /**
+             * Number of declared fields.
+             */
+            final FieldInfo[] declared;
+
+            private Fields(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Fields"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "declared(FieldInfo[]): " + "");
+                }
+                int declaredCount = ps.readInt();
+                declared = new FieldInfo[declaredCount];
+                for (int i = 0; i < declaredCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "declared[i](FieldInfo): " + "");
+                    }
+                    declared[i] = new FieldInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns information for each method in a reference type. 
+         * Inherited methods are not included. The list of methods will 
+         * include constructors (identified with the name "&lt;init&gt;"), 
+         * the initialization method (identified with the name "&lt;clinit&gt;") 
+         * if present, and any synthetic methods created by the compiler. 
+         * Methods are returned in the order they occur in the class file.
+         */
+        static class Methods {
+            static final int COMMAND = 5;
+
+            static Methods process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Methods"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Methods waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Methods(vm, ps);
+            }
+
+            static class MethodInfo {
+
+                /**
+                 * Method ID.
+                 */
+                final long methodID;
+
+                /**
+                 * Name of method.
+                 */
+                final String name;
+
+                /**
+                 * JNI signature of method.
+                 */
+                final String signature;
+
+                /**
+                 * The modifier bit flags (also known as access flags) 
+                 * which provide additional information on the  
+                 * method declaration. Individual flag values are 
+                 * defined in the 
+                 * <a href="http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html">VM Specification</a>.
+                 * In addition, The <code>0xf0000000</code> bit identifies 
+                 * the method as synthetic, if the synthetic attribute 
+                 * <a href="#JDWP_VirtualMachine_Capabilities">capability</a> is available.
+                 */
+                final int modBits;
+
+                private MethodInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    methodID = ps.readMethodRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "methodID(long): " + methodID);
+                    }
+                    name = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "name(String): " + name);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    modBits = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "modBits(int): " + modBits);
+                    }
+                }
+            }
+
+
+            /**
+             * Number of declared methods.
+             */
+            final MethodInfo[] declared;
+
+            private Methods(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Methods"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "declared(MethodInfo[]): " + "");
+                }
+                int declaredCount = ps.readInt();
+                declared = new MethodInfo[declaredCount];
+                for (int i = 0; i < declaredCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "declared[i](MethodInfo): " + "");
+                    }
+                    declared[i] = new MethodInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns the value of one or more static fields of the 
+         * reference type. Each field must be member of the reference type 
+         * or one of its superclasses, superinterfaces, or implemented interfaces. 
+         * Access control is not enforced; for example, the values of private 
+         * fields can be obtained.
+         */
+        static class GetValues {
+            static final int COMMAND = 6;
+
+            static class Field {
+
+                /**
+                 * A field to get
+                 */
+                final long fieldID;
+
+                Field(long fieldID) {
+                    this.fieldID = fieldID;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     fieldID(long): " + fieldID);
+                    }
+                    ps.writeFieldRef(fieldID);
+                }
+            }
+
+            static GetValues process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                Field[] fields)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType, fields);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                Field[] fields) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 fields(Field[]): " + "");
+                }
+                ps.writeInt(fields.length);
+                for (int i = 0; i < fields.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     fields[i](Field): " + "");
+                    }
+                    fields[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static GetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new GetValues(vm, ps);
+            }
+
+
+            /**
+             * The number of values returned, always equal to fields, 
+             * the number of values to get.
+             */
+            final ValueImpl[] values;
+
+            private GetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "values(ValueImpl[]): " + "");
+                }
+                int valuesCount = ps.readInt();
+                values = new ValueImpl[valuesCount];
+                for (int i = 0; i < valuesCount; i++) {;
+                    values[i] = ps.readValue();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "values[i](ValueImpl): " + values[i]);
+                    }
+                }
+            }
+        }
+
+        /**
+         * Returns the name of source file in which a reference type was 
+         * declared. 
+         */
+        static class SourceFile {
+            static final int COMMAND = 7;
+
+            static SourceFile process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.SourceFile"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static SourceFile waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SourceFile(vm, ps);
+            }
+
+
+            /**
+             * The source file name. No path information 
+             * for the file is included
+             */
+            final String sourceFile;
+
+            private SourceFile(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.SourceFile"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                sourceFile = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "sourceFile(String): " + sourceFile);
+                }
+            }
+        }
+
+        /**
+         * Returns the classes and interfaces directly nested within this type.
+         * Types further nested within those types are not included. 
+         */
+        static class NestedTypes {
+            static final int COMMAND = 8;
+
+            static NestedTypes process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.NestedTypes"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static NestedTypes waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new NestedTypes(vm, ps);
+            }
+
+            static class TypeInfo {
+
+                /**
+                 * <a href="#JDWP_TypeTag">Kind</a> 
+                 * of following reference type. 
+                 */
+                final byte refTypeTag;
+
+                /**
+                 * The nested class or interface ID.
+                 */
+                final long typeID;
+
+                private TypeInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    refTypeTag = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "refTypeTag(byte): " + refTypeTag);
+                    }
+                    typeID = ps.readClassRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "typeID(long): " + "ref="+typeID);
+                    }
+                }
+            }
+
+
+            /**
+             * The number of nested classes and interfaces
+             */
+            final TypeInfo[] classes;
+
+            private NestedTypes(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.NestedTypes"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classes(TypeInfo[]): " + "");
+                }
+                int classesCount = ps.readInt();
+                classes = new TypeInfo[classesCount];
+                for (int i = 0; i < classesCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "classes[i](TypeInfo): " + "");
+                    }
+                    classes[i] = new TypeInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns the current status of the reference type. The status 
+         * indicates the extent to which the reference type has been 
+         * initialized, as described in the 
+         * <a href="http://java.sun.com/docs/books/vmspec/html/Concepts.doc.html#16491">VM specification</a>. 
+         * If the class is linked the PREPARED and VERIFIED bits in the returned status bits 
+         * will be set. If the class is initialized the INITIALIZED bit in the returned 
+         * status bits will be set. If an error occured during initialization then the 
+         * ERROR bit in the returned status bits will be set. 
+         * The returned status bits are undefined for array types and for 
+         * primitive classes (such as java.lang.Integer.TYPE). 
+         */
+        static class Status {
+            static final int COMMAND = 9;
+
+            static Status process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Status"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Status waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Status(vm, ps);
+            }
+
+
+            /**
+             * <a href="#JDWP_ClassStatus">Status</a> bits:
+             * See <a href="#JDWP_ClassStatus">JDWP.ClassStatus</a>
+             */
+            final int status;
+
+            private Status(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Status"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                status = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "status(int): " + status);
+                }
+            }
+        }
+
+        /**
+         * Returns the interfaces declared as implemented by this class. 
+         * Interfaces indirectly implemented (extended by the implemented 
+         * interface or implemented by a superclass) are not included.
+         */
+        static class Interfaces {
+            static final int COMMAND = 10;
+
+            static Interfaces process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Interfaces"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Interfaces waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Interfaces(vm, ps);
+            }
+
+
+            /**
+             * The number of implemented interfaces
+             */
+            final InterfaceTypeImpl[] interfaces;
+
+            private Interfaces(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Interfaces"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "interfaces(InterfaceTypeImpl[]): " + "");
+                }
+                int interfacesCount = ps.readInt();
+                interfaces = new InterfaceTypeImpl[interfacesCount];
+                for (int i = 0; i < interfacesCount; i++) {;
+                    interfaces[i] = vm.interfaceType(ps.readClassRef());
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "interfaces[i](InterfaceTypeImpl): " + (interfaces[i]==null?"NULL":"ref="+interfaces[i].ref()));
+                    }
+                }
+            }
+        }
+
+        /**
+         * Returns the class object corresponding to this type. 
+         */
+        static class ClassObject {
+            static final int COMMAND = 11;
+
+            static ClassObject process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ClassObject"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static ClassObject waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ClassObject(vm, ps);
+            }
+
+
+            /**
+             * class object.
+             */
+            final ClassObjectReferenceImpl classObject;
+
+            private ClassObject(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ClassObject"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                classObject = ps.readClassObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classObject(ClassObjectReferenceImpl): " + (classObject==null?"NULL":"ref="+classObject.ref()));
+                }
+            }
+        }
+
+        /**
+         * Returns the value of the SourceDebugExtension attribute. 
+         * Since JDWP version 1.4. Requires canGetSourceDebugExtension capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class SourceDebugExtension {
+            static final int COMMAND = 12;
+
+            static SourceDebugExtension process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.SourceDebugExtension"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static SourceDebugExtension waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SourceDebugExtension(vm, ps);
+            }
+
+
+            /**
+             * extension attribute
+             */
+            final String extension;
+
+            private SourceDebugExtension(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.SourceDebugExtension"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                extension = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "extension(String): " + extension);
+                }
+            }
+        }
+
+        /**
+         * Returns the JNI signature of a reference type along with the 
+         * generic signature if there is one.  
+         * Generic signatures are described in the signature attribute 
+         * section in the 
+         * <a href="http://java.sun.com/docs/books/vmspec">
+         * Java Virtual Machine Specification, 3rd Edition.</a>  
+         * Since JDWP version 1.5.
+         * <p>
+         */
+        static class SignatureWithGeneric {
+            static final int COMMAND = 13;
+
+            static SignatureWithGeneric process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.SignatureWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static SignatureWithGeneric waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SignatureWithGeneric(vm, ps);
+            }
+
+
+            /**
+             * The JNI signature for the reference type.
+             */
+            final String signature;
+
+            /**
+             * The generic signature for the reference type or an empty 
+             * string if there is none.
+             */
+            final String genericSignature;
+
+            private SignatureWithGeneric(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.SignatureWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                signature = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "signature(String): " + signature);
+                }
+                genericSignature = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "genericSignature(String): " + genericSignature);
+                }
+            }
+        }
+
+        /**
+         * Returns information, including the generic signature if any, 
+         * for each field in a reference type. 
+         * Inherited fields are not included. 
+         * The field list will include any synthetic fields created 
+         * by the compiler. 
+         * Fields are returned in the order they occur in the class file.  
+         * Generic signatures are described in the signature attribute 
+         * section in the 
+         * <a href="http://java.sun.com/docs/books/vmspec">
+         * Java Virtual Machine Specification, 3rd Edition.</a>  
+         * Since JDWP version 1.5.
+         */
+        static class FieldsWithGeneric {
+            static final int COMMAND = 14;
+
+            static FieldsWithGeneric process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.FieldsWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static FieldsWithGeneric waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new FieldsWithGeneric(vm, ps);
+            }
+
+            static class FieldInfo {
+
+                /**
+                 * Field ID.
+                 */
+                final long fieldID;
+
+                /**
+                 * The name of the field.
+                 */
+                final String name;
+
+                /**
+                 * The JNI signature of the field.
+                 */
+                final String signature;
+
+                /**
+                 * The generic signature of the 
+                 * field, or an empty string if there is none.
+                 */
+                final String genericSignature;
+
+                /**
+                 * The modifier bit flags (also known as access flags) 
+                 * which provide additional information on the  
+                 * field declaration. Individual flag values are 
+                 * defined in the 
+                 * <a href="http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html">VM Specification</a>.
+                 * In addition, The <code>0xf0000000</code> bit identifies 
+                 * the field as synthetic, if the synthetic attribute 
+                 * <a href="#JDWP_VirtualMachine_Capabilities">capability</a> is available.
+                 */
+                final int modBits;
+
+                private FieldInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    fieldID = ps.readFieldRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "fieldID(long): " + fieldID);
+                    }
+                    name = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "name(String): " + name);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    genericSignature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "genericSignature(String): " + genericSignature);
+                    }
+                    modBits = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "modBits(int): " + modBits);
+                    }
+                }
+            }
+
+
+            /**
+             * Number of declared fields.
+             */
+            final FieldInfo[] declared;
+
+            private FieldsWithGeneric(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.FieldsWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "declared(FieldInfo[]): " + "");
+                }
+                int declaredCount = ps.readInt();
+                declared = new FieldInfo[declaredCount];
+                for (int i = 0; i < declaredCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "declared[i](FieldInfo): " + "");
+                    }
+                    declared[i] = new FieldInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns information, including the generic signature if any, 
+         * for each method in a reference type. 
+         * Inherited methodss are not included. The list of methods will 
+         * include constructors (identified with the name "&lt;init&gt;"), 
+         * the initialization method (identified with the name "&lt;clinit&gt;") 
+         * if present, and any synthetic methods created by the compiler. 
+         * Methods are returned in the order they occur in the class file.  
+         * Generic signatures are described in the signature attribute 
+         * section in the 
+         * <a href="http://java.sun.com/docs/books/vmspec">
+         * Java Virtual Machine Specification, 3rd Edition.</a>  
+         * Since JDWP version 1.5.
+         */
+        static class MethodsWithGeneric {
+            static final int COMMAND = 15;
+
+            static MethodsWithGeneric process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.MethodsWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static MethodsWithGeneric waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new MethodsWithGeneric(vm, ps);
+            }
+
+            static class MethodInfo {
+
+                /**
+                 * Method ID.
+                 */
+                final long methodID;
+
+                /**
+                 * The name of the method.
+                 */
+                final String name;
+
+                /**
+                 * The JNI signature of the method.
+                 */
+                final String signature;
+
+                /**
+                 * The generic signature of the method, or 
+                 * an empty string if there is none.
+                 */
+                final String genericSignature;
+
+                /**
+                 * The modifier bit flags (also known as access flags) 
+                 * which provide additional information on the  
+                 * method declaration. Individual flag values are 
+                 * defined in the 
+                 * <a href="http://java.sun.com/docs/books/vmspec/html/ClassFile.doc.html">VM Specification</a>.
+                 * In addition, The <code>0xf0000000</code> bit identifies 
+                 * the method as synthetic, if the synthetic attribute 
+                 * <a href="#JDWP_VirtualMachine_Capabilities">capability</a> is available.
+                 */
+                final int modBits;
+
+                private MethodInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    methodID = ps.readMethodRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "methodID(long): " + methodID);
+                    }
+                    name = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "name(String): " + name);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    genericSignature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "genericSignature(String): " + genericSignature);
+                    }
+                    modBits = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "modBits(int): " + modBits);
+                    }
+                }
+            }
+
+
+            /**
+             * Number of declared methods.
+             */
+            final MethodInfo[] declared;
+
+            private MethodsWithGeneric(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.MethodsWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "declared(MethodInfo[]): " + "");
+                }
+                int declaredCount = ps.readInt();
+                declared = new MethodInfo[declaredCount];
+                for (int i = 0; i < declaredCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "declared[i](MethodInfo): " + "");
+                    }
+                    declared[i] = new MethodInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns instances of this reference type. 
+         * Only instances that are reachable for the purposes of 
+         * garbage collection are returned. 
+         * <p>Since JDWP version 1.6. Requires canGetInstanceInfo capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class Instances {
+            static final int COMMAND = 16;
+
+            static Instances process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                int maxInstances)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType, maxInstances);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                int maxInstances) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Instances"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 maxInstances(int): " + maxInstances);
+                }
+                ps.writeInt(maxInstances);
+                ps.send();
+                return ps;
+            }
+
+            static Instances waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Instances(vm, ps);
+            }
+
+
+            /**
+             * The number of instances that follow.
+             */
+            final ObjectReferenceImpl[] instances;
+
+            private Instances(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.Instances"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "instances(ObjectReferenceImpl[]): " + "");
+                }
+                int instancesCount = ps.readInt();
+                instances = new ObjectReferenceImpl[instancesCount];
+                for (int i = 0; i < instancesCount; i++) {;
+                    instances[i] = ps.readTaggedObjectReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "instances[i](ObjectReferenceImpl): " + (instances[i]==null?"NULL":"ref="+instances[i].ref()));
+                    }
+                }
+            }
+        }
+
+        /**
+         * Returns the class file major and minor version numbers, as defined in the class 
+         * file format of the Java Virtual Machine specification. 
+         * <p>Since JDWP version 1.6. 
+         */
+        static class ClassFileVersion {
+            static final int COMMAND = 17;
+
+            static ClassFileVersion process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ClassFileVersion"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static ClassFileVersion waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ClassFileVersion(vm, ps);
+            }
+
+
+            /**
+             * Major version number
+             */
+            final int majorVersion;
+
+            /**
+             * Minor version number
+             */
+            final int minorVersion;
+
+            private ClassFileVersion(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ClassFileVersion"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                majorVersion = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "majorVersion(int): " + majorVersion);
+                }
+                minorVersion = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "minorVersion(int): " + minorVersion);
+                }
+            }
+        }
+
+        /**
+         * Return the raw bytes of the constant pool in the format of the 
+         * constant_pool item of the Class File Format in the 
+         * Java Virtual Machine Specification. 
+         * <p>Since JDWP version 1.6. Requires canGetConstantPool capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         * 
+         */
+        static class ConstantPool {
+            static final int COMMAND = 18;
+
+            static ConstantPool process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ConstantPool"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                ps.send();
+                return ps;
+            }
+
+            static ConstantPool waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ConstantPool(vm, ps);
+            }
+
+
+            /**
+             * Total number of constant pool entries plus one. This 
+             * corresponds to the constant_pool_count item of the 
+             * Class File Format in the Java Virtual Machine Specification. 
+             */
+            final int count;
+
+            final byte[] bytes;
+
+            private ConstantPool(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ReferenceType.ConstantPool"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                count = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "count(int): " + count);
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "bytes(byte[]): " + "");
+                }
+                int bytesCount = ps.readInt();
+                bytes = new byte[bytesCount];
+                for (int i = 0; i < bytesCount; i++) {;
+                    bytes[i] = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "bytes[i](byte): " + bytes[i]);
+                    }
+                }
+            }
+        }
+    }
+
+    static class ClassType {
+        static final int COMMAND_SET = 3;
+        private ClassType() {}  // hide constructor
+
+        /**
+         * Returns the immediate superclass of a class.
+         */
+        static class Superclass {
+            static final int COMMAND = 1;
+
+            static Superclass process(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, clazz);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ClassType.Superclass"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 clazz(ClassTypeImpl): " + (clazz==null?"NULL":"ref="+clazz.ref()));
+                }
+                ps.writeClassRef(clazz.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Superclass waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Superclass(vm, ps);
+            }
+
+
+            /**
+             * The superclass (null if the class ID for java.lang.Object is specified).
+             */
+            final ClassTypeImpl superclass;
+
+            private Superclass(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ClassType.Superclass"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                superclass = vm.classType(ps.readClassRef());
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "superclass(ClassTypeImpl): " + (superclass==null?"NULL":"ref="+superclass.ref()));
+                }
+            }
+        }
+
+        /**
+         * Sets the value of one or more static fields. 
+         * Each field must be member of the class type 
+         * or one of its superclasses, superinterfaces, or implemented interfaces. 
+         * Access control is not enforced; for example, the values of private 
+         * fields can be set. Final fields cannot be set.
+         * For primitive values, the value's type must match the 
+         * field's type exactly. For object values, there must exist a 
+         * widening reference conversion from the value's type to the 
+         * field's type and the field's type must be loaded. 
+         */
+        static class SetValues {
+            static final int COMMAND = 2;
+
+            /**
+             * A Field/Value pair.
+             */
+            static class FieldValue {
+
+                /**
+                 * Field to set.
+                 */
+                final long fieldID;
+
+                /**
+                 * Value to put in the field.
+                 */
+                final ValueImpl value;
+
+                FieldValue(long fieldID, ValueImpl value) {
+                    this.fieldID = fieldID;
+                    this.value = value;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     fieldID(long): " + fieldID);
+                    }
+                    ps.writeFieldRef(fieldID);
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     value(ValueImpl): " + value);
+                    }
+                    ps.writeUntaggedValue(value);
+                }
+            }
+
+            static SetValues process(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz, 
+                                FieldValue[] values)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, clazz, values);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz, 
+                                FieldValue[] values) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ClassType.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 clazz(ClassTypeImpl): " + (clazz==null?"NULL":"ref="+clazz.ref()));
+                }
+                ps.writeClassRef(clazz.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 values(FieldValue[]): " + "");
+                }
+                ps.writeInt(values.length);
+                for (int i = 0; i < values.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     values[i](FieldValue): " + "");
+                    }
+                    values[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static SetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SetValues(vm, ps);
+            }
+
+
+            private SetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ClassType.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Invokes a static method. 
+         * The method must be member of the class type 
+         * or one of its superclasses, superinterfaces, or implemented interfaces. 
+         * Access control is not enforced; for example, private 
+         * methods can be invoked.
+         * <p>
+         * The method invocation will occur in the specified thread. 
+         * Method invocation can occur only if the specified thread 
+         * has been suspended by an event. 
+         * Method invocation is not supported 
+         * when the target VM has been suspended by the front-end. 
+         * <p>
+         * The specified method is invoked with the arguments in the specified 
+         * argument list. 
+         * The method invocation is synchronous; the reply packet is not 
+         * sent until the invoked method returns in the target VM. 
+         * The return value (possibly the void value) is 
+         * included in the reply packet. 
+         * If the invoked method throws an exception, the 
+         * exception object ID is set in the reply packet; otherwise, the 
+         * exception object ID is null. 
+         * <p>
+         * For primitive arguments, the argument value's type must match the 
+         * argument's type exactly. For object arguments, there must exist a 
+         * widening reference conversion from the argument value's type to the 
+         * argument's type and the argument's type must be loaded. 
+         * <p>
+         * By default, all threads in the target VM are resumed while 
+         * the method is being invoked if they were previously 
+         * suspended by an event or by command. 
+         * This is done to prevent the deadlocks 
+         * that will occur if any of the threads own monitors 
+         * that will be needed by the invoked method. It is possible that 
+         * breakpoints or other events might occur during the invocation. 
+         * Note, however, that this implicit resume acts exactly like 
+         * the ThreadReference resume command, so if the thread's suspend 
+         * count is greater than 1, it will remain in a suspended state 
+         * during the invocation. By default, when the invocation completes, 
+         * all threads in the target VM are suspended, regardless their state 
+         * before the invocation. 
+         * <p>
+         * The resumption of other threads during the invoke can be prevented 
+         * by specifying the INVOKE_SINGLE_THREADED 
+         * bit flag in the <code>options</code> field; however, 
+         * there is no protection against or recovery from the deadlocks 
+         * described above, so this option should be used with great caution. 
+         * Only the specified thread will be resumed (as described for all 
+         * threads above). Upon completion of a single threaded invoke, the invoking thread 
+         * will be suspended once again. Note that any threads started during 
+         * the single threaded invocation will not be suspended when the 
+         * invocation completes. 
+         * <p>
+         * If the target VM is disconnected during the invoke (for example, through 
+         * the VirtualMachine dispose command) the method invocation continues. 
+         */
+        static class InvokeMethod {
+            static final int COMMAND = 3;
+
+            static InvokeMethod process(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz, 
+                                ThreadReferenceImpl thread, 
+                                long methodID, 
+                                ValueImpl[] arguments, 
+                                int options)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, clazz, thread, methodID, arguments, options);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz, 
+                                ThreadReferenceImpl thread, 
+                                long methodID, 
+                                ValueImpl[] arguments, 
+                                int options) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ClassType.InvokeMethod"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 clazz(ClassTypeImpl): " + (clazz==null?"NULL":"ref="+clazz.ref()));
+                }
+                ps.writeClassRef(clazz.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 arguments(ValueImpl[]): " + "");
+                }
+                ps.writeInt(arguments.length);
+                for (int i = 0; i < arguments.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     arguments[i](ValueImpl): " + arguments[i]);
+                    }
+                    ps.writeValue(arguments[i]);
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 options(int): " + options);
+                }
+                ps.writeInt(options);
+                ps.send();
+                return ps;
+            }
+
+            static InvokeMethod waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new InvokeMethod(vm, ps);
+            }
+
+
+            /**
+             * The returned value.
+             */
+            final ValueImpl returnValue;
+
+            /**
+             * The thrown exception.
+             */
+            final ObjectReferenceImpl exception;
+
+            private InvokeMethod(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ClassType.InvokeMethod"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                returnValue = ps.readValue();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "returnValue(ValueImpl): " + returnValue);
+                }
+                exception = ps.readTaggedObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "exception(ObjectReferenceImpl): " + (exception==null?"NULL":"ref="+exception.ref()));
+                }
+            }
+        }
+
+        /**
+         * Creates a new object of this type, invoking the specified 
+         * constructor. The constructor method ID must be a member of 
+         * the class type.
+         * <p>
+         * Instance creation will occur in the specified thread. 
+         * Instance creation can occur only if the specified thread 
+         * has been suspended by an event. 
+         * Method invocation is not supported 
+         * when the target VM has been suspended by the front-end. 
+         * <p>
+         * The specified constructor is invoked with the arguments in the specified 
+         * argument list. 
+         * The constructor invocation is synchronous; the reply packet is not 
+         * sent until the invoked method returns in the target VM. 
+         * The return value (possibly the void value) is 
+         * included in the reply packet. 
+         * If the constructor throws an exception, the 
+         * exception object ID is set in the reply packet; otherwise, the 
+         * exception object ID is null. 
+         * <p>
+         * For primitive arguments, the argument value's type must match the 
+         * argument's type exactly. For object arguments, there must exist a 
+         * widening reference conversion from the argument value's type to the 
+         * argument's type and the argument's type must be loaded. 
+         * <p>
+         * By default, all threads in the target VM are resumed while 
+         * the method is being invoked if they were previously 
+         * suspended by an event or by command. 
+         * This is done to prevent the deadlocks 
+         * that will occur if any of the threads own monitors 
+         * that will be needed by the invoked method. It is possible that 
+         * breakpoints or other events might occur during the invocation. 
+         * Note, however, that this implicit resume acts exactly like 
+         * the ThreadReference resume command, so if the thread's suspend 
+         * count is greater than 1, it will remain in a suspended state 
+         * during the invocation. By default, when the invocation completes, 
+         * all threads in the target VM are suspended, regardless their state 
+         * before the invocation. 
+         * <p>
+         * The resumption of other threads during the invoke can be prevented 
+         * by specifying the INVOKE_SINGLE_THREADED 
+         * bit flag in the <code>options</code> field; however, 
+         * there is no protection against or recovery from the deadlocks 
+         * described above, so this option should be used with great caution. 
+         * Only the specified thread will be resumed (as described for all 
+         * threads above). Upon completion of a single threaded invoke, the invoking thread 
+         * will be suspended once again. Note that any threads started during 
+         * the single threaded invocation will not be suspended when the 
+         * invocation completes. 
+         * <p>
+         * If the target VM is disconnected during the invoke (for example, through 
+         * the VirtualMachine dispose command) the method invocation continues. 
+         */
+        static class NewInstance {
+            static final int COMMAND = 4;
+
+            static NewInstance process(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz, 
+                                ThreadReferenceImpl thread, 
+                                long methodID, 
+                                ValueImpl[] arguments, 
+                                int options)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, clazz, thread, methodID, arguments, options);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ClassTypeImpl clazz, 
+                                ThreadReferenceImpl thread, 
+                                long methodID, 
+                                ValueImpl[] arguments, 
+                                int options) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ClassType.NewInstance"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 clazz(ClassTypeImpl): " + (clazz==null?"NULL":"ref="+clazz.ref()));
+                }
+                ps.writeClassRef(clazz.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 arguments(ValueImpl[]): " + "");
+                }
+                ps.writeInt(arguments.length);
+                for (int i = 0; i < arguments.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     arguments[i](ValueImpl): " + arguments[i]);
+                    }
+                    ps.writeValue(arguments[i]);
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 options(int): " + options);
+                }
+                ps.writeInt(options);
+                ps.send();
+                return ps;
+            }
+
+            static NewInstance waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new NewInstance(vm, ps);
+            }
+
+
+            /**
+             * The newly created object, or null 
+             * if the constructor threw an exception.
+             */
+            final ObjectReferenceImpl newObject;
+
+            /**
+             * The thrown exception, if any; otherwise, null.
+             */
+            final ObjectReferenceImpl exception;
+
+            private NewInstance(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ClassType.NewInstance"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                newObject = ps.readTaggedObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "newObject(ObjectReferenceImpl): " + (newObject==null?"NULL":"ref="+newObject.ref()));
+                }
+                exception = ps.readTaggedObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "exception(ObjectReferenceImpl): " + (exception==null?"NULL":"ref="+exception.ref()));
+                }
+            }
+        }
+    }
+
+    static class ArrayType {
+        static final int COMMAND_SET = 4;
+        private ArrayType() {}  // hide constructor
+
+        /**
+         * Creates a new array object of this type with a given length.
+         */
+        static class NewInstance {
+            static final int COMMAND = 1;
+
+            static NewInstance process(VirtualMachineImpl vm, 
+                                ArrayTypeImpl arrType, 
+                                int length)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, arrType, length);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ArrayTypeImpl arrType, 
+                                int length) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ArrayType.NewInstance"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 arrType(ArrayTypeImpl): " + (arrType==null?"NULL":"ref="+arrType.ref()));
+                }
+                ps.writeClassRef(arrType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 length(int): " + length);
+                }
+                ps.writeInt(length);
+                ps.send();
+                return ps;
+            }
+
+            static NewInstance waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new NewInstance(vm, ps);
+            }
+
+
+            /**
+             * The newly created array object. 
+             */
+            final ObjectReferenceImpl newArray;
+
+            private NewInstance(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ArrayType.NewInstance"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                newArray = ps.readTaggedObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "newArray(ObjectReferenceImpl): " + (newArray==null?"NULL":"ref="+newArray.ref()));
+                }
+            }
+        }
+    }
+
+    static class InterfaceType {
+        static final int COMMAND_SET = 5;
+        private InterfaceType() {}  // hide constructor
+    }
+
+    static class Method {
+        static final int COMMAND_SET = 6;
+        private Method() {}  // hide constructor
+
+        /**
+         * Returns line number information for the method, if present. 
+         * The line table maps source line numbers to the initial code index 
+         * of the line. The line table 
+         * is ordered by code index (from lowest to highest). The line number 
+         * information is constant unless a new class definition is installed 
+         * using <a href="#JDWP_VirtualMachine_RedefineClasses">RedefineClasses</a>.
+         */
+        static class LineTable {
+            static final int COMMAND = 1;
+
+            static LineTable process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType, methodID);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.Method.LineTable"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                ps.send();
+                return ps;
+            }
+
+            static LineTable waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new LineTable(vm, ps);
+            }
+
+            static class LineInfo {
+
+                /**
+                 * Initial code index of the line, 
+                 * start <= lineCodeIndex < end
+                 */
+                final long lineCodeIndex;
+
+                /**
+                 * Line number.
+                 */
+                final int lineNumber;
+
+                private LineInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    lineCodeIndex = ps.readLong();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "lineCodeIndex(long): " + lineCodeIndex);
+                    }
+                    lineNumber = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "lineNumber(int): " + lineNumber);
+                    }
+                }
+            }
+
+
+            /**
+             * Lowest valid code index for the method, >=0, or -1 if the method is native 
+             */
+            final long start;
+
+            /**
+             * Highest valid code index for the method, >=0, or -1 if the method is native
+             */
+            final long end;
+
+            /**
+             * The number of entries in the line table for this method.
+             */
+            final LineInfo[] lines;
+
+            private LineTable(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.Method.LineTable"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                start = ps.readLong();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "start(long): " + start);
+                }
+                end = ps.readLong();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "end(long): " + end);
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "lines(LineInfo[]): " + "");
+                }
+                int linesCount = ps.readInt();
+                lines = new LineInfo[linesCount];
+                for (int i = 0; i < linesCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "lines[i](LineInfo): " + "");
+                    }
+                    lines[i] = new LineInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns variable information for the method. The variable table 
+         * includes arguments and locals declared within the method. For 
+         * instance methods, the "this" reference is included in the 
+         * table. Also, synthetic variables may be present. 
+         */
+        static class VariableTable {
+            static final int COMMAND = 2;
+
+            static VariableTable process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType, methodID);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.Method.VariableTable"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                ps.send();
+                return ps;
+            }
+
+            static VariableTable waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new VariableTable(vm, ps);
+            }
+
+            /**
+             * Information about the variable.
+             */
+            static class SlotInfo {
+
+                /**
+                 * First code index at which the variable is visible (unsigned). 
+                 * Used in conjunction with <code>length</code>. 
+                 * The variable can be get or set only when the current 
+                 * <code>codeIndex</code> <= current frame code index < <code>codeIndex + length</code> 
+                 */
+                final long codeIndex;
+
+                /**
+                 * The variable's name.
+                 */
+                final String name;
+
+                /**
+                 * The variable type's JNI signature.
+                 */
+                final String signature;
+
+                /**
+                 * Unsigned value used in conjunction with <code>codeIndex</code>. 
+                 * The variable can be get or set only when the current 
+                 * <code>codeIndex</code> <= current frame code index < <code>code index + length</code> 
+                 */
+                final int length;
+
+                /**
+                 * The local variable's index in its frame
+                 */
+                final int slot;
+
+                private SlotInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    codeIndex = ps.readLong();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "codeIndex(long): " + codeIndex);
+                    }
+                    name = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "name(String): " + name);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    length = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "length(int): " + length);
+                    }
+                    slot = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "slot(int): " + slot);
+                    }
+                }
+            }
+
+
+            /**
+             * The number of words in the frame used by arguments. 
+             * Eight-byte arguments use two words; all others use one. 
+             */
+            final int argCnt;
+
+            /**
+             * The number of variables.
+             */
+            final SlotInfo[] slots;
+
+            private VariableTable(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.Method.VariableTable"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                argCnt = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "argCnt(int): " + argCnt);
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "slots(SlotInfo[]): " + "");
+                }
+                int slotsCount = ps.readInt();
+                slots = new SlotInfo[slotsCount];
+                for (int i = 0; i < slotsCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "slots[i](SlotInfo): " + "");
+                    }
+                    slots[i] = new SlotInfo(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Retrieve the method's bytecodes as defined in the JVM Specification.
+         * Requires canGetBytecodes capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class Bytecodes {
+            static final int COMMAND = 3;
+
+            static Bytecodes process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType, methodID);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.Method.Bytecodes"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                ps.send();
+                return ps;
+            }
+
+            static Bytecodes waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Bytecodes(vm, ps);
+            }
+
+
+            final byte[] bytes;
+
+            private Bytecodes(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.Method.Bytecodes"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "bytes(byte[]): " + "");
+                }
+                int bytesCount = ps.readInt();
+                bytes = new byte[bytesCount];
+                for (int i = 0; i < bytesCount; i++) {;
+                    bytes[i] = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "bytes[i](byte): " + bytes[i]);
+                    }
+                }
+            }
+        }
+
+        /**
+         * Determine if this method is obsolete. A method is obsolete if it has been replaced 
+         * by a non-equivalent method using the 
+         * <a href="#JDWP_VirtualMachine_RedefineClasses">RedefineClasses</a> command. 
+         * The original and redefined methods are considered equivalent if their bytecodes are 
+         * the same except for indices into the constant pool and the referenced constants are 
+         * equal.
+         */
+        static class IsObsolete {
+            static final int COMMAND = 4;
+
+            static IsObsolete process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType, methodID);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.Method.IsObsolete"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                ps.send();
+                return ps;
+            }
+
+            static IsObsolete waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new IsObsolete(vm, ps);
+            }
+
+
+            /**
+             * true if this method has been replaced
+             * by a non-equivalent method using
+             * the RedefineClasses command.
+             */
+            final boolean isObsolete;
+
+            private IsObsolete(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.Method.IsObsolete"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                isObsolete = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "isObsolete(boolean): " + isObsolete);
+                }
+            }
+        }
+
+        /**
+         * Returns variable information for the method, including 
+         * generic signatures for the variables. The variable table 
+         * includes arguments and locals declared within the method. For 
+         * instance methods, the "this" reference is included in the 
+         * table. Also, synthetic variables may be present. 
+         * Generic signatures are described in the signature attribute 
+         * section in the 
+         * <a href="http://java.sun.com/docs/books/vmspec">
+         * Java Virtual Machine Specification, 3rd Edition.</a>  
+         * Since JDWP version 1.5.
+         */
+        static class VariableTableWithGeneric {
+            static final int COMMAND = 5;
+
+            static VariableTableWithGeneric process(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, refType, methodID);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ReferenceTypeImpl refType, 
+                                long methodID) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.Method.VariableTableWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 refType(ReferenceTypeImpl): " + (refType==null?"NULL":"ref="+refType.ref()));
+                }
+                ps.writeClassRef(refType.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                ps.send();
+                return ps;
+            }
+
+            static VariableTableWithGeneric waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new VariableTableWithGeneric(vm, ps);
+            }
+
+            /**
+             * Information about the variable.
+             */
+            static class SlotInfo {
+
+                /**
+                 * First code index at which the variable is visible (unsigned). 
+                 * Used in conjunction with <code>length</code>. 
+                 * The variable can be get or set only when the current 
+                 * <code>codeIndex</code> <= current frame code index < <code>codeIndex + length</code> 
+                 */
+                final long codeIndex;
+
+                /**
+                 * The variable's name.
+                 */
+                final String name;
+
+                /**
+                 * The variable type's JNI signature.
+                 */
+                final String signature;
+
+                /**
+                 * The variable type's generic 
+                 * signature or an empty string if there is none.
+                 */
+                final String genericSignature;
+
+                /**
+                 * Unsigned value used in conjunction with <code>codeIndex</code>. 
+                 * The variable can be get or set only when the current 
+                 * <code>codeIndex</code> <= current frame code index < <code>code index + length</code> 
+                 */
+                final int length;
+
+                /**
+                 * The local variable's index in its frame
+                 */
+                final int slot;
+
+                private SlotInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    codeIndex = ps.readLong();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "codeIndex(long): " + codeIndex);
+                    }
+                    name = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "name(String): " + name);
+                    }
+                    signature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "signature(String): " + signature);
+                    }
+                    genericSignature = ps.readString();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "genericSignature(String): " + genericSignature);
+                    }
+                    length = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "length(int): " + length);
+                    }
+                    slot = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "slot(int): " + slot);
+                    }
+                }
+            }
+
+
+            /**
+             * The number of words in the frame used by arguments. 
+             * Eight-byte arguments use two words; all others use one. 
+             */
+            final int argCnt;
+
+            /**
+             * The number of variables.
+             */
+            final SlotInfo[] slots;
+
+            private VariableTableWithGeneric(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.Method.VariableTableWithGeneric"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                argCnt = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "argCnt(int): " + argCnt);
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "slots(SlotInfo[]): " + "");
+                }
+                int slotsCount = ps.readInt();
+                slots = new SlotInfo[slotsCount];
+                for (int i = 0; i < slotsCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "slots[i](SlotInfo): " + "");
+                    }
+                    slots[i] = new SlotInfo(vm, ps);
+                }
+            }
+        }
+    }
+
+    static class Field {
+        static final int COMMAND_SET = 8;
+        private Field() {}  // hide constructor
+    }
+
+    static class ObjectReference {
+        static final int COMMAND_SET = 9;
+        private ObjectReference() {}  // hide constructor
+
+        /**
+         * Returns the runtime type of the object. 
+         * The runtime type will be a class or an array. 
+         */
+        static class ReferenceType {
+            static final int COMMAND = 1;
+
+            static ReferenceType process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.ReferenceType"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                ps.send();
+                return ps;
+            }
+
+            static ReferenceType waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ReferenceType(vm, ps);
+            }
+
+
+            /**
+             * <a href="#JDWP_TypeTag">Kind</a> 
+             * of following reference type. 
+             */
+            final byte refTypeTag;
+
+            /**
+             * The runtime reference type.
+             */
+            final long typeID;
+
+            private ReferenceType(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.ReferenceType"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                refTypeTag = ps.readByte();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "refTypeTag(byte): " + refTypeTag);
+                }
+                typeID = ps.readClassRef();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "typeID(long): " + "ref="+typeID);
+                }
+            }
+        }
+
+        /**
+         * Returns the value of one or more instance fields. 
+         * Each field must be member of the object's type 
+         * or one of its superclasses, superinterfaces, or implemented interfaces. 
+         * Access control is not enforced; for example, the values of private 
+         * fields can be obtained.
+         */
+        static class GetValues {
+            static final int COMMAND = 2;
+
+            static class Field {
+
+                /**
+                 * Field to get.
+                 */
+                final long fieldID;
+
+                Field(long fieldID) {
+                    this.fieldID = fieldID;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     fieldID(long): " + fieldID);
+                    }
+                    ps.writeFieldRef(fieldID);
+                }
+            }
+
+            static GetValues process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                Field[] fields)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object, fields);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                Field[] fields) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 fields(Field[]): " + "");
+                }
+                ps.writeInt(fields.length);
+                for (int i = 0; i < fields.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     fields[i](Field): " + "");
+                    }
+                    fields[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static GetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new GetValues(vm, ps);
+            }
+
+
+            /**
+             * The number of values returned, always equal to 'fields', 
+             * the number of values to get. Field values are ordered 
+             * in the reply in the same order as corresponding fieldIDs 
+             * in the command.
+             */
+            final ValueImpl[] values;
+
+            private GetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "values(ValueImpl[]): " + "");
+                }
+                int valuesCount = ps.readInt();
+                values = new ValueImpl[valuesCount];
+                for (int i = 0; i < valuesCount; i++) {;
+                    values[i] = ps.readValue();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "values[i](ValueImpl): " + values[i]);
+                    }
+                }
+            }
+        }
+
+        /**
+         * Sets the value of one or more instance fields. 
+         * Each field must be member of the object's type 
+         * or one of its superclasses, superinterfaces, or implemented interfaces. 
+         * Access control is not enforced; for example, the values of private 
+         * fields can be set. 
+         * For primitive values, the value's type must match the 
+         * field's type exactly. For object values, there must be a 
+         * widening reference conversion from the value's type to the 
+         * field's type and the field's type must be loaded. 
+         */
+        static class SetValues {
+            static final int COMMAND = 3;
+
+            /**
+             * A Field/Value pair.
+             */
+            static class FieldValue {
+
+                /**
+                 * Field to set.
+                 */
+                final long fieldID;
+
+                /**
+                 * Value to put in the field.
+                 */
+                final ValueImpl value;
+
+                FieldValue(long fieldID, ValueImpl value) {
+                    this.fieldID = fieldID;
+                    this.value = value;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     fieldID(long): " + fieldID);
+                    }
+                    ps.writeFieldRef(fieldID);
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     value(ValueImpl): " + value);
+                    }
+                    ps.writeUntaggedValue(value);
+                }
+            }
+
+            static SetValues process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                FieldValue[] values)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object, values);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                FieldValue[] values) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 values(FieldValue[]): " + "");
+                }
+                ps.writeInt(values.length);
+                for (int i = 0; i < values.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     values[i](FieldValue): " + "");
+                    }
+                    values[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static SetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SetValues(vm, ps);
+            }
+
+
+            private SetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Returns monitor information for an object. All threads int the VM must 
+         * be suspended.
+         * Requires canGetMonitorInfo capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class MonitorInfo {
+            static final int COMMAND = 5;
+
+            static MonitorInfo process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.MonitorInfo"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                ps.send();
+                return ps;
+            }
+
+            static MonitorInfo waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new MonitorInfo(vm, ps);
+            }
+
+
+            /**
+             * The monitor owner, or null if it is not currently owned.
+             */
+            final ThreadReferenceImpl owner;
+
+            /**
+             * The number of times the monitor has been entered.
+             */
+            final int entryCount;
+
+            /**
+             * The number of threads that are waiting for the monitor 
+             * 0 if there is no current owner
+             */
+            final ThreadReferenceImpl[] waiters;
+
+            private MonitorInfo(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.MonitorInfo"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                owner = ps.readThreadReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "owner(ThreadReferenceImpl): " + (owner==null?"NULL":"ref="+owner.ref()));
+                }
+                entryCount = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "entryCount(int): " + entryCount);
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "waiters(ThreadReferenceImpl[]): " + "");
+                }
+                int waitersCount = ps.readInt();
+                waiters = new ThreadReferenceImpl[waitersCount];
+                for (int i = 0; i < waitersCount; i++) {;
+                    waiters[i] = ps.readThreadReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "waiters[i](ThreadReferenceImpl): " + (waiters[i]==null?"NULL":"ref="+waiters[i].ref()));
+                    }
+                }
+            }
+        }
+
+        /**
+         * Invokes a instance method. 
+         * The method must be member of the object's type 
+         * or one of its superclasses, superinterfaces, or implemented interfaces. 
+         * Access control is not enforced; for example, private 
+         * methods can be invoked.
+         * <p>
+         * The method invocation will occur in the specified thread. 
+         * Method invocation can occur only if the specified thread 
+         * has been suspended by an event. 
+         * Method invocation is not supported 
+         * when the target VM has been suspended by the front-end. 
+         * <p>
+         * The specified method is invoked with the arguments in the specified 
+         * argument list. 
+         * The method invocation is synchronous; the reply packet is not 
+         * sent until the invoked method returns in the target VM. 
+         * The return value (possibly the void value) is 
+         * included in the reply packet. 
+         * If the invoked method throws an exception, the 
+         * exception object ID is set in the reply packet; otherwise, the 
+         * exception object ID is null. 
+         * <p>
+         * For primitive arguments, the argument value's type must match the 
+         * argument's type exactly. For object arguments, there must be a 
+         * widening reference conversion from the argument value's type to the 
+         * argument's type and the argument's type must be loaded. 
+         * <p>
+         * By default, all threads in the target VM are resumed while 
+         * the method is being invoked if they were previously 
+         * suspended by an event or by command. 
+         * This is done to prevent the deadlocks 
+         * that will occur if any of the threads own monitors 
+         * that will be needed by the invoked method. It is possible that 
+         * breakpoints or other events might occur during the invocation. 
+         * Note, however, that this implicit resume acts exactly like 
+         * the ThreadReference resume command, so if the thread's suspend 
+         * count is greater than 1, it will remain in a suspended state 
+         * during the invocation. By default, when the invocation completes, 
+         * all threads in the target VM are suspended, regardless their state 
+         * before the invocation. 
+         * <p>
+         * The resumption of other threads during the invoke can be prevented 
+         * by specifying the INVOKE_SINGLE_THREADED 
+         * bit flag in the <code>options</code> field; however, 
+         * there is no protection against or recovery from the deadlocks 
+         * described above, so this option should be used with great caution. 
+         * Only the specified thread will be resumed (as described for all 
+         * threads above). Upon completion of a single threaded invoke, the invoking thread 
+         * will be suspended once again. Note that any threads started during 
+         * the single threaded invocation will not be suspended when the 
+         * invocation completes. 
+         * <p>
+         * If the target VM is disconnected during the invoke (for example, through 
+         * the VirtualMachine dispose command) the method invocation continues. 
+         */
+        static class InvokeMethod {
+            static final int COMMAND = 6;
+
+            static InvokeMethod process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                ThreadReferenceImpl thread, 
+                                ClassTypeImpl clazz, 
+                                long methodID, 
+                                ValueImpl[] arguments, 
+                                int options)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object, thread, clazz, methodID, arguments, options);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                ThreadReferenceImpl thread, 
+                                ClassTypeImpl clazz, 
+                                long methodID, 
+                                ValueImpl[] arguments, 
+                                int options) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.InvokeMethod"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 clazz(ClassTypeImpl): " + (clazz==null?"NULL":"ref="+clazz.ref()));
+                }
+                ps.writeClassRef(clazz.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 methodID(long): " + methodID);
+                }
+                ps.writeMethodRef(methodID);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 arguments(ValueImpl[]): " + "");
+                }
+                ps.writeInt(arguments.length);
+                for (int i = 0; i < arguments.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     arguments[i](ValueImpl): " + arguments[i]);
+                    }
+                    ps.writeValue(arguments[i]);
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 options(int): " + options);
+                }
+                ps.writeInt(options);
+                ps.send();
+                return ps;
+            }
+
+            static InvokeMethod waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new InvokeMethod(vm, ps);
+            }
+
+
+            /**
+             * The returned value, or null if an exception is thrown.
+             */
+            final ValueImpl returnValue;
+
+            /**
+             * The thrown exception, if any.
+             */
+            final ObjectReferenceImpl exception;
+
+            private InvokeMethod(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.InvokeMethod"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                returnValue = ps.readValue();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "returnValue(ValueImpl): " + returnValue);
+                }
+                exception = ps.readTaggedObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "exception(ObjectReferenceImpl): " + (exception==null?"NULL":"ref="+exception.ref()));
+                }
+            }
+        }
+
+        /**
+         * Prevents garbage collection for the given object. By 
+         * default all objects in back-end replies may be 
+         * collected at any time the target VM is running. A call to 
+         * this command guarantees that the object will not be 
+         * collected. The 
+         * <a href="#JDWP_ObjectReference_EnableCollection">EnableCollection</a> 
+         * command can be used to 
+         * allow collection once again. 
+         * <p>
+         * Note that while the target VM is suspended, no garbage 
+         * collection will occur because all threads are suspended. 
+         * The typical examination of variables, fields, and arrays 
+         * during the suspension is safe without explicitly disabling 
+         * garbage collection. 
+         * <p>
+         * This method should be used sparingly, as it alters the 
+         * pattern of garbage collection in the target VM and, 
+         * consequently, may result in application behavior under the 
+         * debugger that differs from its non-debugged behavior. 
+         */
+        static class DisableCollection {
+            static final int COMMAND = 7;
+
+            static DisableCollection process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.DisableCollection"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                ps.send();
+                return ps;
+            }
+
+            static DisableCollection waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new DisableCollection(vm, ps);
+            }
+
+
+            private DisableCollection(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.DisableCollection"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Permits garbage collection for this object. By default all 
+         * objects returned by JDWP may become unreachable in the target VM, 
+         * and hence may be garbage collected. A call to this command is 
+         * necessary only if garbage collection was previously disabled with 
+         * the <a href="#JDWP_ObjectReference_DisableCollection">DisableCollection</a> 
+         * command.
+         */
+        static class EnableCollection {
+            static final int COMMAND = 8;
+
+            static EnableCollection process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.EnableCollection"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                ps.send();
+                return ps;
+            }
+
+            static EnableCollection waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new EnableCollection(vm, ps);
+            }
+
+
+            private EnableCollection(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.EnableCollection"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Determines whether an object has been garbage collected in the 
+         * target VM. 
+         */
+        static class IsCollected {
+            static final int COMMAND = 9;
+
+            static IsCollected process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.IsCollected"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                ps.send();
+                return ps;
+            }
+
+            static IsCollected waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new IsCollected(vm, ps);
+            }
+
+
+            /**
+             * true if the object has been collected; false otherwise
+             */
+            final boolean isCollected;
+
+            private IsCollected(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.IsCollected"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                isCollected = ps.readBoolean();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "isCollected(boolean): " + isCollected);
+                }
+            }
+        }
+
+        /**
+         * Returns objects that directly reference this object.  
+         * Only objects that are reachable for the purposes 
+         * of garbage collection are returned. 
+         * Note that an object can also be referenced in other ways, 
+         * such as from a local variable in a stack frame, or from a JNI global 
+         * reference.  Such non-object referrers are not returned by this command. 
+         * <p>Since JDWP version 1.6. Requires canGetInstanceInfo capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class ReferringObjects {
+            static final int COMMAND = 10;
+
+            static ReferringObjects process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                int maxReferrers)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, object, maxReferrers);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl object, 
+                                int maxReferrers) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.ReferringObjects"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                }
+                ps.writeObjectRef(object.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 maxReferrers(int): " + maxReferrers);
+                }
+                ps.writeInt(maxReferrers);
+                ps.send();
+                return ps;
+            }
+
+            static ReferringObjects waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ReferringObjects(vm, ps);
+            }
+
+
+            /**
+             * The number of objects that follow.
+             */
+            final ObjectReferenceImpl[] referringObjects;
+
+            private ReferringObjects(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ObjectReference.ReferringObjects"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "referringObjects(ObjectReferenceImpl[]): " + "");
+                }
+                int referringObjectsCount = ps.readInt();
+                referringObjects = new ObjectReferenceImpl[referringObjectsCount];
+                for (int i = 0; i < referringObjectsCount; i++) {;
+                    referringObjects[i] = ps.readTaggedObjectReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "referringObjects[i](ObjectReferenceImpl): " + (referringObjects[i]==null?"NULL":"ref="+referringObjects[i].ref()));
+                    }
+                }
+            }
+        }
+    }
+
+    static class StringReference {
+        static final int COMMAND_SET = 10;
+        private StringReference() {}  // hide constructor
+
+        /**
+         * Returns the characters contained in the string. 
+         */
+        static class Value {
+            static final int COMMAND = 1;
+
+            static Value process(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl stringObject)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, stringObject);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ObjectReferenceImpl stringObject) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.StringReference.Value"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 stringObject(ObjectReferenceImpl): " + (stringObject==null?"NULL":"ref="+stringObject.ref()));
+                }
+                ps.writeObjectRef(stringObject.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Value waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Value(vm, ps);
+            }
+
+
+            /**
+             * UTF-8 representation of the string value.
+             */
+            final String stringValue;
+
+            private Value(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.StringReference.Value"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                stringValue = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "stringValue(String): " + stringValue);
+                }
+            }
+        }
+    }
+
+    static class ThreadReference {
+        static final int COMMAND_SET = 11;
+        private ThreadReference() {}  // hide constructor
+
+        /**
+         * Returns the thread name. 
+         */
+        static class Name {
+            static final int COMMAND = 1;
+
+            static Name process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Name"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Name waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Name(vm, ps);
+            }
+
+
+            /**
+             * The thread name.
+             */
+            final String threadName;
+
+            private Name(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Name"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                threadName = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "threadName(String): " + threadName);
+                }
+            }
+        }
+
+        /**
+         * Suspends the thread. 
+         * <p>
+         * Unlike java.lang.Thread.suspend(), suspends of both 
+         * the virtual machine and individual threads are counted. Before 
+         * a thread will run again, it must be resumed the same number 
+         * of times it has been suspended. 
+         * <p>
+         * Suspending single threads with command has the same 
+         * dangers java.lang.Thread.suspend(). If the suspended 
+         * thread holds a monitor needed by another running thread, 
+         * deadlock is possible in the target VM (at least until the 
+         * suspended thread is resumed again). 
+         * <p>
+         * The suspended thread is guaranteed to remain suspended until 
+         * resumed through one of the JDI resume methods mentioned above; 
+         * the application in the target VM cannot resume the suspended thread 
+         * through {@link java.lang.Thread#resume}. 
+         * <p>
+         * Note that this doesn't change the status of the thread (see the 
+         * <a href="#JDWP_ThreadReference_Status">ThreadStatus</a> command.) 
+         * For example, if it was 
+         * Running, it will still appear running to other threads. 
+         */
+        static class Suspend {
+            static final int COMMAND = 2;
+
+            static Suspend process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Suspend"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Suspend waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Suspend(vm, ps);
+            }
+
+
+            private Suspend(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Suspend"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Resumes the execution of a given thread. If this thread was 
+         * not previously suspended by the front-end, 
+         * calling this command has no effect. 
+         * Otherwise, the count of pending suspends on this thread is 
+         * decremented. If it is decremented to 0, the thread will 
+         * continue to execute. 
+         */
+        static class Resume {
+            static final int COMMAND = 3;
+
+            static Resume process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Resume"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Resume waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Resume(vm, ps);
+            }
+
+
+            private Resume(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Resume"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Returns the current status of a thread. The thread status 
+         * reply indicates the thread status the last time it was running. 
+         * the suspend status provides information on the thread's 
+         * suspension, if any.
+         */
+        static class Status {
+            static final int COMMAND = 4;
+
+            static Status process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Status"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Status waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Status(vm, ps);
+            }
+
+
+            /**
+             * One of the thread status codes 
+             * See <a href="#JDWP_ThreadStatus">JDWP.ThreadStatus</a>
+             */
+            final int threadStatus;
+
+            /**
+             * One of the suspend status codes 
+             * See <a href="#JDWP_SuspendStatus">JDWP.SuspendStatus</a>
+             */
+            final int suspendStatus;
+
+            private Status(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Status"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                threadStatus = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "threadStatus(int): " + threadStatus);
+                }
+                suspendStatus = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "suspendStatus(int): " + suspendStatus);
+                }
+            }
+        }
+
+        /**
+         * Returns the thread group that contains a given thread. 
+         */
+        static class ThreadGroup {
+            static final int COMMAND = 5;
+
+            static ThreadGroup process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.ThreadGroup"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static ThreadGroup waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ThreadGroup(vm, ps);
+            }
+
+
+            /**
+             * The thread group of this thread. 
+             */
+            final ThreadGroupReferenceImpl group;
+
+            private ThreadGroup(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.ThreadGroup"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                group = ps.readThreadGroupReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "group(ThreadGroupReferenceImpl): " + (group==null?"NULL":"ref="+group.ref()));
+                }
+            }
+        }
+
+        /**
+         * Returns the current call stack of a suspended thread. 
+         * The sequence of frames starts with 
+         * the currently executing frame, followed by its caller, 
+         * and so on. The thread must be suspended, and the returned 
+         * frameID is valid only while the thread is suspended. 
+         */
+        static class Frames {
+            static final int COMMAND = 6;
+
+            static Frames process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                int startFrame, 
+                                int length)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread, startFrame, length);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                int startFrame, 
+                                int length) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Frames"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 startFrame(int): " + startFrame);
+                }
+                ps.writeInt(startFrame);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 length(int): " + length);
+                }
+                ps.writeInt(length);
+                ps.send();
+                return ps;
+            }
+
+            static Frames waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Frames(vm, ps);
+            }
+
+            static class Frame {
+
+                /**
+                 * The ID of this frame. 
+                 */
+                final long frameID;
+
+                /**
+                 * The current location of this frame
+                 */
+                final Location location;
+
+                private Frame(VirtualMachineImpl vm, PacketStream ps) {
+                    frameID = ps.readFrameRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "frameID(long): " + frameID);
+                    }
+                    location = ps.readLocation();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "location(Location): " + location);
+                    }
+                }
+            }
+
+
+            /**
+             * The number of frames retreived
+             */
+            final Frame[] frames;
+
+            private Frames(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Frames"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "frames(Frame[]): " + "");
+                }
+                int framesCount = ps.readInt();
+                frames = new Frame[framesCount];
+                for (int i = 0; i < framesCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "frames[i](Frame): " + "");
+                    }
+                    frames[i] = new Frame(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Returns the count of frames on this thread's stack. 
+         * The thread must be suspended, and the returned 
+         * count is valid only while the thread is suspended. 
+         * Returns JDWP.Error.errorThreadNotSuspended if not suspended. 
+         */
+        static class FrameCount {
+            static final int COMMAND = 7;
+
+            static FrameCount process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.FrameCount"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static FrameCount waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new FrameCount(vm, ps);
+            }
+
+
+            /**
+             * The count of frames on this thread's stack. 
+             */
+            final int frameCount;
+
+            private FrameCount(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.FrameCount"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                frameCount = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "frameCount(int): " + frameCount);
+                }
+            }
+        }
+
+        /**
+         * Returns the objects whose monitors have been entered by this thread. 
+         * The thread must be suspended, and the returned information is 
+         * relevant only while the thread is suspended. 
+         * Requires canGetOwnedMonitorInfo capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class OwnedMonitors {
+            static final int COMMAND = 8;
+
+            static OwnedMonitors process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.OwnedMonitors"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static OwnedMonitors waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new OwnedMonitors(vm, ps);
+            }
+
+
+            /**
+             * The number of owned monitors
+             */
+            final ObjectReferenceImpl[] owned;
+
+            private OwnedMonitors(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.OwnedMonitors"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "owned(ObjectReferenceImpl[]): " + "");
+                }
+                int ownedCount = ps.readInt();
+                owned = new ObjectReferenceImpl[ownedCount];
+                for (int i = 0; i < ownedCount; i++) {;
+                    owned[i] = ps.readTaggedObjectReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "owned[i](ObjectReferenceImpl): " + (owned[i]==null?"NULL":"ref="+owned[i].ref()));
+                    }
+                }
+            }
+        }
+
+        /**
+         * Returns the object, if any, for which this thread is waiting. The 
+         * thread may be waiting to enter a monitor, or it may be waiting, via 
+         * the java.lang.Object.wait method, for another thread to invoke the 
+         * notify method. 
+         * The thread must be suspended, and the returned information is 
+         * relevant only while the thread is suspended. 
+         * Requires canGetCurrentContendedMonitor capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class CurrentContendedMonitor {
+            static final int COMMAND = 9;
+
+            static CurrentContendedMonitor process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.CurrentContendedMonitor"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static CurrentContendedMonitor waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new CurrentContendedMonitor(vm, ps);
+            }
+
+
+            /**
+             * The contended monitor, or null if 
+             * there is no current contended monitor. 
+             */
+            final ObjectReferenceImpl monitor;
+
+            private CurrentContendedMonitor(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.CurrentContendedMonitor"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                monitor = ps.readTaggedObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "monitor(ObjectReferenceImpl): " + (monitor==null?"NULL":"ref="+monitor.ref()));
+                }
+            }
+        }
+
+        /**
+         * Stops the thread with an asynchronous exception, as if done by 
+         * java.lang.Thread.stop 
+         */
+        static class Stop {
+            static final int COMMAND = 10;
+
+            static Stop process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                ObjectReferenceImpl throwable)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread, throwable);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                ObjectReferenceImpl throwable) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Stop"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 throwable(ObjectReferenceImpl): " + (throwable==null?"NULL":"ref="+throwable.ref()));
+                }
+                ps.writeObjectRef(throwable.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Stop waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Stop(vm, ps);
+            }
+
+
+            private Stop(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Stop"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Interrupt the thread, as if done by java.lang.Thread.interrupt 
+         */
+        static class Interrupt {
+            static final int COMMAND = 11;
+
+            static Interrupt process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Interrupt"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Interrupt waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Interrupt(vm, ps);
+            }
+
+
+            private Interrupt(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.Interrupt"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Get the suspend count for this thread. The suspend count is the  
+         * number of times the thread has been suspended through the 
+         * thread-level or VM-level suspend commands without a corresponding resume 
+         */
+        static class SuspendCount {
+            static final int COMMAND = 12;
+
+            static SuspendCount process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.SuspendCount"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static SuspendCount waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SuspendCount(vm, ps);
+            }
+
+
+            /**
+             * The number of outstanding suspends of this thread. 
+             */
+            final int suspendCount;
+
+            private SuspendCount(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.SuspendCount"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                suspendCount = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "suspendCount(int): " + suspendCount);
+                }
+            }
+        }
+
+        /**
+         * Returns monitor objects owned by the thread, along with stack depth at which 
+         * the monitor was acquired. Returns stack depth of -1  if 
+         * the implementation cannot determine the stack depth 
+         * (e.g., for monitors acquired by JNI MonitorEnter).
+         * The thread must be suspended, and the returned information is 
+         * relevant only while the thread is suspended. 
+         * Requires canGetMonitorFrameInfo capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>. 
+         * <p>Since JDWP version 1.6. 
+         */
+        static class OwnedMonitorsStackDepthInfo {
+            static final int COMMAND = 13;
+
+            static OwnedMonitorsStackDepthInfo process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.OwnedMonitorsStackDepthInfo"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                ps.send();
+                return ps;
+            }
+
+            static OwnedMonitorsStackDepthInfo waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new OwnedMonitorsStackDepthInfo(vm, ps);
+            }
+
+            static class monitor {
+
+                /**
+                 * An owned monitor
+                 */
+                final ObjectReferenceImpl monitor;
+
+                /**
+                 * Stack depth location where monitor was acquired
+                 */
+                final int stack_depth;
+
+                private monitor(VirtualMachineImpl vm, PacketStream ps) {
+                    monitor = ps.readTaggedObjectReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "monitor(ObjectReferenceImpl): " + (monitor==null?"NULL":"ref="+monitor.ref()));
+                    }
+                    stack_depth = ps.readInt();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "stack_depth(int): " + stack_depth);
+                    }
+                }
+            }
+
+
+            /**
+             * The number of owned monitors
+             */
+            final monitor[] owned;
+
+            private OwnedMonitorsStackDepthInfo(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.OwnedMonitorsStackDepthInfo"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "owned(monitor[]): " + "");
+                }
+                int ownedCount = ps.readInt();
+                owned = new monitor[ownedCount];
+                for (int i = 0; i < ownedCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "owned[i](monitor): " + "");
+                    }
+                    owned[i] = new monitor(vm, ps);
+                }
+            }
+        }
+
+        /**
+         * Force a method to return before it reaches a return 
+         * statement.  
+         * <p>
+         * The method which will return early is referred to as the 
+         * called method. The called method is the current method (as 
+         * defined by the Frames section in the Java Virtual Machine 
+         * Specification) for the specified thread at the time this command 
+         * is received. 
+         * <p>
+         * The specified thread must be suspended. 
+         * The return occurs when execution of Java programming 
+         * language code is resumed on this thread. Between sending this 
+         * command and resumption of thread execution, the 
+         * state of the stack is undefined. 
+         * <p>
+         * No further instructions are executed in the called 
+         * method. Specifically, finally blocks are not executed. Note: 
+         * this can cause inconsistent states in the application. 
+         * <p>
+         * A lock acquired by calling the called method (if it is a 
+         * synchronized method) and locks acquired by entering 
+         * synchronized blocks within the called method are 
+         * released. Note: this does not apply to JNI locks or 
+         * java.util.concurrent.locks locks. 
+         * <p>
+         * Events, such as MethodExit, are generated as they would be in 
+         * a normal return. 
+         * <p>
+         * The called method must be a non-native Java programming 
+         * language method. Forcing return on a thread with only one 
+         * frame on the stack causes the thread to exit when resumed. 
+         * <p>
+         * For void methods, the value must be a void value. 
+         * For methods that return primitive values, the value's type must 
+         * match the return type exactly.  For object values, there must be a 
+         * widening reference conversion from the value's type to the 
+         * return type type and the return type must be loaded. 
+         * <p>
+         * Since JDWP version 1.6. Requires canForceEarlyReturn capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class ForceEarlyReturn {
+            static final int COMMAND = 14;
+
+            static ForceEarlyReturn process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                ValueImpl value)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread, value);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                ValueImpl value) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.ForceEarlyReturn"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 value(ValueImpl): " + value);
+                }
+                ps.writeValue(value);
+                ps.send();
+                return ps;
+            }
+
+            static ForceEarlyReturn waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ForceEarlyReturn(vm, ps);
+            }
+
+
+            private ForceEarlyReturn(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadReference.ForceEarlyReturn"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+    }
+
+    static class ThreadGroupReference {
+        static final int COMMAND_SET = 12;
+        private ThreadGroupReference() {}  // hide constructor
+
+        /**
+         * Returns the thread group name. 
+         */
+        static class Name {
+            static final int COMMAND = 1;
+
+            static Name process(VirtualMachineImpl vm, 
+                                ThreadGroupReferenceImpl group)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, group);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadGroupReferenceImpl group) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadGroupReference.Name"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 group(ThreadGroupReferenceImpl): " + (group==null?"NULL":"ref="+group.ref()));
+                }
+                ps.writeObjectRef(group.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Name waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Name(vm, ps);
+            }
+
+
+            /**
+             * The thread group's name.
+             */
+            final String groupName;
+
+            private Name(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadGroupReference.Name"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                groupName = ps.readString();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "groupName(String): " + groupName);
+                }
+            }
+        }
+
+        /**
+         * Returns the thread group, if any, which contains a given thread group. 
+         */
+        static class Parent {
+            static final int COMMAND = 2;
+
+            static Parent process(VirtualMachineImpl vm, 
+                                ThreadGroupReferenceImpl group)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, group);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadGroupReferenceImpl group) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadGroupReference.Parent"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 group(ThreadGroupReferenceImpl): " + (group==null?"NULL":"ref="+group.ref()));
+                }
+                ps.writeObjectRef(group.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Parent waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Parent(vm, ps);
+            }
+
+
+            /**
+             * The parent thread group object, or 
+             * null if the given thread group 
+             * is a top-level thread group
+             */
+            final ThreadGroupReferenceImpl parentGroup;
+
+            private Parent(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadGroupReference.Parent"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                parentGroup = ps.readThreadGroupReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "parentGroup(ThreadGroupReferenceImpl): " + (parentGroup==null?"NULL":"ref="+parentGroup.ref()));
+                }
+            }
+        }
+
+        /**
+         * Returns the live threads and active thread groups directly contained 
+         * in this thread group. Threads and thread groups in child 
+         * thread groups are not included. 
+         * A thread is alive if it has been started and has not yet been stopped. 
+         * See <a href=../../../api/java/lang/ThreadGroup.html>java.lang.ThreadGroup </a>
+         * for information about active ThreadGroups.
+         */
+        static class Children {
+            static final int COMMAND = 3;
+
+            static Children process(VirtualMachineImpl vm, 
+                                ThreadGroupReferenceImpl group)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, group);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadGroupReferenceImpl group) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ThreadGroupReference.Children"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 group(ThreadGroupReferenceImpl): " + (group==null?"NULL":"ref="+group.ref()));
+                }
+                ps.writeObjectRef(group.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Children waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Children(vm, ps);
+            }
+
+
+            /**
+             * The number of live child threads. 
+             */
+            final ThreadReferenceImpl[] childThreads;
+
+            /**
+             * The number of active child thread groups. 
+             */
+            final ThreadGroupReferenceImpl[] childGroups;
+
+            private Children(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ThreadGroupReference.Children"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "childThreads(ThreadReferenceImpl[]): " + "");
+                }
+                int childThreadsCount = ps.readInt();
+                childThreads = new ThreadReferenceImpl[childThreadsCount];
+                for (int i = 0; i < childThreadsCount; i++) {;
+                    childThreads[i] = ps.readThreadReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "childThreads[i](ThreadReferenceImpl): " + (childThreads[i]==null?"NULL":"ref="+childThreads[i].ref()));
+                    }
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "childGroups(ThreadGroupReferenceImpl[]): " + "");
+                }
+                int childGroupsCount = ps.readInt();
+                childGroups = new ThreadGroupReferenceImpl[childGroupsCount];
+                for (int i = 0; i < childGroupsCount; i++) {;
+                    childGroups[i] = ps.readThreadGroupReference();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "childGroups[i](ThreadGroupReferenceImpl): " + (childGroups[i]==null?"NULL":"ref="+childGroups[i].ref()));
+                    }
+                }
+            }
+        }
+    }
+
+    static class ArrayReference {
+        static final int COMMAND_SET = 13;
+        private ArrayReference() {}  // hide constructor
+
+        /**
+         * Returns the number of components in a given array. 
+         */
+        static class Length {
+            static final int COMMAND = 1;
+
+            static Length process(VirtualMachineImpl vm, 
+                                ArrayReferenceImpl arrayObject)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, arrayObject);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ArrayReferenceImpl arrayObject) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ArrayReference.Length"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 arrayObject(ArrayReferenceImpl): " + (arrayObject==null?"NULL":"ref="+arrayObject.ref()));
+                }
+                ps.writeObjectRef(arrayObject.ref());
+                ps.send();
+                return ps;
+            }
+
+            static Length waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Length(vm, ps);
+            }
+
+
+            /**
+             * The length of the array.
+             */
+            final int arrayLength;
+
+            private Length(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ArrayReference.Length"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                arrayLength = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "arrayLength(int): " + arrayLength);
+                }
+            }
+        }
+
+        /**
+         * Returns a range of array components. The specified range must 
+         * be within the bounds of the array. 
+         */
+        static class GetValues {
+            static final int COMMAND = 2;
+
+            static GetValues process(VirtualMachineImpl vm, 
+                                ArrayReferenceImpl arrayObject, 
+                                int firstIndex, 
+                                int length)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, arrayObject, firstIndex, length);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ArrayReferenceImpl arrayObject, 
+                                int firstIndex, 
+                                int length) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ArrayReference.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 arrayObject(ArrayReferenceImpl): " + (arrayObject==null?"NULL":"ref="+arrayObject.ref()));
+                }
+                ps.writeObjectRef(arrayObject.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 firstIndex(int): " + firstIndex);
+                }
+                ps.writeInt(firstIndex);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 length(int): " + length);
+                }
+                ps.writeInt(length);
+                ps.send();
+                return ps;
+            }
+
+            static GetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new GetValues(vm, ps);
+            }
+
+
+            /**
+             * The retrieved values. If the values 
+             * are objects, they are tagged-values; 
+             * otherwise, they are untagged-values
+             */
+            final List values;
+
+            private GetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ArrayReference.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                values = ps.readArrayRegion();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "values(List): " + values);
+                }
+            }
+        }
+
+        /**
+         * Sets a range of array components. The specified range must 
+         * be within the bounds of the array. 
+         * For primitive values, each value's type must match the 
+         * array component type exactly. For object values, there must be a 
+         * widening reference conversion from the value's type to the 
+         * array component type and the array component type must be loaded. 
+         */
+        static class SetValues {
+            static final int COMMAND = 3;
+
+            static SetValues process(VirtualMachineImpl vm, 
+                                ArrayReferenceImpl arrayObject, 
+                                int firstIndex, 
+                                ValueImpl[] values)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, arrayObject, firstIndex, values);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ArrayReferenceImpl arrayObject, 
+                                int firstIndex, 
+                                ValueImpl[] values) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ArrayReference.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 arrayObject(ArrayReferenceImpl): " + (arrayObject==null?"NULL":"ref="+arrayObject.ref()));
+                }
+                ps.writeObjectRef(arrayObject.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 firstIndex(int): " + firstIndex);
+                }
+                ps.writeInt(firstIndex);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 values(ValueImpl[]): " + "");
+                }
+                ps.writeInt(values.length);
+                for (int i = 0; i < values.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     values[i](ValueImpl): " + values[i]);
+                    }
+                    ps.writeUntaggedValue(values[i]);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static SetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SetValues(vm, ps);
+            }
+
+
+            private SetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ArrayReference.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+    }
+
+    static class ClassLoaderReference {
+        static final int COMMAND_SET = 14;
+        private ClassLoaderReference() {}  // hide constructor
+
+        /**
+         * Returns a list of all classes which this class loader has 
+         * been requested to load. This class loader is considered to be 
+         * an <i>initiating</i> class loader for each class in the returned 
+         * list. The list contains each 
+         * reference type defined by this loader and any types for which 
+         * loading was delegated by this class loader to another class loader. 
+         * <p>
+         * The visible class list has useful properties with respect to 
+         * the type namespace. A particular type name will occur at most 
+         * once in the list. Each field or variable declared with that 
+         * type name in a class defined by 
+         * this class loader must be resolved to that single type. 
+         * <p>
+         * No ordering of the returned list is guaranteed. 
+         */
+        static class VisibleClasses {
+            static final int COMMAND = 1;
+
+            static VisibleClasses process(VirtualMachineImpl vm, 
+                                ClassLoaderReferenceImpl classLoaderObject)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, classLoaderObject);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ClassLoaderReferenceImpl classLoaderObject) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ClassLoaderReference.VisibleClasses"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 classLoaderObject(ClassLoaderReferenceImpl): " + (classLoaderObject==null?"NULL":"ref="+classLoaderObject.ref()));
+                }
+                ps.writeObjectRef(classLoaderObject.ref());
+                ps.send();
+                return ps;
+            }
+
+            static VisibleClasses waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new VisibleClasses(vm, ps);
+            }
+
+            static class ClassInfo {
+
+                /**
+                 * <a href="#JDWP_TypeTag">Kind</a> 
+                 * of following reference type. 
+                 */
+                final byte refTypeTag;
+
+                /**
+                 * A class visible to this class loader.
+                 */
+                final long typeID;
+
+                private ClassInfo(VirtualMachineImpl vm, PacketStream ps) {
+                    refTypeTag = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "refTypeTag(byte): " + refTypeTag);
+                    }
+                    typeID = ps.readClassRef();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "typeID(long): " + "ref="+typeID);
+                    }
+                }
+            }
+
+
+            /**
+             * The number of visible classes. 
+             */
+            final ClassInfo[] classes;
+
+            private VisibleClasses(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ClassLoaderReference.VisibleClasses"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "classes(ClassInfo[]): " + "");
+                }
+                int classesCount = ps.readInt();
+                classes = new ClassInfo[classesCount];
+                for (int i = 0; i < classesCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "classes[i](ClassInfo): " + "");
+                    }
+                    classes[i] = new ClassInfo(vm, ps);
+                }
+            }
+        }
+    }
+
+    static class EventRequest {
+        static final int COMMAND_SET = 15;
+        private EventRequest() {}  // hide constructor
+
+        /**
+         * Set an event request. When the event described by this request 
+         * occurs, an <a href="#JDWP_Event">event</a> is sent from the 
+         * target VM. If an event occurs that has not been requested then it is not sent 
+         * from the target VM. The two exceptions to this are the VM Start Event and 
+         * the VM Death Event which are automatically generated events - see 
+         * <a href="#JDWP_Event_Composite">Composite Command</a> for further details.
+         */
+        static class Set {
+            static final int COMMAND = 1;
+
+            static class Modifier {
+                abstract static class ModifierCommon {
+                    abstract void write(PacketStream ps);
+                }
+
+                /**
+                 * Modifier kind
+                 */
+                final byte modKind;
+                ModifierCommon aModifierCommon;
+
+                Modifier(byte modKind, ModifierCommon aModifierCommon) {
+                    this.modKind = modKind;
+                    this. aModifierCommon = aModifierCommon;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     modKind(byte): " + modKind);
+                    }
+                    ps.writeByte(modKind);
+                     aModifierCommon.write(ps);
+                }
+
+                /**
+                 * Limit the requested event to be reported at most once after a 
+                 * given number of occurrences.  The event is not reported 
+                 * the first <code>count - 1</code> times this filter is reached. 
+                 * To request a one-off event, call this method with a count of 1. 
+                 * <p>
+                 * Once the count reaches 0, any subsequent filters in this request 
+                 * are applied. If none of those filters cause the event to be 
+                 * suppressed, the event is reported. Otherwise, the event is not 
+                 * reported. In either case subsequent events are never reported for 
+                 * this request. 
+                 * This modifier can be used with any event kind.
+                 */
+                static class Count extends ModifierCommon {
+                    static final byte ALT_ID = 1;
+                    static Modifier create(int count) {
+                        return new Modifier(ALT_ID, new Count(count));
+                    }
+
+                    /**
+                     * Count before event. One for one-off.
+                     */
+                    final int count;
+
+                    Count(int count) {
+                        this.count = count;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         count(int): " + count);
+                        }
+                        ps.writeInt(count);
+                    }
+                }
+
+                /**
+                 * Conditional on expression
+                 */
+                static class Conditional extends ModifierCommon {
+                    static final byte ALT_ID = 2;
+                    static Modifier create(int exprID) {
+                        return new Modifier(ALT_ID, new Conditional(exprID));
+                    }
+
+                    /**
+                     * For the future
+                     */
+                    final int exprID;
+
+                    Conditional(int exprID) {
+                        this.exprID = exprID;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         exprID(int): " + exprID);
+                        }
+                        ps.writeInt(exprID);
+                    }
+                }
+
+                /**
+                 * Restricts reported events to 
+                 * those in the given thread. 
+                 * This modifier can be used with any event kind 
+                 * except for class unload. 
+                 */
+                static class ThreadOnly extends ModifierCommon {
+                    static final byte ALT_ID = 3;
+                    static Modifier create(ThreadReferenceImpl thread) {
+                        return new Modifier(ALT_ID, new ThreadOnly(thread));
+                    }
+
+                    /**
+                     * Required thread
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    ThreadOnly(ThreadReferenceImpl thread) {
+                        this.thread = thread;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        ps.writeObjectRef(thread.ref());
+                    }
+                }
+
+                /**
+                 * For class prepare events, restricts the events 
+                 * generated by this request to be the 
+                 * preparation of the given reference type and any subtypes. 
+                 * For monitor wait and waited events, restricts the events 
+                 * generated by this request to those whose monitor object 
+                 * is of the given reference type or any of its subtypes. 
+                 * For other events, restricts the events generated 
+                 * by this request to those 
+                 * whose location is in the given reference type or any of its subtypes. 
+                 * An event will be generated for any location in a reference type that can 
+                 * be safely cast to the given reference type. 
+                 * This modifier can be used with any event kind except 
+                 * class unload, thread start, and thread end. 
+                 */
+                static class ClassOnly extends ModifierCommon {
+                    static final byte ALT_ID = 4;
+                    static Modifier create(ReferenceTypeImpl clazz) {
+                        return new Modifier(ALT_ID, new ClassOnly(clazz));
+                    }
+
+                    /**
+                     * Required class
+                     */
+                    final ReferenceTypeImpl clazz;
+
+                    ClassOnly(ReferenceTypeImpl clazz) {
+                        this.clazz = clazz;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         clazz(ReferenceTypeImpl): " + (clazz==null?"NULL":"ref="+clazz.ref()));
+                        }
+                        ps.writeClassRef(clazz.ref());
+                    }
+                }
+
+                /**
+                 * Restricts reported events to those for classes whose name 
+                 * matches the given restricted regular expression. 
+                 * For class prepare events, the prepared class name 
+                 * is matched. For class unload events, the 
+                 * unloaded class name is matched. For monitor wait 
+                 * and waited events, the name of the class of the 
+                 * monitor object is matched. For other events, 
+                 * the class name of the event's location is matched. 
+                 * This modifier can be used with any event kind except 
+                 * thread start and thread end. 
+                 */
+                static class ClassMatch extends ModifierCommon {
+                    static final byte ALT_ID = 5;
+                    static Modifier create(String classPattern) {
+                        return new Modifier(ALT_ID, new ClassMatch(classPattern));
+                    }
+
+                    /**
+                     * Required class pattern. 
+                     * Matches are limited to exact matches of the 
+                     * given class pattern and matches of patterns that 
+                     * begin or end with '*'; for example, 
+                     * "*.Foo" or "java.*". 
+                     */
+                    final String classPattern;
+
+                    ClassMatch(String classPattern) {
+                        this.classPattern = classPattern;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         classPattern(String): " + classPattern);
+                        }
+                        ps.writeString(classPattern);
+                    }
+                }
+
+                /**
+                 * Restricts reported events to those for classes whose name 
+                 * does not match the given restricted regular expression. 
+                 * For class prepare events, the prepared class name 
+                 * is matched. For class unload events, the 
+                 * unloaded class name is matched. For monitor wait and 
+                 * waited events, the name of the class of the monitor 
+                 * object is matched. For other events, 
+                 * the class name of the event's location is matched. 
+                 * This modifier can be used with any event kind except 
+                 * thread start and thread end. 
+                 */
+                static class ClassExclude extends ModifierCommon {
+                    static final byte ALT_ID = 6;
+                    static Modifier create(String classPattern) {
+                        return new Modifier(ALT_ID, new ClassExclude(classPattern));
+                    }
+
+                    /**
+                     * Disallowed class pattern. 
+                     * Matches are limited to exact matches of the 
+                     * given class pattern and matches of patterns that 
+                     * begin or end with '*'; for example, 
+                     * "*.Foo" or "java.*". 
+                     */
+                    final String classPattern;
+
+                    ClassExclude(String classPattern) {
+                        this.classPattern = classPattern;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         classPattern(String): " + classPattern);
+                        }
+                        ps.writeString(classPattern);
+                    }
+                }
+
+                /**
+                 * Restricts reported events to those that occur at 
+                 * the given location. 
+                 * This modifier can be used with 
+                 * breakpoint, field access, field modification, 
+                 * step, and exception event kinds. 
+                 */
+                static class LocationOnly extends ModifierCommon {
+                    static final byte ALT_ID = 7;
+                    static Modifier create(Location loc) {
+                        return new Modifier(ALT_ID, new LocationOnly(loc));
+                    }
+
+                    /**
+                     * Required location
+                     */
+                    final Location loc;
+
+                    LocationOnly(Location loc) {
+                        this.loc = loc;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         loc(Location): " + loc);
+                        }
+                        ps.writeLocation(loc);
+                    }
+                }
+
+                /**
+                 * Restricts reported exceptions by their class and 
+                 * whether they are caught or uncaught. 
+                 * This modifier can be used with 
+                 * exception event kinds only. 
+                 */
+                static class ExceptionOnly extends ModifierCommon {
+                    static final byte ALT_ID = 8;
+                    static Modifier create(ReferenceTypeImpl exceptionOrNull, boolean caught, boolean uncaught) {
+                        return new Modifier(ALT_ID, new ExceptionOnly(exceptionOrNull, caught, uncaught));
+                    }
+
+                    /**
+                     * Exception to report. Null (0) means report 
+                     * exceptions of all types. 
+                     * A non-null type restricts the reported exception 
+                     * events to exceptions of the given type or 
+                     * any of its subtypes. 
+                     */
+                    final ReferenceTypeImpl exceptionOrNull;
+
+                    /**
+                     * Report caught exceptions
+                     */
+                    final boolean caught;
+
+                    /**
+                     * Report uncaught exceptions. 
+                     * Note that it 
+                     * is not always possible to determine whether an 
+                     * exception is caught or uncaught at the time it is 
+                     * thrown. See the exception event catch location under 
+                     * <a href="#JDWP_Event_Composite">composite events</a> 
+                     * for more information. 
+                     */
+                    final boolean uncaught;
+
+                    ExceptionOnly(ReferenceTypeImpl exceptionOrNull, boolean caught, boolean uncaught) {
+                        this.exceptionOrNull = exceptionOrNull;
+                        this.caught = caught;
+                        this.uncaught = uncaught;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         exceptionOrNull(ReferenceTypeImpl): " + (exceptionOrNull==null?"NULL":"ref="+exceptionOrNull.ref()));
+                        }
+                        ps.writeClassRef(exceptionOrNull.ref());
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         caught(boolean): " + caught);
+                        }
+                        ps.writeBoolean(caught);
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         uncaught(boolean): " + uncaught);
+                        }
+                        ps.writeBoolean(uncaught);
+                    }
+                }
+
+                /**
+                 * Restricts reported events to those that occur for 
+                 * a given field. 
+                 * This modifier can be used with 
+                 * field access and field modification event kinds only. 
+                 */
+                static class FieldOnly extends ModifierCommon {
+                    static final byte ALT_ID = 9;
+                    static Modifier create(ReferenceTypeImpl declaring, long fieldID) {
+                        return new Modifier(ALT_ID, new FieldOnly(declaring, fieldID));
+                    }
+
+                    /**
+                     * Type in which field is declared.
+                     */
+                    final ReferenceTypeImpl declaring;
+
+                    /**
+                     * Required field
+                     */
+                    final long fieldID;
+
+                    FieldOnly(ReferenceTypeImpl declaring, long fieldID) {
+                        this.declaring = declaring;
+                        this.fieldID = fieldID;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         declaring(ReferenceTypeImpl): " + (declaring==null?"NULL":"ref="+declaring.ref()));
+                        }
+                        ps.writeClassRef(declaring.ref());
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         fieldID(long): " + fieldID);
+                        }
+                        ps.writeFieldRef(fieldID);
+                    }
+                }
+
+                /**
+                 * Restricts reported step events 
+                 * to those which satisfy 
+                 * depth and size constraints. 
+                 * This modifier can be used with 
+                 * step event kinds only. 
+                 */
+                static class Step extends ModifierCommon {
+                    static final byte ALT_ID = 10;
+                    static Modifier create(ThreadReferenceImpl thread, int size, int depth) {
+                        return new Modifier(ALT_ID, new Step(thread, size, depth));
+                    }
+
+                    /**
+                     * Thread in which to step
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * size of each step. 
+                     * See <a href="#JDWP_StepSize">JDWP.StepSize</a>
+                     */
+                    final int size;
+
+                    /**
+                     * relative call stack limit. 
+                     * See <a href="#JDWP_StepDepth">JDWP.StepDepth</a>
+                     */
+                    final int depth;
+
+                    Step(ThreadReferenceImpl thread, int size, int depth) {
+                        this.thread = thread;
+                        this.size = size;
+                        this.depth = depth;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        ps.writeObjectRef(thread.ref());
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         size(int): " + size);
+                        }
+                        ps.writeInt(size);
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         depth(int): " + depth);
+                        }
+                        ps.writeInt(depth);
+                    }
+                }
+
+                /**
+                 * Restricts reported events to those whose 
+                 * active 'this' object is the given object. 
+                 * Match value is the null object for static methods. 
+                 * This modifier can be used with any event kind 
+                 * except class prepare, class unload, thread start, 
+                 * and thread end. Introduced in JDWP version 1.4.
+                 */
+                static class InstanceOnly extends ModifierCommon {
+                    static final byte ALT_ID = 11;
+                    static Modifier create(ObjectReferenceImpl instance) {
+                        return new Modifier(ALT_ID, new InstanceOnly(instance));
+                    }
+
+                    /**
+                     * Required 'this' object
+                     */
+                    final ObjectReferenceImpl instance;
+
+                    InstanceOnly(ObjectReferenceImpl instance) {
+                        this.instance = instance;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         instance(ObjectReferenceImpl): " + (instance==null?"NULL":"ref="+instance.ref()));
+                        }
+                        ps.writeObjectRef(instance.ref());
+                    }
+                }
+
+                /**
+                 * Restricts reported class prepare events to those 
+                 * for reference types which have a source name 
+                 * which matches the given restricted regular expression. 
+                 * The source names are determined by the reference type's 
+                 * <a href="#JDWP_ReferenceType_SourceDebugExtension"> 
+                 * SourceDebugExtension</a>. 
+                 * This modifier can only be used with class prepare 
+                 * events. 
+                 * Since JDWP version 1.6. Requires the canUseSourceNameFilters 
+                 * capability - see 
+                 * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+                 */
+                static class SourceNameMatch extends ModifierCommon {
+                    static final byte ALT_ID = 12;
+                    static Modifier create(String sourceNamePattern) {
+                        return new Modifier(ALT_ID, new SourceNameMatch(sourceNamePattern));
+                    }
+
+                    /**
+                     * Required source name pattern. 
+                     * Matches are limited to exact matches of the 
+                     * given pattern and matches of patterns that 
+                     * begin or end with '*'; for example, 
+                     * "*.Foo" or "java.*". 
+                     */
+                    final String sourceNamePattern;
+
+                    SourceNameMatch(String sourceNamePattern) {
+                        this.sourceNamePattern = sourceNamePattern;
+                    }
+
+                    void write(PacketStream ps) {
+                        if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                            ps.vm.printTrace("Sending:                         sourceNamePattern(String): " + sourceNamePattern);
+                        }
+                        ps.writeString(sourceNamePattern);
+                    }
+                }
+            }
+
+            static Set process(VirtualMachineImpl vm, 
+                                byte eventKind, 
+                                byte suspendPolicy, 
+                                Modifier[] modifiers)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, eventKind, suspendPolicy, modifiers);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                byte eventKind, 
+                                byte suspendPolicy, 
+                                Modifier[] modifiers) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.EventRequest.Set"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 eventKind(byte): " + eventKind);
+                }
+                ps.writeByte(eventKind);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 suspendPolicy(byte): " + suspendPolicy);
+                }
+                ps.writeByte(suspendPolicy);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 modifiers(Modifier[]): " + "");
+                }
+                ps.writeInt(modifiers.length);
+                for (int i = 0; i < modifiers.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     modifiers[i](Modifier): " + "");
+                    }
+                    modifiers[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static Set waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Set(vm, ps);
+            }
+
+
+            /**
+             * ID of created request
+             */
+            final int requestID;
+
+            private Set(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.EventRequest.Set"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                requestID = ps.readInt();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "requestID(int): " + requestID);
+                }
+            }
+        }
+
+        /**
+         * Clear an event request. See <a href="#JDWP_EventKind">JDWP.EventKind</a> 
+         * for a complete list of events that can be cleared. Only the event request matching 
+         * the specified event kind and requestID is cleared. If there isn't a matching event 
+         * request the command is a no-op and does not result in an error. Automatically 
+         * generated events do not have a corresponding event request and may not be cleared 
+         * using this command.
+         */
+        static class Clear {
+            static final int COMMAND = 2;
+
+            static Clear process(VirtualMachineImpl vm, 
+                                byte eventKind, 
+                                int requestID)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, eventKind, requestID);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                byte eventKind, 
+                                int requestID) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.EventRequest.Clear"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 eventKind(byte): " + eventKind);
+                }
+                ps.writeByte(eventKind);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 requestID(int): " + requestID);
+                }
+                ps.writeInt(requestID);
+                ps.send();
+                return ps;
+            }
+
+            static Clear waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new Clear(vm, ps);
+            }
+
+
+            private Clear(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.EventRequest.Clear"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Removes all set breakpoints, a no-op if there are no breakpoints set.
+         */
+        static class ClearAllBreakpoints {
+            static final int COMMAND = 3;
+
+            static ClearAllBreakpoints process(VirtualMachineImpl vm)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.EventRequest.ClearAllBreakpoints"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                ps.send();
+                return ps;
+            }
+
+            static ClearAllBreakpoints waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ClearAllBreakpoints(vm, ps);
+            }
+
+
+            private ClearAllBreakpoints(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.EventRequest.ClearAllBreakpoints"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+    }
+
+    static class StackFrame {
+        static final int COMMAND_SET = 16;
+        private StackFrame() {}  // hide constructor
+
+        /**
+         * Returns the value of one or more local variables in a 
+         * given frame. Each variable must be visible at the frame's code index. 
+         * Even if local variable information is not available, values can 
+         * be retrieved if the front-end is able to 
+         * determine the correct local variable index. (Typically, this 
+         * index can be determined for method arguments from the method 
+         * signature without access to the local variable table information.) 
+         */
+        static class GetValues {
+            static final int COMMAND = 1;
+
+            static class SlotInfo {
+
+                /**
+                 * The local variable's index in the frame. 
+                 */
+                final int slot;
+
+                /**
+                 * A <a href="#JDWP_Tag">tag</a> 
+                 * identifying the type of the variable 
+                 */
+                final byte sigbyte;
+
+                SlotInfo(int slot, byte sigbyte) {
+                    this.slot = slot;
+                    this.sigbyte = sigbyte;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     slot(int): " + slot);
+                    }
+                    ps.writeInt(slot);
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     sigbyte(byte): " + sigbyte);
+                    }
+                    ps.writeByte(sigbyte);
+                }
+            }
+
+            static GetValues process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame, 
+                                SlotInfo[] slots)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread, frame, slots);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame, 
+                                SlotInfo[] slots) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.StackFrame.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 frame(long): " + frame);
+                }
+                ps.writeFrameRef(frame);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 slots(SlotInfo[]): " + "");
+                }
+                ps.writeInt(slots.length);
+                for (int i = 0; i < slots.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     slots[i](SlotInfo): " + "");
+                    }
+                    slots[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static GetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new GetValues(vm, ps);
+            }
+
+
+            /**
+             * The number of values retrieved, always equal to slots, 
+             * the number of values to get.
+             */
+            final ValueImpl[] values;
+
+            private GetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.StackFrame.GetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "values(ValueImpl[]): " + "");
+                }
+                int valuesCount = ps.readInt();
+                values = new ValueImpl[valuesCount];
+                for (int i = 0; i < valuesCount; i++) {;
+                    values[i] = ps.readValue();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "values[i](ValueImpl): " + values[i]);
+                    }
+                }
+            }
+        }
+
+        /**
+         * Sets the value of one or more local variables. 
+         * Each variable must be visible at the current frame code index. 
+         * For primitive values, the value's type must match the 
+         * variable's type exactly. For object values, there must be a 
+         * widening reference conversion from the value's type to the 
+         * variable's type and the variable's type must be loaded. 
+         * <p>
+         * Even if local variable information is not available, values can 
+         * be set, if the front-end is able to 
+         * determine the correct local variable index. (Typically, this 
+         * index can be determined for method arguments from the method 
+         * signature without access to the local variable table information.) 
+         */
+        static class SetValues {
+            static final int COMMAND = 2;
+
+            static class SlotInfo {
+
+                /**
+                 * The slot ID. 
+                 */
+                final int slot;
+
+                /**
+                 * The value to set. 
+                 */
+                final ValueImpl slotValue;
+
+                SlotInfo(int slot, ValueImpl slotValue) {
+                    this.slot = slot;
+                    this.slotValue = slotValue;
+                }
+
+                private void write(PacketStream ps) {
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     slot(int): " + slot);
+                    }
+                    ps.writeInt(slot);
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     slotValue(ValueImpl): " + slotValue);
+                    }
+                    ps.writeValue(slotValue);
+                }
+            }
+
+            static SetValues process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame, 
+                                SlotInfo[] slotValues)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread, frame, slotValues);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame, 
+                                SlotInfo[] slotValues) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.StackFrame.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 frame(long): " + frame);
+                }
+                ps.writeFrameRef(frame);
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 slotValues(SlotInfo[]): " + "");
+                }
+                ps.writeInt(slotValues.length);
+                for (int i = 0; i < slotValues.length; i++) {;
+                    if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                        ps.vm.printTrace("Sending:                     slotValues[i](SlotInfo): " + "");
+                    }
+                    slotValues[i].write(ps);
+                }
+                ps.send();
+                return ps;
+            }
+
+            static SetValues waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new SetValues(vm, ps);
+            }
+
+
+            private SetValues(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.StackFrame.SetValues"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+
+        /**
+         * Returns the value of the 'this' reference for this frame. 
+         * If the frame's method is static or native, the reply 
+         * will contain the null object reference. 
+         */
+        static class ThisObject {
+            static final int COMMAND = 3;
+
+            static ThisObject process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread, frame);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.StackFrame.ThisObject"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 frame(long): " + frame);
+                }
+                ps.writeFrameRef(frame);
+                ps.send();
+                return ps;
+            }
+
+            static ThisObject waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ThisObject(vm, ps);
+            }
+
+
+            /**
+             * The 'this' object for this frame. 
+             */
+            final ObjectReferenceImpl objectThis;
+
+            private ThisObject(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.StackFrame.ThisObject"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                objectThis = ps.readTaggedObjectReference();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "objectThis(ObjectReferenceImpl): " + (objectThis==null?"NULL":"ref="+objectThis.ref()));
+                }
+            }
+        }
+
+        /**
+         * Pop the top-most stack frames of the thread stack, up to, and including 'frame'. 
+         * The thread must be suspended to perform this command. 
+         * The top-most stack frames are discarded and the stack frame previous to 'frame' 
+         * becomes the current frame. The operand stack is restored -- the argument values 
+         * are added back and if the invoke was not <code>invokestatic</code>, 
+         * <code>objectref</code> is added back as well. The Java virtual machine 
+         * program counter is restored to the opcode of the invoke instruction.
+         * <p>
+         * Since JDWP version 1.4. Requires canPopFrames capability - see 
+         * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+         */
+        static class PopFrames {
+            static final int COMMAND = 4;
+
+            static PopFrames process(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, thread, frame);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ThreadReferenceImpl thread, 
+                                long frame) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.StackFrame.PopFrames"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                }
+                ps.writeObjectRef(thread.ref());
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 frame(long): " + frame);
+                }
+                ps.writeFrameRef(frame);
+                ps.send();
+                return ps;
+            }
+
+            static PopFrames waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new PopFrames(vm, ps);
+            }
+
+
+            private PopFrames(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.StackFrame.PopFrames"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+            }
+        }
+    }
+
+    static class ClassObjectReference {
+        static final int COMMAND_SET = 17;
+        private ClassObjectReference() {}  // hide constructor
+
+        /**
+         * Returns the reference type reflected by this class object.
+         */
+        static class ReflectedType {
+            static final int COMMAND = 1;
+
+            static ReflectedType process(VirtualMachineImpl vm, 
+                                ClassObjectReferenceImpl classObject)
+                                    throws JDWPException {
+                PacketStream ps = enqueueCommand(vm, classObject);
+                return waitForReply(vm, ps);
+            }
+
+            static PacketStream enqueueCommand(VirtualMachineImpl vm, 
+                                ClassObjectReferenceImpl classObject) {
+                PacketStream ps = new PacketStream(vm, COMMAND_SET, COMMAND);
+                if ((vm.traceFlags & vm.TRACE_SENDS) != 0) {
+                    vm.printTrace("Sending Command(id=" + ps.pkt.id + ") JDWP.ClassObjectReference.ReflectedType"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:""));
+                }
+                if ((ps.vm.traceFlags & VirtualMachineImpl.TRACE_SENDS) != 0) {
+                    ps.vm.printTrace("Sending:                 classObject(ClassObjectReferenceImpl): " + (classObject==null?"NULL":"ref="+classObject.ref()));
+                }
+                ps.writeObjectRef(classObject.ref());
+                ps.send();
+                return ps;
+            }
+
+            static ReflectedType waitForReply(VirtualMachineImpl vm, PacketStream ps)
+                                    throws JDWPException {
+                ps.waitForReply();
+                return new ReflectedType(vm, ps);
+            }
+
+
+            /**
+             * <a href="#JDWP_TypeTag">Kind</a> 
+             * of following reference type. 
+             */
+            final byte refTypeTag;
+
+            /**
+             * reflected reference type
+             */
+            final long typeID;
+
+            private ReflectedType(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.ClassObjectReference.ReflectedType"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                refTypeTag = ps.readByte();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "refTypeTag(byte): " + refTypeTag);
+                }
+                typeID = ps.readClassRef();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "typeID(long): " + "ref="+typeID);
+                }
+            }
+        }
+    }
+
+    static class Event {
+        static final int COMMAND_SET = 64;
+        private Event() {}  // hide constructor
+
+        /**
+         * Several events may occur at a given time in the target VM. 
+         * For example, there may be more than one breakpoint request 
+         * for a given location 
+         * or you might single step to the same location as a 
+         * breakpoint request.  These events are delivered 
+         * together as a composite event.  For uniformity, a 
+         * composite event is always used 
+         * to deliver events, even if there is only one event to report. 
+         * <P>
+         * The events that are grouped in a composite event are restricted in the 
+         * following ways: 
+         * <P>
+         * <UL>
+         * <LI>Only with other thread start events for the same thread:
+         *     <UL>
+         *     <LI>Thread Start Event
+         *     </UL>
+         * <LI>Only with other thread death events for the same thread:
+         *     <UL>
+         *     <LI>Thread Death Event
+         *     </UL>
+         * <LI>Only with other class prepare events for the same class:
+         *     <UL>
+         *     <LI>Class Prepare Event
+         *     </UL>
+         * <LI>Only with other class unload events for the same class:
+         *     <UL>
+         *     <LI>Class Unload Event
+         *     </UL>
+         * <LI>Only with other access watchpoint events for the same field access:
+         *     <UL>
+         *     <LI>Access Watchpoint Event
+         *     </UL>
+         * <LI>Only with other modification watchpoint events for the same field 
+         * modification:
+         *     <UL>
+         *     <LI>Modification Watchpoint Event
+         *     </UL>
+         * <LI>Only with other Monitor contended enter events for the same monitor object: 
+         *     <UL>
+         *     <LI>Monitor Contended Enter Event
+         *     </UL>
+         * <LI>Only with other Monitor contended entered events for the same monitor object: 
+         *     <UL>
+         *     <LI>Monitor Contended Entered Event
+         *     </UL>
+         * <LI>Only with other Monitor wait events for the same monitor object: 
+         *     <UL>
+         *     <LI>Monitor Wait Event
+         *     </UL>
+         * <LI>Only with other Monitor waited events for the same monitor object: 
+         *     <UL>
+         *     <LI>Monitor Waited Event
+         *     </UL>
+         * <LI>Only with other ExceptionEvents for the same exception occurrance:
+         *     <UL>
+         *     <LI>ExceptionEvent
+         *     </UL>
+         * <LI>Only with other members of this group, at the same location 
+         * and in the same thread: 
+         *     <UL>
+         *     <LI>Breakpoint Event
+         *     <LI>Step Event
+         *     <LI>Method Entry Event
+         *     <LI>Method Exit Event
+         *     </UL>
+         * </UL>
+         * <P>
+         * The VM Start Event and VM Death Event are automatically generated events. 
+         * This means they do not need to be requested using the 
+         * <a href="#JDWP_EventRequest_Set">EventRequest.Set</a> command. 
+         * The VM Start event signals the completion of VM initialization. The VM Death 
+         * event signals the termination of the VM.
+         * If there is a debugger connected at the time when an automatically generated 
+         * event occurs it is sent from the target VM. Automatically generated events may 
+         * also be requested using the EventRequest.Set command and thus multiple events 
+         * of the same event kind will be sent from the target VM when an event occurs.
+         * Automatically generated events are sent with the requestID field 
+         * in the Event Data set to 0. The value of the suspendPolicy field in the 
+         * Event Data depends on the event. For the automatically generated VM Start 
+         * Event the value of suspendPolicy is not defined and is therefore implementation 
+         * or configuration specific. In the Sun implementation, for example, the 
+         * suspendPolicy is specified as an option to the JDWP agent at launch-time.
+         * The automatically generated VM Death Event will have the suspendPolicy set to 
+         * NONE.
+         */
+        static class Composite {
+            static final int COMMAND = 100;
+
+            static class Events {
+                abstract static class EventsCommon {
+                    abstract byte eventKind();
+                }
+
+                /**
+                 * Event kind selector
+                 */
+                final byte eventKind;
+                EventsCommon aEventsCommon;
+
+                Events(VirtualMachineImpl vm, PacketStream ps) {
+                    eventKind = ps.readByte();
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "eventKind(byte): " + eventKind);
+                    }
+                    switch (eventKind) {
+                        case JDWP.EventKind.VM_START:
+                             aEventsCommon = new VMStart(vm, ps);
+                            break;
+                        case JDWP.EventKind.SINGLE_STEP:
+                             aEventsCommon = new SingleStep(vm, ps);
+                            break;
+                        case JDWP.EventKind.BREAKPOINT:
+                             aEventsCommon = new Breakpoint(vm, ps);
+                            break;
+                        case JDWP.EventKind.METHOD_ENTRY:
+                             aEventsCommon = new MethodEntry(vm, ps);
+                            break;
+                        case JDWP.EventKind.METHOD_EXIT:
+                             aEventsCommon = new MethodExit(vm, ps);
+                            break;
+                        case JDWP.EventKind.METHOD_EXIT_WITH_RETURN_VALUE:
+                             aEventsCommon = new MethodExitWithReturnValue(vm, ps);
+                            break;
+                        case JDWP.EventKind.MONITOR_CONTENDED_ENTER:
+                             aEventsCommon = new MonitorContendedEnter(vm, ps);
+                            break;
+                        case JDWP.EventKind.MONITOR_CONTENDED_ENTERED:
+                             aEventsCommon = new MonitorContendedEntered(vm, ps);
+                            break;
+                        case JDWP.EventKind.MONITOR_WAIT:
+                             aEventsCommon = new MonitorWait(vm, ps);
+                            break;
+                        case JDWP.EventKind.MONITOR_WAITED:
+                             aEventsCommon = new MonitorWaited(vm, ps);
+                            break;
+                        case JDWP.EventKind.EXCEPTION:
+                             aEventsCommon = new Exception(vm, ps);
+                            break;
+                        case JDWP.EventKind.THREAD_START:
+                             aEventsCommon = new ThreadStart(vm, ps);
+                            break;
+                        case JDWP.EventKind.THREAD_DEATH:
+                             aEventsCommon = new ThreadDeath(vm, ps);
+                            break;
+                        case JDWP.EventKind.CLASS_PREPARE:
+                             aEventsCommon = new ClassPrepare(vm, ps);
+                            break;
+                        case JDWP.EventKind.CLASS_UNLOAD:
+                             aEventsCommon = new ClassUnload(vm, ps);
+                            break;
+                        case JDWP.EventKind.FIELD_ACCESS:
+                             aEventsCommon = new FieldAccess(vm, ps);
+                            break;
+                        case JDWP.EventKind.FIELD_MODIFICATION:
+                             aEventsCommon = new FieldModification(vm, ps);
+                            break;
+                        case JDWP.EventKind.VM_DEATH:
+                             aEventsCommon = new VMDeath(vm, ps);
+                            break;
+                    }
+                }
+
+                /**
+                 * Notification of initialization of a target VM.  This event is 
+                 * received before the main thread is started and before any 
+                 * application code has been executed. Before this event occurs 
+                 * a significant amount of system code has executed and a number 
+                 * of system classes have been loaded. 
+                 * This event is always generated by the target VM, even 
+                 * if not explicitly requested.
+                 */
+                static class VMStart extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.VM_START;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event (or 0 if this 
+                     * event is automatically generated.
+                     */
+                    final int requestID;
+
+                    /**
+                     * Initial thread
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    VMStart(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of step completion in the target VM. The step event 
+                 * is generated before the code at its location is executed. 
+                 */
+                static class SingleStep extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.SINGLE_STEP;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Stepped thread
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Location stepped to
+                     */
+                    final Location location;
+
+                    SingleStep(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a breakpoint in the target VM. The breakpoint event 
+                 * is generated before the code at its location is executed. 
+                 */
+                static class Breakpoint extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.BREAKPOINT;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * thread which hit breakpoint
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Location hit
+                     */
+                    final Location location;
+
+                    Breakpoint(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a method invocation in the target VM. This event 
+                 * is generated before any code in the invoked method has executed. 
+                 * Method entry events are generated for both native and non-native 
+                 * methods. 
+                 * <P>
+                 * In some VMs method entry events can occur for a particular thread 
+                 * before its thread start event occurs if methods are called 
+                 * as part of the thread's initialization. 
+                 */
+                static class MethodEntry extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.METHOD_ENTRY;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * thread which entered method
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * The initial executable location in the method.
+                     */
+                    final Location location;
+
+                    MethodEntry(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a method return in the target VM. This event 
+                 * is generated after all code in the method has executed, but the 
+                 * location of this event is the last executed location in the method. 
+                 * Method exit events are generated for both native and non-native 
+                 * methods. Method exit events are not generated if the method terminates 
+                 * with a thrown exception. 
+                 */
+                static class MethodExit extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.METHOD_EXIT;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * thread which exited method
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Location of exit
+                     */
+                    final Location location;
+
+                    MethodExit(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a method return in the target VM. This event 
+                 * is generated after all code in the method has executed, but the 
+                 * location of this event is the last executed location in the method. 
+                 * Method exit events are generated for both native and non-native 
+                 * methods. Method exit events are not generated if the method terminates 
+                 * with a thrown exception. <p>Since JDWP version 1.6. 
+                 */
+                static class MethodExitWithReturnValue extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.METHOD_EXIT_WITH_RETURN_VALUE;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Thread which exited method
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Location of exit
+                     */
+                    final Location location;
+
+                    /**
+                     * Value that will be returned by the method
+                     */
+                    final ValueImpl value;
+
+                    MethodExitWithReturnValue(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                        value = ps.readValue();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "value(ValueImpl): " + value);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification that a thread in the target VM is attempting 
+                 * to enter a monitor that is already acquired by another thread. 
+                 * <p>Since JDWP version 1.6. 
+                 */
+                static class MonitorContendedEnter extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.MONITOR_CONTENDED_ENTER;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Thread which is trying to enter the monitor
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Monitor object reference
+                     */
+                    final ObjectReferenceImpl object;
+
+                    /**
+                     * location of contended monitor enter
+                     */
+                    final Location location;
+
+                    MonitorContendedEnter(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        object = ps.readTaggedObjectReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a thread in the target VM is entering a monitor 
+                 * after waiting for it to be released by another thread. 
+                 * <p>Since JDWP version 1.6. 
+                 */
+                static class MonitorContendedEntered extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.MONITOR_CONTENDED_ENTERED;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Thread which entered monitor
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Monitor object reference
+                     */
+                    final ObjectReferenceImpl object;
+
+                    /**
+                     * location of contended monitor enter
+                     */
+                    final Location location;
+
+                    MonitorContendedEntered(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        object = ps.readTaggedObjectReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a thread about to wait on a monitor object. 
+                 * <p>Since JDWP version 1.6. 
+                 */
+                static class MonitorWait extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.MONITOR_WAIT;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Thread which entered monitor
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Monitor object reference
+                     */
+                    final ObjectReferenceImpl object;
+
+                    /**
+                     * location contended monitor enter
+                     */
+                    final Location location;
+
+                    /**
+                     * thread wait time in milliseconds
+                     */
+                    final long timeout;
+
+                    MonitorWait(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        object = ps.readTaggedObjectReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                        timeout = ps.readLong();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "timeout(long): " + timeout);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification that a thread in the target VM has finished waiting on 
+                 * a monitor object. 
+                 * <p>Since JDWP version 1.6. 
+                 */
+                static class MonitorWaited extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.MONITOR_WAITED;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Thread which entered monitor
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Monitor object reference
+                     */
+                    final ObjectReferenceImpl object;
+
+                    /**
+                     * location contended monitor enter
+                     */
+                    final Location location;
+
+                    /**
+                     * true if timed out
+                     */
+                    final boolean timed_out;
+
+                    MonitorWaited(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        object = ps.readTaggedObjectReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                        timed_out = ps.readBoolean();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "timed_out(boolean): " + timed_out);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of an exception in the target VM. 
+                 * If the exception is thrown from a non-native method, 
+                 * the exception event is generated at the location where the 
+                 * exception is thrown. 
+                 * If the exception is thrown from a native method, the exception event 
+                 * is generated at the first non-native location reached after the exception 
+                 * is thrown. 
+                 */
+                static class Exception extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.EXCEPTION;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Thread with exception
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Location of exception throw 
+                     * (or first non-native location after throw if thrown from a native method)
+                     */
+                    final Location location;
+
+                    /**
+                     * Thrown exception
+                     */
+                    final ObjectReferenceImpl exception;
+
+                    /**
+                     * Location of catch, or 0 if not caught. An exception 
+                     * is considered to be caught if, at the point of the throw, the 
+                     * current location is dynamically enclosed in a try statement that 
+                     * handles the exception. (See the JVM specification for details). 
+                     * If there is such a try statement, the catch location is the 
+                     * first location in the appropriate catch clause. 
+                     * <p>
+                     * If there are native methods in the call stack at the time of the 
+                     * exception, there are important restrictions to note about the 
+                     * returned catch location. In such cases, 
+                     * it is not possible to predict whether an exception will be handled 
+                     * by some native method on the call stack. 
+                     * Thus, it is possible that exceptions considered uncaught 
+                     * here will, in fact, be handled by a native method and not cause 
+                     * termination of the target VM. Furthermore, it cannot be assumed that the 
+                     * catch location returned here will ever be reached by the throwing 
+                     * thread. If there is 
+                     * a native frame between the current location and the catch location, 
+                     * the exception might be handled and cleared in that native method 
+                     * instead. 
+                     * <p>
+                     * Note that compilers can generate try-catch blocks in some cases 
+                     * where they are not explicit in the source code; for example, 
+                     * the code generated for <code>synchronized</code> and 
+                     * <code>finally</code> blocks can contain implicit try-catch blocks. 
+                     * If such an implicitly generated try-catch is 
+                     * present on the call stack at the time of the throw, the exception 
+                     * will be considered caught even though it appears to be uncaught from 
+                     * examination of the source code. 
+                     */
+                    final Location catchLocation;
+
+                    Exception(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                        exception = ps.readTaggedObjectReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "exception(ObjectReferenceImpl): " + (exception==null?"NULL":"ref="+exception.ref()));
+                        }
+                        catchLocation = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "catchLocation(Location): " + catchLocation);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a new running thread in the target VM. 
+                 * The new thread can be the result of a call to 
+                 * <code>java.lang.Thread.start</code> or the result of 
+                 * attaching a new thread to the VM though JNI. The 
+                 * notification is generated by the new thread some time before 
+                 * its execution starts. 
+                 * Because of this timing, it is possible to receive other events 
+                 * for the thread before this event is received. (Notably, 
+                 * Method Entry Events and Method Exit Events might occur 
+                 * during thread initialization. 
+                 * It is also possible for the 
+                 * <a href="#JDWP_VirtualMachine_AllThreads">VirtualMachine AllThreads</a> 
+                 * command to return 
+                 * a thread before its thread start event is received. 
+                 * <p>
+                 * Note that this event gives no information 
+                 * about the creation of the thread object which may have happened 
+                 * much earlier, depending on the VM being debugged. 
+                 */
+                static class ThreadStart extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.THREAD_START;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Started thread
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    ThreadStart(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a completed thread in the target VM. The 
+                 * notification is generated by the dying thread before it terminates. 
+                 * Because of this timing, it is possible 
+                 * for {@link VirtualMachine#allThreads} to return this thread 
+                 * after this event is received. 
+                 * <p>
+                 * Note that this event gives no information 
+                 * about the lifetime of the thread object. It may or may not be collected 
+                 * soon depending on what references exist in the target VM. 
+                 */
+                static class ThreadDeath extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.THREAD_DEATH;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Ending thread
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    ThreadDeath(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a class prepare in the target VM. See the JVM 
+                 * specification for a definition of class preparation. Class prepare 
+                 * events are not generated for primtiive classes (for example, 
+                 * java.lang.Integer.TYPE). 
+                 */
+                static class ClassPrepare extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.CLASS_PREPARE;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Preparing thread. 
+                     * In rare cases, this event may occur in a debugger system 
+                     * thread within the target VM. Debugger threads take precautions 
+                     * to prevent these events, but they cannot be avoided under some 
+                     * conditions, especially for some subclasses of 
+                     * java.lang.Error. 
+                     * If the event was generated by a debugger system thread, the 
+                     * value returned by this method is null, and if the requested  
+                     * <a href="#JDWP_SuspendPolicy">suspend policy</a> 
+                     * for the event was EVENT_THREAD 
+                     * all threads will be suspended instead, and the 
+                     * composite event's suspend policy will reflect this change. 
+                     * <p>
+                     * Note that the discussion above does not apply to system threads 
+                     * created by the target VM during its normal (non-debug) operation. 
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Kind of reference type. 
+                     * See <a href="#JDWP_TypeTag">JDWP.TypeTag</a>
+                     */
+                    final byte refTypeTag;
+
+                    /**
+                     * Type being prepared
+                     */
+                    final long typeID;
+
+                    /**
+                     * Type signature
+                     */
+                    final String signature;
+
+                    /**
+                     * Status of type. 
+                     * See <a href="#JDWP_ClassStatus">JDWP.ClassStatus</a>
+                     */
+                    final int status;
+
+                    ClassPrepare(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        refTypeTag = ps.readByte();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "refTypeTag(byte): " + refTypeTag);
+                        }
+                        typeID = ps.readClassRef();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "typeID(long): " + "ref="+typeID);
+                        }
+                        signature = ps.readString();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "signature(String): " + signature);
+                        }
+                        status = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "status(int): " + status);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a class unload in the target VM. 
+                 * <p>
+                 * There are severe constraints on the debugger back-end during 
+                 * garbage collection, so unload information is greatly limited.	
+                 */
+                static class ClassUnload extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.CLASS_UNLOAD;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Type signature
+                     */
+                    final String signature;
+
+                    ClassUnload(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        signature = ps.readString();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "signature(String): " + signature);
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a field access in the target VM. 
+                 * Field modifications 
+                 * are not considered field accesses. 
+                 * Requires canWatchFieldAccess capability - see 
+                 * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+                 */
+                static class FieldAccess extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.FIELD_ACCESS;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Accessing thread
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Location of access
+                     */
+                    final Location location;
+
+                    /**
+                     * Kind of reference type. 
+                     * See <a href="#JDWP_TypeTag">JDWP.TypeTag</a>
+                     */
+                    final byte refTypeTag;
+
+                    /**
+                     * Type of field
+                     */
+                    final long typeID;
+
+                    /**
+                     * Field being accessed
+                     */
+                    final long fieldID;
+
+                    /**
+                     * Object being accessed (null=0 for statics
+                     */
+                    final ObjectReferenceImpl object;
+
+                    FieldAccess(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                        refTypeTag = ps.readByte();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "refTypeTag(byte): " + refTypeTag);
+                        }
+                        typeID = ps.readClassRef();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "typeID(long): " + "ref="+typeID);
+                        }
+                        fieldID = ps.readFieldRef();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "fieldID(long): " + fieldID);
+                        }
+                        object = ps.readTaggedObjectReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                        }
+                    }
+                }
+
+                /**
+                 * Notification of a field modification in the target VM. 
+                 * Requires canWatchFieldModification capability - see 
+                 * <a href="#JDWP_VirtualMachine_CapabilitiesNew">CapabilitiesNew</a>.
+                 */
+                static class FieldModification extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.FIELD_MODIFICATION;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    /**
+                     * Modifying thread
+                     */
+                    final ThreadReferenceImpl thread;
+
+                    /**
+                     * Location of modify
+                     */
+                    final Location location;
+
+                    /**
+                     * Kind of reference type. 
+                     * See <a href="#JDWP_TypeTag">JDWP.TypeTag</a>
+                     */
+                    final byte refTypeTag;
+
+                    /**
+                     * Type of field
+                     */
+                    final long typeID;
+
+                    /**
+                     * Field being modified
+                     */
+                    final long fieldID;
+
+                    /**
+                     * Object being modified (null=0 for statics
+                     */
+                    final ObjectReferenceImpl object;
+
+                    /**
+                     * Value to be assigned
+                     */
+                    final ValueImpl valueToBe;
+
+                    FieldModification(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                        thread = ps.readThreadReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "thread(ThreadReferenceImpl): " + (thread==null?"NULL":"ref="+thread.ref()));
+                        }
+                        location = ps.readLocation();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "location(Location): " + location);
+                        }
+                        refTypeTag = ps.readByte();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "refTypeTag(byte): " + refTypeTag);
+                        }
+                        typeID = ps.readClassRef();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "typeID(long): " + "ref="+typeID);
+                        }
+                        fieldID = ps.readFieldRef();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "fieldID(long): " + fieldID);
+                        }
+                        object = ps.readTaggedObjectReference();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "object(ObjectReferenceImpl): " + (object==null?"NULL":"ref="+object.ref()));
+                        }
+                        valueToBe = ps.readValue();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "valueToBe(ValueImpl): " + valueToBe);
+                        }
+                    }
+                }
+
+                static class VMDeath extends EventsCommon {
+                    static final byte ALT_ID = JDWP.EventKind.VM_DEATH;
+                    byte eventKind() {
+                        return ALT_ID;
+                    }
+
+                    /**
+                     * Request that generated event
+                     */
+                    final int requestID;
+
+                    VMDeath(VirtualMachineImpl vm, PacketStream ps) {
+                        requestID = ps.readInt();
+                        if (vm.traceReceives) {
+                            vm.printReceiveTrace(6, "requestID(int): " + requestID);
+                        }
+                    }
+                }
+            }
+
+
+            /**
+             * Which threads where suspended by this composite event?
+             */
+            final byte suspendPolicy;
+
+            /**
+             * Events in set.
+             */
+            final Events[] events;
+
+            Composite(VirtualMachineImpl vm, PacketStream ps) {
+                if (vm.traceReceives) {
+                    vm.printTrace("Receiving Command(id=" + ps.pkt.id + ") JDWP.Event.Composite"+(ps.pkt.flags!=0?", FLAGS=" + ps.pkt.flags:"")+(ps.pkt.errorCode!=0?", ERROR CODE=" + ps.pkt.errorCode:""));
+                }
+                suspendPolicy = ps.readByte();
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "suspendPolicy(byte): " + suspendPolicy);
+                }
+                if (vm.traceReceives) {
+                    vm.printReceiveTrace(4, "events(Events[]): " + "");
+                }
+                int eventsCount = ps.readInt();
+                events = new Events[eventsCount];
+                for (int i = 0; i < eventsCount; i++) {;
+                    if (vm.traceReceives) {
+                        vm.printReceiveTrace(5, "events[i](Events): " + "");
+                    }
+                    events[i] = new Events(vm, ps);
+                }
+            }
+        }
+    }
+
+    static class Error {
+        static final int NONE = 0;
+        static final int INVALID_THREAD = 10;
+        static final int INVALID_THREAD_GROUP = 11;
+        static final int INVALID_PRIORITY = 12;
+        static final int THREAD_NOT_SUSPENDED = 13;
+        static final int THREAD_SUSPENDED = 14;
+        static final int THREAD_NOT_ALIVE = 15;
+        static final int INVALID_OBJECT = 20;
+        static final int INVALID_CLASS = 21;
+        static final int CLASS_NOT_PREPARED = 22;
+        static final int INVALID_METHODID = 23;
+        static final int INVALID_LOCATION = 24;
+        static final int INVALID_FIELDID = 25;
+        static final int INVALID_FRAMEID = 30;
+        static final int NO_MORE_FRAMES = 31;
+        static final int OPAQUE_FRAME = 32;
+        static final int NOT_CURRENT_FRAME = 33;
+        static final int TYPE_MISMATCH = 34;
+        static final int INVALID_SLOT = 35;
+        static final int DUPLICATE = 40;
+        static final int NOT_FOUND = 41;
+        static final int INVALID_MONITOR = 50;
+        static final int NOT_MONITOR_OWNER = 51;
+        static final int INTERRUPT = 52;
+        static final int INVALID_CLASS_FORMAT = 60;
+        static final int CIRCULAR_CLASS_DEFINITION = 61;
+        static final int FAILS_VERIFICATION = 62;
+        static final int ADD_METHOD_NOT_IMPLEMENTED = 63;
+        static final int SCHEMA_CHANGE_NOT_IMPLEMENTED = 64;
+        static final int INVALID_TYPESTATE = 65;
+        static final int HIERARCHY_CHANGE_NOT_IMPLEMENTED = 66;
+        static final int DELETE_METHOD_NOT_IMPLEMENTED = 67;
+        static final int UNSUPPORTED_VERSION = 68;
+        static final int NAMES_DONT_MATCH = 69;
+        static final int CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 70;
+        static final int METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 71;
+        static final int NOT_IMPLEMENTED = 99;
+        static final int NULL_POINTER = 100;
+        static final int ABSENT_INFORMATION = 101;
+        static final int INVALID_EVENT_TYPE = 102;
+        static final int ILLEGAL_ARGUMENT = 103;
+        static final int OUT_OF_MEMORY = 110;
+        static final int ACCESS_DENIED = 111;
+        static final int VM_DEAD = 112;
+        static final int INTERNAL = 113;
+        static final int UNATTACHED_THREAD = 115;
+        static final int INVALID_TAG = 500;
+        static final int ALREADY_INVOKING = 502;
+        static final int INVALID_INDEX = 503;
+        static final int INVALID_LENGTH = 504;
+        static final int INVALID_STRING = 506;
+        static final int INVALID_CLASS_LOADER = 507;
+        static final int INVALID_ARRAY = 508;
+        static final int TRANSPORT_LOAD = 509;
+        static final int TRANSPORT_INIT = 510;
+        static final int NATIVE_METHOD = 511;
+        static final int INVALID_COUNT = 512;
+    }
+
+    static class EventKind {
+        static final int SINGLE_STEP = 1;
+        static final int BREAKPOINT = 2;
+        static final int FRAME_POP = 3;
+        static final int EXCEPTION = 4;
+        static final int USER_DEFINED = 5;
+        static final int THREAD_START = 6;
+        static final int THREAD_DEATH = 7;
+        static final int THREAD_END = 7;
+        static final int CLASS_PREPARE = 8;
+        static final int CLASS_UNLOAD = 9;
+        static final int CLASS_LOAD = 10;
+        static final int FIELD_ACCESS = 20;
+        static final int FIELD_MODIFICATION = 21;
+        static final int EXCEPTION_CATCH = 30;
+        static final int METHOD_ENTRY = 40;
+        static final int METHOD_EXIT = 41;
+        static final int METHOD_EXIT_WITH_RETURN_VALUE = 42;
+        static final int MONITOR_CONTENDED_ENTER = 43;
+        static final int MONITOR_CONTENDED_ENTERED = 44;
+        static final int MONITOR_WAIT = 45;
+        static final int MONITOR_WAITED = 46;
+        static final int VM_START = 90;
+        static final int VM_INIT = 90;
+        static final int VM_DEATH = 99;
+        static final int VM_DISCONNECTED = 100;
+    }
+
+    static class ThreadStatus {
+        static final int ZOMBIE = 0;
+        static final int RUNNING = 1;
+        static final int SLEEPING = 2;
+        static final int MONITOR = 3;
+        static final int WAIT = 4;
+    }
+
+    static class SuspendStatus {
+        static final int SUSPEND_STATUS_SUSPENDED = 0x1;
+    }
+
+    static class ClassStatus {
+        static final int VERIFIED = 1;
+        static final int PREPARED = 2;
+        static final int INITIALIZED = 4;
+        static final int ERROR = 8;
+    }
+
+    static class TypeTag {
+        static final int CLASS = 1;
+        static final int INTERFACE = 2;
+        static final int ARRAY = 3;
+    }
+
+    static class Tag {
+        static final int ARRAY = 91;
+        static final int BYTE = 66;
+        static final int CHAR = 67;
+        static final int OBJECT = 76;
+        static final int FLOAT = 70;
+        static final int DOUBLE = 68;
+        static final int INT = 73;
+        static final int LONG = 74;
+        static final int SHORT = 83;
+        static final int VOID = 86;
+        static final int BOOLEAN = 90;
+        static final int STRING = 115;
+        static final int THREAD = 116;
+        static final int THREAD_GROUP = 103;
+        static final int CLASS_LOADER = 108;
+        static final int CLASS_OBJECT = 99;
+    }
+
+    static class StepDepth {
+        static final int INTO = 0;
+        static final int OVER = 1;
+        static final int OUT = 2;
+    }
+
+    static class StepSize {
+        static final int MIN = 0;
+        static final int LINE = 1;
+    }
+
+    static class SuspendPolicy {
+        static final int NONE = 0;
+        static final int EVENT_THREAD = 1;
+        static final int ALL = 2;
+    }
+
+    /**
+     * The invoke options are a combination of zero or more of the following bit flags:
+     */
+    static class InvokeOptions {
+        static final int INVOKE_SINGLE_THREADED = 0x01;
+        static final int INVOKE_NONVIRTUAL = 0x02;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/jdi/resources/jdi.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.tools.jdi.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jdi extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "false", "false" },
+            { "generic_attaching.address", "Address to which to attach for VM connections" },
+            { "generic_attaching.address.label", "Address" },
+            { "generic_attaching.timeout", "Timeout while waiting to attach " },
+            { "generic_attaching.timeout.label", "Timeout" },
+            { "generic_listening.address", "Address to listen for VM connections" },
+            { "generic_listening.address.label", "Address" },
+            { "generic_listening.timeout", "Timeout while waiting for connection" },
+            { "generic_listening.timeout.label", "Timeout" },
+            { "memory_attaching.description", "Attaches by shared memory to other VMs" },
+            { "memory_attaching.name", "Name of the shared memory area to which to attach for VM connections" },
+            { "memory_attaching.name.label", "Name" },
+            { "memory_listening.description", "Accepts shared memory connections initiated by other VMs" },
+            { "memory_listening.name", "Name of the shared memory area at which to listen for VM connection" },
+            { "memory_listening.name.label", "Name" },
+            { "memory_transportservice.description", "Connects debugger and debugee using a shared memory connection" },
+            { "process_attaching.description", "Attaches to debuggee by process-id (pid)" },
+            { "process_attaching.pid", "pid" },
+            { "process_attaching.pid.label", "Process-id (pid) of debuggee" },
+            { "raw.address", "Address from which to listen for a connection after the raw command is run" },
+            { "raw.address.label", "Address" },
+            { "raw.command", "Raw command to start the debugged application VM" },
+            { "raw.command.label", "Command" },
+            { "raw.description", "Launches target using user-specified command line and attaches to it" },
+            { "raw.quote", "Character used to combine space-delimited text into a single command line argument" },
+            { "raw.quote.label", "Quote" },
+            { "socket_attaching.description", "Attaches by socket to other VMs" },
+            { "socket_attaching.host", "Machine name to which to attach for VM connections" },
+            { "socket_attaching.host.label", "Host" },
+            { "socket_attaching.port", "Port number to which to attach for VM connections" },
+            { "socket_attaching.port.label", "Port" },
+            { "socket_listening.description", "Accepts socket connections initiated by other VMs" },
+            { "socket_listening.localaddr", "Local address that the listener binds to" },
+            { "socket_listening.localaddr.label", "Local address" },
+            { "socket_listening.port", "Port number at which to listen for VM connections" },
+            { "socket_listening.port.label", "Port" },
+            { "socket_transportservice.description", "Connects debugger and debugee using a TCP connection" },
+            { "sun.description", "Launches target using Sun Java VM command line and attaches to it" },
+            { "sun.home", "Home directory of the SDK or runtime environment used to launch the application" },
+            { "sun.home.label", "Home " },
+            { "sun.init_suspend", "All threads will be suspended before execution of main" },
+            { "sun.init_suspend.label", "Suspend" },
+            { "sun.main", "Main class and arguments, or if -jar is an option, the main jar file and arguments" },
+            { "sun.main.label", "Main" },
+            { "sun.options", "Launched VM options" },
+            { "sun.options.label", "Options" },
+            { "sun.quote", "Character used to combine space-delimited text into a single command line argument" },
+            { "sun.quote.label", "Quote" },
+            { "sun.vm_exec", "Name of the Java VM launcher" },
+            { "sun.vm_exec.label", "Launcher" },
+            { "true", "true" },
+            { "version_format", "Java Debug Interface (Reference Implementation) version {0}.{1} \n{2}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/jdi/resources/jdi_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.tools.jdi.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jdi_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "false", "false" },
+            { "generic_attaching.address", "VM \u306B\u63A5\u7D9A\u3059\u308B\u30A2\u30C9\u30EC\u30B9" },
+            { "generic_attaching.address.label", "\u30A2\u30C9\u30EC\u30B9" },
+            { "generic_attaching.timeout", "\u63A5\u7D9A\u3092\u5F85\u3064\u9593\u306E\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8 " },
+            { "generic_attaching.timeout.label", "\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8" },
+            { "generic_listening.address", "VM \u3078\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\u30A2\u30C9\u30EC\u30B9" },
+            { "generic_listening.address.label", "\u30A2\u30C9\u30EC\u30B9" },
+            { "generic_listening.timeout", "\u63A5\u7D9A\u3092\u5F85\u3064\u9593\u306E\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8" },
+            { "generic_listening.timeout.label", "\u30BF\u30A4\u30E0\u30A2\u30A6\u30C8" },
+            { "memory_attaching.description", "\u5171\u6709\u30E1\u30E2\u30EA\u3067\u305D\u306E\u4ED6\u306E VM \u306B\u63A5\u7D9A\u3057\u307E\u3059\u3002" },
+            { "memory_attaching.name", "VM \u3078\u306E\u63A5\u7D9A\u306B\u4F7F\u7528\u3055\u308C\u308B\u5171\u6709\u30E1\u30E2\u30EA\u9818\u57DF\u540D" },
+            { "memory_attaching.name.label", "\u540D\u524D" },
+            { "memory_listening.description", "\u305D\u306E\u4ED6\u306E VM \u306B\u3088\u308A\u958B\u59CB\u3055\u308C\u308B\u5171\u6709\u30E1\u30E2\u30EA\u63A5\u7D9A\u3092\u53D7\u3051\u5165\u308C\u307E\u3059\u3002" },
+            { "memory_listening.name", "VM \u3078\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\u305F\u3081\u306E\u5171\u6709\u30E1\u30E2\u30EA\u9818\u57DF\u540D" },
+            { "memory_listening.name.label", "\u540D\u524D" },
+            { "memory_transportservice.description", "\u5171\u6709\u30E1\u30E2\u30EA\u63A5\u7D9A\u3067\u30C7\u30D0\u30C3\u30AC\u3068\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u63A5\u7D9A\u3057\u307E\u3059\u3002" },
+            { "process_attaching.description", "\u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9\u306B\u30D7\u30ED\u30BB\u30B9 ID (pid) \u3092\u4F7F\u3063\u3066\u63A5\u7D9A\u3057\u307E\u3059" },
+            { "process_attaching.pid", "pid" },
+            { "process_attaching.pid.label", "\u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30D7\u30ED\u30BB\u30B9 ID (pid)" },
+            { "raw.address", "raw \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C\u5F8C\u306B\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\u30A2\u30C9\u30EC\u30B9" },
+            { "raw.address.label", "\u30A2\u30C9\u30EC\u30B9" },
+            { "raw.command", "\u30C7\u30D0\u30C3\u30B0\u3059\u308B\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3 VM \u3092\u8D77\u52D5\u3055\u305B\u308B raw \u30B3\u30DE\u30F3\u30C9" },
+            { "raw.command.label", "\u30B3\u30DE\u30F3\u30C9" },
+            { "raw.description", "\u30E6\u30FC\u30B6\u304C\u6307\u5B9A\u3057\u305F\u30B3\u30DE\u30F3\u30C9\u884C\u3092\u4F7F\u7528\u3057\u3066\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8D77\u52D5\u3057\u3001\u63A5\u7D9A\u3057\u307E\u3059\u3002" },
+            { "raw.quote", "\u5358\u4E00\u306E\u30B3\u30DE\u30F3\u30C9\u884C\u5F15\u6570\u5185\u306B\u30B9\u30DA\u30FC\u30B9\u3067\u533A\u5207\u3089\u308C\u305F\u30C6\u30AD\u30B9\u30C8\u3092\u7D50\u3073\u4ED8\u3051\u308B\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57" },
+            { "raw.quote.label", "\u5F15\u7528\u7B26" },
+            { "socket_attaching.description", "\u30BD\u30B1\u30C3\u30C8\u3067\u305D\u306E\u4ED6\u306E VM \u306B\u63A5\u7D9A\u3057\u307E\u3059\u3002" },
+            { "socket_attaching.host", "VM \u306B\u63A5\u7D9A\u3059\u308B\u30DE\u30B7\u30F3\u540D" },
+            { "socket_attaching.host.label", "\u30DB\u30B9\u30C8" },
+            { "socket_attaching.port", "VM \u306B\u63A5\u7D9A\u3059\u308B\u30DD\u30FC\u30C8\u756A\u53F7" },
+            { "socket_attaching.port.label", "\u30DD\u30FC\u30C8" },
+            { "socket_listening.description", "\u305D\u306E\u4ED6\u306E VM \u306B\u3088\u308A\u958B\u59CB\u3055\u308C\u308B\u30BD\u30B1\u30C3\u30C8\u63A5\u7D9A\u3092\u53D7\u3051\u5165\u308C\u307E\u3059\u3002" },
+            { "socket_listening.localaddr", "\u30EA\u30B9\u30CA\u30FC\u306E\u30D0\u30A4\u30F3\u30C9\u5148\u30ED\u30FC\u30AB\u30EB\u30A2\u30C9\u30EC\u30B9" },
+            { "socket_listening.localaddr.label", "\u30ED\u30FC\u30AB\u30EB\u30A2\u30C9\u30EC\u30B9" },
+            { "socket_listening.port", "VM \u3078\u306E\u63A5\u7D9A\u3092\u5F85\u6A5F\u3059\u308B\u30DD\u30FC\u30C8\u756A\u53F7" },
+            { "socket_listening.port.label", "\u30DD\u30FC\u30C8" },
+            { "socket_transportservice.description", "TCP \u63A5\u7D9A\u3067\u30C7\u30D0\u30C3\u30AC\u3068\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u63A5\u7D9A\u3057\u307E\u3059\u3002" },
+            { "sun.description", "Sun \u306E Java VM \u30B3\u30DE\u30F3\u30C9\u884C\u3092\u4F7F\u7528\u3057\u3066\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8D77\u52D5\u3057\u3001\u63A5\u7D9A\u3057\u307E\u3059\u3002" },
+            { "sun.home", "SDK \u306E\u30DB\u30FC\u30E0\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u307E\u305F\u306F\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\u8D77\u52D5\u306B\u4F7F\u7528\u3055\u308C\u308B\u5B9F\u884C\u74B0\u5883" },
+            { "sun.home.label", "\u30DB\u30FC\u30E0 " },
+            { "sun.init_suspend", "\u30E1\u30A4\u30F3\u306E\u5B9F\u884C\u524D\u306B\u3059\u3079\u3066\u306E\u30B9\u30EC\u30C3\u30C9\u304C\u4E2D\u65AD\u3055\u308C\u307E\u3059\u3002" },
+            { "sun.init_suspend.label", "\u4E2D\u65AD" },
+            { "sun.main", "\u30E1\u30A4\u30F3\u30AF\u30E9\u30B9\u3068\u5F15\u6570\u3001\u307E\u305F\u306F -jar \u304C\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u5834\u5408\u306B\u306F\u30E1\u30A4\u30F3 jar \u30D5\u30A1\u30A4\u30EB\u3068\u5F15\u6570" },
+            { "sun.main.label", "\u30E1\u30A4\u30F3" },
+            { "sun.options", "\u8D77\u52D5\u3059\u308B VM \u306E\u30AA\u30D7\u30B7\u30E7\u30F3" },
+            { "sun.options.label", "\u30AA\u30D7\u30B7\u30E7\u30F3" },
+            { "sun.quote", "\u5358\u4E00\u306E\u30B3\u30DE\u30F3\u30C9\u884C\u5F15\u6570\u5185\u306B\u30B9\u30DA\u30FC\u30B9\u3067\u533A\u5207\u3089\u308C\u305F\u30C6\u30AD\u30B9\u30C8\u3092\u7D50\u3073\u4ED8\u3051\u308B\u305F\u3081\u306B\u4F7F\u7528\u3055\u308C\u308B\u6587\u5B57" },
+            { "sun.quote.label", "\u5F15\u7528\u7B26" },
+            { "sun.vm_exec", "Java VM \u8D77\u52D5\u30C4\u30FC\u30EB\u540D" },
+            { "sun.vm_exec.label", "\u8D77\u52D5\u30C4\u30FC\u30EB" },
+            { "true", "true" },
+            { "version_format", "Java Debug Interface (\u30EA\u30D5\u30A1\u30EC\u30F3\u30B9\u5B9F\u88C5) \u30D0\u30FC\u30B8\u30E7\u30F3{0}.{1} \n{2}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/com/sun/tools/jdi/resources/jdi_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package com.sun.tools.jdi.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jdi_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "false", "false" },
+            { "generic_attaching.address", "VM \u8FDE\u63A5\u6307\u5411\u7684\u5730\u5740" },
+            { "generic_attaching.address.label", "\u5730\u5740" },
+            { "generic_attaching.timeout", "\u7B49\u5F85\u8FDE\u63A5\u65F6\u7684\u8D85\u65F6 " },
+            { "generic_attaching.timeout.label", "\u8D85\u65F6" },
+            { "generic_listening.address", "\u4FA6\u542C VM \u8FDE\u63A5\u65F6\u4F7F\u7528\u7684\u5730\u5740" },
+            { "generic_listening.address.label", "\u5730\u5740" },
+            { "generic_listening.timeout", "\u7B49\u5F85\u8FDE\u63A5\u65F6\u7684\u8D85\u65F6" },
+            { "generic_listening.timeout.label", "\u8D85\u65F6" },
+            { "memory_attaching.description", "\u901A\u8FC7\u5171\u4EAB\u5185\u5B58\u8FDE\u63A5\u5230\u5176\u4ED6 VM" },
+            { "memory_attaching.name", "VM \u8FDE\u63A5\u6307\u5411\u7684\u5171\u4EAB\u5185\u5B58\u533A\u57DF\u7684\u540D\u79F0" },
+            { "memory_attaching.name.label", "\u540D\u79F0" },
+            { "memory_listening.description", "\u63A5\u53D7\u7531\u5176\u4ED6 VM \u542F\u52A8\u7684\u5171\u4EAB\u5185\u5B58\u8FDE\u63A5" },
+            { "memory_listening.name", "\u4FA6\u542C VM \u8FDE\u63A5\u65F6\u6240\u5728\u7684\u5171\u4EAB\u5185\u5B58\u533A\u57DF\u7684\u540D\u79F0" },
+            { "memory_listening.name.label", "\u540D\u79F0" },
+            { "memory_transportservice.description", "\u4F7F\u7528\u5171\u4EAB\u5185\u5B58\u8FDE\u63A5\u8FDE\u63A5\u8C03\u8BD5\u5668\u548C\u88AB\u8C03\u8BD5\u5BF9\u8C61" },
+            { "process_attaching.description", "\u901A\u8FC7\u8FDB\u7A0B ID (PID) \u8FDE\u63A5\u5230\u88AB\u8C03\u8BD5\u8FDB\u7A0B" },
+            { "process_attaching.pid", "PID" },
+            { "process_attaching.pid.label", "\u88AB\u8C03\u8BD5\u8FDB\u7A0B\u7684\u8FDB\u7A0B ID (PID)" },
+            { "raw.address", "\u8FD0\u884C\u539F\u59CB\u547D\u4EE4\u4E4B\u540E\uFF0C\u4FA6\u542C\u8FDE\u63A5\u65F6\u4F7F\u7528\u7684\u5730\u5740" },
+            { "raw.address.label", "\u5730\u5740" },
+            { "raw.command", "\u7528\u4E8E\u542F\u52A8\u8C03\u8BD5\u5E94\u7528\u7A0B\u5E8F VM \u7684\u539F\u59CB\u547D\u4EE4" },
+            { "raw.command.label", "\u547D\u4EE4" },
+            { "raw.description", "\u4F7F\u7528\u7528\u6237\u6307\u5B9A\u7684\u547D\u4EE4\u884C\u542F\u52A8\u76EE\u6807\u5E76\u8FDE\u63A5\u5230\u8BE5\u76EE\u6807\u3002" },
+            { "raw.quote", "\u7528\u4E8E\u5C06\u4EE5\u7A7A\u683C\u5206\u9694\u7684\u6587\u672C\u7EC4\u5408\u4E3A\u4E00\u4E2A\u547D\u4EE4\u884C\u53C2\u6570\u7684\u5B57\u7B26" },
+            { "raw.quote.label", "\u5F15\u53F7" },
+            { "socket_attaching.description", "\u901A\u8FC7\u5957\u63A5\u5B57\u4E0E\u5176\u4ED6 VM \u8FDB\u884C\u8FDE\u63A5" },
+            { "socket_attaching.host", "VM \u8FDE\u63A5\u6307\u5411\u7684\u8BA1\u7B97\u673A\u540D\u79F0" },
+            { "socket_attaching.host.label", "\u4E3B\u673A" },
+            { "socket_attaching.port", "VM \u8FDE\u63A5\u6307\u5411\u7684\u7AEF\u53E3\u53F7" },
+            { "socket_attaching.port.label", "\u7AEF\u53E3" },
+            { "socket_listening.description", "\u63A5\u53D7\u7531\u5176\u4ED6 VM \u542F\u52A8\u7684\u5957\u63A5\u5B57\u8FDE\u63A5" },
+            { "socket_listening.localaddr", "\u4FA6\u542C\u5668\u7ED1\u5B9A\u5230\u7684\u672C\u5730\u5730\u5740" },
+            { "socket_listening.localaddr.label", "\u672C\u5730\u5730\u5740" },
+            { "socket_listening.port", "\u4FA6\u542C VM \u8FDE\u63A5\u65F6\u4F7F\u7528\u7684\u7AEF\u53E3\u53F7" },
+            { "socket_listening.port.label", "\u7AEF\u53E3" },
+            { "socket_transportservice.description", "\u4F7F\u7528 TCP \u8FDE\u63A5\u8FDE\u63A5\u8C03\u8BD5\u5668\u548C\u88AB\u8C03\u8BD5\u5BF9\u8C61" },
+            { "sun.description", "\u4F7F\u7528 Sun Java VM \u547D\u4EE4\u884C\u542F\u52A8\u76EE\u6807\u5E76\u8FDE\u63A5\u5230\u8BE5\u76EE\u6807" },
+            { "sun.home", "\u7528\u4E8E\u542F\u52A8\u5E94\u7528\u7A0B\u5E8F\u7684 SDK \u6216\u8FD0\u884C\u65F6\u73AF\u5883\u7684\u4E3B\u76EE\u5F55" },
+            { "sun.home.label", "\u4E3B\u76EE\u5F55 " },
+            { "sun.init_suspend", "\u5728\u6267\u884C\u4E3B\u7C7B\uFF08jar \u6587\u4EF6\uFF09\u548C\u53C2\u6570\u4E4B\u524D\uFF0C\u5C06\u6682\u505C\u6240\u6709\u7EBF\u7A0B" },
+            { "sun.init_suspend.label", "\u6682\u505C" },
+            { "sun.main", "\u4E3B\u7C7B\u548C\u53C2\u6570\uFF0C\u6216\u8005\u5982\u679C -jar \u662F\u4E00\u4E2A\u9009\u9879\uFF0C\u5219\u4E3A\u4E3B jar \u6587\u4EF6\u548C\u53C2\u6570" },
+            { "sun.main.label", "\u4E3B" },
+            { "sun.options", "\u5DF2\u542F\u7528\u7684 VM \u9009\u9879" },
+            { "sun.options.label", "\u9009\u9879" },
+            { "sun.quote", "\u7528\u4E8E\u5C06\u4EE5\u7A7A\u683C\u5206\u9694\u7684\u6587\u672C\u7EC4\u5408\u4E3A\u4E00\u4E2A\u547D\u4EE4\u884C\u53C2\u6570\u7684\u5B57\u7B26" },
+            { "sun.quote.label", "\u5F15\u53F7" },
+            { "sun.vm_exec", "Java VM \u542F\u52A8\u7A0B\u5E8F\u7684\u540D\u79F0" },
+            { "sun.vm_exec.label", "\u542F\u52A8\u7A0B\u5E8F" },
+            { "true", "true" },
+            { "version_format", "Java \u8C03\u8BD5\u63A5\u53E3\uFF08\u53C2\u8003\u5B9E\u73B0\uFF09\u7248\u672C {0}.{1}\n{2}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/CharacterData00.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1110 @@
+// This file was generated AUTOMATICALLY from a template file Fri May 25 16:17:10 EDT 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/fkung/workspace/openjdk/control/build/linux-i586/gensrc/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	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,453 @@
+// This file was generated AUTOMATICALLY from a template file Fri May 25 16:17:11 EDT 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/fkung/workspace/openjdk/control/build/linux-i586/gensrc/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	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,357 @@
+// This file was generated AUTOMATICALLY from a template file Fri May 25 16:17:12 EDT 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/fkung/workspace/openjdk/control/build/linux-i586/gensrc/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	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,361 @@
+// This file was generated AUTOMATICALLY from a template file Fri May 25 16:17:12 EDT 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/fkung/workspace/openjdk/control/build/linux-i586/gensrc/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	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,287 @@
+// This file was generated AUTOMATICALLY from a template file Fri May 25 16:17:09 EDT 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/fkung/workspace/openjdk/control/build/linux-i586/gensrc/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/java/lang/CharacterDataPrivateUse.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,101 @@
+/*
+ * 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 CharacterDataPrivateUse extends CharacterData {
+
+    int getProperties(int ch) {
+        return 0;
+    }
+
+    int getType(int ch) {
+	return (ch & 0xFFFE) == 0xFFFE
+	    ? Character.UNASSIGNED
+	    : Character.PRIVATE_USE;
+    }
+
+    boolean isJavaIdentifierStart(int ch) {
+		return false;
+    }
+
+    boolean isJavaIdentifierPart(int ch) {
+		return false;
+    }
+
+    boolean isUnicodeIdentifierStart(int ch) {
+		return false;
+    }
+
+    boolean isUnicodeIdentifierPart(int ch) {
+		return false;
+    }
+
+    boolean isIdentifierIgnorable(int ch) {
+		return false;
+    }
+
+    int toLowerCase(int ch) {
+		return ch;
+    }
+
+    int toUpperCase(int ch) {
+		return ch;
+    }
+
+    int toTitleCase(int ch) {
+		return ch;
+    }
+
+    int digit(int ch, int radix) {
+		return -1;
+    }
+
+    int getNumericValue(int ch) {
+		return -1;
+    }
+
+    boolean isWhitespace(int ch) {
+		return false;
+    }
+
+    byte getDirectionality(int ch) {
+	return (ch & 0xFFFE) == 0xFFFE
+	    ? Character.DIRECTIONALITY_UNDEFINED
+	    : Character.DIRECTIONALITY_LEFT_TO_RIGHT;
+    }
+
+    boolean isMirrored(int ch) {
+		return false;
+    }
+
+    static final CharacterData instance = new CharacterDataPrivateUse();
+    private CharacterDataPrivateUse() {};
+}
+
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/CharacterDataUndefined.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,95 @@
+/*
+ * 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 CharacterDataUndefined extends CharacterData {
+
+    int getProperties(int ch) {
+        return 0;
+    }
+
+    int getType(int ch) {
+	return Character.UNASSIGNED;
+    }
+
+    boolean isJavaIdentifierStart(int ch) {
+		return false;
+    }
+
+    boolean isJavaIdentifierPart(int ch) {
+		return false;
+    }
+
+    boolean isUnicodeIdentifierStart(int ch) {
+		return false;
+    }
+
+    boolean isUnicodeIdentifierPart(int ch) {
+		return false;
+    }
+
+    boolean isIdentifierIgnorable(int ch) {
+		return false;
+    }
+
+    int toLowerCase(int ch) {
+		return ch;
+    }
+
+    int toUpperCase(int ch) {
+		return ch;
+    }
+
+    int toTitleCase(int ch) {
+		return ch;
+    }
+
+    int digit(int ch, int radix) {
+		return -1;
+    }
+
+    int getNumericValue(int ch) {
+		return -1;
+    }
+
+    boolean isWhitespace(int ch) {
+		return false;
+    }
+
+    byte getDirectionality(int ch) {
+		return Character.DIRECTIONALITY_UNDEFINED;
+    }
+
+    boolean isMirrored(int ch) {
+		return false;
+    }
+
+    static final CharacterData instance = new CharacterDataUndefined();
+    private CharacterDataUndefined() {};
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/lang/UNIXProcess.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,220 @@
+/* 
+ * Copyright 1995-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;
+
+import java.io.*;
+
+/* java.lang.Process subclass in the UNIX environment.
+ *
+ * @author Mario Wolczko and Ross Knippel.
+ * @author Konstantin Kladko (ported to Linux)
+ */
+
+final class UNIXProcess extends Process {
+    private FileDescriptor stdin_fd;
+    private FileDescriptor stdout_fd;
+    private FileDescriptor stderr_fd;
+    private int pid;
+    private int exitcode;
+    private boolean hasExited;
+
+    private OutputStream stdin_stream;
+    private InputStream  stdout_stream;
+    private InputStream  stderr_stream;
+
+    /* this is for the reaping thread */
+    private native int waitForProcessExit(int pid);
+
+    private native int forkAndExec(byte[] prog,
+				   byte[] argBlock, int argc,
+				   byte[] envBlock, int envc,
+				   byte[] dir,
+				   boolean redirectErrorStream,
+				   FileDescriptor stdin_fd,
+				   FileDescriptor stdout_fd,
+				   FileDescriptor stderr_fd)
+	throws IOException;
+
+    /* In the process constructor we wait on this gate until the process    */
+    /* has been created. Then we return from the constructor.               */
+    /* fork() is called by the same thread which later waits for the process */
+    /* to terminate */
+
+    private static class Gate {
+
+        private boolean exited = false;
+        private IOException savedException;
+
+        synchronized void exit() { /* Opens the gate */
+           exited = true;
+           this.notify();
+        }
+
+        synchronized void waitForExit() { /* wait until the gate is open */
+            boolean interrupted = false;
+            while (!exited) {
+                try {
+                    this.wait();
+                } catch (InterruptedException e) {
+                    interrupted = true;
+                }
+            }
+            if (interrupted) {
+                Thread.currentThread().interrupt();
+            }
+        }
+
+        void setException (IOException e) {
+            savedException = e;
+        }
+
+        IOException getException() {
+            return savedException;
+        }
+    }
+
+    UNIXProcess(final byte[] prog,
+		final byte[] argBlock, final int argc,
+		final byte[] envBlock, final int envc,
+		final byte[] dir,
+		final boolean redirectErrorStream)
+    throws IOException {
+	stdin_fd  = new FileDescriptor();
+	stdout_fd = new FileDescriptor();
+	stderr_fd = new FileDescriptor();
+
+        final Gate gate = new Gate();
+	/*
+	 * For each subprocess forked a corresponding reaper thread
+	 * is started.  That thread is the only thread which waits
+	 * for the subprocess to terminate and it doesn't hold any
+	 * locks while doing so.  This design allows waitFor() and
+	 * exitStatus() to be safely executed in parallel (and they
+	 * need no native code).
+	 */
+
+	java.security.AccessController.doPrivileged(
+			    new java.security.PrivilegedAction() {
+	    public Object run() {
+		Thread t = new Thread("process reaper") {
+		    public void run() {
+                        try {
+                            pid = forkAndExec(prog,
+					      argBlock, argc,
+					      envBlock, envc,
+					      dir,
+					      redirectErrorStream,
+					      stdin_fd, stdout_fd, stderr_fd);
+                        } catch (IOException e) {
+                            gate.setException(e); /*remember to rethrow later*/
+                            gate.exit();
+                            return;
+                        }
+                        java.security.AccessController.doPrivileged(
+                        new java.security.PrivilegedAction() {
+                            public Object run() {
+                            stdin_stream = new BufferedOutputStream(new
+                                                    FileOutputStream(stdin_fd));
+                            stdout_stream = new BufferedInputStream(new
+                                                    FileInputStream(stdout_fd));
+                            stderr_stream = new FileInputStream(stderr_fd);
+                            return null;
+                        }
+                        });
+                        gate.exit(); /* exit from constructor */
+			int res = waitForProcessExit(pid);
+			synchronized (UNIXProcess.this) {
+			    hasExited = true;
+			    exitcode = res;
+			    UNIXProcess.this.notifyAll();
+			}
+		    }
+		};
+                t.setDaemon(true);
+                t.start();
+		return null;
+	    }
+	});
+        gate.waitForExit();
+        IOException e = gate.getException();
+        if (e != null)
+            throw new IOException(e.toString());
+    }
+
+    public OutputStream getOutputStream() {
+	return stdin_stream;
+    }
+
+    public InputStream getInputStream() {
+	return stdout_stream;
+    }
+
+    public InputStream getErrorStream() {
+	return stderr_stream;
+    }
+
+    public synchronized int waitFor() throws InterruptedException {
+        while (!hasExited) {
+	    wait();
+	}
+	return exitcode;
+    }
+
+    public synchronized int exitValue() {
+	if (!hasExited) {
+	    throw new IllegalThreadStateException("process hasn't exited");
+	}
+	return exitcode;
+    }
+
+    private static native void destroyProcess(int pid);
+    public void destroy() {
+	// There is a risk that pid will be recycled, causing us to
+	// kill the wrong process!  So we only terminate processes
+	// that appear to still be running.  Even with this check,
+	// there is an unavoidable race condition here, but the window
+	// is very small, and OSes try hard to not recycle pids too
+	// soon, so this is quite safe.
+	synchronized (this) {
+	    if (!hasExited)
+		destroyProcess(pid);
+	}
+        try {
+            stdin_stream.close();
+            stdout_stream.close();
+            stderr_stream.close();
+        } catch (IOException e) {
+            // ignore
+        }
+    }
+
+    /* This routine initializes JNI field offsets for the class */
+    private static native void initIDs();
+
+    static {
+	initIDs();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,2014 @@
+/*
+ * Copyright 2000-2007 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+
+
+
+/**
+ * A byte buffer.
+ *
+ * <p> This class defines six categories of operations upon
+ * byte buffers:
+ *
+ * <ul>
+ *
+ *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
+ *   {@link #put(byte) </code><i>put</i><code>} methods that read and write
+ *   single bytes; </p></li>
+ *
+ *   <li><p> Relative {@link #get(byte[]) </code><i>bulk get</i><code>}
+ *   methods that transfer contiguous sequences of bytes from this buffer
+ *   into an array; </p></li>
+ *
+ *   <li><p> Relative {@link #put(byte[]) </code><i>bulk put</i><code>}
+ *   methods that transfer contiguous sequences of bytes from a
+ *   byte array or some other byte
+ *   buffer into this buffer; </p></li>
+ *
+
+ *
+ *   <li><p> Absolute and relative {@link #getChar() </code><i>get</i><code>}
+ *   and {@link #putChar(char) </code><i>put</i><code>} methods that read and
+ *   write values of other primitive types, translating them to and from
+ *   sequences of bytes in a particular byte order; </p></li>
+ *
+ *   <li><p> Methods for creating <i><a href="#views">view buffers</a></i>,
+ *   which allow a byte buffer to be viewed as a buffer containing values of
+ *   some other primitive type; and </p></li>
+ *
+
+ *
+ *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
+ *   #duplicate </code>duplicating<code>}, and {@link #slice
+ *   </code>slicing<code>} a byte buffer.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Byte buffers can be created either by {@link #allocate
+ * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ *
+
+ *
+ * content, or by {@link #wrap(byte[]) </code><i>wrapping</i><code>} an
+ * existing byte array  into a buffer.
+ *
+
+
+
+
+
+
+
+ *
+
+ *
+ * <a name="direct">
+ * <h4> Direct <i>vs.</i> non-direct buffers </h4>
+ *
+ * <p> A byte buffer is either <i>direct</i> or <i>non-direct</i>.  Given a
+ * direct byte buffer, the Java virtual machine will make a best effort to
+ * perform native I/O operations directly upon it.  That is, it will attempt to
+ * avoid copying the buffer's content to (or from) an intermediate buffer
+ * before (or after) each invocation of one of the underlying operating
+ * system's native I/O operations.
+ *
+ * <p> A direct byte buffer may be created by invoking the {@link
+ * #allocateDirect(int) allocateDirect} factory method of this class.  The
+ * buffers returned by this method typically have somewhat higher allocation
+ * and deallocation costs than non-direct buffers.  The contents of direct
+ * buffers may reside outside of the normal garbage-collected heap, and so
+ * their impact upon the memory footprint of an application might not be
+ * obvious.  It is therefore recommended that direct buffers be allocated
+ * primarily for large, long-lived buffers that are subject to the underlying
+ * system's native I/O operations.  In general it is best to allocate direct
+ * buffers only when they yield a measureable gain in program performance.
+ *
+ * <p> A direct byte buffer may also be created by {@link
+ * java.nio.channels.FileChannel#map </code>mapping<code>} a region of a file
+ * directly into memory.  An implementation of the Java platform may optionally
+ * support the creation of direct byte buffers from native code via JNI.  If an
+ * instance of one of these kinds of buffers refers to an inaccessible region
+ * of memory then an attempt to access that region will not change the buffer's
+ * content and will cause an unspecified exception to be thrown either at the
+ * time of the access or at some later time.
+ *
+ * <p> Whether a byte buffer is direct or non-direct may be determined by
+ * invoking its {@link #isDirect isDirect} method.  This method is provided so
+ * that explicit buffer management can be done in performance-critical code.
+ *
+ *
+ * <a name="bin">
+ * <h4> Access to binary data </h4>
+ *
+ * <p> This class defines methods for reading and writing values of all other
+ * primitive types, except <tt>boolean</tt>.  Primitive values are translated
+ * to (or from) sequences of bytes according to the buffer's current byte
+ * order, which may be retrieved and modified via the {@link #order order}
+ * methods.  Specific byte orders are represented by instances of the {@link
+ * ByteOrder} class.  The initial order of a byte buffer is always {@link
+ * ByteOrder#BIG_ENDIAN BIG_ENDIAN}.
+ *
+ * <p> For access to heterogeneous binary data, that is, sequences of values of
+ * different types, this class defines a family of absolute and relative
+ * <i>get</i> and <i>put</i> methods for each type.  For 32-bit floating-point
+ * values, for example, this class defines:
+ *
+ * <blockquote><pre>
+ * float  {@link #getFloat()}
+ * float  {@link #getFloat(int) getFloat(int index)}
+ *  void  {@link #putFloat(float) putFloat(float f)}
+ *  void  {@link #putFloat(int,float) putFloat(int index, float f)}</pre></blockquote>
+ *
+ * <p> Corresponding methods are defined for the types <tt>char</tt>,
+ * <tt>short</tt>, <tt>int</tt>, <tt>long</tt>, and <tt>double</tt>.  The index
+ * parameters of the absolute <i>get</i> and <i>put</i> methods are in terms of
+ * bytes rather than of the type being read or written.
+ *
+ * <a name="views">
+ *
+ * <p> For access to homogeneous binary data, that is, sequences of values of
+ * the same type, this class defines methods that can create <i>views</i> of a
+ * given byte buffer.  A <i>view buffer</i> is simply another buffer whose
+ * content is backed by the byte buffer.  Changes to the byte buffer's content
+ * will be visible in the view buffer, and vice versa; the two buffers'
+ * position, limit, and mark values are independent.  The {@link
+ * #asFloatBuffer() asFloatBuffer} method, for example, creates an instance of
+ * the {@link FloatBuffer} class that is backed by the byte buffer upon which
+ * the method is invoked.  Corresponding view-creation methods are defined for
+ * the types <tt>char</tt>, <tt>short</tt>, <tt>int</tt>, <tt>long</tt>, and
+ * <tt>double</tt>.
+ *
+ * <p> View buffers have three important advantages over the families of
+ * type-specific <i>get</i> and <i>put</i> methods described above:
+ *
+ * <ul>
+ *
+ *   <li><p> A view buffer is indexed not in terms of bytes but rather in terms
+ *   of the type-specific size of its values;  </p></li>
+ *
+ *   <li><p> A view buffer provides relative bulk <i>get</i> and <i>put</i>
+ *   methods that can transfer contiguous sequences of values between a buffer
+ *   and an array or some other buffer of the same type; and  </p></li>
+ *
+ *   <li><p> A view buffer is potentially much more efficient because it will
+ *   be direct if, and only if, its backing byte buffer is direct.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> The byte order of a view buffer is fixed to be that of its byte buffer
+ * at the time that the view is created.  </p>
+ *
+
+*
+
+
+
+
+
+
+
+
+
+
+
+*
+
+
+
+
+
+
+
+
+ *
+
+ * <h4> Invocation chaining </h4>
+
+ *
+ * <p> Methods in this class that do not otherwise have a value to return are
+ * specified to return the buffer upon which they are invoked.  This allows
+ * method invocations to be chained.
+ *
+
+ *
+ * The sequence of statements
+ *
+ * <blockquote><pre>
+ * bb.putInt(0xCAFEBABE);
+ * bb.putShort(3);
+ * bb.putShort(45);</pre></blockquote>
+ *
+ * can, for example, be replaced by the single statement
+ *
+ * <blockquote><pre>
+ * bb.putInt(0xCAFEBABE).putShort(3).putShort(45);</pre></blockquote>
+ * 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @version 1.69, 07/05/05
+ * @since 1.4
+ */
+
+public abstract class ByteBuffer
+    extends Buffer
+    implements Comparable<ByteBuffer>
+{
+
+    // These fields are declared here rather than in Heap-X-Buffer in order to
+    // reduce the number of virtual method invocations needed to access these
+    // values, which is especially costly when coding small buffers.
+    //
+    final byte[] hb;			// Non-null only for heap buffers
+    final int offset;
+    boolean isReadOnly;			// Valid only for heap buffers
+
+    // Creates a new buffer with the given mark, position, limit, capacity,
+    // backing array, and array offset
+    //
+    ByteBuffer(int mark, int pos, int lim, int cap,	// package-private
+		 byte[] hb, int offset)
+    {
+	super(mark, pos, lim, cap);
+	this.hb = hb;
+	this.offset = offset;
+    }
+
+    // Creates a new buffer with the given mark, position, limit, and capacity
+    //
+    ByteBuffer(int mark, int pos, int lim, int cap) {	// package-private
+	this(mark, pos, lim, cap, null, 0);
+    }
+
+
+
+    /**
+     * Allocates a new direct byte buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  Whether or not it has a
+     * {@link #hasArray </code>backing array<code>} is unspecified.  </p>
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in bytes
+     *
+     * @return  The new byte buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static ByteBuffer allocateDirect(int capacity) {
+        return new DirectByteBuffer(capacity);
+    }
+
+
+
+    /**
+     * Allocates a new byte buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  It will have a {@link #array
+     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
+     * offset<code>} will be zero.
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in bytes
+     *
+     * @return  The new byte buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static ByteBuffer allocate(int capacity) {
+	if (capacity < 0)
+	    throw new IllegalArgumentException();
+	return new HeapByteBuffer(capacity, capacity);
+    }
+
+    /**
+     * Wraps a byte array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given byte array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity will be
+     * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
+     * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
+     * {@link #array </code>backing array<code>} will be the given array, and
+     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     *
+     * @param  array
+     *         The array that will back the new buffer
+     *
+     * @param  offset
+     *         The offset of the subarray to be used; must be non-negative and
+     *         no larger than <tt>array.length</tt>.  The new buffer's position
+     *         will be set to this value.
+     *
+     * @param  length
+     *         The length of the subarray to be used;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>.
+     *         The new buffer's limit will be set to <tt>offset + length</tt>.
+     *
+     * @return  The new byte buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public static ByteBuffer wrap(byte[] array,
+				    int offset, int length)
+    {
+	try {
+	    return new HeapByteBuffer(array, offset, length);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps a byte array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given byte array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity and limit will be
+     * <tt>array.length</tt>, its position will be zero, and its mark will be
+     * undefined.  Its {@link #array </code>backing array<code>} will be the
+     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * be zero.  </p> 
+     *
+     * @param  array
+     *         The array that will back this buffer
+     *
+     * @return  The new byte buffer
+     */
+    public static ByteBuffer wrap(byte[] array) {
+	return wrap(array, 0, array.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Creates a new byte buffer whose content is a shared subsequence of
+     * this buffer's content.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of bytes remaining in this buffer, and its mark
+     * will be undefined.  The new buffer will be direct if, and only if, this
+     * buffer is direct, and it will be read-only if, and only if, this buffer
+     * is read-only.  </p>
+     *
+     * @return  The new byte buffer
+     */
+    public abstract ByteBuffer slice();
+
+    /**
+     * Creates a new byte buffer that shares this buffer's content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer, and vice
+     * versa; the two buffers' position, limit, and mark values will be
+     * independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.  The new buffer will be direct if,
+     * and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  The new byte buffer
+     */
+    public abstract ByteBuffer duplicate();
+
+    /**
+     * Creates a new, read-only byte buffer that shares this buffer's
+     * content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer; the new
+     * buffer itself, however, will be read-only and will not allow the shared
+     * content to be modified.  The two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.
+     *
+     * <p> If this buffer is itself read-only then this method behaves in
+     * exactly the same way as the {@link #duplicate duplicate} method.  </p>
+     *
+     * @return  The new, read-only byte buffer
+     */
+    public abstract ByteBuffer asReadOnlyBuffer();
+
+
+    // -- Singleton get/put methods --
+
+    /**
+     * Relative <i>get</i> method.  Reads the byte at this buffer's
+     * current position, and then increments the position. </p>
+     *
+     * @return  The byte at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If the buffer's current position is not smaller than its limit
+     */
+    public abstract byte get();
+
+    /**
+     * Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given byte into this buffer at the current
+     * position, and then increments the position. </p>
+     *
+     * @param  b
+     *         The byte to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If this buffer's current position is not smaller than its limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer put(byte b);
+
+    /**
+     * Absolute <i>get</i> method.  Reads the byte at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index from which the byte will be read
+     *
+     * @return  The byte at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     */
+    public abstract byte get(int index);
+
+    /**
+     * Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given byte into this buffer at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index at which the byte will be written
+     *
+     * @param  b
+     *         The byte value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer put(int index, byte b);
+
+
+    // -- Bulk get operations --
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers bytes from this buffer into the given
+     * destination array.  If there are fewer bytes remaining in the
+     * buffer than are required to satisfy the request, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * bytes are transferred and a {@link BufferUnderflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> bytes from this
+     * buffer into the given array, starting at the current position of this
+     * buffer and at the given offset in the array.  The position of this
+     * buffer is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst[i] = src.get(); </pre>
+     *
+     * except that it first checks that there are sufficient bytes in
+     * this buffer and it is potentially much more efficient. </p>
+     *
+     * @param  dst
+     *         The array into which bytes are to be written
+     *
+     * @param  offset
+     *         The offset within the array of the first byte to be
+     *         written; must be non-negative and no larger than
+     *         <tt>dst.length</tt>
+     *
+     * @param  length
+     *         The maximum number of bytes to be written to the given
+     *         array; must be non-negative and no larger than
+     *         <tt>dst.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> bytes
+     *          remaining in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public ByteBuffer get(byte[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    dst[i] = get();
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers bytes from this buffer into the given
+     * destination array.  An invocation of this method of the form
+     * <tt>src.get(a)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     src.get(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> bytes
+     *          remaining in this buffer
+     */
+    public ByteBuffer get(byte[] dst) {
+	return get(dst, 0, dst.length);
+    }
+
+
+    // -- Bulk put operations --
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the bytes remaining in the given source
+     * buffer into this buffer.  If there are more bytes remaining in the
+     * source buffer than in this buffer, that is, if
+     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no bytes are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> bytes from the given
+     * buffer into this buffer, starting at each buffer's current position.
+     * The positions of both buffers are then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
+     *
+     * <pre>
+     *     while (src.hasRemaining())
+     *         dst.put(src.get()); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The source buffer from which bytes are to be read;
+     *         must not be this buffer
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *          for the remaining bytes in the source buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the source buffer is this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public ByteBuffer put(ByteBuffer src) {
+	if (src == this)
+	    throw new IllegalArgumentException();
+	int n = src.remaining();
+	if (n > remaining())
+	    throw new BufferOverflowException();
+	for (int i = 0; i < n; i++)
+	    put(src.get());
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers bytes into this buffer from the given
+     * source array.  If there are more bytes to be copied from the array
+     * than remain in this buffer, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * bytes are transferred and a {@link BufferOverflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> bytes from the
+     * given array into this buffer, starting at the given offset in the array
+     * and at the current position of this buffer.  The position of this buffer
+     * is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst.put(a[i]); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The array from which bytes are to be read
+     *
+     * @param  offset
+     *         The offset within the array of the first byte to be read;
+     *         must be non-negative and no larger than <tt>array.length</tt>
+     *
+     * @param  length
+     *         The number of bytes to be read from the given array;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public ByteBuffer put(byte[] src, int offset, int length) {
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    this.put(src[i]);
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source
+     * byte array into this buffer.  An invocation of this method of the
+     * form <tt>dst.put(a)</tt> behaves in exactly the same way as the
+     * invocation
+     *
+     * <pre>
+     *     dst.put(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final ByteBuffer put(byte[] src) {
+	return put(src, 0, src.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other stuff --
+
+    /**
+     * Tells whether or not this buffer is backed by an accessible byte
+     * array.
+     *
+     * <p> If this method returns <tt>true</tt> then the {@link #array() array}
+     * and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
+     * </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer
+     *          is backed by an array and is not read-only
+     */
+    public final boolean hasArray() {
+	return (hb != null) && !isReadOnly;
+    }
+
+    /**
+     * Returns the byte array that backs this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Modifications to this buffer's content will cause the returned
+     * array's content to be modified, and vice versa.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The array that backs this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final byte[] array() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return hb;
+    }
+
+    /**
+     * Returns the offset within this buffer's backing array of the first
+     * element of the buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this buffer is backed by an array then buffer position <i>p</i>
+     * corresponds to array index <i>p</i>&nbsp;+&nbsp;<tt>arrayOffset()</tt>.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The offset within this buffer's array
+     *          of the first element of the buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int arrayOffset() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return offset;
+    }
+
+    /**
+     * Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> The bytes between the buffer's current position and its limit,
+     * if any, are copied to the beginning of the buffer.  That is, the
+     * byte at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
+     * to index zero, the byte at index <i>p</i>&nbsp;+&nbsp;1 is copied
+     * to index one, and so forth until the byte at index
+     * <tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
+     * <i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
+     * The buffer's position is then set to <i>n+1</i> and its limit is set to
+     * its capacity.  The mark, if defined, is discarded.
+     *
+     * <p> The buffer's position is set to the number of bytes copied,
+     * rather than to zero, so that an invocation of this method can be
+     * followed immediately by an invocation of another relative <i>put</i>
+     * method. </p>
+     *
+
+     *
+     * <p> Invoke this method after writing data from a buffer in case the
+     * write was incomplete.  The following loop, for example, copies bytes
+     * from one channel to another via the buffer <tt>buf</tt>:
+     *
+     * <blockquote><pre>
+     * buf.clear();          // Prepare buffer for use
+     * while (in.read(buf) >= 0 || buf.position != 0) {
+     *     buf.flip();
+     *     out.write(buf);
+     *     buf.compact();    // In case of partial write
+     * }</pre></blockquote>
+     * 
+
+     *
+     * @return  This buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer compact();
+
+    /**
+     * Tells whether or not this byte buffer is direct. </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is direct
+     */
+    public abstract boolean isDirect();
+
+
+
+    /**
+     * Returns a string summarizing the state of this buffer.  </p>
+     *
+     * @return  A summary string
+     */
+    public String toString() {
+	StringBuffer sb = new StringBuffer();
+	sb.append(getClass().getName());
+	sb.append("[pos=");
+	sb.append(position());
+	sb.append(" lim=");
+	sb.append(limit());
+	sb.append(" cap=");
+	sb.append(capacity());
+	sb.append("]");
+	return sb.toString();
+    }
+
+
+
+
+    
+
+    /**
+     * Returns the current hash code of this buffer.
+     *
+     * <p> The hash code of a byte buffer depends only upon its remaining
+     * elements; that is, upon the elements from <tt>position()</tt> up to, and
+     * including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
+     *
+     * <p> Because buffer hash codes are content-dependent, it is inadvisable
+     * to use buffers as keys in hash maps or similar data structures unless it
+     * is known that their contents will not change.  </p>
+     *
+     * @return  The current hash code of this buffer
+     */
+    public int hashCode() {
+	int h = 1;
+	int p = position();
+	for (int i = limit() - 1; i >= p; i--)
+	    h = 31 * h + (int)get(i);
+	return h;
+    }
+
+    /**
+     * Tells whether or not this buffer is equal to another object.
+     *
+     * <p> Two byte buffers are equal if, and only if,
+     *
+     * <p><ol>
+     *
+     *   <li><p> They have the same element type,  </p></li>
+     *
+     *   <li><p> They have the same number of remaining elements, and
+     *   </p></li>
+     *
+     *   <li><p> The two sequences of remaining elements, considered
+     *   independently of their starting positions, are pointwise equal.
+     *   </p></li>
+     *
+     * </ol>
+     *
+     * <p> A byte buffer is not equal to any other type of object.  </p>
+     *
+     * @param  ob  The object to which this buffer is to be compared
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is equal to the
+     *           given object
+     */
+    public boolean equals(Object ob) {
+	if (this == ob)
+	    return true;
+	if (!(ob instanceof ByteBuffer))
+	    return false;
+	ByteBuffer that = (ByteBuffer)ob;
+	if (this.remaining() != that.remaining())
+	    return false;
+	int p = this.position();
+	for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) {
+	    byte v1 = this.get(i);
+	    byte v2 = that.get(j);
+	    if (v1 != v2) {
+		if ((v1 != v1) && (v2 != v2))	// For float and double
+		    continue;
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * Compares this buffer to another.
+     *
+     * <p> Two byte buffers are compared by comparing their sequences of
+     * remaining elements lexicographically, without regard to the starting
+     * position of each sequence within its corresponding buffer.
+     *
+     * <p> A byte buffer is not comparable to any other type of object.
+     *
+     * @return  A negative integer, zero, or a positive integer as this buffer
+     *		is less than, equal to, or greater than the given buffer
+     */
+    public int compareTo(ByteBuffer that) {
+	int n = this.position() + Math.min(this.remaining(), that.remaining());
+	for (int i = this.position(), j = that.position(); i < n; i++, j++) {
+	    byte v1 = this.get(i);
+	    byte v2 = that.get(j);
+	    if (v1 == v2)
+		continue;
+	    if ((v1 != v1) && (v2 != v2)) 	// For float and double
+		continue;
+	    if (v1 < v2)
+		return -1;
+	    return +1;
+	}
+	return this.remaining() - that.remaining();
+    }
+
+
+
+    // -- Other char stuff --
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other byte stuff: Access to binary data --
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    boolean bigEndian					// package-private
+	= true;
+    boolean nativeByteOrder				// package-private
+	= (Bits.byteOrder() == ByteOrder.BIG_ENDIAN);
+
+    /**
+     * Retrieves this buffer's byte order.
+     *
+     * <p> The byte order is used when reading or writing multibyte values, and
+     * when creating buffers that are views of this byte buffer.  The order of
+     * a newly-created byte buffer is always {@link ByteOrder#BIG_ENDIAN
+     * BIG_ENDIAN}.  </p>
+     *
+     * @return  This buffer's byte order
+     */
+    public final ByteOrder order() {
+	return bigEndian ? ByteOrder.BIG_ENDIAN : ByteOrder.LITTLE_ENDIAN;
+    }
+
+    /**
+     * Modifies this buffer's byte order.  </p>
+     *
+     * @param  bo
+     *         The new byte order,
+     *         either {@link ByteOrder#BIG_ENDIAN BIG_ENDIAN}
+     *         or {@link ByteOrder#LITTLE_ENDIAN LITTLE_ENDIAN}
+     *
+     * @return  This buffer
+     */
+    public final ByteBuffer order(ByteOrder bo) {
+	bigEndian = (bo == ByteOrder.BIG_ENDIAN);
+	nativeByteOrder =
+	    (bigEndian == (Bits.byteOrder() == ByteOrder.BIG_ENDIAN));
+	return this;
+    }
+
+    // Unchecked accessors, for use by ByteBufferAs-X-Buffer classes
+    //
+    abstract byte _get(int i);				// package-private
+    abstract void _put(int i, byte b);			// package-private
+
+
+    /**
+     * Relative <i>get</i> method for reading a char value.
+     *
+     * <p> Reads the next two bytes at this buffer's current position,
+     * composing them into a char value according to the current byte order,
+     * and then increments the position by two.  </p>
+     *
+     * @return  The char value at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than two bytes
+     *          remaining in this buffer
+     */
+    public abstract char getChar();
+
+    /**
+     * Relative <i>put</i> method for writing a char
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes two bytes containing the given char value, in the
+     * current byte order, into this buffer at the current position, and then
+     * increments the position by two.  </p>
+     *
+     * @param  value
+     *         The char value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there are fewer than two bytes
+     *          remaining in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putChar(char value);
+
+    /**
+     * Absolute <i>get</i> method for reading a char value.
+     *
+     * <p> Reads two bytes at the given index, composing them into a
+     * char value according to the current byte order.  </p>
+     *
+     * @param  index
+     *         The index from which the bytes will be read
+     *
+     * @return  The char value at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus one
+     */
+    public abstract char getChar(int index);
+
+    /**
+     * Absolute <i>put</i> method for writing a char
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes two bytes containing the given char value, in the
+     * current byte order, into this buffer at the given index.  </p>
+     *
+     * @param  index
+     *         The index at which the bytes will be written
+     *
+     * @param  value
+     *         The char value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus one
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putChar(int index, char value);
+
+    /**
+     * Creates a view of this byte buffer as a char buffer.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of bytes remaining in this buffer divided by
+     * two, and its mark will be undefined.  The new buffer will be direct
+     * if, and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  A new char buffer
+     */
+    public abstract CharBuffer asCharBuffer();
+
+
+    /**
+     * Relative <i>get</i> method for reading a short value.
+     *
+     * <p> Reads the next two bytes at this buffer's current position,
+     * composing them into a short value according to the current byte order,
+     * and then increments the position by two.  </p>
+     *
+     * @return  The short value at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than two bytes
+     *          remaining in this buffer
+     */
+    public abstract short getShort();
+
+    /**
+     * Relative <i>put</i> method for writing a short
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes two bytes containing the given short value, in the
+     * current byte order, into this buffer at the current position, and then
+     * increments the position by two.  </p>
+     *
+     * @param  value
+     *         The short value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there are fewer than two bytes
+     *          remaining in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putShort(short value);
+
+    /**
+     * Absolute <i>get</i> method for reading a short value.
+     *
+     * <p> Reads two bytes at the given index, composing them into a
+     * short value according to the current byte order.  </p>
+     *
+     * @param  index
+     *         The index from which the bytes will be read
+     *
+     * @return  The short value at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus one
+     */
+    public abstract short getShort(int index);
+
+    /**
+     * Absolute <i>put</i> method for writing a short
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes two bytes containing the given short value, in the
+     * current byte order, into this buffer at the given index.  </p>
+     *
+     * @param  index
+     *         The index at which the bytes will be written
+     *
+     * @param  value
+     *         The short value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus one
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putShort(int index, short value);
+
+    /**
+     * Creates a view of this byte buffer as a short buffer.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of bytes remaining in this buffer divided by
+     * two, and its mark will be undefined.  The new buffer will be direct
+     * if, and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  A new short buffer
+     */
+    public abstract ShortBuffer asShortBuffer();
+
+
+    /**
+     * Relative <i>get</i> method for reading an int value.
+     *
+     * <p> Reads the next four bytes at this buffer's current position,
+     * composing them into an int value according to the current byte order,
+     * and then increments the position by four.  </p>
+     *
+     * @return  The int value at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than four bytes
+     *          remaining in this buffer
+     */
+    public abstract int getInt();
+
+    /**
+     * Relative <i>put</i> method for writing an int
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes four bytes containing the given int value, in the
+     * current byte order, into this buffer at the current position, and then
+     * increments the position by four.  </p>
+     *
+     * @param  value
+     *         The int value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there are fewer than four bytes
+     *          remaining in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putInt(int value);
+
+    /**
+     * Absolute <i>get</i> method for reading an int value.
+     *
+     * <p> Reads four bytes at the given index, composing them into a
+     * int value according to the current byte order.  </p>
+     *
+     * @param  index
+     *         The index from which the bytes will be read
+     *
+     * @return  The int value at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus three
+     */
+    public abstract int getInt(int index);
+
+    /**
+     * Absolute <i>put</i> method for writing an int
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes four bytes containing the given int value, in the
+     * current byte order, into this buffer at the given index.  </p>
+     *
+     * @param  index
+     *         The index at which the bytes will be written
+     *
+     * @param  value
+     *         The int value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus three
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putInt(int index, int value);
+
+    /**
+     * Creates a view of this byte buffer as an int buffer.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of bytes remaining in this buffer divided by
+     * four, and its mark will be undefined.  The new buffer will be direct
+     * if, and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  A new int buffer
+     */
+    public abstract IntBuffer asIntBuffer();
+
+
+    /**
+     * Relative <i>get</i> method for reading a long value.
+     *
+     * <p> Reads the next eight bytes at this buffer's current position,
+     * composing them into a long value according to the current byte order,
+     * and then increments the position by eight.  </p>
+     *
+     * @return  The long value at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than eight bytes
+     *          remaining in this buffer
+     */
+    public abstract long getLong();
+
+    /**
+     * Relative <i>put</i> method for writing a long
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes eight bytes containing the given long value, in the
+     * current byte order, into this buffer at the current position, and then
+     * increments the position by eight.  </p>
+     *
+     * @param  value
+     *         The long value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there are fewer than eight bytes
+     *          remaining in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putLong(long value);
+
+    /**
+     * Absolute <i>get</i> method for reading a long value.
+     *
+     * <p> Reads eight bytes at the given index, composing them into a
+     * long value according to the current byte order.  </p>
+     *
+     * @param  index
+     *         The index from which the bytes will be read
+     *
+     * @return  The long value at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus seven
+     */
+    public abstract long getLong(int index);
+
+    /**
+     * Absolute <i>put</i> method for writing a long
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes eight bytes containing the given long value, in the
+     * current byte order, into this buffer at the given index.  </p>
+     *
+     * @param  index
+     *         The index at which the bytes will be written
+     *
+     * @param  value
+     *         The long value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus seven
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putLong(int index, long value);
+
+    /**
+     * Creates a view of this byte buffer as a long buffer.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of bytes remaining in this buffer divided by
+     * eight, and its mark will be undefined.  The new buffer will be direct
+     * if, and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  A new long buffer
+     */
+    public abstract LongBuffer asLongBuffer();
+
+
+    /**
+     * Relative <i>get</i> method for reading a float value.
+     *
+     * <p> Reads the next four bytes at this buffer's current position,
+     * composing them into a float value according to the current byte order,
+     * and then increments the position by four.  </p>
+     *
+     * @return  The float value at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than four bytes
+     *          remaining in this buffer
+     */
+    public abstract float getFloat();
+
+    /**
+     * Relative <i>put</i> method for writing a float
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes four bytes containing the given float value, in the
+     * current byte order, into this buffer at the current position, and then
+     * increments the position by four.  </p>
+     *
+     * @param  value
+     *         The float value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there are fewer than four bytes
+     *          remaining in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putFloat(float value);
+
+    /**
+     * Absolute <i>get</i> method for reading a float value.
+     *
+     * <p> Reads four bytes at the given index, composing them into a
+     * float value according to the current byte order.  </p>
+     *
+     * @param  index
+     *         The index from which the bytes will be read
+     *
+     * @return  The float value at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus three
+     */
+    public abstract float getFloat(int index);
+
+    /**
+     * Absolute <i>put</i> method for writing a float
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes four bytes containing the given float value, in the
+     * current byte order, into this buffer at the given index.  </p>
+     *
+     * @param  index
+     *         The index at which the bytes will be written
+     *
+     * @param  value
+     *         The float value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus three
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putFloat(int index, float value);
+
+    /**
+     * Creates a view of this byte buffer as a float buffer.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of bytes remaining in this buffer divided by
+     * four, and its mark will be undefined.  The new buffer will be direct
+     * if, and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  A new float buffer
+     */
+    public abstract FloatBuffer asFloatBuffer();
+
+
+    /**
+     * Relative <i>get</i> method for reading a double value.
+     *
+     * <p> Reads the next eight bytes at this buffer's current position,
+     * composing them into a double value according to the current byte order,
+     * and then increments the position by eight.  </p>
+     *
+     * @return  The double value at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than eight bytes
+     *          remaining in this buffer
+     */
+    public abstract double getDouble();
+
+    /**
+     * Relative <i>put</i> method for writing a double
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes eight bytes containing the given double value, in the
+     * current byte order, into this buffer at the current position, and then
+     * increments the position by eight.  </p>
+     *
+     * @param  value
+     *         The double value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there are fewer than eight bytes
+     *          remaining in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putDouble(double value);
+
+    /**
+     * Absolute <i>get</i> method for reading a double value.
+     *
+     * <p> Reads eight bytes at the given index, composing them into a
+     * double value according to the current byte order.  </p>
+     *
+     * @param  index
+     *         The index from which the bytes will be read
+     *
+     * @return  The double value at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus seven
+     */
+    public abstract double getDouble(int index);
+
+    /**
+     * Absolute <i>put</i> method for writing a double
+     * value&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Writes eight bytes containing the given double value, in the
+     * current byte order, into this buffer at the given index.  </p>
+     *
+     * @param  index
+     *         The index at which the bytes will be written
+     *
+     * @param  value
+     *         The double value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit,
+     *          minus seven
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ByteBuffer putDouble(int index, double value);
+
+    /**
+     * Creates a view of this byte buffer as a double buffer.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of bytes remaining in this buffer divided by
+     * eight, and its mark will be undefined.  The new buffer will be direct
+     * if, and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  A new double buffer
+     */
+    public abstract DoubleBuffer asDoubleBuffer();
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsCharBufferB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsCharBufferB			// package-private
+    extends CharBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsCharBufferB(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 1,
+	      bb.remaining() >> 1);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsCharBufferB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferB(bb, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new ByteBufferAsCharBufferB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsCharBufferRB(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 1) + offset;
+    }
+
+    public char get() {
+	return Bits.getCharB(bb, ix(nextGetIndex()));
+    }
+
+    public char get(int i) {
+	return Bits.getCharB(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public CharBuffer put(char x) {
+
+	Bits.putCharB(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+	Bits.putCharB(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public CharBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 1);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = offset + ((pos + start) << 1);
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferB(bb, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsCharBufferL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsCharBufferL			// package-private
+    extends CharBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsCharBufferL(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 1,
+	      bb.remaining() >> 1);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsCharBufferL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferL(bb, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new ByteBufferAsCharBufferL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsCharBufferRL(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 1) + offset;
+    }
+
+    public char get() {
+	return Bits.getCharL(bb, ix(nextGetIndex()));
+    }
+
+    public char get(int i) {
+	return Bits.getCharL(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public CharBuffer put(char x) {
+
+	Bits.putCharL(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+	Bits.putCharL(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public CharBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 1);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = offset + ((pos + start) << 1);
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferL(bb, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsCharBufferRB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsCharBufferRB			// package-private
+    extends ByteBufferAsCharBufferB
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsCharBufferRB(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsCharBufferRB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferRB(bb, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new ByteBufferAsCharBufferRB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public CharBuffer put(char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = offset + ((pos + start) << 1);
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferRB(bb, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsCharBufferRL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsCharBufferRL			// package-private
+    extends ByteBufferAsCharBufferL
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsCharBufferRL(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsCharBufferRL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferRL(bb, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new ByteBufferAsCharBufferRL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public CharBuffer put(char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = offset + ((pos + start) << 1);
+        assert (off >= 0);
+	return new ByteBufferAsCharBufferRL(bb, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsDoubleBufferB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsDoubleBufferB			// package-private
+    extends DoubleBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsDoubleBufferB(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 3,
+	      bb.remaining() >> 3);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsDoubleBufferB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsDoubleBufferB(bb, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new ByteBufferAsDoubleBufferB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsDoubleBufferRB(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 3) + offset;
+    }
+
+    public double get() {
+	return Bits.getDoubleB(bb, ix(nextGetIndex()));
+    }
+
+    public double get(int i) {
+	return Bits.getDoubleB(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public DoubleBuffer put(double x) {
+
+	Bits.putDoubleB(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+	Bits.putDoubleB(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 3);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsDoubleBufferL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsDoubleBufferL			// package-private
+    extends DoubleBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsDoubleBufferL(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 3,
+	      bb.remaining() >> 3);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsDoubleBufferL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsDoubleBufferL(bb, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new ByteBufferAsDoubleBufferL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsDoubleBufferRL(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 3) + offset;
+    }
+
+    public double get() {
+	return Bits.getDoubleL(bb, ix(nextGetIndex()));
+    }
+
+    public double get(int i) {
+	return Bits.getDoubleL(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public DoubleBuffer put(double x) {
+
+	Bits.putDoubleL(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+	Bits.putDoubleL(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 3);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsDoubleBufferRB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsDoubleBufferRB			// package-private
+    extends ByteBufferAsDoubleBufferB
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsDoubleBufferRB(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsDoubleBufferRB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsDoubleBufferRB(bb, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new ByteBufferAsDoubleBufferRB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public DoubleBuffer put(double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsDoubleBufferRL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsDoubleBufferRL			// package-private
+    extends ByteBufferAsDoubleBufferL
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsDoubleBufferRL(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsDoubleBufferRL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsDoubleBufferRL(bb, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new ByteBufferAsDoubleBufferRL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public DoubleBuffer put(double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsFloatBufferB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsFloatBufferB			// package-private
+    extends FloatBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsFloatBufferB(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 2,
+	      bb.remaining() >> 2);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsFloatBufferB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsFloatBufferB(bb, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new ByteBufferAsFloatBufferB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsFloatBufferRB(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 2) + offset;
+    }
+
+    public float get() {
+	return Bits.getFloatB(bb, ix(nextGetIndex()));
+    }
+
+    public float get(int i) {
+	return Bits.getFloatB(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public FloatBuffer put(float x) {
+
+	Bits.putFloatB(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+	Bits.putFloatB(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public FloatBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 2);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsFloatBufferL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsFloatBufferL			// package-private
+    extends FloatBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsFloatBufferL(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 2,
+	      bb.remaining() >> 2);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsFloatBufferL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsFloatBufferL(bb, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new ByteBufferAsFloatBufferL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsFloatBufferRL(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 2) + offset;
+    }
+
+    public float get() {
+	return Bits.getFloatL(bb, ix(nextGetIndex()));
+    }
+
+    public float get(int i) {
+	return Bits.getFloatL(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public FloatBuffer put(float x) {
+
+	Bits.putFloatL(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+	Bits.putFloatL(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public FloatBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 2);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsFloatBufferRB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsFloatBufferRB			// package-private
+    extends ByteBufferAsFloatBufferB
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsFloatBufferRB(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsFloatBufferRB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsFloatBufferRB(bb, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new ByteBufferAsFloatBufferRB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public FloatBuffer put(float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsFloatBufferRL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsFloatBufferRL			// package-private
+    extends ByteBufferAsFloatBufferL
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsFloatBufferRL(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsFloatBufferRL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsFloatBufferRL(bb, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new ByteBufferAsFloatBufferRL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public FloatBuffer put(float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsIntBufferB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsIntBufferB			// package-private
+    extends IntBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsIntBufferB(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 2,
+	      bb.remaining() >> 2);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsIntBufferB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsIntBufferB(bb, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new ByteBufferAsIntBufferB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsIntBufferRB(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 2) + offset;
+    }
+
+    public int get() {
+	return Bits.getIntB(bb, ix(nextGetIndex()));
+    }
+
+    public int get(int i) {
+	return Bits.getIntB(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public IntBuffer put(int x) {
+
+	Bits.putIntB(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+	Bits.putIntB(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public IntBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 2);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsIntBufferL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsIntBufferL			// package-private
+    extends IntBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsIntBufferL(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 2,
+	      bb.remaining() >> 2);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsIntBufferL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsIntBufferL(bb, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new ByteBufferAsIntBufferL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsIntBufferRL(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 2) + offset;
+    }
+
+    public int get() {
+	return Bits.getIntL(bb, ix(nextGetIndex()));
+    }
+
+    public int get(int i) {
+	return Bits.getIntL(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public IntBuffer put(int x) {
+
+	Bits.putIntL(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+	Bits.putIntL(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public IntBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 2);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsIntBufferRB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsIntBufferRB			// package-private
+    extends ByteBufferAsIntBufferB
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsIntBufferRB(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsIntBufferRB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsIntBufferRB(bb, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new ByteBufferAsIntBufferRB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public IntBuffer put(int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsIntBufferRL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsIntBufferRL			// package-private
+    extends ByteBufferAsIntBufferL
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsIntBufferRL(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsIntBufferRL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsIntBufferRL(bb, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new ByteBufferAsIntBufferRL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public IntBuffer put(int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsLongBufferB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsLongBufferB			// package-private
+    extends LongBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsLongBufferB(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 3,
+	      bb.remaining() >> 3);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsLongBufferB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsLongBufferB(bb, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new ByteBufferAsLongBufferB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsLongBufferRB(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 3) + offset;
+    }
+
+    public long get() {
+	return Bits.getLongB(bb, ix(nextGetIndex()));
+    }
+
+    public long get(int i) {
+	return Bits.getLongB(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public LongBuffer put(long x) {
+
+	Bits.putLongB(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+	Bits.putLongB(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public LongBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 3);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsLongBufferL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsLongBufferL			// package-private
+    extends LongBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsLongBufferL(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 3,
+	      bb.remaining() >> 3);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsLongBufferL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsLongBufferL(bb, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new ByteBufferAsLongBufferL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsLongBufferRL(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 3) + offset;
+    }
+
+    public long get() {
+	return Bits.getLongL(bb, ix(nextGetIndex()));
+    }
+
+    public long get(int i) {
+	return Bits.getLongL(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public LongBuffer put(long x) {
+
+	Bits.putLongL(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+	Bits.putLongL(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public LongBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 3);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsLongBufferRB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsLongBufferRB			// package-private
+    extends ByteBufferAsLongBufferB
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsLongBufferRB(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsLongBufferRB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsLongBufferRB(bb, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new ByteBufferAsLongBufferRB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public LongBuffer put(long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsLongBufferRL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsLongBufferRL			// package-private
+    extends ByteBufferAsLongBufferL
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsLongBufferRL(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsLongBufferRL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsLongBufferRL(bb, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new ByteBufferAsLongBufferRL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public LongBuffer put(long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsShortBufferB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsShortBufferB			// package-private
+    extends ShortBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsShortBufferB(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 1,
+	      bb.remaining() >> 1);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsShortBufferB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsShortBufferB(bb, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new ByteBufferAsShortBufferB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsShortBufferRB(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 1) + offset;
+    }
+
+    public short get() {
+	return Bits.getShortB(bb, ix(nextGetIndex()));
+    }
+
+    public short get(int i) {
+	return Bits.getShortB(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public ShortBuffer put(short x) {
+
+	Bits.putShortB(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+	Bits.putShortB(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public ShortBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 1);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsShortBufferL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsShortBufferL			// package-private
+    extends ShortBuffer
+{
+
+
+
+    protected final ByteBuffer bb;
+    protected final int offset;
+
+
+
+    ByteBufferAsShortBufferL(ByteBuffer bb) {	// package-private
+
+	super(-1, 0,
+	      bb.remaining() >> 1,
+	      bb.remaining() >> 1);
+	this.bb = bb;
+	// enforce limit == capacity
+	int cap = this.capacity();
+	this.limit(cap);
+	int pos = this.position();
+	assert (pos <= cap);
+	offset = pos;
+
+
+
+    }
+
+    ByteBufferAsShortBufferL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+	super(mark, pos, lim, cap);
+	this.bb = bb;
+	offset = off;
+
+
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsShortBufferL(bb, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new ByteBufferAsShortBufferL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+	return new ByteBufferAsShortBufferRL(bb,
+						 this.markValue(),
+						 this.position(),
+						 this.limit(),
+						 this.capacity(),
+						 offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return (i << 1) + offset;
+    }
+
+    public short get() {
+	return Bits.getShortL(bb, ix(nextGetIndex()));
+    }
+
+    public short get(int i) {
+	return Bits.getShortL(bb, ix(checkIndex(i)));
+    }
+
+
+
+    public ShortBuffer put(short x) {
+
+	Bits.putShortL(bb, ix(nextPutIndex()), x);
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+	Bits.putShortL(bb, ix(checkIndex(i)), x);
+	return this;
+
+
+
+    }
+
+    public ShortBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+	ByteBuffer db = bb.duplicate();
+ 	db.limit(ix(lim));
+	db.position(ix(0));
+	ByteBuffer sb = db.slice();
+	sb.position(pos << 1);
+	sb.compact();
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsShortBufferRB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsShortBufferRB			// package-private
+    extends ByteBufferAsShortBufferB
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsShortBufferRB(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsShortBufferRB(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsShortBufferRB(bb, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new ByteBufferAsShortBufferRB(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ShortBuffer put(short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ByteOrder.BIG_ENDIAN;
+
+
+
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ByteBufferAsShortBufferRL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,216 @@
+/*
+ * Copyright 2000-2004 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+class ByteBufferAsShortBufferRL			// package-private
+    extends ByteBufferAsShortBufferL
+{
+
+
+
+
+
+
+
+
+    ByteBufferAsShortBufferRL(ByteBuffer bb) {	// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+	super(bb);
+
+    }
+
+    ByteBufferAsShortBufferRL(ByteBuffer bb,
+				     int mark, int pos, int lim, int cap,
+				     int off)
+    {
+
+
+
+
+
+	super(bb, mark, pos, lim, cap, off);
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1) + offset;
+        assert (off >= 0);
+	return new ByteBufferAsShortBufferRL(bb, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new ByteBufferAsShortBufferRL(bb,
+						    this.markValue(),
+						    this.position(),
+						    this.limit(),
+						    this.capacity(),
+						    offset);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ShortBuffer put(short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return bb.isDirect();
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+	return ByteOrder.LITTLE_ENDIAN;
+
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/CharBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1427 @@
+/*
+ * Copyright 2000-2007 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+import java.io.IOException;
+
+
+/**
+ * A character buffer.
+ *
+ * <p> This class defines four categories of operations upon
+ * character buffers:
+ *
+ * <ul>
+ *
+ *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
+ *   {@link #put(char) </code><i>put</i><code>} methods that read and write
+ *   single characters; </p></li>
+ *
+ *   <li><p> Relative {@link #get(char[]) </code><i>bulk get</i><code>}
+ *   methods that transfer contiguous sequences of characters from this buffer
+ *   into an array; and</p></li>
+ *
+ *   <li><p> Relative {@link #put(char[]) </code><i>bulk put</i><code>}
+ *   methods that transfer contiguous sequences of characters from a
+ *   character array,&#32;a&#32;string, or some other character
+ *   buffer into this buffer;&#32;and </p></li>
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
+ *   #duplicate </code>duplicating<code>}, and {@link #slice
+ *   </code>slicing<code>} a character buffer.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Character buffers can be created either by {@link #allocate
+ * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ *
+
+
+
+
+
+
+ *
+ * content, by {@link #wrap(char[]) </code><i>wrapping</i><code>} an existing
+ * character array or&#32;string into a buffer, or by creating a
+ * <a href="ByteBuffer.html#views"><i>view</i></a> of an existing byte buffer.
+ *
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*
+
+ *
+ * <p> Like a byte buffer, a character buffer is either <a
+ * href="ByteBuffer.html#direct"><i>direct</i> or <i>non-direct</i></a>.  A
+ * character buffer created via the <tt>wrap</tt> methods of this class will
+ * be non-direct.  A character buffer created as a view of a byte buffer will
+ * be direct if, and only if, the byte buffer itself is direct.  Whether or not
+ * a character buffer is direct may be determined by invoking the {@link
+ * #isDirect isDirect} method.  </p>
+ *
+
+*
+
+ *
+ * <p> This class implements the {@link CharSequence} interface so that
+ * character buffers may be used wherever character sequences are accepted, for
+ * example in the regular-expression package <tt>{@link java.util.regex}</tt>.
+ * </p>
+ *
+
+ *
+
+
+
+ *
+ * <p> Methods in this class that do not otherwise have a value to return are
+ * specified to return the buffer upon which they are invoked.  This allows
+ * method invocations to be chained.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ * The sequence of statements
+ *
+ * <blockquote><pre>
+ * cb.put("text/");
+ * cb.put(subtype);
+ * cb.put("; charset=");
+ * cb.put(enc);</pre></blockquote>
+ *
+ * can, for example, be replaced by the single statement
+ *
+ * <blockquote><pre>
+ * cb.put("text/").put(subtype).put("; charset=").put(enc);</pre></blockquote>
+ *
+
+ *
+ *
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @version 1.69, 07/05/05
+ * @since 1.4
+ */
+
+public abstract class CharBuffer
+    extends Buffer
+    implements Comparable<CharBuffer>, Appendable, CharSequence, Readable
+{
+
+    // These fields are declared here rather than in Heap-X-Buffer in order to
+    // reduce the number of virtual method invocations needed to access these
+    // values, which is especially costly when coding small buffers.
+    //
+    final char[] hb;			// Non-null only for heap buffers
+    final int offset;
+    boolean isReadOnly;			// Valid only for heap buffers
+
+    // Creates a new buffer with the given mark, position, limit, capacity,
+    // backing array, and array offset
+    //
+    CharBuffer(int mark, int pos, int lim, int cap,	// package-private
+		 char[] hb, int offset)
+    {
+	super(mark, pos, lim, cap);
+	this.hb = hb;
+	this.offset = offset;
+    }
+
+    // Creates a new buffer with the given mark, position, limit, and capacity
+    //
+    CharBuffer(int mark, int pos, int lim, int cap) {	// package-private
+	this(mark, pos, lim, cap, null, 0);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Allocates a new character buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  It will have a {@link #array
+     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
+     * offset<code>} will be zero.
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in characters
+     *
+     * @return  The new character buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static CharBuffer allocate(int capacity) {
+	if (capacity < 0)
+	    throw new IllegalArgumentException();
+	return new HeapCharBuffer(capacity, capacity);
+    }
+
+    /**
+     * Wraps a character array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given character array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity will be
+     * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
+     * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
+     * {@link #array </code>backing array<code>} will be the given array, and
+     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     *
+     * @param  array
+     *         The array that will back the new buffer
+     *
+     * @param  offset
+     *         The offset of the subarray to be used; must be non-negative and
+     *         no larger than <tt>array.length</tt>.  The new buffer's position
+     *         will be set to this value.
+     *
+     * @param  length
+     *         The length of the subarray to be used;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>.
+     *         The new buffer's limit will be set to <tt>offset + length</tt>.
+     *
+     * @return  The new character buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public static CharBuffer wrap(char[] array,
+				    int offset, int length)
+    {
+	try {
+	    return new HeapCharBuffer(array, offset, length);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps a character array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given character array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity and limit will be
+     * <tt>array.length</tt>, its position will be zero, and its mark will be
+     * undefined.  Its {@link #array </code>backing array<code>} will be the
+     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * be zero.  </p> 
+     *
+     * @param  array
+     *         The array that will back this buffer
+     *
+     * @return  The new character buffer
+     */
+    public static CharBuffer wrap(char[] array) {
+	return wrap(array, 0, array.length);
+    }
+
+
+
+    /**
+     * Attempts to read characters into the specified character buffer.
+     * The buffer is used as a repository of characters as-is: the only
+     * changes made are the results of a put operation. No flipping or
+     * rewinding of the buffer is performed.
+     *
+     * @param target the buffer to read characters into
+     * @return The number of characters added to the buffer, or 
+     *         -1 if this source of characters is at its end
+     * @throws IOException if an I/O error occurs
+     * @throws NullPointerException if target is null
+     * @throws ReadOnlyBufferException if target is a read only buffer
+     * @since 1.5
+     */
+    public int read(CharBuffer target) throws IOException {
+        // Determine the number of bytes n that can be transferred
+        int targetRemaining = target.remaining();
+        int remaining = remaining();
+        if (remaining == 0)
+            return -1;
+        int n = Math.min(remaining, targetRemaining);
+        int limit = limit();
+        // Set source limit to prevent target overflow
+        if (targetRemaining < remaining)
+            limit(position() + n);
+        try {
+            if (n > 0)
+                target.put(this);
+        } finally {
+            limit(limit); // restore real limit
+        }
+        return n;
+    }
+
+    /**
+     * Wraps a character sequence into a buffer.
+     *
+     * <p> The content of the new, read-only buffer will be the content of the
+     * given character sequence.  The buffer's capacity will be
+     * <tt>csq.length()</tt>, its position will be <tt>start</tt>, its limit
+     * will be <tt>end</tt>, and its mark will be undefined.  </p>
+     *
+     * @param  csq
+     *         The character sequence from which the new character buffer is to
+     *         be created
+     *
+     * @param  start
+     *         The index of the first character to be used;
+     *         must be non-negative and no larger than <tt>csq.length()</tt>.
+     *         The new buffer's position will be set to this value.
+     *
+     * @param  end
+     *         The index of the character following the last character to be
+     *         used; must be no smaller than <tt>start</tt> and no larger
+     *         than <tt>csq.length()</tt>.
+     *         The new buffer's limit will be set to this value.
+     *
+     * @return  The new character buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>start</tt> and <tt>end</tt>
+     *          parameters do not hold
+     */
+    public static CharBuffer wrap(CharSequence csq, int start, int end) {
+	try {
+	    return new StringCharBuffer(csq, start, end);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps a character sequence into a buffer.
+     * 
+     * <p> The content of the new, read-only buffer will be the content of the
+     * given character sequence.  The new buffer's capacity and limit will be
+     * <tt>csq.length()</tt>, its position will be zero, and its mark will be
+     * undefined.  </p>
+     *
+     * @param  csq
+     *         The character sequence from which the new character buffer is to
+     *         be created
+     *
+     * @return  The new character buffer
+     */
+    public static CharBuffer wrap(CharSequence csq) {
+	return wrap(csq, 0, csq.length());
+    }
+
+
+
+    /**
+     * Creates a new character buffer whose content is a shared subsequence of
+     * this buffer's content.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of characters remaining in this buffer, and its mark
+     * will be undefined.  The new buffer will be direct if, and only if, this
+     * buffer is direct, and it will be read-only if, and only if, this buffer
+     * is read-only.  </p>
+     *
+     * @return  The new character buffer
+     */
+    public abstract CharBuffer slice();
+
+    /**
+     * Creates a new character buffer that shares this buffer's content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer, and vice
+     * versa; the two buffers' position, limit, and mark values will be
+     * independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.  The new buffer will be direct if,
+     * and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  The new character buffer
+     */
+    public abstract CharBuffer duplicate();
+
+    /**
+     * Creates a new, read-only character buffer that shares this buffer's
+     * content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer; the new
+     * buffer itself, however, will be read-only and will not allow the shared
+     * content to be modified.  The two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.
+     *
+     * <p> If this buffer is itself read-only then this method behaves in
+     * exactly the same way as the {@link #duplicate duplicate} method.  </p>
+     *
+     * @return  The new, read-only character buffer
+     */
+    public abstract CharBuffer asReadOnlyBuffer();
+
+
+    // -- Singleton get/put methods --
+
+    /**
+     * Relative <i>get</i> method.  Reads the character at this buffer's
+     * current position, and then increments the position. </p>
+     *
+     * @return  The character at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If the buffer's current position is not smaller than its limit
+     */
+    public abstract char get();
+
+    /**
+     * Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given character into this buffer at the current
+     * position, and then increments the position. </p>
+     *
+     * @param  c
+     *         The character to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If this buffer's current position is not smaller than its limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract CharBuffer put(char c);
+
+    /**
+     * Absolute <i>get</i> method.  Reads the character at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index from which the character will be read
+     *
+     * @return  The character at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     */
+    public abstract char get(int index);
+
+    /**
+     * Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given character into this buffer at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index at which the character will be written
+     *
+     * @param  c
+     *         The character value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract CharBuffer put(int index, char c);
+
+
+    // -- Bulk get operations --
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers characters from this buffer into the given
+     * destination array.  If there are fewer characters remaining in the
+     * buffer than are required to satisfy the request, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * characters are transferred and a {@link BufferUnderflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> characters from this
+     * buffer into the given array, starting at the current position of this
+     * buffer and at the given offset in the array.  The position of this
+     * buffer is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst[i] = src.get(); </pre>
+     *
+     * except that it first checks that there are sufficient characters in
+     * this buffer and it is potentially much more efficient. </p>
+     *
+     * @param  dst
+     *         The array into which characters are to be written
+     *
+     * @param  offset
+     *         The offset within the array of the first character to be
+     *         written; must be non-negative and no larger than
+     *         <tt>dst.length</tt>
+     *
+     * @param  length
+     *         The maximum number of characters to be written to the given
+     *         array; must be non-negative and no larger than
+     *         <tt>dst.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> characters
+     *          remaining in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public CharBuffer get(char[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    dst[i] = get();
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers characters from this buffer into the given
+     * destination array.  An invocation of this method of the form
+     * <tt>src.get(a)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     src.get(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> characters
+     *          remaining in this buffer
+     */
+    public CharBuffer get(char[] dst) {
+	return get(dst, 0, dst.length);
+    }
+
+
+    // -- Bulk put operations --
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the characters remaining in the given source
+     * buffer into this buffer.  If there are more characters remaining in the
+     * source buffer than in this buffer, that is, if
+     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no characters are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> characters from the given
+     * buffer into this buffer, starting at each buffer's current position.
+     * The positions of both buffers are then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
+     *
+     * <pre>
+     *     while (src.hasRemaining())
+     *         dst.put(src.get()); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The source buffer from which characters are to be read;
+     *         must not be this buffer
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *          for the remaining characters in the source buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the source buffer is this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public CharBuffer put(CharBuffer src) {
+	if (src == this)
+	    throw new IllegalArgumentException();
+	int n = src.remaining();
+	if (n > remaining())
+	    throw new BufferOverflowException();
+	for (int i = 0; i < n; i++)
+	    put(src.get());
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers characters into this buffer from the given
+     * source array.  If there are more characters to be copied from the array
+     * than remain in this buffer, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * characters are transferred and a {@link BufferOverflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> characters from the
+     * given array into this buffer, starting at the given offset in the array
+     * and at the current position of this buffer.  The position of this buffer
+     * is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst.put(a[i]); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The array from which characters are to be read
+     *
+     * @param  offset
+     *         The offset within the array of the first character to be read;
+     *         must be non-negative and no larger than <tt>array.length</tt>
+     *
+     * @param  length
+     *         The number of characters to be read from the given array;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public CharBuffer put(char[] src, int offset, int length) {
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    this.put(src[i]);
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source
+     * character array into this buffer.  An invocation of this method of the
+     * form <tt>dst.put(a)</tt> behaves in exactly the same way as the
+     * invocation
+     *
+     * <pre>
+     *     dst.put(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final CharBuffer put(char[] src) {
+	return put(src, 0, src.length);
+    }
+
+
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers characters from the given string into this
+     * buffer.  If there are more characters to be copied from the string than
+     * remain in this buffer, that is, if
+     * <tt>end&nbsp;-&nbsp;start</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no characters are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>end</tt>&nbsp;-&nbsp;<tt>start</tt> characters
+     * from the given string into this buffer, starting at the given
+     * <tt>start</tt> index and at the current position of this buffer.  The
+     * position of this buffer is then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;start,&nbsp;end)</tt> has exactly the same effect
+     * as the loop
+     *
+     * <pre>
+     *     for (int i = start; i < end; i++)
+     *         dst.put(src.charAt(i)); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The string from which characters are to be read
+     *
+     * @param  start
+     *         The offset within the string of the first character to be read;
+     *         must be non-negative and no larger than
+     *         <tt>string.length()</tt>
+     *
+     * @param  end
+     *         The offset within the string of the last character to be read,
+     *         plus one; must be non-negative and no larger than
+     *         <tt>string.length()</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>start</tt> and <tt>end</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public CharBuffer put(String src, int start, int end) {
+	checkBounds(start, end - start, src.length());
+	for (int i = start; i < end; i++)
+	    this.put(src.charAt(i));
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source string
+     * into this buffer.  An invocation of this method of the form
+     * <tt>dst.put(s)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     dst.put(s, 0, s.length()) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final CharBuffer put(String src) {
+	return put(src, 0, src.length());
+    }
+
+
+
+
+    // -- Other stuff --
+
+    /**
+     * Tells whether or not this buffer is backed by an accessible character
+     * array.
+     *
+     * <p> If this method returns <tt>true</tt> then the {@link #array() array}
+     * and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
+     * </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer
+     *          is backed by an array and is not read-only
+     */
+    public final boolean hasArray() {
+	return (hb != null) && !isReadOnly;
+    }
+
+    /**
+     * Returns the character array that backs this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Modifications to this buffer's content will cause the returned
+     * array's content to be modified, and vice versa.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The array that backs this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final char[] array() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return hb;
+    }
+
+    /**
+     * Returns the offset within this buffer's backing array of the first
+     * element of the buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this buffer is backed by an array then buffer position <i>p</i>
+     * corresponds to array index <i>p</i>&nbsp;+&nbsp;<tt>arrayOffset()</tt>.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The offset within this buffer's array
+     *          of the first element of the buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int arrayOffset() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return offset;
+    }
+
+    /**
+     * Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> The characters between the buffer's current position and its limit,
+     * if any, are copied to the beginning of the buffer.  That is, the
+     * character at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
+     * to index zero, the character at index <i>p</i>&nbsp;+&nbsp;1 is copied
+     * to index one, and so forth until the character at index
+     * <tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
+     * <i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
+     * The buffer's position is then set to <i>n+1</i> and its limit is set to
+     * its capacity.  The mark, if defined, is discarded.
+     *
+     * <p> The buffer's position is set to the number of characters copied,
+     * rather than to zero, so that an invocation of this method can be
+     * followed immediately by an invocation of another relative <i>put</i>
+     * method. </p>
+     *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     *
+     * @return  This buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract CharBuffer compact();
+
+    /**
+     * Tells whether or not this character buffer is direct. </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is direct
+     */
+    public abstract boolean isDirect();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    
+
+    /**
+     * Returns the current hash code of this buffer.
+     *
+     * <p> The hash code of a char buffer depends only upon its remaining
+     * elements; that is, upon the elements from <tt>position()</tt> up to, and
+     * including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
+     *
+     * <p> Because buffer hash codes are content-dependent, it is inadvisable
+     * to use buffers as keys in hash maps or similar data structures unless it
+     * is known that their contents will not change.  </p>
+     *
+     * @return  The current hash code of this buffer
+     */
+    public int hashCode() {
+	int h = 1;
+	int p = position();
+	for (int i = limit() - 1; i >= p; i--)
+	    h = 31 * h + (int)get(i);
+	return h;
+    }
+
+    /**
+     * Tells whether or not this buffer is equal to another object.
+     *
+     * <p> Two char buffers are equal if, and only if,
+     *
+     * <p><ol>
+     *
+     *   <li><p> They have the same element type,  </p></li>
+     *
+     *   <li><p> They have the same number of remaining elements, and
+     *   </p></li>
+     *
+     *   <li><p> The two sequences of remaining elements, considered
+     *   independently of their starting positions, are pointwise equal.
+     *   </p></li>
+     *
+     * </ol>
+     *
+     * <p> A char buffer is not equal to any other type of object.  </p>
+     *
+     * @param  ob  The object to which this buffer is to be compared
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is equal to the
+     *           given object
+     */
+    public boolean equals(Object ob) {
+	if (this == ob)
+	    return true;
+	if (!(ob instanceof CharBuffer))
+	    return false;
+	CharBuffer that = (CharBuffer)ob;
+	if (this.remaining() != that.remaining())
+	    return false;
+	int p = this.position();
+	for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) {
+	    char v1 = this.get(i);
+	    char v2 = that.get(j);
+	    if (v1 != v2) {
+		if ((v1 != v1) && (v2 != v2))	// For float and double
+		    continue;
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * Compares this buffer to another.
+     *
+     * <p> Two char buffers are compared by comparing their sequences of
+     * remaining elements lexicographically, without regard to the starting
+     * position of each sequence within its corresponding buffer.
+     *
+     * <p> A char buffer is not comparable to any other type of object.
+     *
+     * @return  A negative integer, zero, or a positive integer as this buffer
+     *		is less than, equal to, or greater than the given buffer
+     */
+    public int compareTo(CharBuffer that) {
+	int n = this.position() + Math.min(this.remaining(), that.remaining());
+	for (int i = this.position(), j = that.position(); i < n; i++, j++) {
+	    char v1 = this.get(i);
+	    char v2 = that.get(j);
+	    if (v1 == v2)
+		continue;
+	    if ((v1 != v1) && (v2 != v2)) 	// For float and double
+		continue;
+	    if (v1 < v2)
+		return -1;
+	    return +1;
+	}
+	return this.remaining() - that.remaining();
+    }
+
+
+
+    // -- Other char stuff --
+
+
+
+    /**
+     * Returns a string containing the characters in this buffer.
+     *
+     * <p> The first character of the resulting string will be the character at
+     * this buffer's position, while the last character will be the character
+     * at index <tt>limit()</tt>&nbsp;-&nbsp;1.  Invoking this method does not
+     * change the buffer's position. </p>
+     *
+     * @return  The specified string
+     */
+    public String toString() {
+	return toString(position(), limit());
+    }
+
+    abstract String toString(int start, int end);	// package-private
+
+
+    // --- Methods to support CharSequence ---
+
+    /**
+     * Returns the length of this character buffer.
+     *
+     * <p> When viewed as a character sequence, the length of a character
+     * buffer is simply the number of characters between the position
+     * (inclusive) and the limit (exclusive); that is, it is equivalent to
+     * <tt>remaining()</tt>. </p>
+     *
+     * @return  The length of this character buffer
+     */
+    public final int length() {
+	return remaining();
+    }
+
+    /**
+     * Reads the character at the given index relative to the current
+     * position. </p>
+     *
+     * @param  index
+     *         The index of the character to be read, relative to the position; 
+     *         must be non-negative and smaller than <tt>remaining()</tt>
+     *
+     * @return  The character at index
+     *          <tt>position()&nbsp;+&nbsp;index</tt>
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on <tt>index</tt> do not hold
+     */
+    public final char charAt(int index) {
+        return get(position() + checkIndex(index, 1));
+    }
+
+    /**
+     * Creates a new character buffer that represents the specified subsequence
+     * of this buffer, relative to the current position.
+     *
+     * <p> The new buffer will share this buffer's content; that is, if the
+     * content of this buffer is mutable then modifications to one buffer will
+     * cause the other to be modified.  The new buffer's capacity will be that
+     * of this buffer, its position will be
+     * <tt>position()</tt>&nbsp;+&nbsp;<tt>start</tt>, and its limit will be
+     * <tt>position()</tt>&nbsp;+&nbsp;<tt>end</tt>.  The new buffer will be
+     * direct if, and only if, this buffer is direct, and it will be read-only
+     * if, and only if, this buffer is read-only.  </p>
+     *
+     * @param  start
+     *         The index, relative to the current position, of the first
+     *         character in the subsequence; must be non-negative and no larger 
+     *         than <tt>remaining()</tt>
+     *
+     * @param  end
+     *         The index, relative to the current position, of the character
+     *         following the last character in the subsequence; must be no
+     *         smaller than <tt>start</tt> and no larger than
+     *         <tt>remaining()</tt>
+     *
+     * @return  The new character sequence
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on <tt>start</tt> and <tt>end</tt>
+     *          do not hold
+     */
+    public abstract CharSequence subSequence(int start, int end);
+
+
+    // --- Methods to support Appendable ---
+
+    /**
+     * Appends the specified character sequence  to this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> An invocation of this method of the form <tt>dst.append(csq)</tt>
+     * behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     dst.put(csq.toString()) </pre>
+     *
+     * <p> Depending on the specification of <tt>toString</tt> for the
+     * character sequence <tt>csq</tt>, the entire sequence may not be
+     * appended.  For instance, invoking the {@link CharBuffer#toString()
+     * toString} method of a character buffer will return a subsequence whose
+     * content depends upon the buffer's position and limit.
+     *
+     * @param  csq
+     *         The character sequence to append.  If <tt>csq</tt> is
+     *         <tt>null</tt>, then the four characters <tt>"null"</tt> are
+     *         appended to this character buffer.
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     *
+     * @since  1.5
+     */
+    public CharBuffer append(CharSequence csq) {
+	if (csq == null)
+	    return put("null");
+	else
+	    return put(csq.toString());
+    }
+
+    /**
+     * Appends a subsequence of the  specified character sequence  to this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> An invocation of this method of the form <tt>dst.append(csq, start,
+     * end)</tt> when <tt>csq</tt> is not <tt>null</tt>, behaves in exactly the
+     * same way as the invocation
+     *
+     * <pre>
+     *     dst.put(csq.subSequence(start, end).toString()) </pre>
+     *
+     * @param  csq
+     *         The character sequence from which a subsequence will be
+     *         appended.  If <tt>csq</tt> is <tt>null</tt>, then characters
+     *         will be appended as if <tt>csq</tt> contained the four
+     *         characters <tt>"null"</tt>.
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>start</tt> or <tt>end</tt> are negative, <tt>start</tt>
+     *          is greater than <tt>end</tt>, or <tt>end</tt> is greater than
+     *          <tt>csq.length()</tt>
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     *
+     * @since  1.5
+     */
+    public CharBuffer append(CharSequence csq, int start, int end) {
+	CharSequence cs = (csq == null ? "null" : csq);
+	return put(cs.subSequence(start, end).toString());
+    }
+
+    /**
+     * Appends the specified character  to this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> An invocation of this method of the form <tt>dst.append(c)</tt>
+     * behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     dst.put(c) </pre>
+     *
+     * @param  c
+     *         The 16-bit character to append
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     *
+     * @since  1.5
+     */
+    public CharBuffer append(char c) {
+	return put(c);
+    }
+
+
+
+
+    // -- Other byte stuff: Access to binary data --
+
+
+
+    /**
+     * Retrieves this buffer's byte order.
+     *
+     * <p> The byte order of a character buffer created by allocation or by
+     * wrapping an existing <tt>char</tt> array is the {@link
+     * ByteOrder#nativeOrder </code>native order<code>} of the underlying
+     * hardware.  The byte order of a character buffer created as a <a
+     * href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
+     * byte buffer at the moment that the view is created.  </p>
+     *
+     * @return  This buffer's byte order
+     */
+    public abstract ByteOrder order();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectByteBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,990 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectByteBuffer
+
+    extends MappedByteBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+    private static class Deallocator
+	implements Runnable
+    {
+
+	private static Unsafe unsafe = Unsafe.getUnsafe();
+
+	private long address;
+	private int capacity;
+
+	private Deallocator(long address, int capacity) {
+	    assert (address != 0);
+	    this.address = address;
+	    this.capacity = capacity;
+	}
+
+	public void run() {
+	    if (address == 0) {
+		// Paranoia
+		return;
+	    }
+	    unsafe.freeMemory(address);
+	    address = 0;
+	    Bits.unreserveMemory(capacity);
+	}
+
+    }
+
+    private final Cleaner cleaner;
+
+    public Cleaner cleaner() { return cleaner; }
+
+
+
+
+
+
+
+
+
+
+
+    // Primary constructor
+    //
+    DirectByteBuffer(int cap) {			// package-private
+
+	super(-1, 0, cap, cap, false);
+	Bits.reserveMemory(cap);
+	int ps = Bits.pageSize();
+	long base = 0;
+	try {
+	    base = unsafe.allocateMemory(cap + ps);
+	} catch (OutOfMemoryError x) {
+	    Bits.unreserveMemory(cap);
+	    throw x;
+	}
+	unsafe.setMemory(base, cap + ps, (byte) 0);
+	if (base % ps != 0) {
+	    // Round up to page boundary
+	    address = base + ps - (base & (ps - 1));
+	} else {
+	    address = base;
+	}
+	cleaner = Cleaner.create(this, new Deallocator(base, cap));
+
+
+
+    }
+
+
+
+    // Invoked only by JNI: NewDirectByteBuffer(void*, long)
+    //
+    private DirectByteBuffer(long addr, int cap) {
+        super(-1, 0, cap, cap, false);
+	address = addr;
+	cleaner = null;
+    }
+
+
+
+    // For memory-mapped buffers -- invoked by FileChannelImpl via reflection
+    //
+    protected DirectByteBuffer(int cap, long addr, Runnable unmapper) {
+
+        super(-1, 0, cap, cap, true);
+	address = addr;
+        viewedBuffer = null;
+	cleaner = Cleaner.create(this, unmapper);
+
+
+
+    }
+
+
+
+    // For duplicates and slices
+    //
+    DirectByteBuffer(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+	cleaner = null;
+
+
+
+
+    }
+
+    public ByteBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 0);
+        assert (off >= 0);
+	return new DirectByteBuffer(this, -1, 0, rem, rem, off);
+    }
+
+    public ByteBuffer duplicate() {
+	return new DirectByteBuffer(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public ByteBuffer asReadOnlyBuffer() {
+
+	return new DirectByteBufferR(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 0);
+    }
+
+    public byte get() {
+	return ((unsafe.getByte(ix(nextGetIndex()))));
+    }
+
+    public byte get(int i) {
+	return ((unsafe.getByte(ix(checkIndex(i)))));
+    }
+
+    public ByteBuffer get(byte[] dst, int offset, int length) {
+
+	if ((length << 0) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToByteArray(ix(pos), dst,
+					  offset << 0,
+					  length << 0);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 0,
+				     length << 0);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public ByteBuffer put(byte x) {
+
+	unsafe.putByte(ix(nextPutIndex()), ((x)));
+	return this;
+
+
+
+    }
+
+    public ByteBuffer put(int i, byte x) {
+
+	unsafe.putByte(ix(checkIndex(i)), ((x)));
+	return this;
+
+
+
+    }
+
+    public ByteBuffer put(ByteBuffer src) {
+
+	if (src instanceof DirectByteBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectByteBuffer sb = (DirectByteBuffer)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 0);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer put(byte[] src, int offset, int length) {
+
+	if ((length << 0) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromByteArray(src, offset << 0,
+					    ix(pos), length << 0);
+	    else
+		Bits.copyFromByteArray(src, offset << 0,
+				       ix(pos), length << 0);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public ByteBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 0);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    byte _get(int i) {				// package-private
+	return unsafe.getByte(address + i);
+    }
+
+    void _put(int i, byte b) {			// package-private
+
+	unsafe.putByte(address + i, b);
+
+
+
+    }
+
+
+
+
+    private char getChar(long a) {
+	if (unaligned) {
+	    char x = unsafe.getChar(a);
+	    return (nativeByteOrder ? x : Bits.swap(x));
+	}
+	return Bits.getChar(a, bigEndian);
+    }
+
+    public char getChar() {
+	return getChar(ix(nextGetIndex((1 << 1))));
+    }
+
+    public char getChar(int i) {
+	return getChar(ix(checkIndex(i, (1 << 1))));
+    }
+
+
+
+    private ByteBuffer putChar(long a, char x) {
+
+	if (unaligned) {
+	    char y = (x);
+	    unsafe.putChar(a, (nativeByteOrder ? y : Bits.swap(y)));
+	} else {
+	    Bits.putChar(a, x, bigEndian);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putChar(char x) {
+
+	putChar(ix(nextPutIndex((1 << 1))), x);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putChar(int i, char x) {
+
+	putChar(ix(checkIndex(i, (1 << 1))), x);
+	return this;
+
+
+
+    }
+
+    public CharBuffer asCharBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 1;
+ 	if (!unaligned && ((address + off) % (1 << 1) != 0)) {
+	    return (bigEndian
+		    ? (CharBuffer)(new ByteBufferAsCharBufferB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (CharBuffer)(new ByteBufferAsCharBufferL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (CharBuffer)(new DirectCharBufferU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (CharBuffer)(new DirectCharBufferS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+    private short getShort(long a) {
+	if (unaligned) {
+	    short x = unsafe.getShort(a);
+	    return (nativeByteOrder ? x : Bits.swap(x));
+	}
+	return Bits.getShort(a, bigEndian);
+    }
+
+    public short getShort() {
+	return getShort(ix(nextGetIndex((1 << 1))));
+    }
+
+    public short getShort(int i) {
+	return getShort(ix(checkIndex(i, (1 << 1))));
+    }
+
+
+
+    private ByteBuffer putShort(long a, short x) {
+
+	if (unaligned) {
+	    short y = (x);
+	    unsafe.putShort(a, (nativeByteOrder ? y : Bits.swap(y)));
+	} else {
+	    Bits.putShort(a, x, bigEndian);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putShort(short x) {
+
+	putShort(ix(nextPutIndex((1 << 1))), x);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putShort(int i, short x) {
+
+	putShort(ix(checkIndex(i, (1 << 1))), x);
+	return this;
+
+
+
+    }
+
+    public ShortBuffer asShortBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 1;
+ 	if (!unaligned && ((address + off) % (1 << 1) != 0)) {
+	    return (bigEndian
+		    ? (ShortBuffer)(new ByteBufferAsShortBufferB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (ShortBuffer)(new ByteBufferAsShortBufferL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (ShortBuffer)(new DirectShortBufferU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (ShortBuffer)(new DirectShortBufferS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+    private int getInt(long a) {
+	if (unaligned) {
+	    int x = unsafe.getInt(a);
+	    return (nativeByteOrder ? x : Bits.swap(x));
+	}
+	return Bits.getInt(a, bigEndian);
+    }
+
+    public int getInt() {
+	return getInt(ix(nextGetIndex((1 << 2))));
+    }
+
+    public int getInt(int i) {
+	return getInt(ix(checkIndex(i, (1 << 2))));
+    }
+
+
+
+    private ByteBuffer putInt(long a, int x) {
+
+	if (unaligned) {
+	    int y = (x);
+	    unsafe.putInt(a, (nativeByteOrder ? y : Bits.swap(y)));
+	} else {
+	    Bits.putInt(a, x, bigEndian);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putInt(int x) {
+
+	putInt(ix(nextPutIndex((1 << 2))), x);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putInt(int i, int x) {
+
+	putInt(ix(checkIndex(i, (1 << 2))), x);
+	return this;
+
+
+
+    }
+
+    public IntBuffer asIntBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 2;
+ 	if (!unaligned && ((address + off) % (1 << 2) != 0)) {
+	    return (bigEndian
+		    ? (IntBuffer)(new ByteBufferAsIntBufferB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (IntBuffer)(new ByteBufferAsIntBufferL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (IntBuffer)(new DirectIntBufferU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (IntBuffer)(new DirectIntBufferS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+    private long getLong(long a) {
+	if (unaligned) {
+	    long x = unsafe.getLong(a);
+	    return (nativeByteOrder ? x : Bits.swap(x));
+	}
+	return Bits.getLong(a, bigEndian);
+    }
+
+    public long getLong() {
+	return getLong(ix(nextGetIndex((1 << 3))));
+    }
+
+    public long getLong(int i) {
+	return getLong(ix(checkIndex(i, (1 << 3))));
+    }
+
+
+
+    private ByteBuffer putLong(long a, long x) {
+
+	if (unaligned) {
+	    long y = (x);
+	    unsafe.putLong(a, (nativeByteOrder ? y : Bits.swap(y)));
+	} else {
+	    Bits.putLong(a, x, bigEndian);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putLong(long x) {
+
+	putLong(ix(nextPutIndex((1 << 3))), x);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putLong(int i, long x) {
+
+	putLong(ix(checkIndex(i, (1 << 3))), x);
+	return this;
+
+
+
+    }
+
+    public LongBuffer asLongBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 3;
+ 	if (!unaligned && ((address + off) % (1 << 3) != 0)) {
+	    return (bigEndian
+		    ? (LongBuffer)(new ByteBufferAsLongBufferB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (LongBuffer)(new ByteBufferAsLongBufferL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (LongBuffer)(new DirectLongBufferU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (LongBuffer)(new DirectLongBufferS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+    private float getFloat(long a) {
+	if (unaligned) {
+	    int x = unsafe.getInt(a);
+	    return Float.intBitsToFloat(nativeByteOrder ? x : Bits.swap(x));
+	}
+	return Bits.getFloat(a, bigEndian);
+    }
+
+    public float getFloat() {
+	return getFloat(ix(nextGetIndex((1 << 2))));
+    }
+
+    public float getFloat(int i) {
+	return getFloat(ix(checkIndex(i, (1 << 2))));
+    }
+
+
+
+    private ByteBuffer putFloat(long a, float x) {
+
+	if (unaligned) {
+	    int y = Float.floatToRawIntBits(x);
+	    unsafe.putInt(a, (nativeByteOrder ? y : Bits.swap(y)));
+	} else {
+	    Bits.putFloat(a, x, bigEndian);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putFloat(float x) {
+
+	putFloat(ix(nextPutIndex((1 << 2))), x);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putFloat(int i, float x) {
+
+	putFloat(ix(checkIndex(i, (1 << 2))), x);
+	return this;
+
+
+
+    }
+
+    public FloatBuffer asFloatBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 2;
+ 	if (!unaligned && ((address + off) % (1 << 2) != 0)) {
+	    return (bigEndian
+		    ? (FloatBuffer)(new ByteBufferAsFloatBufferB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (FloatBuffer)(new ByteBufferAsFloatBufferL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (FloatBuffer)(new DirectFloatBufferU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (FloatBuffer)(new DirectFloatBufferS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+    private double getDouble(long a) {
+	if (unaligned) {
+	    long x = unsafe.getLong(a);
+	    return Double.longBitsToDouble(nativeByteOrder ? x : Bits.swap(x));
+	}
+	return Bits.getDouble(a, bigEndian);
+    }
+
+    public double getDouble() {
+	return getDouble(ix(nextGetIndex((1 << 3))));
+    }
+
+    public double getDouble(int i) {
+	return getDouble(ix(checkIndex(i, (1 << 3))));
+    }
+
+
+
+    private ByteBuffer putDouble(long a, double x) {
+
+	if (unaligned) {
+	    long y = Double.doubleToRawLongBits(x);
+	    unsafe.putLong(a, (nativeByteOrder ? y : Bits.swap(y)));
+	} else {
+	    Bits.putDouble(a, x, bigEndian);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putDouble(double x) {
+
+	putDouble(ix(nextPutIndex((1 << 3))), x);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putDouble(int i, double x) {
+
+	putDouble(ix(checkIndex(i, (1 << 3))), x);
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer asDoubleBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 3;
+ 	if (!unaligned && ((address + off) % (1 << 3) != 0)) {
+	    return (bigEndian
+		    ? (DoubleBuffer)(new ByteBufferAsDoubleBufferB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (DoubleBuffer)(new ByteBufferAsDoubleBufferL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (DoubleBuffer)(new DirectDoubleBufferU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (DoubleBuffer)(new DirectDoubleBufferS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectByteBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,990 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectByteBufferR
+
+
+
+    extends DirectByteBuffer
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // Primary constructor
+    //
+    DirectByteBufferR(int cap) {			// package-private
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	super(cap);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For memory-mapped buffers -- invoked by FileChannelImpl via reflection
+    //
+    protected DirectByteBufferR(int cap, long addr, Runnable unmapper) {
+
+
+
+
+
+
+	super(cap, addr, unmapper);
+
+    }
+
+
+
+    // For duplicates and slices
+    //
+    DirectByteBufferR(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public ByteBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 0);
+        assert (off >= 0);
+	return new DirectByteBufferR(this, -1, 0, rem, rem, off);
+    }
+
+    public ByteBuffer duplicate() {
+	return new DirectByteBufferR(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public ByteBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteBuffer put(byte x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer put(int i, byte x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer put(ByteBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer put(byte[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public ByteBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    byte _get(int i) {				// package-private
+	return unsafe.getByte(address + i);
+    }
+
+    void _put(int i, byte b) {			// package-private
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private ByteBuffer putChar(long a, char x) {
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putChar(char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putChar(int i, char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer asCharBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 1;
+ 	if (!unaligned && ((address + off) % (1 << 1) != 0)) {
+	    return (bigEndian
+		    ? (CharBuffer)(new ByteBufferAsCharBufferRB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (CharBuffer)(new ByteBufferAsCharBufferRL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (CharBuffer)(new DirectCharBufferRU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (CharBuffer)(new DirectCharBufferRS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private ByteBuffer putShort(long a, short x) {
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putShort(short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putShort(int i, short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer asShortBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 1;
+ 	if (!unaligned && ((address + off) % (1 << 1) != 0)) {
+	    return (bigEndian
+		    ? (ShortBuffer)(new ByteBufferAsShortBufferRB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (ShortBuffer)(new ByteBufferAsShortBufferRL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (ShortBuffer)(new DirectShortBufferRU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (ShortBuffer)(new DirectShortBufferRS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private ByteBuffer putInt(long a, int x) {
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putInt(int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putInt(int i, int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer asIntBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 2;
+ 	if (!unaligned && ((address + off) % (1 << 2) != 0)) {
+	    return (bigEndian
+		    ? (IntBuffer)(new ByteBufferAsIntBufferRB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (IntBuffer)(new ByteBufferAsIntBufferRL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (IntBuffer)(new DirectIntBufferRU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (IntBuffer)(new DirectIntBufferRS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private ByteBuffer putLong(long a, long x) {
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putLong(long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putLong(int i, long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer asLongBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 3;
+ 	if (!unaligned && ((address + off) % (1 << 3) != 0)) {
+	    return (bigEndian
+		    ? (LongBuffer)(new ByteBufferAsLongBufferRB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (LongBuffer)(new ByteBufferAsLongBufferRL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (LongBuffer)(new DirectLongBufferRU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (LongBuffer)(new DirectLongBufferRS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private ByteBuffer putFloat(long a, float x) {
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putFloat(float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putFloat(int i, float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer asFloatBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 2;
+ 	if (!unaligned && ((address + off) % (1 << 2) != 0)) {
+	    return (bigEndian
+		    ? (FloatBuffer)(new ByteBufferAsFloatBufferRB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (FloatBuffer)(new ByteBufferAsFloatBufferRL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (FloatBuffer)(new DirectFloatBufferRU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (FloatBuffer)(new DirectFloatBufferRS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private ByteBuffer putDouble(long a, double x) {
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putDouble(double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putDouble(int i, double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer asDoubleBuffer() {
+	int off = this.position();
+	int lim = this.limit();
+	assert (off <= lim);
+	int rem = (off <= lim ? lim - off : 0);
+
+	int size = rem >> 3;
+ 	if (!unaligned && ((address + off) % (1 << 3) != 0)) {
+	    return (bigEndian
+		    ? (DoubleBuffer)(new ByteBufferAsDoubleBufferRB(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off))
+		    : (DoubleBuffer)(new ByteBufferAsDoubleBufferRL(this,
+								       -1,
+								       0,
+								       size,
+								       size,
+								       off)));
+	} else {
+	    return (nativeByteOrder
+		    ? (DoubleBuffer)(new DirectDoubleBufferRU(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		    : (DoubleBuffer)(new DirectDoubleBufferRS(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+	}
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectCharBufferRS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectCharBufferRS
+
+
+
+    extends DirectCharBufferS
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectCharBufferRS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectCharBufferRS(this, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new DirectCharBufferRS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public CharBuffer put(char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(CharBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(char[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public CharBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = (pos + start) << 1;
+        assert (off >= 0);
+	return new DirectCharBufferRS(this, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectCharBufferRU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectCharBufferRU
+
+
+
+    extends DirectCharBufferU
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectCharBufferRU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectCharBufferRU(this, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new DirectCharBufferRU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public CharBuffer put(char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(CharBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(char[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public CharBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = (pos + start) << 1;
+        assert (off >= 0);
+	return new DirectCharBufferRU(this, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectCharBufferS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectCharBufferS
+
+    extends CharBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectCharBufferS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectCharBufferS(this, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new DirectCharBufferS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+	return new DirectCharBufferRS(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 1);
+    }
+
+    public char get() {
+	return (Bits.swap(unsafe.getChar(ix(nextGetIndex()))));
+    }
+
+    public char get(int i) {
+	return (Bits.swap(unsafe.getChar(ix(checkIndex(i)))));
+    }
+
+    public CharBuffer get(char[] dst, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToCharArray(ix(pos), dst,
+					  offset << 1,
+					  length << 1);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 1,
+				     length << 1);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public CharBuffer put(char x) {
+
+	unsafe.putChar(ix(nextPutIndex()), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+	unsafe.putChar(ix(checkIndex(i)), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(CharBuffer src) {
+
+	if (src instanceof DirectCharBufferS) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectCharBufferS sb = (DirectCharBufferS)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 1);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(char[] src, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromCharArray(src, offset << 1,
+					    ix(pos), length << 1);
+	    else
+		Bits.copyFromByteArray(src, offset << 1,
+				       ix(pos), length << 1);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public CharBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 1);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = (pos + start) << 1;
+        assert (off >= 0);
+	return new DirectCharBufferS(this, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectCharBufferU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectCharBufferU
+
+    extends CharBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectCharBufferU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public CharBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectCharBufferU(this, -1, 0, rem, rem, off);
+    }
+
+    public CharBuffer duplicate() {
+	return new DirectCharBufferU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+	return new DirectCharBufferRU(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 1);
+    }
+
+    public char get() {
+	return ((unsafe.getChar(ix(nextGetIndex()))));
+    }
+
+    public char get(int i) {
+	return ((unsafe.getChar(ix(checkIndex(i)))));
+    }
+
+    public CharBuffer get(char[] dst, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToCharArray(ix(pos), dst,
+					  offset << 1,
+					  length << 1);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 1,
+				     length << 1);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public CharBuffer put(char x) {
+
+	unsafe.putChar(ix(nextPutIndex()), ((x)));
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+	unsafe.putChar(ix(checkIndex(i)), ((x)));
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(CharBuffer src) {
+
+	if (src instanceof DirectCharBufferU) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectCharBufferU sb = (DirectCharBufferU)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 1);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(char[] src, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromCharArray(src, offset << 1,
+					    ix(pos), length << 1);
+	    else
+		Bits.copyFromByteArray(src, offset << 1,
+				       ix(pos), length << 1);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public CharBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 1);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+    public String toString(int start, int end) {
+	if ((end > limit()) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	try {
+	    int len = end - start;
+	    char[] ca = new char[len];
+	    CharBuffer cb = CharBuffer.wrap(ca);
+	    CharBuffer db = this.duplicate();
+	    db.position(start);
+	    db.limit(end);
+	    cb.put(db);
+	    return new String(ca);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	pos = (pos <= lim ? pos : lim);
+	int len = lim - pos;
+
+	if ((start < 0) || (end > len) || (start > end))
+	    throw new IndexOutOfBoundsException();
+	int sublen = end - start;
+ 	int off = (pos + start) << 1;
+        assert (off >= 0);
+	return new DirectCharBufferU(this, -1, 0, sublen, sublen, off);
+    }
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectDoubleBufferRS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectDoubleBufferRS
+
+
+
+    extends DirectDoubleBufferS
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectDoubleBufferRS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectDoubleBufferRS(this, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new DirectDoubleBufferRS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public DoubleBuffer put(double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(DoubleBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(double[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public DoubleBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectDoubleBufferRU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectDoubleBufferRU
+
+
+
+    extends DirectDoubleBufferU
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectDoubleBufferRU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectDoubleBufferRU(this, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new DirectDoubleBufferRU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public DoubleBuffer put(double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(DoubleBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(double[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public DoubleBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectDoubleBufferS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectDoubleBufferS
+
+    extends DoubleBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectDoubleBufferS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectDoubleBufferS(this, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new DirectDoubleBufferS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+	return new DirectDoubleBufferRS(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 3);
+    }
+
+    public double get() {
+	return Double.longBitsToDouble(Bits.swap(unsafe.getLong(ix(nextGetIndex()))));
+    }
+
+    public double get(int i) {
+	return Double.longBitsToDouble(Bits.swap(unsafe.getLong(ix(checkIndex(i)))));
+    }
+
+    public DoubleBuffer get(double[] dst, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToLongArray(ix(pos), dst,
+					  offset << 3,
+					  length << 3);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 3,
+				     length << 3);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public DoubleBuffer put(double x) {
+
+	unsafe.putLong(ix(nextPutIndex()), Bits.swap(Double.doubleToRawLongBits(x)));
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+	unsafe.putLong(ix(checkIndex(i)), Bits.swap(Double.doubleToRawLongBits(x)));
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(DoubleBuffer src) {
+
+	if (src instanceof DirectDoubleBufferS) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectDoubleBufferS sb = (DirectDoubleBufferS)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 3);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(double[] src, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromLongArray(src, offset << 3,
+					    ix(pos), length << 3);
+	    else
+		Bits.copyFromByteArray(src, offset << 3,
+				       ix(pos), length << 3);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public DoubleBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 3);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectDoubleBufferU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectDoubleBufferU
+
+    extends DoubleBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectDoubleBufferU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public DoubleBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectDoubleBufferU(this, -1, 0, rem, rem, off);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new DirectDoubleBufferU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+	return new DirectDoubleBufferRU(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 3);
+    }
+
+    public double get() {
+	return ((unsafe.getDouble(ix(nextGetIndex()))));
+    }
+
+    public double get(int i) {
+	return ((unsafe.getDouble(ix(checkIndex(i)))));
+    }
+
+    public DoubleBuffer get(double[] dst, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToLongArray(ix(pos), dst,
+					  offset << 3,
+					  length << 3);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 3,
+				     length << 3);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public DoubleBuffer put(double x) {
+
+	unsafe.putDouble(ix(nextPutIndex()), ((x)));
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+	unsafe.putDouble(ix(checkIndex(i)), ((x)));
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(DoubleBuffer src) {
+
+	if (src instanceof DirectDoubleBufferU) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectDoubleBufferU sb = (DirectDoubleBufferU)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 3);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(double[] src, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromLongArray(src, offset << 3,
+					    ix(pos), length << 3);
+	    else
+		Bits.copyFromByteArray(src, offset << 3,
+				       ix(pos), length << 3);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public DoubleBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 3);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectFloatBufferRS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectFloatBufferRS
+
+
+
+    extends DirectFloatBufferS
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectFloatBufferRS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectFloatBufferRS(this, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new DirectFloatBufferRS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public FloatBuffer put(float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(FloatBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(float[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public FloatBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectFloatBufferRU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectFloatBufferRU
+
+
+
+    extends DirectFloatBufferU
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectFloatBufferRU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectFloatBufferRU(this, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new DirectFloatBufferRU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public FloatBuffer put(float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(FloatBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(float[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public FloatBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectFloatBufferS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectFloatBufferS
+
+    extends FloatBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectFloatBufferS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectFloatBufferS(this, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new DirectFloatBufferS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+	return new DirectFloatBufferRS(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 2);
+    }
+
+    public float get() {
+	return Float.intBitsToFloat(Bits.swap(unsafe.getInt(ix(nextGetIndex()))));
+    }
+
+    public float get(int i) {
+	return Float.intBitsToFloat(Bits.swap(unsafe.getInt(ix(checkIndex(i)))));
+    }
+
+    public FloatBuffer get(float[] dst, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToIntArray(ix(pos), dst,
+					  offset << 2,
+					  length << 2);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 2,
+				     length << 2);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public FloatBuffer put(float x) {
+
+	unsafe.putInt(ix(nextPutIndex()), Bits.swap(Float.floatToRawIntBits(x)));
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+	unsafe.putInt(ix(checkIndex(i)), Bits.swap(Float.floatToRawIntBits(x)));
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(FloatBuffer src) {
+
+	if (src instanceof DirectFloatBufferS) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectFloatBufferS sb = (DirectFloatBufferS)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 2);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(float[] src, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromIntArray(src, offset << 2,
+					    ix(pos), length << 2);
+	    else
+		Bits.copyFromByteArray(src, offset << 2,
+				       ix(pos), length << 2);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public FloatBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 2);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectFloatBufferU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectFloatBufferU
+
+    extends FloatBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectFloatBufferU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public FloatBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectFloatBufferU(this, -1, 0, rem, rem, off);
+    }
+
+    public FloatBuffer duplicate() {
+	return new DirectFloatBufferU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+	return new DirectFloatBufferRU(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 2);
+    }
+
+    public float get() {
+	return ((unsafe.getFloat(ix(nextGetIndex()))));
+    }
+
+    public float get(int i) {
+	return ((unsafe.getFloat(ix(checkIndex(i)))));
+    }
+
+    public FloatBuffer get(float[] dst, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToIntArray(ix(pos), dst,
+					  offset << 2,
+					  length << 2);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 2,
+				     length << 2);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public FloatBuffer put(float x) {
+
+	unsafe.putFloat(ix(nextPutIndex()), ((x)));
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+	unsafe.putFloat(ix(checkIndex(i)), ((x)));
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(FloatBuffer src) {
+
+	if (src instanceof DirectFloatBufferU) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectFloatBufferU sb = (DirectFloatBufferU)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 2);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(float[] src, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromIntArray(src, offset << 2,
+					    ix(pos), length << 2);
+	    else
+		Bits.copyFromByteArray(src, offset << 2,
+				       ix(pos), length << 2);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public FloatBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 2);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectIntBufferRS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectIntBufferRS
+
+
+
+    extends DirectIntBufferS
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectIntBufferRS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectIntBufferRS(this, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new DirectIntBufferRS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public IntBuffer put(int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(IntBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public IntBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectIntBufferRU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectIntBufferRU
+
+
+
+    extends DirectIntBufferU
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectIntBufferRU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectIntBufferRU(this, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new DirectIntBufferRU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public IntBuffer put(int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(IntBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public IntBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectIntBufferS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectIntBufferS
+
+    extends IntBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectIntBufferS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectIntBufferS(this, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new DirectIntBufferS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+	return new DirectIntBufferRS(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 2);
+    }
+
+    public int get() {
+	return (Bits.swap(unsafe.getInt(ix(nextGetIndex()))));
+    }
+
+    public int get(int i) {
+	return (Bits.swap(unsafe.getInt(ix(checkIndex(i)))));
+    }
+
+    public IntBuffer get(int[] dst, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToIntArray(ix(pos), dst,
+					  offset << 2,
+					  length << 2);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 2,
+				     length << 2);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public IntBuffer put(int x) {
+
+	unsafe.putInt(ix(nextPutIndex()), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+	unsafe.putInt(ix(checkIndex(i)), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(IntBuffer src) {
+
+	if (src instanceof DirectIntBufferS) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectIntBufferS sb = (DirectIntBufferS)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 2);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int[] src, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromIntArray(src, offset << 2,
+					    ix(pos), length << 2);
+	    else
+		Bits.copyFromByteArray(src, offset << 2,
+				       ix(pos), length << 2);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public IntBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 2);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectIntBufferU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectIntBufferU
+
+    extends IntBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectIntBufferU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public IntBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 2);
+        assert (off >= 0);
+	return new DirectIntBufferU(this, -1, 0, rem, rem, off);
+    }
+
+    public IntBuffer duplicate() {
+	return new DirectIntBufferU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+	return new DirectIntBufferRU(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 2);
+    }
+
+    public int get() {
+	return ((unsafe.getInt(ix(nextGetIndex()))));
+    }
+
+    public int get(int i) {
+	return ((unsafe.getInt(ix(checkIndex(i)))));
+    }
+
+    public IntBuffer get(int[] dst, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToIntArray(ix(pos), dst,
+					  offset << 2,
+					  length << 2);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 2,
+				     length << 2);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public IntBuffer put(int x) {
+
+	unsafe.putInt(ix(nextPutIndex()), ((x)));
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+	unsafe.putInt(ix(checkIndex(i)), ((x)));
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(IntBuffer src) {
+
+	if (src instanceof DirectIntBufferU) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectIntBufferU sb = (DirectIntBufferU)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 2);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int[] src, int offset, int length) {
+
+	if ((length << 2) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromIntArray(src, offset << 2,
+					    ix(pos), length << 2);
+	    else
+		Bits.copyFromByteArray(src, offset << 2,
+				       ix(pos), length << 2);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public IntBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 2);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectLongBufferRS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectLongBufferRS
+
+
+
+    extends DirectLongBufferS
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectLongBufferRS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectLongBufferRS(this, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new DirectLongBufferRS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public LongBuffer put(long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(LongBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(long[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public LongBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectLongBufferRU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectLongBufferRU
+
+
+
+    extends DirectLongBufferU
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectLongBufferRU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectLongBufferRU(this, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new DirectLongBufferRU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public LongBuffer put(long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(LongBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(long[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public LongBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectLongBufferS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectLongBufferS
+
+    extends LongBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectLongBufferS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectLongBufferS(this, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new DirectLongBufferS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+	return new DirectLongBufferRS(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 3);
+    }
+
+    public long get() {
+	return (Bits.swap(unsafe.getLong(ix(nextGetIndex()))));
+    }
+
+    public long get(int i) {
+	return (Bits.swap(unsafe.getLong(ix(checkIndex(i)))));
+    }
+
+    public LongBuffer get(long[] dst, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToLongArray(ix(pos), dst,
+					  offset << 3,
+					  length << 3);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 3,
+				     length << 3);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public LongBuffer put(long x) {
+
+	unsafe.putLong(ix(nextPutIndex()), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+	unsafe.putLong(ix(checkIndex(i)), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(LongBuffer src) {
+
+	if (src instanceof DirectLongBufferS) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectLongBufferS sb = (DirectLongBufferS)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 3);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(long[] src, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromLongArray(src, offset << 3,
+					    ix(pos), length << 3);
+	    else
+		Bits.copyFromByteArray(src, offset << 3,
+				       ix(pos), length << 3);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public LongBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 3);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectLongBufferU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectLongBufferU
+
+    extends LongBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectLongBufferU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public LongBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 3);
+        assert (off >= 0);
+	return new DirectLongBufferU(this, -1, 0, rem, rem, off);
+    }
+
+    public LongBuffer duplicate() {
+	return new DirectLongBufferU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+	return new DirectLongBufferRU(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 3);
+    }
+
+    public long get() {
+	return ((unsafe.getLong(ix(nextGetIndex()))));
+    }
+
+    public long get(int i) {
+	return ((unsafe.getLong(ix(checkIndex(i)))));
+    }
+
+    public LongBuffer get(long[] dst, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToLongArray(ix(pos), dst,
+					  offset << 3,
+					  length << 3);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 3,
+				     length << 3);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public LongBuffer put(long x) {
+
+	unsafe.putLong(ix(nextPutIndex()), ((x)));
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+	unsafe.putLong(ix(checkIndex(i)), ((x)));
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(LongBuffer src) {
+
+	if (src instanceof DirectLongBufferU) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectLongBufferU sb = (DirectLongBufferU)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 3);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(long[] src, int offset, int length) {
+
+	if ((length << 3) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromLongArray(src, offset << 3,
+					    ix(pos), length << 3);
+	    else
+		Bits.copyFromByteArray(src, offset << 3,
+				       ix(pos), length << 3);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public LongBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 3);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectShortBufferRS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectShortBufferRS
+
+
+
+    extends DirectShortBufferS
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectShortBufferRS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectShortBufferRS(this, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new DirectShortBufferRS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ShortBuffer put(short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(ShortBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(short[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public ShortBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectShortBufferRU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectShortBufferRU
+
+
+
+    extends DirectShortBufferU
+
+    implements DirectBuffer
+{
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectShortBufferRU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+
+
+
+
+
+
+
+	super(db, mark, pos, lim, cap, off);
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectShortBufferRU(this, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new DirectShortBufferRU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ShortBuffer put(short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(ShortBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(short[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+    
+    public ShortBuffer compact() {
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectShortBufferS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectShortBufferS
+
+    extends ShortBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectShortBufferS(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectShortBufferS(this, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new DirectShortBufferS(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+	return new DirectShortBufferRS(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 1);
+    }
+
+    public short get() {
+	return (Bits.swap(unsafe.getShort(ix(nextGetIndex()))));
+    }
+
+    public short get(int i) {
+	return (Bits.swap(unsafe.getShort(ix(checkIndex(i)))));
+    }
+
+    public ShortBuffer get(short[] dst, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToShortArray(ix(pos), dst,
+					  offset << 1,
+					  length << 1);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 1,
+				     length << 1);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public ShortBuffer put(short x) {
+
+	unsafe.putShort(ix(nextPutIndex()), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+	unsafe.putShort(ix(checkIndex(i)), Bits.swap((x)));
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(ShortBuffer src) {
+
+	if (src instanceof DirectShortBufferS) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectShortBufferS sb = (DirectShortBufferS)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 1);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(short[] src, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromShortArray(src, offset << 1,
+					    ix(pos), length << 1);
+	    else
+		Bits.copyFromByteArray(src, offset << 1,
+				       ix(pos), length << 1);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public ShortBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 1);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+	return ((ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DirectShortBufferU.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/*
+ * Copyright 2000-2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+import sun.misc.Cleaner;
+import sun.misc.Unsafe;
+import sun.nio.ch.DirectBuffer;
+import sun.nio.ch.FileChannelImpl;
+
+
+class DirectShortBufferU
+
+    extends ShortBuffer
+
+
+
+    implements DirectBuffer
+{
+
+
+
+    // Cached unsafe-access object
+    protected static final Unsafe unsafe = Bits.unsafe();
+
+    // Cached unaligned-access capability
+    protected static final boolean unaligned = Bits.unaligned();
+
+    // Base address, used in all indexing calculations
+    // NOTE: moved up to Buffer.java for speed in JNI GetDirectBufferAddress
+    //    protected long address;
+
+    // If this buffer is a view of another buffer then we keep a reference to
+    // that buffer so that its memory isn't freed before we're done with it
+    protected Object viewedBuffer = null;
+
+    public Object viewedBuffer() {
+        return viewedBuffer;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public Cleaner cleaner() { return null; }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // For duplicates and slices
+    //
+    DirectShortBufferU(DirectBuffer db,	        // package-private
+			       int mark, int pos, int lim, int cap,
+			       int off)
+    {
+
+	super(mark, pos, lim, cap);
+	address = db.address() + off;
+	viewedBuffer = db;
+
+
+
+
+
+
+    }
+
+    public ShortBuffer slice() {
+	int pos = this.position();
+	int lim = this.limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+	int off = (pos << 1);
+        assert (off >= 0);
+	return new DirectShortBufferU(this, -1, 0, rem, rem, off);
+    }
+
+    public ShortBuffer duplicate() {
+	return new DirectShortBufferU(this,
+					      this.markValue(),
+					      this.position(),
+					      this.limit(),
+					      this.capacity(),
+					      0);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+	return new DirectShortBufferRU(this,
+					   this.markValue(),
+					   this.position(),
+					   this.limit(),
+					   this.capacity(),
+					   0);
+
+
+
+    }
+
+
+
+    public long address() {
+	return address;
+    }
+
+    private long ix(int i) {
+        return address + (i << 1);
+    }
+
+    public short get() {
+	return ((unsafe.getShort(ix(nextGetIndex()))));
+    }
+
+    public short get(int i) {
+	return ((unsafe.getShort(ix(checkIndex(i)))));
+    }
+
+    public ShortBuffer get(short[] dst, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_TO_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, dst.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferUnderflowException();
+
+	    if (order() != ByteOrder.nativeOrder())
+		Bits.copyToShortArray(ix(pos), dst,
+					  offset << 1,
+					  length << 1);
+	    else
+		Bits.copyToByteArray(ix(pos), dst,
+				     offset << 1,
+				     length << 1);
+	    position(pos + length);
+	} else {
+	    super.get(dst, offset, length);
+	}
+	return this;
+
+
+
+    }
+
+
+
+    public ShortBuffer put(short x) {
+
+	unsafe.putShort(ix(nextPutIndex()), ((x)));
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+	unsafe.putShort(ix(checkIndex(i)), ((x)));
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(ShortBuffer src) {
+
+	if (src instanceof DirectShortBufferU) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    DirectShortBufferU sb = (DirectShortBufferU)src;
+
+	    int spos = sb.position();
+	    int slim = sb.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+
+	    if (srem > rem)
+		throw new BufferOverflowException();
+ 	    unsafe.copyMemory(sb.ix(spos), ix(pos), srem << 1);
+ 	    sb.position(spos + srem);
+ 	    position(pos + srem);
+	} else if (src.hb != null) {
+
+	    int spos = src.position();
+	    int slim = src.limit();
+	    assert (spos <= slim);
+	    int srem = (spos <= slim ? slim - spos : 0);
+
+	    put(src.hb, src.offset + spos, srem);
+	    src.position(spos + srem);
+
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(short[] src, int offset, int length) {
+
+	if ((length << 1) > Bits.JNI_COPY_FROM_ARRAY_THRESHOLD) {
+	    checkBounds(offset, length, src.length);
+	    int pos = position();
+	    int lim = limit();
+	    assert (pos <= lim);
+	    int rem = (pos <= lim ? lim - pos : 0);
+	    if (length > rem)
+		throw new BufferOverflowException();
+
+	    if (order() != ByteOrder.nativeOrder()) 
+		Bits.copyFromShortArray(src, offset << 1,
+					    ix(pos), length << 1);
+	    else
+		Bits.copyFromByteArray(src, offset << 1,
+				       ix(pos), length << 1);
+	    position(pos + length);
+	} else {
+	    super.put(src, offset, length);
+	}
+	return this;
+
+
+
+    }
+    
+    public ShortBuffer compact() {
+
+	int pos = position();
+	int lim = limit();
+	assert (pos <= lim);
+	int rem = (pos <= lim ? lim - pos : 0);
+
+ 	unsafe.copyMemory(ix(pos), ix(0), rem << 1);
+ 	position(rem);
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+    public boolean isDirect() {
+	return true;
+    }
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+
+
+
+
+
+	return ((ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN)
+		? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN);
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/DoubleBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1427 @@
+/*
+ * Copyright 2000-2007 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+
+
+
+/**
+ * A double buffer.
+ *
+ * <p> This class defines four categories of operations upon
+ * double buffers:
+ *
+ * <ul>
+ *
+ *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
+ *   {@link #put(double) </code><i>put</i><code>} methods that read and write
+ *   single doubles; </p></li>
+ *
+ *   <li><p> Relative {@link #get(double[]) </code><i>bulk get</i><code>}
+ *   methods that transfer contiguous sequences of doubles from this buffer
+ *   into an array; and</p></li>
+ *
+ *   <li><p> Relative {@link #put(double[]) </code><i>bulk put</i><code>}
+ *   methods that transfer contiguous sequences of doubles from a
+ *   double array or some other double
+ *   buffer into this buffer;&#32;and </p></li>
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
+ *   #duplicate </code>duplicating<code>}, and {@link #slice
+ *   </code>slicing<code>} a double buffer.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Double buffers can be created either by {@link #allocate
+ * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ *
+
+
+
+
+
+
+ *
+ * content, by {@link #wrap(double[]) </code><i>wrapping</i><code>} an existing
+ * double array  into a buffer, or by creating a
+ * <a href="ByteBuffer.html#views"><i>view</i></a> of an existing byte buffer.
+ *
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*
+
+ *
+ * <p> Like a byte buffer, a double buffer is either <a
+ * href="ByteBuffer.html#direct"><i>direct</i> or <i>non-direct</i></a>.  A
+ * double buffer created via the <tt>wrap</tt> methods of this class will
+ * be non-direct.  A double buffer created as a view of a byte buffer will
+ * be direct if, and only if, the byte buffer itself is direct.  Whether or not
+ * a double buffer is direct may be determined by invoking the {@link
+ * #isDirect isDirect} method.  </p>
+ *
+
+*
+
+
+
+
+
+
+
+
+ *
+
+
+
+ *
+ * <p> Methods in this class that do not otherwise have a value to return are
+ * specified to return the buffer upon which they are invoked.  This allows
+ * method invocations to be chained.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @version 1.69, 07/05/05
+ * @since 1.4
+ */
+
+public abstract class DoubleBuffer
+    extends Buffer
+    implements Comparable<DoubleBuffer>
+{
+
+    // These fields are declared here rather than in Heap-X-Buffer in order to
+    // reduce the number of virtual method invocations needed to access these
+    // values, which is especially costly when coding small buffers.
+    //
+    final double[] hb;			// Non-null only for heap buffers
+    final int offset;
+    boolean isReadOnly;			// Valid only for heap buffers
+
+    // Creates a new buffer with the given mark, position, limit, capacity,
+    // backing array, and array offset
+    //
+    DoubleBuffer(int mark, int pos, int lim, int cap,	// package-private
+		 double[] hb, int offset)
+    {
+	super(mark, pos, lim, cap);
+	this.hb = hb;
+	this.offset = offset;
+    }
+
+    // Creates a new buffer with the given mark, position, limit, and capacity
+    //
+    DoubleBuffer(int mark, int pos, int lim, int cap) {	// package-private
+	this(mark, pos, lim, cap, null, 0);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Allocates a new double buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  It will have a {@link #array
+     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
+     * offset<code>} will be zero.
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in doubles
+     *
+     * @return  The new double buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static DoubleBuffer allocate(int capacity) {
+	if (capacity < 0)
+	    throw new IllegalArgumentException();
+	return new HeapDoubleBuffer(capacity, capacity);
+    }
+
+    /**
+     * Wraps a double array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given double array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity will be
+     * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
+     * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
+     * {@link #array </code>backing array<code>} will be the given array, and
+     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     *
+     * @param  array
+     *         The array that will back the new buffer
+     *
+     * @param  offset
+     *         The offset of the subarray to be used; must be non-negative and
+     *         no larger than <tt>array.length</tt>.  The new buffer's position
+     *         will be set to this value.
+     *
+     * @param  length
+     *         The length of the subarray to be used;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>.
+     *         The new buffer's limit will be set to <tt>offset + length</tt>.
+     *
+     * @return  The new double buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public static DoubleBuffer wrap(double[] array,
+				    int offset, int length)
+    {
+	try {
+	    return new HeapDoubleBuffer(array, offset, length);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps a double array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given double array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity and limit will be
+     * <tt>array.length</tt>, its position will be zero, and its mark will be
+     * undefined.  Its {@link #array </code>backing array<code>} will be the
+     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * be zero.  </p> 
+     *
+     * @param  array
+     *         The array that will back this buffer
+     *
+     * @return  The new double buffer
+     */
+    public static DoubleBuffer wrap(double[] array) {
+	return wrap(array, 0, array.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Creates a new double buffer whose content is a shared subsequence of
+     * this buffer's content.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of doubles remaining in this buffer, and its mark
+     * will be undefined.  The new buffer will be direct if, and only if, this
+     * buffer is direct, and it will be read-only if, and only if, this buffer
+     * is read-only.  </p>
+     *
+     * @return  The new double buffer
+     */
+    public abstract DoubleBuffer slice();
+
+    /**
+     * Creates a new double buffer that shares this buffer's content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer, and vice
+     * versa; the two buffers' position, limit, and mark values will be
+     * independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.  The new buffer will be direct if,
+     * and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  The new double buffer
+     */
+    public abstract DoubleBuffer duplicate();
+
+    /**
+     * Creates a new, read-only double buffer that shares this buffer's
+     * content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer; the new
+     * buffer itself, however, will be read-only and will not allow the shared
+     * content to be modified.  The two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.
+     *
+     * <p> If this buffer is itself read-only then this method behaves in
+     * exactly the same way as the {@link #duplicate duplicate} method.  </p>
+     *
+     * @return  The new, read-only double buffer
+     */
+    public abstract DoubleBuffer asReadOnlyBuffer();
+
+
+    // -- Singleton get/put methods --
+
+    /**
+     * Relative <i>get</i> method.  Reads the double at this buffer's
+     * current position, and then increments the position. </p>
+     *
+     * @return  The double at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If the buffer's current position is not smaller than its limit
+     */
+    public abstract double get();
+
+    /**
+     * Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given double into this buffer at the current
+     * position, and then increments the position. </p>
+     *
+     * @param  d
+     *         The double to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If this buffer's current position is not smaller than its limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract DoubleBuffer put(double d);
+
+    /**
+     * Absolute <i>get</i> method.  Reads the double at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index from which the double will be read
+     *
+     * @return  The double at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     */
+    public abstract double get(int index);
+
+    /**
+     * Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given double into this buffer at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index at which the double will be written
+     *
+     * @param  d
+     *         The double value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract DoubleBuffer put(int index, double d);
+
+
+    // -- Bulk get operations --
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers doubles from this buffer into the given
+     * destination array.  If there are fewer doubles remaining in the
+     * buffer than are required to satisfy the request, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * doubles are transferred and a {@link BufferUnderflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> doubles from this
+     * buffer into the given array, starting at the current position of this
+     * buffer and at the given offset in the array.  The position of this
+     * buffer is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst[i] = src.get(); </pre>
+     *
+     * except that it first checks that there are sufficient doubles in
+     * this buffer and it is potentially much more efficient. </p>
+     *
+     * @param  dst
+     *         The array into which doubles are to be written
+     *
+     * @param  offset
+     *         The offset within the array of the first double to be
+     *         written; must be non-negative and no larger than
+     *         <tt>dst.length</tt>
+     *
+     * @param  length
+     *         The maximum number of doubles to be written to the given
+     *         array; must be non-negative and no larger than
+     *         <tt>dst.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> doubles
+     *          remaining in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public DoubleBuffer get(double[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    dst[i] = get();
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers doubles from this buffer into the given
+     * destination array.  An invocation of this method of the form
+     * <tt>src.get(a)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     src.get(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> doubles
+     *          remaining in this buffer
+     */
+    public DoubleBuffer get(double[] dst) {
+	return get(dst, 0, dst.length);
+    }
+
+
+    // -- Bulk put operations --
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the doubles remaining in the given source
+     * buffer into this buffer.  If there are more doubles remaining in the
+     * source buffer than in this buffer, that is, if
+     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no doubles are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> doubles from the given
+     * buffer into this buffer, starting at each buffer's current position.
+     * The positions of both buffers are then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
+     *
+     * <pre>
+     *     while (src.hasRemaining())
+     *         dst.put(src.get()); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The source buffer from which doubles are to be read;
+     *         must not be this buffer
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *          for the remaining doubles in the source buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the source buffer is this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public DoubleBuffer put(DoubleBuffer src) {
+	if (src == this)
+	    throw new IllegalArgumentException();
+	int n = src.remaining();
+	if (n > remaining())
+	    throw new BufferOverflowException();
+	for (int i = 0; i < n; i++)
+	    put(src.get());
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers doubles into this buffer from the given
+     * source array.  If there are more doubles to be copied from the array
+     * than remain in this buffer, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * doubles are transferred and a {@link BufferOverflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> doubles from the
+     * given array into this buffer, starting at the given offset in the array
+     * and at the current position of this buffer.  The position of this buffer
+     * is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst.put(a[i]); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The array from which doubles are to be read
+     *
+     * @param  offset
+     *         The offset within the array of the first double to be read;
+     *         must be non-negative and no larger than <tt>array.length</tt>
+     *
+     * @param  length
+     *         The number of doubles to be read from the given array;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public DoubleBuffer put(double[] src, int offset, int length) {
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    this.put(src[i]);
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source
+     * double array into this buffer.  An invocation of this method of the
+     * form <tt>dst.put(a)</tt> behaves in exactly the same way as the
+     * invocation
+     *
+     * <pre>
+     *     dst.put(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final DoubleBuffer put(double[] src) {
+	return put(src, 0, src.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other stuff --
+
+    /**
+     * Tells whether or not this buffer is backed by an accessible double
+     * array.
+     *
+     * <p> If this method returns <tt>true</tt> then the {@link #array() array}
+     * and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
+     * </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer
+     *          is backed by an array and is not read-only
+     */
+    public final boolean hasArray() {
+	return (hb != null) && !isReadOnly;
+    }
+
+    /**
+     * Returns the double array that backs this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Modifications to this buffer's content will cause the returned
+     * array's content to be modified, and vice versa.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The array that backs this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final double[] array() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return hb;
+    }
+
+    /**
+     * Returns the offset within this buffer's backing array of the first
+     * element of the buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this buffer is backed by an array then buffer position <i>p</i>
+     * corresponds to array index <i>p</i>&nbsp;+&nbsp;<tt>arrayOffset()</tt>.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The offset within this buffer's array
+     *          of the first element of the buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int arrayOffset() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return offset;
+    }
+
+    /**
+     * Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> The doubles between the buffer's current position and its limit,
+     * if any, are copied to the beginning of the buffer.  That is, the
+     * double at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
+     * to index zero, the double at index <i>p</i>&nbsp;+&nbsp;1 is copied
+     * to index one, and so forth until the double at index
+     * <tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
+     * <i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
+     * The buffer's position is then set to <i>n+1</i> and its limit is set to
+     * its capacity.  The mark, if defined, is discarded.
+     *
+     * <p> The buffer's position is set to the number of doubles copied,
+     * rather than to zero, so that an invocation of this method can be
+     * followed immediately by an invocation of another relative <i>put</i>
+     * method. </p>
+     *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     *
+     * @return  This buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract DoubleBuffer compact();
+
+    /**
+     * Tells whether or not this double buffer is direct. </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is direct
+     */
+    public abstract boolean isDirect();
+
+
+
+    /**
+     * Returns a string summarizing the state of this buffer.  </p>
+     *
+     * @return  A summary string
+     */
+    public String toString() {
+	StringBuffer sb = new StringBuffer();
+	sb.append(getClass().getName());
+	sb.append("[pos=");
+	sb.append(position());
+	sb.append(" lim=");
+	sb.append(limit());
+	sb.append(" cap=");
+	sb.append(capacity());
+	sb.append("]");
+	return sb.toString();
+    }
+
+
+
+
+    
+
+    /**
+     * Returns the current hash code of this buffer.
+     *
+     * <p> The hash code of a double buffer depends only upon its remaining
+     * elements; that is, upon the elements from <tt>position()</tt> up to, and
+     * including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
+     *
+     * <p> Because buffer hash codes are content-dependent, it is inadvisable
+     * to use buffers as keys in hash maps or similar data structures unless it
+     * is known that their contents will not change.  </p>
+     *
+     * @return  The current hash code of this buffer
+     */
+    public int hashCode() {
+	int h = 1;
+	int p = position();
+	for (int i = limit() - 1; i >= p; i--)
+	    h = 31 * h + (int)get(i);
+	return h;
+    }
+
+    /**
+     * Tells whether or not this buffer is equal to another object.
+     *
+     * <p> Two double buffers are equal if, and only if,
+     *
+     * <p><ol>
+     *
+     *   <li><p> They have the same element type,  </p></li>
+     *
+     *   <li><p> They have the same number of remaining elements, and
+     *   </p></li>
+     *
+     *   <li><p> The two sequences of remaining elements, considered
+     *   independently of their starting positions, are pointwise equal.
+     *   </p></li>
+     *
+     * </ol>
+     *
+     * <p> A double buffer is not equal to any other type of object.  </p>
+     *
+     * @param  ob  The object to which this buffer is to be compared
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is equal to the
+     *           given object
+     */
+    public boolean equals(Object ob) {
+	if (this == ob)
+	    return true;
+	if (!(ob instanceof DoubleBuffer))
+	    return false;
+	DoubleBuffer that = (DoubleBuffer)ob;
+	if (this.remaining() != that.remaining())
+	    return false;
+	int p = this.position();
+	for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) {
+	    double v1 = this.get(i);
+	    double v2 = that.get(j);
+	    if (v1 != v2) {
+		if ((v1 != v1) && (v2 != v2))	// For float and double
+		    continue;
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * Compares this buffer to another.
+     *
+     * <p> Two double buffers are compared by comparing their sequences of
+     * remaining elements lexicographically, without regard to the starting
+     * position of each sequence within its corresponding buffer.
+     *
+     * <p> A double buffer is not comparable to any other type of object.
+     *
+     * @return  A negative integer, zero, or a positive integer as this buffer
+     *		is less than, equal to, or greater than the given buffer
+     */
+    public int compareTo(DoubleBuffer that) {
+	int n = this.position() + Math.min(this.remaining(), that.remaining());
+	for (int i = this.position(), j = that.position(); i < n; i++, j++) {
+	    double v1 = this.get(i);
+	    double v2 = that.get(j);
+	    if (v1 == v2)
+		continue;
+	    if ((v1 != v1) && (v2 != v2)) 	// For float and double
+		continue;
+	    if (v1 < v2)
+		return -1;
+	    return +1;
+	}
+	return this.remaining() - that.remaining();
+    }
+
+
+
+    // -- Other char stuff --
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other byte stuff: Access to binary data --
+
+
+
+    /**
+     * Retrieves this buffer's byte order.
+     *
+     * <p> The byte order of a double buffer created by allocation or by
+     * wrapping an existing <tt>double</tt> array is the {@link
+     * ByteOrder#nativeOrder </code>native order<code>} of the underlying
+     * hardware.  The byte order of a double buffer created as a <a
+     * href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
+     * byte buffer at the moment that the view is created.  </p>
+     *
+     * @return  This buffer's byte order
+     */
+    public abstract ByteOrder order();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/FloatBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1427 @@
+/*
+ * Copyright 2000-2007 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+
+
+
+/**
+ * A float buffer.
+ *
+ * <p> This class defines four categories of operations upon
+ * float buffers:
+ *
+ * <ul>
+ *
+ *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
+ *   {@link #put(float) </code><i>put</i><code>} methods that read and write
+ *   single floats; </p></li>
+ *
+ *   <li><p> Relative {@link #get(float[]) </code><i>bulk get</i><code>}
+ *   methods that transfer contiguous sequences of floats from this buffer
+ *   into an array; and</p></li>
+ *
+ *   <li><p> Relative {@link #put(float[]) </code><i>bulk put</i><code>}
+ *   methods that transfer contiguous sequences of floats from a
+ *   float array or some other float
+ *   buffer into this buffer;&#32;and </p></li>
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
+ *   #duplicate </code>duplicating<code>}, and {@link #slice
+ *   </code>slicing<code>} a float buffer.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Float buffers can be created either by {@link #allocate
+ * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ *
+
+
+
+
+
+
+ *
+ * content, by {@link #wrap(float[]) </code><i>wrapping</i><code>} an existing
+ * float array  into a buffer, or by creating a
+ * <a href="ByteBuffer.html#views"><i>view</i></a> of an existing byte buffer.
+ *
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*
+
+ *
+ * <p> Like a byte buffer, a float buffer is either <a
+ * href="ByteBuffer.html#direct"><i>direct</i> or <i>non-direct</i></a>.  A
+ * float buffer created via the <tt>wrap</tt> methods of this class will
+ * be non-direct.  A float buffer created as a view of a byte buffer will
+ * be direct if, and only if, the byte buffer itself is direct.  Whether or not
+ * a float buffer is direct may be determined by invoking the {@link
+ * #isDirect isDirect} method.  </p>
+ *
+
+*
+
+
+
+
+
+
+
+
+ *
+
+
+
+ *
+ * <p> Methods in this class that do not otherwise have a value to return are
+ * specified to return the buffer upon which they are invoked.  This allows
+ * method invocations to be chained.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @version 1.69, 07/05/05
+ * @since 1.4
+ */
+
+public abstract class FloatBuffer
+    extends Buffer
+    implements Comparable<FloatBuffer>
+{
+
+    // These fields are declared here rather than in Heap-X-Buffer in order to
+    // reduce the number of virtual method invocations needed to access these
+    // values, which is especially costly when coding small buffers.
+    //
+    final float[] hb;			// Non-null only for heap buffers
+    final int offset;
+    boolean isReadOnly;			// Valid only for heap buffers
+
+    // Creates a new buffer with the given mark, position, limit, capacity,
+    // backing array, and array offset
+    //
+    FloatBuffer(int mark, int pos, int lim, int cap,	// package-private
+		 float[] hb, int offset)
+    {
+	super(mark, pos, lim, cap);
+	this.hb = hb;
+	this.offset = offset;
+    }
+
+    // Creates a new buffer with the given mark, position, limit, and capacity
+    //
+    FloatBuffer(int mark, int pos, int lim, int cap) {	// package-private
+	this(mark, pos, lim, cap, null, 0);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Allocates a new float buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  It will have a {@link #array
+     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
+     * offset<code>} will be zero.
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in floats
+     *
+     * @return  The new float buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static FloatBuffer allocate(int capacity) {
+	if (capacity < 0)
+	    throw new IllegalArgumentException();
+	return new HeapFloatBuffer(capacity, capacity);
+    }
+
+    /**
+     * Wraps a float array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given float array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity will be
+     * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
+     * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
+     * {@link #array </code>backing array<code>} will be the given array, and
+     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     *
+     * @param  array
+     *         The array that will back the new buffer
+     *
+     * @param  offset
+     *         The offset of the subarray to be used; must be non-negative and
+     *         no larger than <tt>array.length</tt>.  The new buffer's position
+     *         will be set to this value.
+     *
+     * @param  length
+     *         The length of the subarray to be used;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>.
+     *         The new buffer's limit will be set to <tt>offset + length</tt>.
+     *
+     * @return  The new float buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public static FloatBuffer wrap(float[] array,
+				    int offset, int length)
+    {
+	try {
+	    return new HeapFloatBuffer(array, offset, length);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps a float array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given float array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity and limit will be
+     * <tt>array.length</tt>, its position will be zero, and its mark will be
+     * undefined.  Its {@link #array </code>backing array<code>} will be the
+     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * be zero.  </p> 
+     *
+     * @param  array
+     *         The array that will back this buffer
+     *
+     * @return  The new float buffer
+     */
+    public static FloatBuffer wrap(float[] array) {
+	return wrap(array, 0, array.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Creates a new float buffer whose content is a shared subsequence of
+     * this buffer's content.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of floats remaining in this buffer, and its mark
+     * will be undefined.  The new buffer will be direct if, and only if, this
+     * buffer is direct, and it will be read-only if, and only if, this buffer
+     * is read-only.  </p>
+     *
+     * @return  The new float buffer
+     */
+    public abstract FloatBuffer slice();
+
+    /**
+     * Creates a new float buffer that shares this buffer's content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer, and vice
+     * versa; the two buffers' position, limit, and mark values will be
+     * independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.  The new buffer will be direct if,
+     * and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  The new float buffer
+     */
+    public abstract FloatBuffer duplicate();
+
+    /**
+     * Creates a new, read-only float buffer that shares this buffer's
+     * content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer; the new
+     * buffer itself, however, will be read-only and will not allow the shared
+     * content to be modified.  The two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.
+     *
+     * <p> If this buffer is itself read-only then this method behaves in
+     * exactly the same way as the {@link #duplicate duplicate} method.  </p>
+     *
+     * @return  The new, read-only float buffer
+     */
+    public abstract FloatBuffer asReadOnlyBuffer();
+
+
+    // -- Singleton get/put methods --
+
+    /**
+     * Relative <i>get</i> method.  Reads the float at this buffer's
+     * current position, and then increments the position. </p>
+     *
+     * @return  The float at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If the buffer's current position is not smaller than its limit
+     */
+    public abstract float get();
+
+    /**
+     * Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given float into this buffer at the current
+     * position, and then increments the position. </p>
+     *
+     * @param  f
+     *         The float to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If this buffer's current position is not smaller than its limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract FloatBuffer put(float f);
+
+    /**
+     * Absolute <i>get</i> method.  Reads the float at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index from which the float will be read
+     *
+     * @return  The float at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     */
+    public abstract float get(int index);
+
+    /**
+     * Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given float into this buffer at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index at which the float will be written
+     *
+     * @param  f
+     *         The float value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract FloatBuffer put(int index, float f);
+
+
+    // -- Bulk get operations --
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers floats from this buffer into the given
+     * destination array.  If there are fewer floats remaining in the
+     * buffer than are required to satisfy the request, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * floats are transferred and a {@link BufferUnderflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> floats from this
+     * buffer into the given array, starting at the current position of this
+     * buffer and at the given offset in the array.  The position of this
+     * buffer is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst[i] = src.get(); </pre>
+     *
+     * except that it first checks that there are sufficient floats in
+     * this buffer and it is potentially much more efficient. </p>
+     *
+     * @param  dst
+     *         The array into which floats are to be written
+     *
+     * @param  offset
+     *         The offset within the array of the first float to be
+     *         written; must be non-negative and no larger than
+     *         <tt>dst.length</tt>
+     *
+     * @param  length
+     *         The maximum number of floats to be written to the given
+     *         array; must be non-negative and no larger than
+     *         <tt>dst.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> floats
+     *          remaining in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public FloatBuffer get(float[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    dst[i] = get();
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers floats from this buffer into the given
+     * destination array.  An invocation of this method of the form
+     * <tt>src.get(a)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     src.get(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> floats
+     *          remaining in this buffer
+     */
+    public FloatBuffer get(float[] dst) {
+	return get(dst, 0, dst.length);
+    }
+
+
+    // -- Bulk put operations --
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the floats remaining in the given source
+     * buffer into this buffer.  If there are more floats remaining in the
+     * source buffer than in this buffer, that is, if
+     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no floats are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> floats from the given
+     * buffer into this buffer, starting at each buffer's current position.
+     * The positions of both buffers are then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
+     *
+     * <pre>
+     *     while (src.hasRemaining())
+     *         dst.put(src.get()); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The source buffer from which floats are to be read;
+     *         must not be this buffer
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *          for the remaining floats in the source buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the source buffer is this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public FloatBuffer put(FloatBuffer src) {
+	if (src == this)
+	    throw new IllegalArgumentException();
+	int n = src.remaining();
+	if (n > remaining())
+	    throw new BufferOverflowException();
+	for (int i = 0; i < n; i++)
+	    put(src.get());
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers floats into this buffer from the given
+     * source array.  If there are more floats to be copied from the array
+     * than remain in this buffer, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * floats are transferred and a {@link BufferOverflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> floats from the
+     * given array into this buffer, starting at the given offset in the array
+     * and at the current position of this buffer.  The position of this buffer
+     * is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst.put(a[i]); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The array from which floats are to be read
+     *
+     * @param  offset
+     *         The offset within the array of the first float to be read;
+     *         must be non-negative and no larger than <tt>array.length</tt>
+     *
+     * @param  length
+     *         The number of floats to be read from the given array;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public FloatBuffer put(float[] src, int offset, int length) {
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    this.put(src[i]);
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source
+     * float array into this buffer.  An invocation of this method of the
+     * form <tt>dst.put(a)</tt> behaves in exactly the same way as the
+     * invocation
+     *
+     * <pre>
+     *     dst.put(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final FloatBuffer put(float[] src) {
+	return put(src, 0, src.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other stuff --
+
+    /**
+     * Tells whether or not this buffer is backed by an accessible float
+     * array.
+     *
+     * <p> If this method returns <tt>true</tt> then the {@link #array() array}
+     * and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
+     * </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer
+     *          is backed by an array and is not read-only
+     */
+    public final boolean hasArray() {
+	return (hb != null) && !isReadOnly;
+    }
+
+    /**
+     * Returns the float array that backs this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Modifications to this buffer's content will cause the returned
+     * array's content to be modified, and vice versa.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The array that backs this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final float[] array() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return hb;
+    }
+
+    /**
+     * Returns the offset within this buffer's backing array of the first
+     * element of the buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this buffer is backed by an array then buffer position <i>p</i>
+     * corresponds to array index <i>p</i>&nbsp;+&nbsp;<tt>arrayOffset()</tt>.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The offset within this buffer's array
+     *          of the first element of the buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int arrayOffset() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return offset;
+    }
+
+    /**
+     * Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> The floats between the buffer's current position and its limit,
+     * if any, are copied to the beginning of the buffer.  That is, the
+     * float at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
+     * to index zero, the float at index <i>p</i>&nbsp;+&nbsp;1 is copied
+     * to index one, and so forth until the float at index
+     * <tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
+     * <i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
+     * The buffer's position is then set to <i>n+1</i> and its limit is set to
+     * its capacity.  The mark, if defined, is discarded.
+     *
+     * <p> The buffer's position is set to the number of floats copied,
+     * rather than to zero, so that an invocation of this method can be
+     * followed immediately by an invocation of another relative <i>put</i>
+     * method. </p>
+     *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     *
+     * @return  This buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract FloatBuffer compact();
+
+    /**
+     * Tells whether or not this float buffer is direct. </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is direct
+     */
+    public abstract boolean isDirect();
+
+
+
+    /**
+     * Returns a string summarizing the state of this buffer.  </p>
+     *
+     * @return  A summary string
+     */
+    public String toString() {
+	StringBuffer sb = new StringBuffer();
+	sb.append(getClass().getName());
+	sb.append("[pos=");
+	sb.append(position());
+	sb.append(" lim=");
+	sb.append(limit());
+	sb.append(" cap=");
+	sb.append(capacity());
+	sb.append("]");
+	return sb.toString();
+    }
+
+
+
+
+    
+
+    /**
+     * Returns the current hash code of this buffer.
+     *
+     * <p> The hash code of a float buffer depends only upon its remaining
+     * elements; that is, upon the elements from <tt>position()</tt> up to, and
+     * including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
+     *
+     * <p> Because buffer hash codes are content-dependent, it is inadvisable
+     * to use buffers as keys in hash maps or similar data structures unless it
+     * is known that their contents will not change.  </p>
+     *
+     * @return  The current hash code of this buffer
+     */
+    public int hashCode() {
+	int h = 1;
+	int p = position();
+	for (int i = limit() - 1; i >= p; i--)
+	    h = 31 * h + (int)get(i);
+	return h;
+    }
+
+    /**
+     * Tells whether or not this buffer is equal to another object.
+     *
+     * <p> Two float buffers are equal if, and only if,
+     *
+     * <p><ol>
+     *
+     *   <li><p> They have the same element type,  </p></li>
+     *
+     *   <li><p> They have the same number of remaining elements, and
+     *   </p></li>
+     *
+     *   <li><p> The two sequences of remaining elements, considered
+     *   independently of their starting positions, are pointwise equal.
+     *   </p></li>
+     *
+     * </ol>
+     *
+     * <p> A float buffer is not equal to any other type of object.  </p>
+     *
+     * @param  ob  The object to which this buffer is to be compared
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is equal to the
+     *           given object
+     */
+    public boolean equals(Object ob) {
+	if (this == ob)
+	    return true;
+	if (!(ob instanceof FloatBuffer))
+	    return false;
+	FloatBuffer that = (FloatBuffer)ob;
+	if (this.remaining() != that.remaining())
+	    return false;
+	int p = this.position();
+	for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) {
+	    float v1 = this.get(i);
+	    float v2 = that.get(j);
+	    if (v1 != v2) {
+		if ((v1 != v1) && (v2 != v2))	// For float and double
+		    continue;
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * Compares this buffer to another.
+     *
+     * <p> Two float buffers are compared by comparing their sequences of
+     * remaining elements lexicographically, without regard to the starting
+     * position of each sequence within its corresponding buffer.
+     *
+     * <p> A float buffer is not comparable to any other type of object.
+     *
+     * @return  A negative integer, zero, or a positive integer as this buffer
+     *		is less than, equal to, or greater than the given buffer
+     */
+    public int compareTo(FloatBuffer that) {
+	int n = this.position() + Math.min(this.remaining(), that.remaining());
+	for (int i = this.position(), j = that.position(); i < n; i++, j++) {
+	    float v1 = this.get(i);
+	    float v2 = that.get(j);
+	    if (v1 == v2)
+		continue;
+	    if ((v1 != v1) && (v2 != v2)) 	// For float and double
+		continue;
+	    if (v1 < v2)
+		return -1;
+	    return +1;
+	}
+	return this.remaining() - that.remaining();
+    }
+
+
+
+    // -- Other char stuff --
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other byte stuff: Access to binary data --
+
+
+
+    /**
+     * Retrieves this buffer's byte order.
+     *
+     * <p> The byte order of a float buffer created by allocation or by
+     * wrapping an existing <tt>float</tt> array is the {@link
+     * ByteOrder#nativeOrder </code>native order<code>} of the underlying
+     * hardware.  The byte order of a float buffer created as a <a
+     * href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
+     * byte buffer at the moment that the view is created.  </p>
+     *
+     * @return  This buffer's byte order
+     */
+    public abstract ByteOrder order();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapByteBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+ * A read/write HeapByteBuffer.
+
+
+
+
+
+
+ */
+
+class HeapByteBuffer
+    extends ByteBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+    protected final byte[] hb;
+    protected final int offset;
+
+    */
+
+    HeapByteBuffer(int cap, int lim) {		// package-private
+
+	super(-1, 0, lim, cap, new byte[cap], 0);
+	/*
+	hb = new byte[cap];
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    HeapByteBuffer(byte[] buf, int off, int len) { // package-private
+
+	super(-1, off, off + len, buf.length, buf, 0);
+	/*
+	hb = buf;
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    protected HeapByteBuffer(byte[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+	super(mark, pos, lim, cap, buf, off);
+	/*
+	hb = buf;
+	offset = off;
+	*/
+
+
+
+
+    }
+
+    public ByteBuffer slice() {
+	return new HeapByteBuffer(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public ByteBuffer duplicate() {
+	return new HeapByteBuffer(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public ByteBuffer asReadOnlyBuffer() {
+
+	return new HeapByteBufferR(hb,
+				     this.markValue(),
+				     this.position(),
+				     this.limit(),
+				     this.capacity(),
+				     offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return i + offset;
+    }
+
+    public byte get() {
+	return hb[ix(nextGetIndex())];
+    }
+
+    public byte get(int i) {
+	return hb[ix(checkIndex(i))];
+    }
+
+    public ByteBuffer get(byte[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	System.arraycopy(hb, ix(position()), dst, offset, length);
+	position(position() + length);
+	return this;
+    }
+
+    public boolean isDirect() {
+	return false;
+    }
+
+
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+    public ByteBuffer put(byte x) {
+
+	hb[ix(nextPutIndex())] = x;
+	return this;
+
+
+
+    }
+
+    public ByteBuffer put(int i, byte x) {
+
+	hb[ix(checkIndex(i))] = x;
+	return this;
+
+
+
+    }
+
+    public ByteBuffer put(byte[] src, int offset, int length) {
+
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	System.arraycopy(src, offset, hb, ix(position()), length);
+	position(position() + length);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer put(ByteBuffer src) {
+
+	if (src instanceof HeapByteBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    HeapByteBuffer sb = (HeapByteBuffer)src;
+	    int n = sb.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    System.arraycopy(sb.hb, sb.ix(sb.position()),
+			     hb, ix(position()), n);
+	    sb.position(sb.position() + n);
+	    position(position() + n);
+	} else if (src.isDirect()) {
+	    int n = src.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    src.get(hb, ix(position()), n);
+	    position(position() + n);
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public ByteBuffer compact() {
+
+	System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
+	position(remaining());
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+
+
+
+
+    byte _get(int i) {				// package-private
+	return hb[i];
+    }
+
+    void _put(int i, byte b) {			// package-private
+
+	hb[i] = b;
+
+
+
+    }
+
+    // char
+
+
+
+    public char getChar() {
+	return Bits.getChar(this, ix(nextGetIndex(2)), bigEndian);
+    }
+
+    public char getChar(int i) {
+	return Bits.getChar(this, ix(checkIndex(i, 2)), bigEndian);
+    }
+
+
+
+    public ByteBuffer putChar(char x) {
+
+	Bits.putChar(this, ix(nextPutIndex(2)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putChar(int i, char x) {
+
+	Bits.putChar(this, ix(checkIndex(i, 2)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public CharBuffer asCharBuffer() {
+	int size = this.remaining() >> 1;
+	int off = offset + position();
+	return (bigEndian
+		? (CharBuffer)(new ByteBufferAsCharBufferB(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off))
+		: (CharBuffer)(new ByteBufferAsCharBufferL(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off)));
+    }
+
+
+    // short
+
+
+
+    public short getShort() {
+	return Bits.getShort(this, ix(nextGetIndex(2)), bigEndian);
+    }
+
+    public short getShort(int i) {
+	return Bits.getShort(this, ix(checkIndex(i, 2)), bigEndian);
+    }
+
+
+
+    public ByteBuffer putShort(short x) {
+
+	Bits.putShort(this, ix(nextPutIndex(2)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putShort(int i, short x) {
+
+	Bits.putShort(this, ix(checkIndex(i, 2)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public ShortBuffer asShortBuffer() {
+	int size = this.remaining() >> 1;
+	int off = offset + position();
+	return (bigEndian
+		? (ShortBuffer)(new ByteBufferAsShortBufferB(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		: (ShortBuffer)(new ByteBufferAsShortBufferL(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+    }
+
+
+    // int
+
+
+
+    public int getInt() {
+	return Bits.getInt(this, ix(nextGetIndex(4)), bigEndian);
+    }
+
+    public int getInt(int i) {
+	return Bits.getInt(this, ix(checkIndex(i, 4)), bigEndian);
+    }
+
+
+
+    public ByteBuffer putInt(int x) {
+
+	Bits.putInt(this, ix(nextPutIndex(4)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putInt(int i, int x) {
+
+	Bits.putInt(this, ix(checkIndex(i, 4)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public IntBuffer asIntBuffer() {
+	int size = this.remaining() >> 2;
+	int off = offset + position();
+	return (bigEndian
+		? (IntBuffer)(new ByteBufferAsIntBufferB(this,
+							     -1,
+							     0,
+							     size,
+							     size,
+							     off))
+		: (IntBuffer)(new ByteBufferAsIntBufferL(this,
+							     -1,
+							     0,
+							     size,
+							     size,
+							     off)));
+    }
+
+
+    // long
+
+
+
+    public long getLong() {
+	return Bits.getLong(this, ix(nextGetIndex(8)), bigEndian);
+    }
+
+    public long getLong(int i) {
+	return Bits.getLong(this, ix(checkIndex(i, 8)), bigEndian);
+    }
+
+
+
+    public ByteBuffer putLong(long x) {
+
+	Bits.putLong(this, ix(nextPutIndex(8)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putLong(int i, long x) {
+
+	Bits.putLong(this, ix(checkIndex(i, 8)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public LongBuffer asLongBuffer() {
+	int size = this.remaining() >> 3;
+	int off = offset + position();
+	return (bigEndian
+		? (LongBuffer)(new ByteBufferAsLongBufferB(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off))
+		: (LongBuffer)(new ByteBufferAsLongBufferL(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off)));
+    }
+
+
+    // float
+
+
+
+    public float getFloat() {
+	return Bits.getFloat(this, ix(nextGetIndex(4)), bigEndian);
+    }
+
+    public float getFloat(int i) {
+	return Bits.getFloat(this, ix(checkIndex(i, 4)), bigEndian);
+    }
+
+
+
+    public ByteBuffer putFloat(float x) {
+
+	Bits.putFloat(this, ix(nextPutIndex(4)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putFloat(int i, float x) {
+
+	Bits.putFloat(this, ix(checkIndex(i, 4)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public FloatBuffer asFloatBuffer() {
+	int size = this.remaining() >> 2;
+	int off = offset + position();
+	return (bigEndian
+		? (FloatBuffer)(new ByteBufferAsFloatBufferB(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		: (FloatBuffer)(new ByteBufferAsFloatBufferL(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+    }
+
+
+    // double
+
+
+
+    public double getDouble() {
+	return Bits.getDouble(this, ix(nextGetIndex(8)), bigEndian);
+    }
+
+    public double getDouble(int i) {
+	return Bits.getDouble(this, ix(checkIndex(i, 8)), bigEndian);
+    }
+
+
+
+    public ByteBuffer putDouble(double x) {
+
+	Bits.putDouble(this, ix(nextPutIndex(8)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public ByteBuffer putDouble(int i, double x) {
+
+	Bits.putDouble(this, ix(checkIndex(i, 8)), x, bigEndian);
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer asDoubleBuffer() {
+	int size = this.remaining() >> 3;
+	int off = offset + position();
+	return (bigEndian
+		? (DoubleBuffer)(new ByteBufferAsDoubleBufferB(this,
+								   -1,
+								   0,
+								   size,
+								   size,
+								   off))
+		: (DoubleBuffer)(new ByteBufferAsDoubleBufferL(this,
+								   -1,
+								   0,
+								   size,
+								   size,
+								   off)));
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapByteBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+
+
+ * A read-only HeapByteBuffer.  This class extends the corresponding
+ * read/write class, overriding the mutation methods to throw a {@link
+ * ReadOnlyBufferException} and overriding the view-buffer methods to return an
+ * instance of this class rather than of the superclass.
+
+ */
+
+class HeapByteBufferR
+    extends HeapByteBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+
+
+
+    */
+
+    HeapByteBufferR(int cap, int lim) {		// package-private
+
+
+
+
+
+
+
+	super(cap, lim);
+	this.isReadOnly = true;
+
+    }
+
+    HeapByteBufferR(byte[] buf, int off, int len) { // package-private
+
+
+
+
+
+
+
+	super(buf, off, len);
+	this.isReadOnly = true;
+
+    }
+
+    protected HeapByteBufferR(byte[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+
+
+
+
+
+
+	super(buf, mark, pos, lim, cap, off);
+	this.isReadOnly = true;
+
+    }
+
+    public ByteBuffer slice() {
+	return new HeapByteBufferR(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public ByteBuffer duplicate() {
+	return new HeapByteBufferR(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public ByteBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+    public ByteBuffer put(byte x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer put(int i, byte x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer put(byte[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer put(ByteBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer compact() {
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+    byte _get(int i) {				// package-private
+	return hb[i];
+    }
+
+    void _put(int i, byte b) {			// package-private
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    // char
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteBuffer putChar(char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putChar(int i, char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer asCharBuffer() {
+	int size = this.remaining() >> 1;
+	int off = offset + position();
+	return (bigEndian
+		? (CharBuffer)(new ByteBufferAsCharBufferRB(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off))
+		: (CharBuffer)(new ByteBufferAsCharBufferRL(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off)));
+    }
+
+
+    // short
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteBuffer putShort(short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putShort(int i, short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer asShortBuffer() {
+	int size = this.remaining() >> 1;
+	int off = offset + position();
+	return (bigEndian
+		? (ShortBuffer)(new ByteBufferAsShortBufferRB(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		: (ShortBuffer)(new ByteBufferAsShortBufferRL(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+    }
+
+
+    // int
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteBuffer putInt(int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putInt(int i, int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer asIntBuffer() {
+	int size = this.remaining() >> 2;
+	int off = offset + position();
+	return (bigEndian
+		? (IntBuffer)(new ByteBufferAsIntBufferRB(this,
+							     -1,
+							     0,
+							     size,
+							     size,
+							     off))
+		: (IntBuffer)(new ByteBufferAsIntBufferRL(this,
+							     -1,
+							     0,
+							     size,
+							     size,
+							     off)));
+    }
+
+
+    // long
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteBuffer putLong(long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putLong(int i, long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer asLongBuffer() {
+	int size = this.remaining() >> 3;
+	int off = offset + position();
+	return (bigEndian
+		? (LongBuffer)(new ByteBufferAsLongBufferRB(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off))
+		: (LongBuffer)(new ByteBufferAsLongBufferRL(this,
+							       -1,
+							       0,
+							       size,
+							       size,
+							       off)));
+    }
+
+
+    // float
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteBuffer putFloat(float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putFloat(int i, float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer asFloatBuffer() {
+	int size = this.remaining() >> 2;
+	int off = offset + position();
+	return (bigEndian
+		? (FloatBuffer)(new ByteBufferAsFloatBufferRB(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off))
+		: (FloatBuffer)(new ByteBufferAsFloatBufferRL(this,
+								 -1,
+								 0,
+								 size,
+								 size,
+								 off)));
+    }
+
+
+    // double
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteBuffer putDouble(double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ByteBuffer putDouble(int i, double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer asDoubleBuffer() {
+	int size = this.remaining() >> 3;
+	int off = offset + position();
+	return (bigEndian
+		? (DoubleBuffer)(new ByteBufferAsDoubleBufferRB(this,
+								   -1,
+								   0,
+								   size,
+								   size,
+								   off))
+		: (DoubleBuffer)(new ByteBufferAsDoubleBufferRL(this,
+								   -1,
+								   0,
+								   size,
+								   size,
+								   off)));
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapCharBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+ * A read/write HeapCharBuffer.
+
+
+
+
+
+
+ */
+
+class HeapCharBuffer
+    extends CharBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+    protected final char[] hb;
+    protected final int offset;
+
+    */
+
+    HeapCharBuffer(int cap, int lim) {		// package-private
+
+	super(-1, 0, lim, cap, new char[cap], 0);
+	/*
+	hb = new char[cap];
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    HeapCharBuffer(char[] buf, int off, int len) { // package-private
+
+	super(-1, off, off + len, buf.length, buf, 0);
+	/*
+	hb = buf;
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    protected HeapCharBuffer(char[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+	super(mark, pos, lim, cap, buf, off);
+	/*
+	hb = buf;
+	offset = off;
+	*/
+
+
+
+
+    }
+
+    public CharBuffer slice() {
+	return new HeapCharBuffer(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public CharBuffer duplicate() {
+	return new HeapCharBuffer(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+	return new HeapCharBufferR(hb,
+				     this.markValue(),
+				     this.position(),
+				     this.limit(),
+				     this.capacity(),
+				     offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return i + offset;
+    }
+
+    public char get() {
+	return hb[ix(nextGetIndex())];
+    }
+
+    public char get(int i) {
+	return hb[ix(checkIndex(i))];
+    }
+
+    public CharBuffer get(char[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	System.arraycopy(hb, ix(position()), dst, offset, length);
+	position(position() + length);
+	return this;
+    }
+
+    public boolean isDirect() {
+	return false;
+    }
+
+
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+    public CharBuffer put(char x) {
+
+	hb[ix(nextPutIndex())] = x;
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+	hb[ix(checkIndex(i))] = x;
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(char[] src, int offset, int length) {
+
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	System.arraycopy(src, offset, hb, ix(position()), length);
+	position(position() + length);
+	return this;
+
+
+
+    }
+
+    public CharBuffer put(CharBuffer src) {
+
+	if (src instanceof HeapCharBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    HeapCharBuffer sb = (HeapCharBuffer)src;
+	    int n = sb.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    System.arraycopy(sb.hb, sb.ix(sb.position()),
+			     hb, ix(position()), n);
+	    sb.position(sb.position() + n);
+	    position(position() + n);
+	} else if (src.isDirect()) {
+	    int n = src.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    src.get(hb, ix(position()), n);
+	    position(position() + n);
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public CharBuffer compact() {
+
+	System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
+	position(remaining());
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    String toString(int start, int end) {		// package-private
+	try {
+	    return new String(hb, start + offset, end - start);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+        if ((start < 0)
+	    || (end > length())
+	    || (start > end))
+	    throw new IndexOutOfBoundsException();
+        int len = end - start;
+        return new HeapCharBuffer(hb,
+				      -1, 0, len, len,
+				      offset + position() + start);
+    }
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapCharBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+
+
+ * A read-only HeapCharBuffer.  This class extends the corresponding
+ * read/write class, overriding the mutation methods to throw a {@link
+ * ReadOnlyBufferException} and overriding the view-buffer methods to return an
+ * instance of this class rather than of the superclass.
+
+ */
+
+class HeapCharBufferR
+    extends HeapCharBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+
+
+
+    */
+
+    HeapCharBufferR(int cap, int lim) {		// package-private
+
+
+
+
+
+
+
+	super(cap, lim);
+	this.isReadOnly = true;
+
+    }
+
+    HeapCharBufferR(char[] buf, int off, int len) { // package-private
+
+
+
+
+
+
+
+	super(buf, off, len);
+	this.isReadOnly = true;
+
+    }
+
+    protected HeapCharBufferR(char[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+
+
+
+
+
+
+	super(buf, mark, pos, lim, cap, off);
+	this.isReadOnly = true;
+
+    }
+
+    public CharBuffer slice() {
+	return new HeapCharBufferR(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public CharBuffer duplicate() {
+	return new HeapCharBufferR(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public CharBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+    public CharBuffer put(char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(int i, char x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(char[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer put(CharBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public CharBuffer compact() {
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    String toString(int start, int end) {		// package-private
+	try {
+	    return new String(hb, start + offset, end - start);
+	} catch (StringIndexOutOfBoundsException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+
+    // --- Methods to support CharSequence ---
+
+    public CharSequence subSequence(int start, int end) {
+        if ((start < 0)
+	    || (end > length())
+	    || (start > end))
+	    throw new IndexOutOfBoundsException();
+        int len = end - start;
+        return new HeapCharBufferR(hb,
+				      -1, 0, len, len,
+				      offset + position() + start);
+    }
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapDoubleBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+ * A read/write HeapDoubleBuffer.
+
+
+
+
+
+
+ */
+
+class HeapDoubleBuffer
+    extends DoubleBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+    protected final double[] hb;
+    protected final int offset;
+
+    */
+
+    HeapDoubleBuffer(int cap, int lim) {		// package-private
+
+	super(-1, 0, lim, cap, new double[cap], 0);
+	/*
+	hb = new double[cap];
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    HeapDoubleBuffer(double[] buf, int off, int len) { // package-private
+
+	super(-1, off, off + len, buf.length, buf, 0);
+	/*
+	hb = buf;
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    protected HeapDoubleBuffer(double[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+	super(mark, pos, lim, cap, buf, off);
+	/*
+	hb = buf;
+	offset = off;
+	*/
+
+
+
+
+    }
+
+    public DoubleBuffer slice() {
+	return new HeapDoubleBuffer(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new HeapDoubleBuffer(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+	return new HeapDoubleBufferR(hb,
+				     this.markValue(),
+				     this.position(),
+				     this.limit(),
+				     this.capacity(),
+				     offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return i + offset;
+    }
+
+    public double get() {
+	return hb[ix(nextGetIndex())];
+    }
+
+    public double get(int i) {
+	return hb[ix(checkIndex(i))];
+    }
+
+    public DoubleBuffer get(double[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	System.arraycopy(hb, ix(position()), dst, offset, length);
+	position(position() + length);
+	return this;
+    }
+
+    public boolean isDirect() {
+	return false;
+    }
+
+
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+    public DoubleBuffer put(double x) {
+
+	hb[ix(nextPutIndex())] = x;
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+	hb[ix(checkIndex(i))] = x;
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(double[] src, int offset, int length) {
+
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	System.arraycopy(src, offset, hb, ix(position()), length);
+	position(position() + length);
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer put(DoubleBuffer src) {
+
+	if (src instanceof HeapDoubleBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    HeapDoubleBuffer sb = (HeapDoubleBuffer)src;
+	    int n = sb.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    System.arraycopy(sb.hb, sb.ix(sb.position()),
+			     hb, ix(position()), n);
+	    sb.position(sb.position() + n);
+	    position(position() + n);
+	} else if (src.isDirect()) {
+	    int n = src.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    src.get(hb, ix(position()), n);
+	    position(position() + n);
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public DoubleBuffer compact() {
+
+	System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
+	position(remaining());
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapDoubleBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+
+
+ * A read-only HeapDoubleBuffer.  This class extends the corresponding
+ * read/write class, overriding the mutation methods to throw a {@link
+ * ReadOnlyBufferException} and overriding the view-buffer methods to return an
+ * instance of this class rather than of the superclass.
+
+ */
+
+class HeapDoubleBufferR
+    extends HeapDoubleBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+
+
+
+    */
+
+    HeapDoubleBufferR(int cap, int lim) {		// package-private
+
+
+
+
+
+
+
+	super(cap, lim);
+	this.isReadOnly = true;
+
+    }
+
+    HeapDoubleBufferR(double[] buf, int off, int len) { // package-private
+
+
+
+
+
+
+
+	super(buf, off, len);
+	this.isReadOnly = true;
+
+    }
+
+    protected HeapDoubleBufferR(double[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+
+
+
+
+
+
+	super(buf, mark, pos, lim, cap, off);
+	this.isReadOnly = true;
+
+    }
+
+    public DoubleBuffer slice() {
+	return new HeapDoubleBufferR(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public DoubleBuffer duplicate() {
+	return new HeapDoubleBufferR(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public DoubleBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+    public DoubleBuffer put(double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(int i, double x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(double[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer put(DoubleBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public DoubleBuffer compact() {
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapFloatBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+ * A read/write HeapFloatBuffer.
+
+
+
+
+
+
+ */
+
+class HeapFloatBuffer
+    extends FloatBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+    protected final float[] hb;
+    protected final int offset;
+
+    */
+
+    HeapFloatBuffer(int cap, int lim) {		// package-private
+
+	super(-1, 0, lim, cap, new float[cap], 0);
+	/*
+	hb = new float[cap];
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    HeapFloatBuffer(float[] buf, int off, int len) { // package-private
+
+	super(-1, off, off + len, buf.length, buf, 0);
+	/*
+	hb = buf;
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    protected HeapFloatBuffer(float[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+	super(mark, pos, lim, cap, buf, off);
+	/*
+	hb = buf;
+	offset = off;
+	*/
+
+
+
+
+    }
+
+    public FloatBuffer slice() {
+	return new HeapFloatBuffer(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public FloatBuffer duplicate() {
+	return new HeapFloatBuffer(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+	return new HeapFloatBufferR(hb,
+				     this.markValue(),
+				     this.position(),
+				     this.limit(),
+				     this.capacity(),
+				     offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return i + offset;
+    }
+
+    public float get() {
+	return hb[ix(nextGetIndex())];
+    }
+
+    public float get(int i) {
+	return hb[ix(checkIndex(i))];
+    }
+
+    public FloatBuffer get(float[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	System.arraycopy(hb, ix(position()), dst, offset, length);
+	position(position() + length);
+	return this;
+    }
+
+    public boolean isDirect() {
+	return false;
+    }
+
+
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+    public FloatBuffer put(float x) {
+
+	hb[ix(nextPutIndex())] = x;
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+	hb[ix(checkIndex(i))] = x;
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(float[] src, int offset, int length) {
+
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	System.arraycopy(src, offset, hb, ix(position()), length);
+	position(position() + length);
+	return this;
+
+
+
+    }
+
+    public FloatBuffer put(FloatBuffer src) {
+
+	if (src instanceof HeapFloatBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    HeapFloatBuffer sb = (HeapFloatBuffer)src;
+	    int n = sb.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    System.arraycopy(sb.hb, sb.ix(sb.position()),
+			     hb, ix(position()), n);
+	    sb.position(sb.position() + n);
+	    position(position() + n);
+	} else if (src.isDirect()) {
+	    int n = src.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    src.get(hb, ix(position()), n);
+	    position(position() + n);
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public FloatBuffer compact() {
+
+	System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
+	position(remaining());
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapFloatBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+
+
+ * A read-only HeapFloatBuffer.  This class extends the corresponding
+ * read/write class, overriding the mutation methods to throw a {@link
+ * ReadOnlyBufferException} and overriding the view-buffer methods to return an
+ * instance of this class rather than of the superclass.
+
+ */
+
+class HeapFloatBufferR
+    extends HeapFloatBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+
+
+
+    */
+
+    HeapFloatBufferR(int cap, int lim) {		// package-private
+
+
+
+
+
+
+
+	super(cap, lim);
+	this.isReadOnly = true;
+
+    }
+
+    HeapFloatBufferR(float[] buf, int off, int len) { // package-private
+
+
+
+
+
+
+
+	super(buf, off, len);
+	this.isReadOnly = true;
+
+    }
+
+    protected HeapFloatBufferR(float[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+
+
+
+
+
+
+	super(buf, mark, pos, lim, cap, off);
+	this.isReadOnly = true;
+
+    }
+
+    public FloatBuffer slice() {
+	return new HeapFloatBufferR(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public FloatBuffer duplicate() {
+	return new HeapFloatBufferR(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public FloatBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+    public FloatBuffer put(float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(int i, float x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(float[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer put(FloatBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public FloatBuffer compact() {
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapIntBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+ * A read/write HeapIntBuffer.
+
+
+
+
+
+
+ */
+
+class HeapIntBuffer
+    extends IntBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+    protected final int[] hb;
+    protected final int offset;
+
+    */
+
+    HeapIntBuffer(int cap, int lim) {		// package-private
+
+	super(-1, 0, lim, cap, new int[cap], 0);
+	/*
+	hb = new int[cap];
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    HeapIntBuffer(int[] buf, int off, int len) { // package-private
+
+	super(-1, off, off + len, buf.length, buf, 0);
+	/*
+	hb = buf;
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    protected HeapIntBuffer(int[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+	super(mark, pos, lim, cap, buf, off);
+	/*
+	hb = buf;
+	offset = off;
+	*/
+
+
+
+
+    }
+
+    public IntBuffer slice() {
+	return new HeapIntBuffer(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public IntBuffer duplicate() {
+	return new HeapIntBuffer(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+	return new HeapIntBufferR(hb,
+				     this.markValue(),
+				     this.position(),
+				     this.limit(),
+				     this.capacity(),
+				     offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return i + offset;
+    }
+
+    public int get() {
+	return hb[ix(nextGetIndex())];
+    }
+
+    public int get(int i) {
+	return hb[ix(checkIndex(i))];
+    }
+
+    public IntBuffer get(int[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	System.arraycopy(hb, ix(position()), dst, offset, length);
+	position(position() + length);
+	return this;
+    }
+
+    public boolean isDirect() {
+	return false;
+    }
+
+
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+    public IntBuffer put(int x) {
+
+	hb[ix(nextPutIndex())] = x;
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+	hb[ix(checkIndex(i))] = x;
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(int[] src, int offset, int length) {
+
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	System.arraycopy(src, offset, hb, ix(position()), length);
+	position(position() + length);
+	return this;
+
+
+
+    }
+
+    public IntBuffer put(IntBuffer src) {
+
+	if (src instanceof HeapIntBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    HeapIntBuffer sb = (HeapIntBuffer)src;
+	    int n = sb.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    System.arraycopy(sb.hb, sb.ix(sb.position()),
+			     hb, ix(position()), n);
+	    sb.position(sb.position() + n);
+	    position(position() + n);
+	} else if (src.isDirect()) {
+	    int n = src.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    src.get(hb, ix(position()), n);
+	    position(position() + n);
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public IntBuffer compact() {
+
+	System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
+	position(remaining());
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapIntBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+
+
+ * A read-only HeapIntBuffer.  This class extends the corresponding
+ * read/write class, overriding the mutation methods to throw a {@link
+ * ReadOnlyBufferException} and overriding the view-buffer methods to return an
+ * instance of this class rather than of the superclass.
+
+ */
+
+class HeapIntBufferR
+    extends HeapIntBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+
+
+
+    */
+
+    HeapIntBufferR(int cap, int lim) {		// package-private
+
+
+
+
+
+
+
+	super(cap, lim);
+	this.isReadOnly = true;
+
+    }
+
+    HeapIntBufferR(int[] buf, int off, int len) { // package-private
+
+
+
+
+
+
+
+	super(buf, off, len);
+	this.isReadOnly = true;
+
+    }
+
+    protected HeapIntBufferR(int[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+
+
+
+
+
+
+	super(buf, mark, pos, lim, cap, off);
+	this.isReadOnly = true;
+
+    }
+
+    public IntBuffer slice() {
+	return new HeapIntBufferR(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public IntBuffer duplicate() {
+	return new HeapIntBufferR(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public IntBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+    public IntBuffer put(int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int i, int x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(int[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer put(IntBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public IntBuffer compact() {
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapLongBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+ * A read/write HeapLongBuffer.
+
+
+
+
+
+
+ */
+
+class HeapLongBuffer
+    extends LongBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+    protected final long[] hb;
+    protected final int offset;
+
+    */
+
+    HeapLongBuffer(int cap, int lim) {		// package-private
+
+	super(-1, 0, lim, cap, new long[cap], 0);
+	/*
+	hb = new long[cap];
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    HeapLongBuffer(long[] buf, int off, int len) { // package-private
+
+	super(-1, off, off + len, buf.length, buf, 0);
+	/*
+	hb = buf;
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    protected HeapLongBuffer(long[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+	super(mark, pos, lim, cap, buf, off);
+	/*
+	hb = buf;
+	offset = off;
+	*/
+
+
+
+
+    }
+
+    public LongBuffer slice() {
+	return new HeapLongBuffer(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public LongBuffer duplicate() {
+	return new HeapLongBuffer(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+	return new HeapLongBufferR(hb,
+				     this.markValue(),
+				     this.position(),
+				     this.limit(),
+				     this.capacity(),
+				     offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return i + offset;
+    }
+
+    public long get() {
+	return hb[ix(nextGetIndex())];
+    }
+
+    public long get(int i) {
+	return hb[ix(checkIndex(i))];
+    }
+
+    public LongBuffer get(long[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	System.arraycopy(hb, ix(position()), dst, offset, length);
+	position(position() + length);
+	return this;
+    }
+
+    public boolean isDirect() {
+	return false;
+    }
+
+
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+    public LongBuffer put(long x) {
+
+	hb[ix(nextPutIndex())] = x;
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+	hb[ix(checkIndex(i))] = x;
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(long[] src, int offset, int length) {
+
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	System.arraycopy(src, offset, hb, ix(position()), length);
+	position(position() + length);
+	return this;
+
+
+
+    }
+
+    public LongBuffer put(LongBuffer src) {
+
+	if (src instanceof HeapLongBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    HeapLongBuffer sb = (HeapLongBuffer)src;
+	    int n = sb.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    System.arraycopy(sb.hb, sb.ix(sb.position()),
+			     hb, ix(position()), n);
+	    sb.position(sb.position() + n);
+	    position(position() + n);
+	} else if (src.isDirect()) {
+	    int n = src.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    src.get(hb, ix(position()), n);
+	    position(position() + n);
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public LongBuffer compact() {
+
+	System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
+	position(remaining());
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapLongBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+
+
+ * A read-only HeapLongBuffer.  This class extends the corresponding
+ * read/write class, overriding the mutation methods to throw a {@link
+ * ReadOnlyBufferException} and overriding the view-buffer methods to return an
+ * instance of this class rather than of the superclass.
+
+ */
+
+class HeapLongBufferR
+    extends HeapLongBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+
+
+
+    */
+
+    HeapLongBufferR(int cap, int lim) {		// package-private
+
+
+
+
+
+
+
+	super(cap, lim);
+	this.isReadOnly = true;
+
+    }
+
+    HeapLongBufferR(long[] buf, int off, int len) { // package-private
+
+
+
+
+
+
+
+	super(buf, off, len);
+	this.isReadOnly = true;
+
+    }
+
+    protected HeapLongBufferR(long[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+
+
+
+
+
+
+	super(buf, mark, pos, lim, cap, off);
+	this.isReadOnly = true;
+
+    }
+
+    public LongBuffer slice() {
+	return new HeapLongBufferR(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public LongBuffer duplicate() {
+	return new HeapLongBufferR(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public LongBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+    public LongBuffer put(long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(int i, long x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(long[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer put(LongBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public LongBuffer compact() {
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapShortBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+ * A read/write HeapShortBuffer.
+
+
+
+
+
+
+ */
+
+class HeapShortBuffer
+    extends ShortBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+    protected final short[] hb;
+    protected final int offset;
+
+    */
+
+    HeapShortBuffer(int cap, int lim) {		// package-private
+
+	super(-1, 0, lim, cap, new short[cap], 0);
+	/*
+	hb = new short[cap];
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    HeapShortBuffer(short[] buf, int off, int len) { // package-private
+
+	super(-1, off, off + len, buf.length, buf, 0);
+	/*
+	hb = buf;
+	offset = 0;
+	*/
+
+
+
+
+    }
+
+    protected HeapShortBuffer(short[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+	super(mark, pos, lim, cap, buf, off);
+	/*
+	hb = buf;
+	offset = off;
+	*/
+
+
+
+
+    }
+
+    public ShortBuffer slice() {
+	return new HeapShortBuffer(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public ShortBuffer duplicate() {
+	return new HeapShortBuffer(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+	return new HeapShortBufferR(hb,
+				     this.markValue(),
+				     this.position(),
+				     this.limit(),
+				     this.capacity(),
+				     offset);
+
+
+
+    }
+
+
+
+    protected int ix(int i) {
+	return i + offset;
+    }
+
+    public short get() {
+	return hb[ix(nextGetIndex())];
+    }
+
+    public short get(int i) {
+	return hb[ix(checkIndex(i))];
+    }
+
+    public ShortBuffer get(short[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	System.arraycopy(hb, ix(position()), dst, offset, length);
+	position(position() + length);
+	return this;
+    }
+
+    public boolean isDirect() {
+	return false;
+    }
+
+
+
+    public boolean isReadOnly() {
+	return false;
+    }
+
+    public ShortBuffer put(short x) {
+
+	hb[ix(nextPutIndex())] = x;
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+	hb[ix(checkIndex(i))] = x;
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(short[] src, int offset, int length) {
+
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	System.arraycopy(src, offset, hb, ix(position()), length);
+	position(position() + length);
+	return this;
+
+
+
+    }
+
+    public ShortBuffer put(ShortBuffer src) {
+
+	if (src instanceof HeapShortBuffer) {
+	    if (src == this)
+		throw new IllegalArgumentException();
+	    HeapShortBuffer sb = (HeapShortBuffer)src;
+	    int n = sb.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    System.arraycopy(sb.hb, sb.ix(sb.position()),
+			     hb, ix(position()), n);
+	    sb.position(sb.position() + n);
+	    position(position() + n);
+	} else if (src.isDirect()) {
+	    int n = src.remaining();
+	    if (n > remaining())
+		throw new BufferOverflowException();
+	    src.get(hb, ix(position()), n);
+	    position(position() + n);
+	} else {
+	    super.put(src);
+	}
+	return this;
+
+
+
+    }
+
+    public ShortBuffer compact() {
+
+	System.arraycopy(hb, ix(position()), hb, ix(0), remaining());
+	position(remaining());
+	limit(capacity());
+	return this;
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/HeapShortBufferR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,591 @@
+/*
+ * Copyright 2000-2002 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+/**
+
+
+
+ * A read-only HeapShortBuffer.  This class extends the corresponding
+ * read/write class, overriding the mutation methods to throw a {@link
+ * ReadOnlyBufferException} and overriding the view-buffer methods to return an
+ * instance of this class rather than of the superclass.
+
+ */
+
+class HeapShortBufferR
+    extends HeapShortBuffer
+{
+
+    // For speed these fields are actually declared in X-Buffer;
+    // these declarations are here as documentation
+    /*
+
+
+
+
+    */
+
+    HeapShortBufferR(int cap, int lim) {		// package-private
+
+
+
+
+
+
+
+	super(cap, lim);
+	this.isReadOnly = true;
+
+    }
+
+    HeapShortBufferR(short[] buf, int off, int len) { // package-private
+
+
+
+
+
+
+
+	super(buf, off, len);
+	this.isReadOnly = true;
+
+    }
+
+    protected HeapShortBufferR(short[] buf,
+				   int mark, int pos, int lim, int cap,
+				   int off)
+    {
+
+
+
+
+
+
+
+	super(buf, mark, pos, lim, cap, off);
+	this.isReadOnly = true;
+
+    }
+
+    public ShortBuffer slice() {
+	return new HeapShortBufferR(hb,
+					-1,
+					0,
+					this.remaining(),
+					this.remaining(),
+					this.position() + offset);
+    }
+
+    public ShortBuffer duplicate() {
+	return new HeapShortBufferR(hb,
+					this.markValue(),
+					this.position(),
+					this.limit(),
+					this.capacity(),
+					offset);
+    }
+
+    public ShortBuffer asReadOnlyBuffer() {
+
+
+
+
+
+
+
+
+	return duplicate();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public boolean isReadOnly() {
+	return true;
+    }
+
+    public ShortBuffer put(short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(int i, short x) {
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(short[] src, int offset, int length) {
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer put(ShortBuffer src) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+    public ShortBuffer compact() {
+
+
+
+
+
+
+	throw new ReadOnlyBufferException();
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    public ByteOrder order() {
+	return ByteOrder.nativeOrder();
+    }
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/IntBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1427 @@
+/*
+ * Copyright 2000-2007 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+
+
+
+/**
+ * An int buffer.
+ *
+ * <p> This class defines four categories of operations upon
+ * int buffers:
+ *
+ * <ul>
+ *
+ *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
+ *   {@link #put(int) </code><i>put</i><code>} methods that read and write
+ *   single ints; </p></li>
+ *
+ *   <li><p> Relative {@link #get(int[]) </code><i>bulk get</i><code>}
+ *   methods that transfer contiguous sequences of ints from this buffer
+ *   into an array; and</p></li>
+ *
+ *   <li><p> Relative {@link #put(int[]) </code><i>bulk put</i><code>}
+ *   methods that transfer contiguous sequences of ints from an
+ *   int array or some other int
+ *   buffer into this buffer;&#32;and </p></li>
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
+ *   #duplicate </code>duplicating<code>}, and {@link #slice
+ *   </code>slicing<code>} an int buffer.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Int buffers can be created either by {@link #allocate
+ * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ *
+
+
+
+
+
+
+ *
+ * content, by {@link #wrap(int[]) </code><i>wrapping</i><code>} an existing
+ * int array  into a buffer, or by creating a
+ * <a href="ByteBuffer.html#views"><i>view</i></a> of an existing byte buffer.
+ *
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*
+
+ *
+ * <p> Like a byte buffer, an int buffer is either <a
+ * href="ByteBuffer.html#direct"><i>direct</i> or <i>non-direct</i></a>.  A
+ * int buffer created via the <tt>wrap</tt> methods of this class will
+ * be non-direct.  An int buffer created as a view of a byte buffer will
+ * be direct if, and only if, the byte buffer itself is direct.  Whether or not
+ * an int buffer is direct may be determined by invoking the {@link
+ * #isDirect isDirect} method.  </p>
+ *
+
+*
+
+
+
+
+
+
+
+
+ *
+
+
+
+ *
+ * <p> Methods in this class that do not otherwise have a value to return are
+ * specified to return the buffer upon which they are invoked.  This allows
+ * method invocations to be chained.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @version 1.69, 07/05/05
+ * @since 1.4
+ */
+
+public abstract class IntBuffer
+    extends Buffer
+    implements Comparable<IntBuffer>
+{
+
+    // These fields are declared here rather than in Heap-X-Buffer in order to
+    // reduce the number of virtual method invocations needed to access these
+    // values, which is especially costly when coding small buffers.
+    //
+    final int[] hb;			// Non-null only for heap buffers
+    final int offset;
+    boolean isReadOnly;			// Valid only for heap buffers
+
+    // Creates a new buffer with the given mark, position, limit, capacity,
+    // backing array, and array offset
+    //
+    IntBuffer(int mark, int pos, int lim, int cap,	// package-private
+		 int[] hb, int offset)
+    {
+	super(mark, pos, lim, cap);
+	this.hb = hb;
+	this.offset = offset;
+    }
+
+    // Creates a new buffer with the given mark, position, limit, and capacity
+    //
+    IntBuffer(int mark, int pos, int lim, int cap) {	// package-private
+	this(mark, pos, lim, cap, null, 0);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Allocates a new int buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  It will have a {@link #array
+     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
+     * offset<code>} will be zero.
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in ints
+     *
+     * @return  The new int buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static IntBuffer allocate(int capacity) {
+	if (capacity < 0)
+	    throw new IllegalArgumentException();
+	return new HeapIntBuffer(capacity, capacity);
+    }
+
+    /**
+     * Wraps an int array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given int array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity will be
+     * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
+     * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
+     * {@link #array </code>backing array<code>} will be the given array, and
+     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     *
+     * @param  array
+     *         The array that will back the new buffer
+     *
+     * @param  offset
+     *         The offset of the subarray to be used; must be non-negative and
+     *         no larger than <tt>array.length</tt>.  The new buffer's position
+     *         will be set to this value.
+     *
+     * @param  length
+     *         The length of the subarray to be used;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>.
+     *         The new buffer's limit will be set to <tt>offset + length</tt>.
+     *
+     * @return  The new int buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public static IntBuffer wrap(int[] array,
+				    int offset, int length)
+    {
+	try {
+	    return new HeapIntBuffer(array, offset, length);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps an int array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given int array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity and limit will be
+     * <tt>array.length</tt>, its position will be zero, and its mark will be
+     * undefined.  Its {@link #array </code>backing array<code>} will be the
+     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * be zero.  </p> 
+     *
+     * @param  array
+     *         The array that will back this buffer
+     *
+     * @return  The new int buffer
+     */
+    public static IntBuffer wrap(int[] array) {
+	return wrap(array, 0, array.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Creates a new int buffer whose content is a shared subsequence of
+     * this buffer's content.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of ints remaining in this buffer, and its mark
+     * will be undefined.  The new buffer will be direct if, and only if, this
+     * buffer is direct, and it will be read-only if, and only if, this buffer
+     * is read-only.  </p>
+     *
+     * @return  The new int buffer
+     */
+    public abstract IntBuffer slice();
+
+    /**
+     * Creates a new int buffer that shares this buffer's content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer, and vice
+     * versa; the two buffers' position, limit, and mark values will be
+     * independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.  The new buffer will be direct if,
+     * and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  The new int buffer
+     */
+    public abstract IntBuffer duplicate();
+
+    /**
+     * Creates a new, read-only int buffer that shares this buffer's
+     * content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer; the new
+     * buffer itself, however, will be read-only and will not allow the shared
+     * content to be modified.  The two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.
+     *
+     * <p> If this buffer is itself read-only then this method behaves in
+     * exactly the same way as the {@link #duplicate duplicate} method.  </p>
+     *
+     * @return  The new, read-only int buffer
+     */
+    public abstract IntBuffer asReadOnlyBuffer();
+
+
+    // -- Singleton get/put methods --
+
+    /**
+     * Relative <i>get</i> method.  Reads the int at this buffer's
+     * current position, and then increments the position. </p>
+     *
+     * @return  The int at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If the buffer's current position is not smaller than its limit
+     */
+    public abstract int get();
+
+    /**
+     * Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given int into this buffer at the current
+     * position, and then increments the position. </p>
+     *
+     * @param  i
+     *         The int to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If this buffer's current position is not smaller than its limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract IntBuffer put(int i);
+
+    /**
+     * Absolute <i>get</i> method.  Reads the int at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index from which the int will be read
+     *
+     * @return  The int at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     */
+    public abstract int get(int index);
+
+    /**
+     * Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given int into this buffer at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index at which the int will be written
+     *
+     * @param  i
+     *         The int value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract IntBuffer put(int index, int i);
+
+
+    // -- Bulk get operations --
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers ints from this buffer into the given
+     * destination array.  If there are fewer ints remaining in the
+     * buffer than are required to satisfy the request, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * ints are transferred and a {@link BufferUnderflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> ints from this
+     * buffer into the given array, starting at the current position of this
+     * buffer and at the given offset in the array.  The position of this
+     * buffer is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst[i] = src.get(); </pre>
+     *
+     * except that it first checks that there are sufficient ints in
+     * this buffer and it is potentially much more efficient. </p>
+     *
+     * @param  dst
+     *         The array into which ints are to be written
+     *
+     * @param  offset
+     *         The offset within the array of the first int to be
+     *         written; must be non-negative and no larger than
+     *         <tt>dst.length</tt>
+     *
+     * @param  length
+     *         The maximum number of ints to be written to the given
+     *         array; must be non-negative and no larger than
+     *         <tt>dst.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> ints
+     *          remaining in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public IntBuffer get(int[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    dst[i] = get();
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers ints from this buffer into the given
+     * destination array.  An invocation of this method of the form
+     * <tt>src.get(a)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     src.get(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> ints
+     *          remaining in this buffer
+     */
+    public IntBuffer get(int[] dst) {
+	return get(dst, 0, dst.length);
+    }
+
+
+    // -- Bulk put operations --
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the ints remaining in the given source
+     * buffer into this buffer.  If there are more ints remaining in the
+     * source buffer than in this buffer, that is, if
+     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no ints are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> ints from the given
+     * buffer into this buffer, starting at each buffer's current position.
+     * The positions of both buffers are then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
+     *
+     * <pre>
+     *     while (src.hasRemaining())
+     *         dst.put(src.get()); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The source buffer from which ints are to be read;
+     *         must not be this buffer
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *          for the remaining ints in the source buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the source buffer is this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public IntBuffer put(IntBuffer src) {
+	if (src == this)
+	    throw new IllegalArgumentException();
+	int n = src.remaining();
+	if (n > remaining())
+	    throw new BufferOverflowException();
+	for (int i = 0; i < n; i++)
+	    put(src.get());
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers ints into this buffer from the given
+     * source array.  If there are more ints to be copied from the array
+     * than remain in this buffer, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * ints are transferred and a {@link BufferOverflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> ints from the
+     * given array into this buffer, starting at the given offset in the array
+     * and at the current position of this buffer.  The position of this buffer
+     * is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst.put(a[i]); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The array from which ints are to be read
+     *
+     * @param  offset
+     *         The offset within the array of the first int to be read;
+     *         must be non-negative and no larger than <tt>array.length</tt>
+     *
+     * @param  length
+     *         The number of ints to be read from the given array;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public IntBuffer put(int[] src, int offset, int length) {
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    this.put(src[i]);
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source
+     * int array into this buffer.  An invocation of this method of the
+     * form <tt>dst.put(a)</tt> behaves in exactly the same way as the
+     * invocation
+     *
+     * <pre>
+     *     dst.put(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final IntBuffer put(int[] src) {
+	return put(src, 0, src.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other stuff --
+
+    /**
+     * Tells whether or not this buffer is backed by an accessible int
+     * array.
+     *
+     * <p> If this method returns <tt>true</tt> then the {@link #array() array}
+     * and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
+     * </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer
+     *          is backed by an array and is not read-only
+     */
+    public final boolean hasArray() {
+	return (hb != null) && !isReadOnly;
+    }
+
+    /**
+     * Returns the int array that backs this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Modifications to this buffer's content will cause the returned
+     * array's content to be modified, and vice versa.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The array that backs this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int[] array() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return hb;
+    }
+
+    /**
+     * Returns the offset within this buffer's backing array of the first
+     * element of the buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this buffer is backed by an array then buffer position <i>p</i>
+     * corresponds to array index <i>p</i>&nbsp;+&nbsp;<tt>arrayOffset()</tt>.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The offset within this buffer's array
+     *          of the first element of the buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int arrayOffset() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return offset;
+    }
+
+    /**
+     * Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> The ints between the buffer's current position and its limit,
+     * if any, are copied to the beginning of the buffer.  That is, the
+     * int at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
+     * to index zero, the int at index <i>p</i>&nbsp;+&nbsp;1 is copied
+     * to index one, and so forth until the int at index
+     * <tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
+     * <i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
+     * The buffer's position is then set to <i>n+1</i> and its limit is set to
+     * its capacity.  The mark, if defined, is discarded.
+     *
+     * <p> The buffer's position is set to the number of ints copied,
+     * rather than to zero, so that an invocation of this method can be
+     * followed immediately by an invocation of another relative <i>put</i>
+     * method. </p>
+     *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     *
+     * @return  This buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract IntBuffer compact();
+
+    /**
+     * Tells whether or not this int buffer is direct. </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is direct
+     */
+    public abstract boolean isDirect();
+
+
+
+    /**
+     * Returns a string summarizing the state of this buffer.  </p>
+     *
+     * @return  A summary string
+     */
+    public String toString() {
+	StringBuffer sb = new StringBuffer();
+	sb.append(getClass().getName());
+	sb.append("[pos=");
+	sb.append(position());
+	sb.append(" lim=");
+	sb.append(limit());
+	sb.append(" cap=");
+	sb.append(capacity());
+	sb.append("]");
+	return sb.toString();
+    }
+
+
+
+
+    
+
+    /**
+     * Returns the current hash code of this buffer.
+     *
+     * <p> The hash code of a int buffer depends only upon its remaining
+     * elements; that is, upon the elements from <tt>position()</tt> up to, and
+     * including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
+     *
+     * <p> Because buffer hash codes are content-dependent, it is inadvisable
+     * to use buffers as keys in hash maps or similar data structures unless it
+     * is known that their contents will not change.  </p>
+     *
+     * @return  The current hash code of this buffer
+     */
+    public int hashCode() {
+	int h = 1;
+	int p = position();
+	for (int i = limit() - 1; i >= p; i--)
+	    h = 31 * h + (int)get(i);
+	return h;
+    }
+
+    /**
+     * Tells whether or not this buffer is equal to another object.
+     *
+     * <p> Two int buffers are equal if, and only if,
+     *
+     * <p><ol>
+     *
+     *   <li><p> They have the same element type,  </p></li>
+     *
+     *   <li><p> They have the same number of remaining elements, and
+     *   </p></li>
+     *
+     *   <li><p> The two sequences of remaining elements, considered
+     *   independently of their starting positions, are pointwise equal.
+     *   </p></li>
+     *
+     * </ol>
+     *
+     * <p> A int buffer is not equal to any other type of object.  </p>
+     *
+     * @param  ob  The object to which this buffer is to be compared
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is equal to the
+     *           given object
+     */
+    public boolean equals(Object ob) {
+	if (this == ob)
+	    return true;
+	if (!(ob instanceof IntBuffer))
+	    return false;
+	IntBuffer that = (IntBuffer)ob;
+	if (this.remaining() != that.remaining())
+	    return false;
+	int p = this.position();
+	for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) {
+	    int v1 = this.get(i);
+	    int v2 = that.get(j);
+	    if (v1 != v2) {
+		if ((v1 != v1) && (v2 != v2))	// For float and double
+		    continue;
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * Compares this buffer to another.
+     *
+     * <p> Two int buffers are compared by comparing their sequences of
+     * remaining elements lexicographically, without regard to the starting
+     * position of each sequence within its corresponding buffer.
+     *
+     * <p> A int buffer is not comparable to any other type of object.
+     *
+     * @return  A negative integer, zero, or a positive integer as this buffer
+     *		is less than, equal to, or greater than the given buffer
+     */
+    public int compareTo(IntBuffer that) {
+	int n = this.position() + Math.min(this.remaining(), that.remaining());
+	for (int i = this.position(), j = that.position(); i < n; i++, j++) {
+	    int v1 = this.get(i);
+	    int v2 = that.get(j);
+	    if (v1 == v2)
+		continue;
+	    if ((v1 != v1) && (v2 != v2)) 	// For float and double
+		continue;
+	    if (v1 < v2)
+		return -1;
+	    return +1;
+	}
+	return this.remaining() - that.remaining();
+    }
+
+
+
+    // -- Other char stuff --
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other byte stuff: Access to binary data --
+
+
+
+    /**
+     * Retrieves this buffer's byte order.
+     *
+     * <p> The byte order of an int buffer created by allocation or by
+     * wrapping an existing <tt>int</tt> array is the {@link
+     * ByteOrder#nativeOrder </code>native order<code>} of the underlying
+     * hardware.  The byte order of an int buffer created as a <a
+     * href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
+     * byte buffer at the moment that the view is created.  </p>
+     *
+     * @return  This buffer's byte order
+     */
+    public abstract ByteOrder order();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/LongBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1427 @@
+/*
+ * Copyright 2000-2007 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+
+
+
+/**
+ * A long buffer.
+ *
+ * <p> This class defines four categories of operations upon
+ * long buffers:
+ *
+ * <ul>
+ *
+ *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
+ *   {@link #put(long) </code><i>put</i><code>} methods that read and write
+ *   single longs; </p></li>
+ *
+ *   <li><p> Relative {@link #get(long[]) </code><i>bulk get</i><code>}
+ *   methods that transfer contiguous sequences of longs from this buffer
+ *   into an array; and</p></li>
+ *
+ *   <li><p> Relative {@link #put(long[]) </code><i>bulk put</i><code>}
+ *   methods that transfer contiguous sequences of longs from a
+ *   long array or some other long
+ *   buffer into this buffer;&#32;and </p></li>
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
+ *   #duplicate </code>duplicating<code>}, and {@link #slice
+ *   </code>slicing<code>} a long buffer.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Long buffers can be created either by {@link #allocate
+ * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ *
+
+
+
+
+
+
+ *
+ * content, by {@link #wrap(long[]) </code><i>wrapping</i><code>} an existing
+ * long array  into a buffer, or by creating a
+ * <a href="ByteBuffer.html#views"><i>view</i></a> of an existing byte buffer.
+ *
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*
+
+ *
+ * <p> Like a byte buffer, a long buffer is either <a
+ * href="ByteBuffer.html#direct"><i>direct</i> or <i>non-direct</i></a>.  A
+ * long buffer created via the <tt>wrap</tt> methods of this class will
+ * be non-direct.  A long buffer created as a view of a byte buffer will
+ * be direct if, and only if, the byte buffer itself is direct.  Whether or not
+ * a long buffer is direct may be determined by invoking the {@link
+ * #isDirect isDirect} method.  </p>
+ *
+
+*
+
+
+
+
+
+
+
+
+ *
+
+
+
+ *
+ * <p> Methods in this class that do not otherwise have a value to return are
+ * specified to return the buffer upon which they are invoked.  This allows
+ * method invocations to be chained.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @version 1.69, 07/05/05
+ * @since 1.4
+ */
+
+public abstract class LongBuffer
+    extends Buffer
+    implements Comparable<LongBuffer>
+{
+
+    // These fields are declared here rather than in Heap-X-Buffer in order to
+    // reduce the number of virtual method invocations needed to access these
+    // values, which is especially costly when coding small buffers.
+    //
+    final long[] hb;			// Non-null only for heap buffers
+    final int offset;
+    boolean isReadOnly;			// Valid only for heap buffers
+
+    // Creates a new buffer with the given mark, position, limit, capacity,
+    // backing array, and array offset
+    //
+    LongBuffer(int mark, int pos, int lim, int cap,	// package-private
+		 long[] hb, int offset)
+    {
+	super(mark, pos, lim, cap);
+	this.hb = hb;
+	this.offset = offset;
+    }
+
+    // Creates a new buffer with the given mark, position, limit, and capacity
+    //
+    LongBuffer(int mark, int pos, int lim, int cap) {	// package-private
+	this(mark, pos, lim, cap, null, 0);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Allocates a new long buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  It will have a {@link #array
+     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
+     * offset<code>} will be zero.
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in longs
+     *
+     * @return  The new long buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static LongBuffer allocate(int capacity) {
+	if (capacity < 0)
+	    throw new IllegalArgumentException();
+	return new HeapLongBuffer(capacity, capacity);
+    }
+
+    /**
+     * Wraps a long array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given long array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity will be
+     * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
+     * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
+     * {@link #array </code>backing array<code>} will be the given array, and
+     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     *
+     * @param  array
+     *         The array that will back the new buffer
+     *
+     * @param  offset
+     *         The offset of the subarray to be used; must be non-negative and
+     *         no larger than <tt>array.length</tt>.  The new buffer's position
+     *         will be set to this value.
+     *
+     * @param  length
+     *         The length of the subarray to be used;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>.
+     *         The new buffer's limit will be set to <tt>offset + length</tt>.
+     *
+     * @return  The new long buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public static LongBuffer wrap(long[] array,
+				    int offset, int length)
+    {
+	try {
+	    return new HeapLongBuffer(array, offset, length);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps a long array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given long array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity and limit will be
+     * <tt>array.length</tt>, its position will be zero, and its mark will be
+     * undefined.  Its {@link #array </code>backing array<code>} will be the
+     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * be zero.  </p> 
+     *
+     * @param  array
+     *         The array that will back this buffer
+     *
+     * @return  The new long buffer
+     */
+    public static LongBuffer wrap(long[] array) {
+	return wrap(array, 0, array.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Creates a new long buffer whose content is a shared subsequence of
+     * this buffer's content.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of longs remaining in this buffer, and its mark
+     * will be undefined.  The new buffer will be direct if, and only if, this
+     * buffer is direct, and it will be read-only if, and only if, this buffer
+     * is read-only.  </p>
+     *
+     * @return  The new long buffer
+     */
+    public abstract LongBuffer slice();
+
+    /**
+     * Creates a new long buffer that shares this buffer's content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer, and vice
+     * versa; the two buffers' position, limit, and mark values will be
+     * independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.  The new buffer will be direct if,
+     * and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  The new long buffer
+     */
+    public abstract LongBuffer duplicate();
+
+    /**
+     * Creates a new, read-only long buffer that shares this buffer's
+     * content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer; the new
+     * buffer itself, however, will be read-only and will not allow the shared
+     * content to be modified.  The two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.
+     *
+     * <p> If this buffer is itself read-only then this method behaves in
+     * exactly the same way as the {@link #duplicate duplicate} method.  </p>
+     *
+     * @return  The new, read-only long buffer
+     */
+    public abstract LongBuffer asReadOnlyBuffer();
+
+
+    // -- Singleton get/put methods --
+
+    /**
+     * Relative <i>get</i> method.  Reads the long at this buffer's
+     * current position, and then increments the position. </p>
+     *
+     * @return  The long at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If the buffer's current position is not smaller than its limit
+     */
+    public abstract long get();
+
+    /**
+     * Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given long into this buffer at the current
+     * position, and then increments the position. </p>
+     *
+     * @param  l
+     *         The long to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If this buffer's current position is not smaller than its limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract LongBuffer put(long l);
+
+    /**
+     * Absolute <i>get</i> method.  Reads the long at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index from which the long will be read
+     *
+     * @return  The long at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     */
+    public abstract long get(int index);
+
+    /**
+     * Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given long into this buffer at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index at which the long will be written
+     *
+     * @param  l
+     *         The long value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract LongBuffer put(int index, long l);
+
+
+    // -- Bulk get operations --
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers longs from this buffer into the given
+     * destination array.  If there are fewer longs remaining in the
+     * buffer than are required to satisfy the request, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * longs are transferred and a {@link BufferUnderflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> longs from this
+     * buffer into the given array, starting at the current position of this
+     * buffer and at the given offset in the array.  The position of this
+     * buffer is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst[i] = src.get(); </pre>
+     *
+     * except that it first checks that there are sufficient longs in
+     * this buffer and it is potentially much more efficient. </p>
+     *
+     * @param  dst
+     *         The array into which longs are to be written
+     *
+     * @param  offset
+     *         The offset within the array of the first long to be
+     *         written; must be non-negative and no larger than
+     *         <tt>dst.length</tt>
+     *
+     * @param  length
+     *         The maximum number of longs to be written to the given
+     *         array; must be non-negative and no larger than
+     *         <tt>dst.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> longs
+     *          remaining in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public LongBuffer get(long[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    dst[i] = get();
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers longs from this buffer into the given
+     * destination array.  An invocation of this method of the form
+     * <tt>src.get(a)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     src.get(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> longs
+     *          remaining in this buffer
+     */
+    public LongBuffer get(long[] dst) {
+	return get(dst, 0, dst.length);
+    }
+
+
+    // -- Bulk put operations --
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the longs remaining in the given source
+     * buffer into this buffer.  If there are more longs remaining in the
+     * source buffer than in this buffer, that is, if
+     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no longs are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> longs from the given
+     * buffer into this buffer, starting at each buffer's current position.
+     * The positions of both buffers are then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
+     *
+     * <pre>
+     *     while (src.hasRemaining())
+     *         dst.put(src.get()); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The source buffer from which longs are to be read;
+     *         must not be this buffer
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *          for the remaining longs in the source buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the source buffer is this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public LongBuffer put(LongBuffer src) {
+	if (src == this)
+	    throw new IllegalArgumentException();
+	int n = src.remaining();
+	if (n > remaining())
+	    throw new BufferOverflowException();
+	for (int i = 0; i < n; i++)
+	    put(src.get());
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers longs into this buffer from the given
+     * source array.  If there are more longs to be copied from the array
+     * than remain in this buffer, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * longs are transferred and a {@link BufferOverflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> longs from the
+     * given array into this buffer, starting at the given offset in the array
+     * and at the current position of this buffer.  The position of this buffer
+     * is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst.put(a[i]); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The array from which longs are to be read
+     *
+     * @param  offset
+     *         The offset within the array of the first long to be read;
+     *         must be non-negative and no larger than <tt>array.length</tt>
+     *
+     * @param  length
+     *         The number of longs to be read from the given array;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public LongBuffer put(long[] src, int offset, int length) {
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    this.put(src[i]);
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source
+     * long array into this buffer.  An invocation of this method of the
+     * form <tt>dst.put(a)</tt> behaves in exactly the same way as the
+     * invocation
+     *
+     * <pre>
+     *     dst.put(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final LongBuffer put(long[] src) {
+	return put(src, 0, src.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other stuff --
+
+    /**
+     * Tells whether or not this buffer is backed by an accessible long
+     * array.
+     *
+     * <p> If this method returns <tt>true</tt> then the {@link #array() array}
+     * and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
+     * </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer
+     *          is backed by an array and is not read-only
+     */
+    public final boolean hasArray() {
+	return (hb != null) && !isReadOnly;
+    }
+
+    /**
+     * Returns the long array that backs this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Modifications to this buffer's content will cause the returned
+     * array's content to be modified, and vice versa.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The array that backs this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final long[] array() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return hb;
+    }
+
+    /**
+     * Returns the offset within this buffer's backing array of the first
+     * element of the buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this buffer is backed by an array then buffer position <i>p</i>
+     * corresponds to array index <i>p</i>&nbsp;+&nbsp;<tt>arrayOffset()</tt>.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The offset within this buffer's array
+     *          of the first element of the buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int arrayOffset() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return offset;
+    }
+
+    /**
+     * Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> The longs between the buffer's current position and its limit,
+     * if any, are copied to the beginning of the buffer.  That is, the
+     * long at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
+     * to index zero, the long at index <i>p</i>&nbsp;+&nbsp;1 is copied
+     * to index one, and so forth until the long at index
+     * <tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
+     * <i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
+     * The buffer's position is then set to <i>n+1</i> and its limit is set to
+     * its capacity.  The mark, if defined, is discarded.
+     *
+     * <p> The buffer's position is set to the number of longs copied,
+     * rather than to zero, so that an invocation of this method can be
+     * followed immediately by an invocation of another relative <i>put</i>
+     * method. </p>
+     *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     *
+     * @return  This buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract LongBuffer compact();
+
+    /**
+     * Tells whether or not this long buffer is direct. </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is direct
+     */
+    public abstract boolean isDirect();
+
+
+
+    /**
+     * Returns a string summarizing the state of this buffer.  </p>
+     *
+     * @return  A summary string
+     */
+    public String toString() {
+	StringBuffer sb = new StringBuffer();
+	sb.append(getClass().getName());
+	sb.append("[pos=");
+	sb.append(position());
+	sb.append(" lim=");
+	sb.append(limit());
+	sb.append(" cap=");
+	sb.append(capacity());
+	sb.append("]");
+	return sb.toString();
+    }
+
+
+
+
+    
+
+    /**
+     * Returns the current hash code of this buffer.
+     *
+     * <p> The hash code of a long buffer depends only upon its remaining
+     * elements; that is, upon the elements from <tt>position()</tt> up to, and
+     * including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
+     *
+     * <p> Because buffer hash codes are content-dependent, it is inadvisable
+     * to use buffers as keys in hash maps or similar data structures unless it
+     * is known that their contents will not change.  </p>
+     *
+     * @return  The current hash code of this buffer
+     */
+    public int hashCode() {
+	int h = 1;
+	int p = position();
+	for (int i = limit() - 1; i >= p; i--)
+	    h = 31 * h + (int)get(i);
+	return h;
+    }
+
+    /**
+     * Tells whether or not this buffer is equal to another object.
+     *
+     * <p> Two long buffers are equal if, and only if,
+     *
+     * <p><ol>
+     *
+     *   <li><p> They have the same element type,  </p></li>
+     *
+     *   <li><p> They have the same number of remaining elements, and
+     *   </p></li>
+     *
+     *   <li><p> The two sequences of remaining elements, considered
+     *   independently of their starting positions, are pointwise equal.
+     *   </p></li>
+     *
+     * </ol>
+     *
+     * <p> A long buffer is not equal to any other type of object.  </p>
+     *
+     * @param  ob  The object to which this buffer is to be compared
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is equal to the
+     *           given object
+     */
+    public boolean equals(Object ob) {
+	if (this == ob)
+	    return true;
+	if (!(ob instanceof LongBuffer))
+	    return false;
+	LongBuffer that = (LongBuffer)ob;
+	if (this.remaining() != that.remaining())
+	    return false;
+	int p = this.position();
+	for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) {
+	    long v1 = this.get(i);
+	    long v2 = that.get(j);
+	    if (v1 != v2) {
+		if ((v1 != v1) && (v2 != v2))	// For float and double
+		    continue;
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * Compares this buffer to another.
+     *
+     * <p> Two long buffers are compared by comparing their sequences of
+     * remaining elements lexicographically, without regard to the starting
+     * position of each sequence within its corresponding buffer.
+     *
+     * <p> A long buffer is not comparable to any other type of object.
+     *
+     * @return  A negative integer, zero, or a positive integer as this buffer
+     *		is less than, equal to, or greater than the given buffer
+     */
+    public int compareTo(LongBuffer that) {
+	int n = this.position() + Math.min(this.remaining(), that.remaining());
+	for (int i = this.position(), j = that.position(); i < n; i++, j++) {
+	    long v1 = this.get(i);
+	    long v2 = that.get(j);
+	    if (v1 == v2)
+		continue;
+	    if ((v1 != v1) && (v2 != v2)) 	// For float and double
+		continue;
+	    if (v1 < v2)
+		return -1;
+	    return +1;
+	}
+	return this.remaining() - that.remaining();
+    }
+
+
+
+    // -- Other char stuff --
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other byte stuff: Access to binary data --
+
+
+
+    /**
+     * Retrieves this buffer's byte order.
+     *
+     * <p> The byte order of a long buffer created by allocation or by
+     * wrapping an existing <tt>long</tt> array is the {@link
+     * ByteOrder#nativeOrder </code>native order<code>} of the underlying
+     * hardware.  The byte order of a long buffer created as a <a
+     * href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
+     * byte buffer at the moment that the view is created.  </p>
+     *
+     * @return  This buffer's byte order
+     */
+    public abstract ByteOrder order();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/ShortBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1427 @@
+/*
+ * Copyright 2000-2007 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio;
+
+
+
+
+
+/**
+ * A short buffer.
+ *
+ * <p> This class defines four categories of operations upon
+ * short buffers:
+ *
+ * <ul>
+ *
+ *   <li><p> Absolute and relative {@link #get() </code><i>get</i><code>} and
+ *   {@link #put(short) </code><i>put</i><code>} methods that read and write
+ *   single shorts; </p></li>
+ *
+ *   <li><p> Relative {@link #get(short[]) </code><i>bulk get</i><code>}
+ *   methods that transfer contiguous sequences of shorts from this buffer
+ *   into an array; and</p></li>
+ *
+ *   <li><p> Relative {@link #put(short[]) </code><i>bulk put</i><code>}
+ *   methods that transfer contiguous sequences of shorts from a
+ *   short array or some other short
+ *   buffer into this buffer;&#32;and </p></li>
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *   <li><p> Methods for {@link #compact </code>compacting<code>}, {@link
+ *   #duplicate </code>duplicating<code>}, and {@link #slice
+ *   </code>slicing<code>} a short buffer.  </p></li>
+ *
+ * </ul>
+ *
+ * <p> Short buffers can be created either by {@link #allocate
+ * </code><i>allocation</i><code>}, which allocates space for the buffer's
+ *
+
+
+
+
+
+
+ *
+ * content, by {@link #wrap(short[]) </code><i>wrapping</i><code>} an existing
+ * short array  into a buffer, or by creating a
+ * <a href="ByteBuffer.html#views"><i>view</i></a> of an existing byte buffer.
+ *
+
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+*
+
+ *
+ * <p> Like a byte buffer, a short buffer is either <a
+ * href="ByteBuffer.html#direct"><i>direct</i> or <i>non-direct</i></a>.  A
+ * short buffer created via the <tt>wrap</tt> methods of this class will
+ * be non-direct.  A short buffer created as a view of a byte buffer will
+ * be direct if, and only if, the byte buffer itself is direct.  Whether or not
+ * a short buffer is direct may be determined by invoking the {@link
+ * #isDirect isDirect} method.  </p>
+ *
+
+*
+
+
+
+
+
+
+
+
+ *
+
+
+
+ *
+ * <p> Methods in this class that do not otherwise have a value to return are
+ * specified to return the buffer upon which they are invoked.  This allows
+ * method invocations to be chained.
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ *
+ *
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @version 1.69, 07/05/05
+ * @since 1.4
+ */
+
+public abstract class ShortBuffer
+    extends Buffer
+    implements Comparable<ShortBuffer>
+{
+
+    // These fields are declared here rather than in Heap-X-Buffer in order to
+    // reduce the number of virtual method invocations needed to access these
+    // values, which is especially costly when coding small buffers.
+    //
+    final short[] hb;			// Non-null only for heap buffers
+    final int offset;
+    boolean isReadOnly;			// Valid only for heap buffers
+
+    // Creates a new buffer with the given mark, position, limit, capacity,
+    // backing array, and array offset
+    //
+    ShortBuffer(int mark, int pos, int lim, int cap,	// package-private
+		 short[] hb, int offset)
+    {
+	super(mark, pos, lim, cap);
+	this.hb = hb;
+	this.offset = offset;
+    }
+
+    // Creates a new buffer with the given mark, position, limit, and capacity
+    //
+    ShortBuffer(int mark, int pos, int lim, int cap) {	// package-private
+	this(mark, pos, lim, cap, null, 0);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Allocates a new short buffer.
+     *
+     * <p> The new buffer's position will be zero, its limit will be its
+     * capacity, and its mark will be undefined.  It will have a {@link #array
+     * </code>backing array<code>}, and its {@link #arrayOffset </code>array
+     * offset<code>} will be zero.
+     *
+     * @param  capacity
+     *         The new buffer's capacity, in shorts
+     *
+     * @return  The new short buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the <tt>capacity</tt> is a negative integer
+     */
+    public static ShortBuffer allocate(int capacity) {
+	if (capacity < 0)
+	    throw new IllegalArgumentException();
+	return new HeapShortBuffer(capacity, capacity);
+    }
+
+    /**
+     * Wraps a short array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given short array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity will be
+     * <tt>array.length</tt>, its position will be <tt>offset</tt>, its limit
+     * will be <tt>offset + length</tt>, and its mark will be undefined.  Its
+     * {@link #array </code>backing array<code>} will be the given array, and
+     * its {@link #arrayOffset </code>array offset<code>} will be zero.  </p>
+     *
+     * @param  array
+     *         The array that will back the new buffer
+     *
+     * @param  offset
+     *         The offset of the subarray to be used; must be non-negative and
+     *         no larger than <tt>array.length</tt>.  The new buffer's position
+     *         will be set to this value.
+     *
+     * @param  length
+     *         The length of the subarray to be used;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>.
+     *         The new buffer's limit will be set to <tt>offset + length</tt>.
+     *
+     * @return  The new short buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public static ShortBuffer wrap(short[] array,
+				    int offset, int length)
+    {
+	try {
+	    return new HeapShortBuffer(array, offset, length);
+	} catch (IllegalArgumentException x) {
+	    throw new IndexOutOfBoundsException();
+	}
+    }
+
+    /**
+     * Wraps a short array into a buffer.
+     *
+     * <p> The new buffer will be backed by the given short array;
+     * that is, modifications to the buffer will cause the array to be modified
+     * and vice versa.  The new buffer's capacity and limit will be
+     * <tt>array.length</tt>, its position will be zero, and its mark will be
+     * undefined.  Its {@link #array </code>backing array<code>} will be the
+     * given array, and its {@link #arrayOffset </code>array offset<code>} will
+     * be zero.  </p> 
+     *
+     * @param  array
+     *         The array that will back this buffer
+     *
+     * @return  The new short buffer
+     */
+    public static ShortBuffer wrap(short[] array) {
+	return wrap(array, 0, array.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Creates a new short buffer whose content is a shared subsequence of
+     * this buffer's content.
+     *
+     * <p> The content of the new buffer will start at this buffer's current
+     * position.  Changes to this buffer's content will be visible in the new
+     * buffer, and vice versa; the two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's position will be zero, its capacity and its limit
+     * will be the number of shorts remaining in this buffer, and its mark
+     * will be undefined.  The new buffer will be direct if, and only if, this
+     * buffer is direct, and it will be read-only if, and only if, this buffer
+     * is read-only.  </p>
+     *
+     * @return  The new short buffer
+     */
+    public abstract ShortBuffer slice();
+
+    /**
+     * Creates a new short buffer that shares this buffer's content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer, and vice
+     * versa; the two buffers' position, limit, and mark values will be
+     * independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.  The new buffer will be direct if,
+     * and only if, this buffer is direct, and it will be read-only if, and
+     * only if, this buffer is read-only.  </p>
+     *
+     * @return  The new short buffer
+     */
+    public abstract ShortBuffer duplicate();
+
+    /**
+     * Creates a new, read-only short buffer that shares this buffer's
+     * content.
+     *
+     * <p> The content of the new buffer will be that of this buffer.  Changes
+     * to this buffer's content will be visible in the new buffer; the new
+     * buffer itself, however, will be read-only and will not allow the shared
+     * content to be modified.  The two buffers' position, limit, and mark
+     * values will be independent.
+     *
+     * <p> The new buffer's capacity, limit, position, and mark values will be
+     * identical to those of this buffer.
+     *
+     * <p> If this buffer is itself read-only then this method behaves in
+     * exactly the same way as the {@link #duplicate duplicate} method.  </p>
+     *
+     * @return  The new, read-only short buffer
+     */
+    public abstract ShortBuffer asReadOnlyBuffer();
+
+
+    // -- Singleton get/put methods --
+
+    /**
+     * Relative <i>get</i> method.  Reads the short at this buffer's
+     * current position, and then increments the position. </p>
+     *
+     * @return  The short at the buffer's current position
+     *
+     * @throws  BufferUnderflowException
+     *          If the buffer's current position is not smaller than its limit
+     */
+    public abstract short get();
+
+    /**
+     * Relative <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given short into this buffer at the current
+     * position, and then increments the position. </p>
+     *
+     * @param  s
+     *         The short to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If this buffer's current position is not smaller than its limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ShortBuffer put(short s);
+
+    /**
+     * Absolute <i>get</i> method.  Reads the short at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index from which the short will be read
+     *
+     * @return  The short at the given index
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     */
+    public abstract short get(int index);
+
+    /**
+     * Absolute <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     * 
+     * <p> Writes the given short into this buffer at the given
+     * index. </p>
+     *
+     * @param  index
+     *         The index at which the short will be written
+     *
+     * @param  s
+     *         The short value to be written
+     *
+     * @return  This buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If <tt>index</tt> is negative
+     *          or not smaller than the buffer's limit
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ShortBuffer put(int index, short s);
+
+
+    // -- Bulk get operations --
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers shorts from this buffer into the given
+     * destination array.  If there are fewer shorts remaining in the
+     * buffer than are required to satisfy the request, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * shorts are transferred and a {@link BufferUnderflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> shorts from this
+     * buffer into the given array, starting at the current position of this
+     * buffer and at the given offset in the array.  The position of this
+     * buffer is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>src.get(dst,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst[i] = src.get(); </pre>
+     *
+     * except that it first checks that there are sufficient shorts in
+     * this buffer and it is potentially much more efficient. </p>
+     *
+     * @param  dst
+     *         The array into which shorts are to be written
+     *
+     * @param  offset
+     *         The offset within the array of the first short to be
+     *         written; must be non-negative and no larger than
+     *         <tt>dst.length</tt>
+     *
+     * @param  length
+     *         The maximum number of shorts to be written to the given
+     *         array; must be non-negative and no larger than
+     *         <tt>dst.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> shorts
+     *          remaining in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     */
+    public ShortBuffer get(short[] dst, int offset, int length) {
+	checkBounds(offset, length, dst.length);
+	if (length > remaining())
+	    throw new BufferUnderflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    dst[i] = get();
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>get</i> method.
+     *
+     * <p> This method transfers shorts from this buffer into the given
+     * destination array.  An invocation of this method of the form
+     * <tt>src.get(a)</tt> behaves in exactly the same way as the invocation
+     *
+     * <pre>
+     *     src.get(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferUnderflowException
+     *          If there are fewer than <tt>length</tt> shorts
+     *          remaining in this buffer
+     */
+    public ShortBuffer get(short[] dst) {
+	return get(dst, 0, dst.length);
+    }
+
+
+    // -- Bulk put operations --
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the shorts remaining in the given source
+     * buffer into this buffer.  If there are more shorts remaining in the
+     * source buffer than in this buffer, that is, if
+     * <tt>src.remaining()</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>,
+     * then no shorts are transferred and a {@link
+     * BufferOverflowException} is thrown.
+     *
+     * <p> Otherwise, this method copies
+     * <i>n</i>&nbsp;=&nbsp;<tt>src.remaining()</tt> shorts from the given
+     * buffer into this buffer, starting at each buffer's current position.
+     * The positions of both buffers are then incremented by <i>n</i>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src)</tt> has exactly the same effect as the loop
+     *
+     * <pre>
+     *     while (src.hasRemaining())
+     *         dst.put(src.get()); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The source buffer from which shorts are to be read;
+     *         must not be this buffer
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *          for the remaining shorts in the source buffer
+     *
+     * @throws  IllegalArgumentException
+     *          If the source buffer is this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public ShortBuffer put(ShortBuffer src) {
+	if (src == this)
+	    throw new IllegalArgumentException();
+	int n = src.remaining();
+	if (n > remaining())
+	    throw new BufferOverflowException();
+	for (int i = 0; i < n; i++)
+	    put(src.get());
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers shorts into this buffer from the given
+     * source array.  If there are more shorts to be copied from the array
+     * than remain in this buffer, that is, if
+     * <tt>length</tt>&nbsp;<tt>&gt;</tt>&nbsp;<tt>remaining()</tt>, then no
+     * shorts are transferred and a {@link BufferOverflowException} is
+     * thrown.
+     *
+     * <p> Otherwise, this method copies <tt>length</tt> shorts from the
+     * given array into this buffer, starting at the given offset in the array
+     * and at the current position of this buffer.  The position of this buffer
+     * is then incremented by <tt>length</tt>.
+     *
+     * <p> In other words, an invocation of this method of the form
+     * <tt>dst.put(src,&nbsp;off,&nbsp;len)</tt> has exactly the same effect as
+     * the loop
+     *
+     * <pre>
+     *     for (int i = off; i < off + len; i++)
+     *         dst.put(a[i]); </pre>
+     *
+     * except that it first checks that there is sufficient space in this
+     * buffer and it is potentially much more efficient. </p>
+     *
+     * @param  src
+     *         The array from which shorts are to be read
+     *
+     * @param  offset
+     *         The offset within the array of the first short to be read;
+     *         must be non-negative and no larger than <tt>array.length</tt>
+     *
+     * @param  length
+     *         The number of shorts to be read from the given array;
+     *         must be non-negative and no larger than
+     *         <tt>array.length - offset</tt>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  IndexOutOfBoundsException
+     *          If the preconditions on the <tt>offset</tt> and <tt>length</tt>
+     *          parameters do not hold
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public ShortBuffer put(short[] src, int offset, int length) {
+	checkBounds(offset, length, src.length);
+	if (length > remaining())
+	    throw new BufferOverflowException();
+	int end = offset + length;
+	for (int i = offset; i < end; i++)
+	    this.put(src[i]);
+	return this;
+    }
+
+    /**
+     * Relative bulk <i>put</i> method&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> This method transfers the entire content of the given source
+     * short array into this buffer.  An invocation of this method of the
+     * form <tt>dst.put(a)</tt> behaves in exactly the same way as the
+     * invocation
+     *
+     * <pre>
+     *     dst.put(a, 0, a.length) </pre>
+     *
+     * @return  This buffer
+     *
+     * @throws  BufferOverflowException
+     *          If there is insufficient space in this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public final ShortBuffer put(short[] src) {
+	return put(src, 0, src.length);
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other stuff --
+
+    /**
+     * Tells whether or not this buffer is backed by an accessible short
+     * array.
+     *
+     * <p> If this method returns <tt>true</tt> then the {@link #array() array}
+     * and {@link #arrayOffset() arrayOffset} methods may safely be invoked.
+     * </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer
+     *          is backed by an array and is not read-only
+     */
+    public final boolean hasArray() {
+	return (hb != null) && !isReadOnly;
+    }
+
+    /**
+     * Returns the short array that backs this
+     * buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> Modifications to this buffer's content will cause the returned
+     * array's content to be modified, and vice versa.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The array that backs this buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final short[] array() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return hb;
+    }
+
+    /**
+     * Returns the offset within this buffer's backing array of the first
+     * element of the buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this buffer is backed by an array then buffer position <i>p</i>
+     * corresponds to array index <i>p</i>&nbsp;+&nbsp;<tt>arrayOffset()</tt>.
+     *
+     * <p> Invoke the {@link #hasArray hasArray} method before invoking this
+     * method in order to ensure that this buffer has an accessible backing
+     * array.  </p>
+     *
+     * @return  The offset within this buffer's array
+     *          of the first element of the buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is backed by an array but is read-only
+     *
+     * @throws  UnsupportedOperationException
+     *          If this buffer is not backed by an accessible array
+     */
+    public final int arrayOffset() {
+	if (hb == null)
+	    throw new UnsupportedOperationException();
+	if (isReadOnly)
+	    throw new ReadOnlyBufferException();
+	return offset;
+    }
+
+    /**
+     * Compacts this buffer&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> The shorts between the buffer's current position and its limit,
+     * if any, are copied to the beginning of the buffer.  That is, the
+     * short at index <i>p</i>&nbsp;=&nbsp;<tt>position()</tt> is copied
+     * to index zero, the short at index <i>p</i>&nbsp;+&nbsp;1 is copied
+     * to index one, and so forth until the short at index
+     * <tt>limit()</tt>&nbsp;-&nbsp;1 is copied to index
+     * <i>n</i>&nbsp;=&nbsp;<tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>&nbsp;-&nbsp;<i>p</i>.
+     * The buffer's position is then set to <i>n+1</i> and its limit is set to
+     * its capacity.  The mark, if defined, is discarded.
+     *
+     * <p> The buffer's position is set to the number of shorts copied,
+     * rather than to zero, so that an invocation of this method can be
+     * followed immediately by an invocation of another relative <i>put</i>
+     * method. </p>
+     *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+     *
+     * @return  This buffer
+     *
+     * @throws  ReadOnlyBufferException
+     *          If this buffer is read-only
+     */
+    public abstract ShortBuffer compact();
+
+    /**
+     * Tells whether or not this short buffer is direct. </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is direct
+     */
+    public abstract boolean isDirect();
+
+
+
+    /**
+     * Returns a string summarizing the state of this buffer.  </p>
+     *
+     * @return  A summary string
+     */
+    public String toString() {
+	StringBuffer sb = new StringBuffer();
+	sb.append(getClass().getName());
+	sb.append("[pos=");
+	sb.append(position());
+	sb.append(" lim=");
+	sb.append(limit());
+	sb.append(" cap=");
+	sb.append(capacity());
+	sb.append("]");
+	return sb.toString();
+    }
+
+
+
+
+    
+
+    /**
+     * Returns the current hash code of this buffer.
+     *
+     * <p> The hash code of a short buffer depends only upon its remaining
+     * elements; that is, upon the elements from <tt>position()</tt> up to, and
+     * including, the element at <tt>limit()</tt>&nbsp;-&nbsp;<tt>1</tt>.
+     *
+     * <p> Because buffer hash codes are content-dependent, it is inadvisable
+     * to use buffers as keys in hash maps or similar data structures unless it
+     * is known that their contents will not change.  </p>
+     *
+     * @return  The current hash code of this buffer
+     */
+    public int hashCode() {
+	int h = 1;
+	int p = position();
+	for (int i = limit() - 1; i >= p; i--)
+	    h = 31 * h + (int)get(i);
+	return h;
+    }
+
+    /**
+     * Tells whether or not this buffer is equal to another object.
+     *
+     * <p> Two short buffers are equal if, and only if,
+     *
+     * <p><ol>
+     *
+     *   <li><p> They have the same element type,  </p></li>
+     *
+     *   <li><p> They have the same number of remaining elements, and
+     *   </p></li>
+     *
+     *   <li><p> The two sequences of remaining elements, considered
+     *   independently of their starting positions, are pointwise equal.
+     *   </p></li>
+     *
+     * </ol>
+     *
+     * <p> A short buffer is not equal to any other type of object.  </p>
+     *
+     * @param  ob  The object to which this buffer is to be compared
+     *
+     * @return  <tt>true</tt> if, and only if, this buffer is equal to the
+     *           given object
+     */
+    public boolean equals(Object ob) {
+	if (this == ob)
+	    return true;
+	if (!(ob instanceof ShortBuffer))
+	    return false;
+	ShortBuffer that = (ShortBuffer)ob;
+	if (this.remaining() != that.remaining())
+	    return false;
+	int p = this.position();
+	for (int i = this.limit() - 1, j = that.limit() - 1; i >= p; i--, j--) {
+	    short v1 = this.get(i);
+	    short v2 = that.get(j);
+	    if (v1 != v2) {
+		if ((v1 != v1) && (v2 != v2))	// For float and double
+		    continue;
+		return false;
+	    }
+	}
+	return true;
+    }
+
+    /**
+     * Compares this buffer to another.
+     *
+     * <p> Two short buffers are compared by comparing their sequences of
+     * remaining elements lexicographically, without regard to the starting
+     * position of each sequence within its corresponding buffer.
+     *
+     * <p> A short buffer is not comparable to any other type of object.
+     *
+     * @return  A negative integer, zero, or a positive integer as this buffer
+     *		is less than, equal to, or greater than the given buffer
+     */
+    public int compareTo(ShortBuffer that) {
+	int n = this.position() + Math.min(this.remaining(), that.remaining());
+	for (int i = this.position(), j = that.position(); i < n; i++, j++) {
+	    short v1 = this.get(i);
+	    short v2 = that.get(j);
+	    if (v1 == v2)
+		continue;
+	    if ((v1 != v1) && (v2 != v2)) 	// For float and double
+		continue;
+	    if (v1 < v2)
+		return -1;
+	    return +1;
+	}
+	return this.remaining() - that.remaining();
+    }
+
+
+
+    // -- Other char stuff --
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    // -- Other byte stuff: Access to binary data --
+
+
+
+    /**
+     * Retrieves this buffer's byte order.
+     *
+     * <p> The byte order of a short buffer created by allocation or by
+     * wrapping an existing <tt>short</tt> array is the {@link
+     * ByteOrder#nativeOrder </code>native order<code>} of the underlying
+     * hardware.  The byte order of a short buffer created as a <a
+     * href="ByteBuffer.html#views">view</a> of a byte buffer is that of the
+     * byte buffer at the moment that the view is created.  </p>
+     *
+     * @return  This buffer's byte order
+     */
+    public abstract ByteOrder order();
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/charset/CharsetDecoder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,973 @@
+/*
+ * Copyright 2000-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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio.charset;
+
+import java.nio.Buffer;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.BufferOverflowException;
+import java.nio.BufferUnderflowException;
+import java.lang.ref.WeakReference;
+import java.nio.charset.CoderMalfunctionError;			// javadoc
+
+
+/**
+ * An engine that can transform a sequence of bytes in a specific charset into a sequence of
+ * sixteen-bit Unicode characters.
+ *
+ * <a name="steps">
+ *
+ * <p> The input byte sequence is provided in a byte buffer or a series
+ * of such buffers.  The output character sequence is written to a character buffer
+ * or a series of such buffers.  A decoder should always be used by making
+ * the following sequence of method invocations, hereinafter referred to as a
+ * <i>decoding operation</i>:
+ *
+ * <ol>
+ *
+ *   <li><p> Reset the decoder via the {@link #reset reset} method, unless it
+ *   has not been used before; </p></li>
+ *
+ *   <li><p> Invoke the {@link #decode decode} method zero or more times, as
+ *   long as additional input may be available, passing <tt>false</tt> for the
+ *   <tt>endOfInput</tt> argument and filling the input buffer and flushing the
+ *   output buffer between invocations; </p></li>
+ *
+ *   <li><p> Invoke the {@link #decode decode} method one final time, passing
+ *   <tt>true</tt> for the <tt>endOfInput</tt> argument; and then </p></li>
+ *
+ *   <li><p> Invoke the {@link #flush flush} method so that the decoder can
+ *   flush any internal state to the output buffer. </p></li>
+ *
+ * </ol>
+ *
+ * Each invocation of the {@link #decode decode} method will decode as many
+ * bytes as possible from the input buffer, writing the resulting characters
+ * to the output buffer.  The {@link #decode decode} method returns when more
+ * input is required, when there is not enough room in the output buffer, or
+ * when a decoding error has occurred.  In each case a {@link CoderResult}
+ * object is returned to describe the reason for termination.  An invoker can
+ * examine this object and fill the input buffer, flush the output buffer, or
+ * attempt to recover from a decoding error, as appropriate, and try again.
+ *
+ * <a name="ce">
+ *
+ * <p> There are two general types of decoding errors.  If the input byte
+ * sequence is not legal for this charset then the input is considered <i>malformed</i>.  If
+ * the input byte sequence is legal but cannot be mapped to a valid
+ * Unicode character then an <i>unmappable character</i> has been encountered.
+ *
+ * <a name="cae">
+ *
+ * <p> How a decoding error is handled depends upon the action requested for
+ * that type of error, which is described by an instance of the {@link
+ * CodingErrorAction} class.  The possible error actions are to {@link
+ * CodingErrorAction#IGNORE </code>ignore<code>} the erroneous input, {@link
+ * CodingErrorAction#REPORT </code>report<code>} the error to the invoker via
+ * the returned {@link CoderResult} object, or {@link CodingErrorAction#REPLACE
+ * </code>replace<code>} the erroneous input with the current value of the
+ * replacement string.  The replacement
+ *
+
+
+
+
+
+ * has the initial value <tt>"&#92;uFFFD"</tt>;
+
+ *
+ * its value may be changed via the {@link #replaceWith(java.lang.String)
+ * replaceWith} method.
+ *
+ * <p> The default action for malformed-input and unmappable-character errors
+ * is to {@link CodingErrorAction#REPORT </code>report<code>} them.  The
+ * malformed-input error action may be changed via the {@link
+ * #onMalformedInput(CodingErrorAction) onMalformedInput} method; the
+ * unmappable-character action may be changed via the {@link
+ * #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter} method.
+ *
+ * <p> This class is designed to handle many of the details of the decoding
+ * process, including the implementation of error actions.  A decoder for a
+ * specific charset, which is a concrete subclass of this class, need only
+ * implement the abstract {@link #decodeLoop decodeLoop} method, which
+ * encapsulates the basic decoding loop.  A subclass that maintains internal
+ * state should, additionally, override the {@link #implFlush implFlush} and
+ * {@link #implReset implReset} methods.
+ *
+ * <p> Instances of this class are not safe for use by multiple concurrent
+ * threads.  </p>
+ *
+ *
+ * @version 1.52, 07/05/05
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @since 1.4
+ *
+ * @see ByteBuffer
+ * @see CharBuffer
+ * @see Charset
+ * @see CharsetEncoder
+ */
+
+public abstract class CharsetDecoder {
+
+    private final Charset charset;
+    private final float averageCharsPerByte;
+    private final float maxCharsPerByte;
+
+    private String replacement;
+    private CodingErrorAction malformedInputAction
+	= CodingErrorAction.REPORT;
+    private CodingErrorAction unmappableCharacterAction
+	= CodingErrorAction.REPORT;
+
+    // Internal states
+    //
+    private static final int ST_RESET   = 0;
+    private static final int ST_CODING  = 1;
+    private static final int ST_END     = 2;
+    private static final int ST_FLUSHED = 3;
+
+    private int state = ST_RESET;
+
+    private static String stateNames[]
+	= { "RESET", "CODING", "CODING_END", "FLUSHED" };
+
+
+    /**
+     * Initializes a new decoder.  The new decoder will have the given
+     * chars-per-byte and replacement values. </p>
+     *
+     * @param  averageCharsPerByte
+     *         A positive float value indicating the expected number of
+     *         characters that will be produced for each input byte
+     *
+     * @param  maxCharsPerByte
+     *         A positive float value indicating the maximum number of
+     *         characters that will be produced for each input byte
+     *
+     * @param  replacement
+     *         The initial replacement; must not be <tt>null</tt>, must have
+     *         non-zero length, must not be longer than maxCharsPerByte,
+     *         and must be {@link #isLegalReplacement </code>legal<code>}
+     *
+     * @throws  IllegalArgumentException
+     *          If the preconditions on the parameters do not hold
+     */
+    private
+    CharsetDecoder(Charset cs,
+		   float averageCharsPerByte,
+		   float maxCharsPerByte,
+		   String replacement)
+    {
+	this.charset = cs;
+	if (averageCharsPerByte <= 0.0f)
+	    throw new IllegalArgumentException("Non-positive "
+					       + "averageCharsPerByte");
+	if (maxCharsPerByte <= 0.0f)
+	    throw new IllegalArgumentException("Non-positive "
+					       + "maxCharsPerByte");
+	if (!Charset.atBugLevel("1.4")) {
+	    if (averageCharsPerByte > maxCharsPerByte)
+		throw new IllegalArgumentException("averageCharsPerByte"
+						   + " exceeds "
+						   + "maxCharsPerByte");
+	}
+	this.replacement = replacement;
+	this.averageCharsPerByte = averageCharsPerByte;
+	this.maxCharsPerByte = maxCharsPerByte;
+	replaceWith(replacement);
+    }
+
+    /**
+     * Initializes a new decoder.  The new decoder will have the given
+     * chars-per-byte values and its replacement will be the
+     * string <tt>"&#92;uFFFD"</tt>. </p>
+     *
+     * @param  averageCharsPerByte
+     *         A positive float value indicating the expected number of
+     *         characters that will be produced for each input byte
+     *
+     * @param  maxCharsPerByte
+     *         A positive float value indicating the maximum number of
+     *         characters that will be produced for each input byte
+     *
+     * @throws  IllegalArgumentException
+     *          If the preconditions on the parameters do not hold
+     */
+    protected CharsetDecoder(Charset cs,
+			     float averageCharsPerByte,
+			     float maxCharsPerByte)
+    {
+	this(cs,
+	     averageCharsPerByte, maxCharsPerByte,
+	     "\uFFFD");
+    }
+
+    /**
+     * Returns the charset that created this decoder.  </p>
+     *
+     * @return  This decoder's charset
+     */
+    public final Charset charset() {
+	return charset;
+    }
+
+    /**
+     * Returns this decoder's replacement value. </p>
+     *
+     * @return  This decoder's current replacement,
+     *          which is never <tt>null</tt> and is never empty
+     */
+    public final String replacement() {
+	return replacement;
+    }
+
+    /**
+     * Changes this decoder's replacement value.
+     *
+     * <p> This method invokes the {@link #implReplaceWith implReplaceWith}
+     * method, passing the new replacement, after checking that the new
+     * replacement is acceptable.  </p>
+     *
+     * @param  newReplacement
+     *
+
+     *         The new replacement; must not be <tt>null</tt>
+     *         and must have non-zero length
+
+
+
+
+
+
+
+     *
+     * @return  This decoder
+     *
+     * @throws  IllegalArgumentException
+     *          If the preconditions on the parameter do not hold
+     */
+    public final CharsetDecoder replaceWith(String newReplacement) {
+	if (newReplacement == null)
+	    throw new IllegalArgumentException("Null replacement");
+	int len = newReplacement.length();
+	if (len == 0)
+	    throw new IllegalArgumentException("Empty replacement");
+	if (len > maxCharsPerByte)
+	    throw new IllegalArgumentException("Replacement too long");
+
+
+
+
+	this.replacement = newReplacement;
+	implReplaceWith(newReplacement);
+	return this;
+    }
+
+    /**
+     * Reports a change to this decoder's replacement value.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by decoders that require notification of changes to
+     * the replacement.  </p>
+     *
+     * @param  newReplacement
+     */
+    protected void implReplaceWith(String newReplacement) {
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    /**
+     * Returns this decoder's current action for malformed-input errors.  </p>
+     *
+     * @return The current malformed-input action, which is never <tt>null</tt>
+     */
+    public CodingErrorAction malformedInputAction() {
+	return malformedInputAction;
+    }
+
+    /**
+     * Changes this decoder's action for malformed-input errors.  </p>
+     *
+     * <p> This method invokes the {@link #implOnMalformedInput
+     * implOnMalformedInput} method, passing the new action.  </p>
+     *
+     * @param  newAction  The new action; must not be <tt>null</tt>
+     *
+     * @return  This decoder
+     *
+     * @throws IllegalArgumentException
+     *         If the precondition on the parameter does not hold
+     */
+    public final CharsetDecoder onMalformedInput(CodingErrorAction newAction) {
+	if (newAction == null)
+	    throw new IllegalArgumentException("Null action");
+	malformedInputAction = newAction;
+	implOnMalformedInput(newAction);
+	return this;
+    }
+
+    /**
+     * Reports a change to this decoder's malformed-input action.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by decoders that require notification of changes to
+     * the malformed-input action.  </p>
+     */
+    protected void implOnMalformedInput(CodingErrorAction newAction) { }
+
+    /**
+     * Returns this decoder's current action for unmappable-character errors.
+     * </p>
+     *
+     * @return The current unmappable-character action, which is never
+     *         <tt>null</tt>
+     */
+    public CodingErrorAction unmappableCharacterAction() {
+	return unmappableCharacterAction;
+    }
+
+    /**
+     * Changes this decoder's action for unmappable-character errors.
+     *
+     * <p> This method invokes the {@link #implOnUnmappableCharacter
+     * implOnUnmappableCharacter} method, passing the new action.  </p>
+     *
+     * @param  newAction  The new action; must not be <tt>null</tt>
+     *
+     * @return  This decoder
+     *
+     * @throws IllegalArgumentException
+     *         If the precondition on the parameter does not hold
+     */
+    public final CharsetDecoder onUnmappableCharacter(CodingErrorAction
+						      newAction)
+    {
+	if (newAction == null)
+	    throw new IllegalArgumentException("Null action");
+	unmappableCharacterAction = newAction;
+	implOnUnmappableCharacter(newAction);
+	return this;
+    }
+
+    /**
+     * Reports a change to this decoder's unmappable-character action.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by decoders that require notification of changes to
+     * the unmappable-character action.  </p>
+     */
+    protected void implOnUnmappableCharacter(CodingErrorAction newAction) { }
+
+    /**
+     * Returns the average number of characters that will be produced for each
+     * byte of input.  This heuristic value may be used to estimate the size
+     * of the output buffer required for a given input sequence. </p>
+     *
+     * @return  The average number of characters produced
+     *          per byte of input
+     */
+    public final float averageCharsPerByte() {
+	return averageCharsPerByte;
+    }
+
+    /**
+     * Returns the maximum number of characters that will be produced for each
+     * byte of input.  This value may be used to compute the worst-case size
+     * of the output buffer required for a given input sequence. </p>
+     *
+     * @return  The maximum number of characters that will be produced per
+     *          byte of input
+     */
+    public final float maxCharsPerByte() {
+	return maxCharsPerByte;
+    }
+
+    /**
+     * Decodes as many bytes as possible from the given input buffer,
+     * writing the results to the given output buffer.
+     *
+     * <p> The buffers are read from, and written to, starting at their current
+     * positions.  At most {@link Buffer#remaining in.remaining()} bytes
+     * will be read and at most {@link Buffer#remaining out.remaining()}
+     * characters will be written.  The buffers' positions will be advanced to
+     * reflect the bytes read and the characters written, but their marks and
+     * limits will not be modified.
+     *
+     * <p> In addition to reading bytes from the input buffer and writing
+     * characters to the output buffer, this method returns a {@link CoderResult}
+     * object to describe its reason for termination:
+     *
+     * <ul>
+     *
+     *   <li><p> {@link CoderResult#UNDERFLOW} indicates that as much of the
+     *   input buffer as possible has been decoded.  If there is no further
+     *   input then the invoker can proceed to the next step of the
+     *   <a href="#steps">decoding operation</a>.  Otherwise this method
+     *   should be invoked again with further input.  </p></li>
+     *
+     *   <li><p> {@link CoderResult#OVERFLOW} indicates that there is
+     *   insufficient space in the output buffer to decode any more bytes.
+     *   This method should be invoked again with an output buffer that has
+     *   more {@linkplain Buffer#remaining remaining} characters. This is
+     *   typically done by draining any decoded characters from the output
+     *   buffer.  </p></li>
+     *
+     *   <li><p> A {@link CoderResult#malformedForLength
+     *   </code>malformed-input<code>} result indicates that a malformed-input
+     *   error has been detected.  The malformed bytes begin at the input
+     *   buffer's (possibly incremented) position; the number of malformed
+     *   bytes may be determined by invoking the result object's {@link
+     *   CoderResult#length() length} method.  This case applies only if the
+     *   {@link #onMalformedInput </code>malformed action<code>} of this decoder
+     *   is {@link CodingErrorAction#REPORT}; otherwise the malformed input
+     *   will be ignored or replaced, as requested.  </p></li>
+     *
+     *   <li><p> An {@link CoderResult#unmappableForLength
+     *   </code>unmappable-character<code>} result indicates that an
+     *   unmappable-character error has been detected.  The bytes that
+     *   decode the unmappable character begin at the input buffer's (possibly
+     *   incremented) position; the number of such bytes may be determined
+     *   by invoking the result object's {@link CoderResult#length() length}
+     *   method.  This case applies only if the {@link #onUnmappableCharacter
+     *   </code>unmappable action<code>} of this decoder is {@link
+     *   CodingErrorAction#REPORT}; otherwise the unmappable character will be
+     *   ignored or replaced, as requested.  </p></li>
+     *
+     * </ul>
+     *
+     * In any case, if this method is to be reinvoked in the same decoding
+     * operation then care should be taken to preserve any bytes remaining
+     * in the input buffer so that they are available to the next invocation.
+     *
+     * <p> The <tt>endOfInput</tt> parameter advises this method as to whether
+     * the invoker can provide further input beyond that contained in the given
+     * input buffer.  If there is a possibility of providing additional input
+     * then the invoker should pass <tt>false</tt> for this parameter; if there
+     * is no possibility of providing further input then the invoker should
+     * pass <tt>true</tt>.  It is not erroneous, and in fact it is quite
+     * common, to pass <tt>false</tt> in one invocation and later discover that
+     * no further input was actually available.  It is critical, however, that
+     * the final invocation of this method in a sequence of invocations always
+     * pass <tt>true</tt> so that any remaining undecoded input will be treated
+     * as being malformed.
+     *
+     * <p> This method works by invoking the {@link #decodeLoop decodeLoop}
+     * method, interpreting its results, handling error conditions, and
+     * reinvoking it as necessary.  </p>
+     *
+     *
+     * @param  in
+     *         The input byte buffer
+     *
+     * @param  out
+     *         The output character buffer
+     *
+     * @param  endOfInput
+     *         <tt>true</tt> if, and only if, the invoker can provide no
+     *         additional input bytes beyond those in the given buffer
+     *
+     * @return  A coder-result object describing the reason for termination
+     *
+     * @throws  IllegalStateException
+     *          If a decoding operation is already in progress and the previous
+     *          step was an invocation neither of the {@link #reset reset}
+     *          method, nor of this method with a value of <tt>false</tt> for
+     *          the <tt>endOfInput</tt> parameter, nor of this method with a
+     *          value of <tt>true</tt> for the <tt>endOfInput</tt> parameter
+     *          but a return value indicating an incomplete decoding operation
+     *
+     * @throws  CoderMalfunctionError
+     *          If an invocation of the decodeLoop method threw
+     *          an unexpected exception
+     */
+    public final CoderResult decode(ByteBuffer in, CharBuffer out,
+				    boolean endOfInput)
+    {
+	int newState = endOfInput ? ST_END : ST_CODING;
+	if ((state != ST_RESET) && (state != ST_CODING)
+	    && !(endOfInput && (state == ST_END)))
+	    throwIllegalStateException(state, newState);
+	state = newState;
+
+	for (;;) {
+
+	    CoderResult cr;
+	    try {
+		cr = decodeLoop(in, out);
+	    } catch (BufferUnderflowException x) {
+		throw new CoderMalfunctionError(x);
+	    } catch (BufferOverflowException x) {
+		throw new CoderMalfunctionError(x);
+	    }
+
+	    if (cr.isOverflow())
+		return cr;
+
+	    if (cr.isUnderflow()) {
+		if (endOfInput && in.hasRemaining()) {
+		    cr = CoderResult.malformedForLength(in.remaining());
+		    // Fall through to malformed-input case
+		} else {
+		    return cr;
+		}
+	    }
+
+	    CodingErrorAction action = null;
+	    if (cr.isMalformed())
+		action = malformedInputAction;
+	    else if (cr.isUnmappable())
+		action = unmappableCharacterAction;
+	    else
+		assert false : cr.toString();
+
+	    if (action == CodingErrorAction.REPORT)
+		return cr;
+
+	    if (action == CodingErrorAction.REPLACE) {
+		if (out.remaining() < replacement.length())
+		    return CoderResult.OVERFLOW;
+		out.put(replacement);
+	    }
+
+	    if ((action == CodingErrorAction.IGNORE)
+		|| (action == CodingErrorAction.REPLACE)) {
+		// Skip erroneous input either way
+		in.position(in.position() + cr.length());
+		continue;
+	    }
+
+	    assert false;
+	}
+
+    }
+
+    /**
+     * Flushes this decoder.
+     *
+     * <p> Some decoders maintain internal state and may need to write some
+     * final characters to the output buffer once the overall input sequence has
+     * been read.
+     *
+     * <p> Any additional output is written to the output buffer beginning at
+     * its current position.  At most {@link Buffer#remaining out.remaining()}
+     * characters will be written.  The buffer's position will be advanced
+     * appropriately, but its mark and limit will not be modified.
+     *
+     * <p> If this method completes successfully then it returns {@link
+     * CoderResult#UNDERFLOW}.  If there is insufficient room in the output
+     * buffer then it returns {@link CoderResult#OVERFLOW}.  If this happens
+     * then this method must be invoked again, with an output buffer that has
+     * more room, in order to complete the current <a href="#steps">decoding
+     * operation</a>.
+     *
+     * <p> If this decoder has already been flushed then invoking this method
+     * has no effect.
+     *
+     * <p> This method invokes the {@link #implFlush implFlush} method to
+     * perform the actual flushing operation.  </p>
+     *
+     * @param  out
+     *         The output character buffer
+     *
+     * @return  A coder-result object, either {@link CoderResult#UNDERFLOW} or
+     *          {@link CoderResult#OVERFLOW}
+     *
+     * @throws  IllegalStateException
+     *          If the previous step of the current decoding operation was an
+     *          invocation neither of the {@link #flush flush} method nor of
+     *          the three-argument {@link
+     *          #decode(ByteBuffer,CharBuffer,boolean) decode} method
+     *          with a value of <tt>true</tt> for the <tt>endOfInput</tt>
+     *          parameter
+     */
+    public final CoderResult flush(CharBuffer out) {
+	if (state == ST_END) {
+	    CoderResult cr = implFlush(out);
+	    if (cr.isUnderflow())
+		state = ST_FLUSHED;
+	    return cr;
+	}
+
+	if (state != ST_FLUSHED)
+	    throwIllegalStateException(state, ST_FLUSHED);
+
+	return CoderResult.UNDERFLOW; // Already flushed
+    }
+
+    /**
+     * Flushes this decoder.
+     *
+     * <p> The default implementation of this method does nothing, and always
+     * returns {@link CoderResult#UNDERFLOW}.  This method should be overridden
+     * by decoders that may need to write final characters to the output buffer
+     * once the entire input sequence has been read. </p>
+     *
+     * @param  out
+     *         The output character buffer
+     *
+     * @return  A coder-result object, either {@link CoderResult#UNDERFLOW} or
+     *          {@link CoderResult#OVERFLOW}
+     */
+    protected CoderResult implFlush(CharBuffer out) {
+	return CoderResult.UNDERFLOW;
+    }
+
+    /**
+     * Resets this decoder, clearing any internal state.
+     *
+     * <p> This method resets charset-independent state and also invokes the
+     * {@link #implReset() implReset} method in order to perform any
+     * charset-specific reset actions.  </p>
+     *
+     * @return  This decoder
+     *
+     */
+    public final CharsetDecoder reset() {
+	implReset();
+	state = ST_RESET;
+	return this;
+    }
+
+    /**
+     * Resets this decoder, clearing any charset-specific internal state.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by decoders that maintain internal state.  </p>
+     */
+    protected void implReset() { }
+
+    /**
+     * Decodes one or more bytes into one or more characters.
+     *
+     * <p> This method encapsulates the basic decoding loop, decoding as many
+     * bytes as possible until it either runs out of input, runs out of room
+     * in the output buffer, or encounters a decoding error.  This method is
+     * invoked by the {@link #decode decode} method, which handles result
+     * interpretation and error recovery.
+     *
+     * <p> The buffers are read from, and written to, starting at their current
+     * positions.  At most {@link Buffer#remaining in.remaining()} bytes
+     * will be read, and at most {@link Buffer#remaining out.remaining()}
+     * characters will be written.  The buffers' positions will be advanced to
+     * reflect the bytes read and the characters written, but their marks and
+     * limits will not be modified.
+     *
+     * <p> This method returns a {@link CoderResult} object to describe its
+     * reason for termination, in the same manner as the {@link #decode decode}
+     * method.  Most implementations of this method will handle decoding errors
+     * by returning an appropriate result object for interpretation by the
+     * {@link #decode decode} method.  An optimized implementation may instead
+     * examine the relevant error action and implement that action itself.
+     *
+     * <p> An implementation of this method may perform arbitrary lookahead by
+     * returning {@link CoderResult#UNDERFLOW} until it receives sufficient
+     * input.  </p>
+     *
+     * @param  in
+     *         The input byte buffer
+     *
+     * @param  out
+     *         The output character buffer
+     *
+     * @return  A coder-result object describing the reason for termination
+     */
+    protected abstract CoderResult decodeLoop(ByteBuffer in,
+					      CharBuffer out);
+
+    /**
+     * Convenience method that decodes the remaining content of a single input
+     * byte buffer into a newly-allocated character buffer.
+     *
+     * <p> This method implements an entire <a href="#steps">decoding
+     * operation</a>; that is, it resets this decoder, then it decodes the
+     * bytes in the given byte buffer, and finally it flushes this
+     * decoder.  This method should therefore not be invoked if a decoding
+     * operation is already in progress.  </p>
+     *
+     * @param  in
+     *         The input byte buffer
+     *
+     * @return A newly-allocated character buffer containing the result of the
+     *         decoding operation.  The buffer's position will be zero and its
+     *         limit will follow the last character written.
+     *
+     * @throws  IllegalStateException
+     *          If a decoding operation is already in progress
+     *
+     * @throws  MalformedInputException
+     *          If the byte sequence starting at the input buffer's current
+     *          position is not legal for this charset and the current malformed-input action
+     *          is {@link CodingErrorAction#REPORT}
+     *
+     * @throws  UnmappableCharacterException
+     *          If the byte sequence starting at the input buffer's current
+     *          position cannot be mapped to an equivalent character sequence and
+     *          the current unmappable-character action is {@link
+     *          CodingErrorAction#REPORT}
+     */
+    public final CharBuffer decode(ByteBuffer in)
+	throws CharacterCodingException
+    {
+	int n = (int)(in.remaining() * averageCharsPerByte());
+	CharBuffer out = CharBuffer.allocate(n);
+
+	if ((n == 0) && (in.remaining() == 0))
+	    return out;
+	reset();
+	for (;;) {
+	    CoderResult cr = in.hasRemaining() ?
+		decode(in, out, true) : CoderResult.UNDERFLOW;
+	    if (cr.isUnderflow())
+		cr = flush(out);
+
+	    if (cr.isUnderflow())
+		break;
+	    if (cr.isOverflow()) {
+		n = 2*n + 1;	// Ensure progress; n might be 0!
+		CharBuffer o = CharBuffer.allocate(n);
+		out.flip();
+		o.put(out);
+		out = o;
+		continue;
+	    }
+	    cr.throwException();
+	}
+	out.flip();
+	return out;
+    }
+
+
+
+    /**
+     * Tells whether or not this decoder implements an auto-detecting charset.
+     *
+     * <p> The default implementation of this method always returns
+     * <tt>false</tt>; it should be overridden by auto-detecting decoders to
+     * return <tt>true</tt>.  </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this decoder implements an
+     *          auto-detecting charset
+     */
+    public boolean isAutoDetecting() {
+	return false;
+    }
+
+    /**
+     * Tells whether or not this decoder has yet detected a
+     * charset&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this decoder implements an auto-detecting charset then at a
+     * single point during a decoding operation this method may start returning
+     * <tt>true</tt> to indicate that a specific charset has been detected in
+     * the input byte sequence.  Once this occurs, the {@link #detectedCharset
+     * detectedCharset} method may be invoked to retrieve the detected charset.
+     *
+     * <p> That this method returns <tt>false</tt> does not imply that no bytes
+     * have yet been decoded.  Some auto-detecting decoders are capable of
+     * decoding some, or even all, of an input byte sequence without fixing on
+     * a particular charset.
+     *
+     * <p> The default implementation of this method always throws an {@link
+     * UnsupportedOperationException}; it should be overridden by
+     * auto-detecting decoders to return <tt>true</tt> once the input charset
+     * has been determined.  </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this decoder has detected a
+     *          specific charset
+     *
+     * @throws  UnsupportedOperationException
+     *          If this decoder does not implement an auto-detecting charset
+     */
+    public boolean isCharsetDetected() {
+	throw new UnsupportedOperationException();
+    }
+
+    /**
+     * Retrieves the charset that was detected by this
+     * decoder&nbsp;&nbsp;<i>(optional operation)</i>.
+     *
+     * <p> If this decoder implements an auto-detecting charset then this
+     * method returns the actual charset once it has been detected.  After that
+     * point, this method returns the same value for the duration of the
+     * current decoding operation.  If not enough input bytes have yet been
+     * read to determine the actual charset then this method throws an {@link
+     * IllegalStateException}.
+     *
+     * <p> The default implementation of this method always throws an {@link
+     * UnsupportedOperationException}; it should be overridden by
+     * auto-detecting decoders to return the appropriate value.  </p>
+     *
+     * @return  The charset detected by this auto-detecting decoder,
+     *          or <tt>null</tt> if the charset has not yet been determined
+     *
+     * @throws  IllegalStateException
+     *          If insufficient bytes have been read to determine a charset
+     *
+     * @throws  UnsupportedOperationException
+     *          If this decoder does not implement an auto-detecting charset
+     */
+    public Charset detectedCharset() {
+	throw new UnsupportedOperationException();
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private void throwIllegalStateException(int from, int to) {
+	throw new IllegalStateException("Current state = " + stateNames[from]
+					+ ", new state = " + stateNames[to]);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/nio/charset/CharsetEncoder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,973 @@
+/*
+ * Copyright 2000-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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package java.nio.charset;
+
+import java.nio.Buffer;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.BufferOverflowException;
+import java.nio.BufferUnderflowException;
+import java.lang.ref.WeakReference;
+import java.nio.charset.CoderMalfunctionError;			// javadoc
+
+
+/**
+ * An engine that can transform a sequence of sixteen-bit Unicode characters into a sequence of
+ * bytes in a specific charset.
+ *
+ * <a name="steps">
+ *
+ * <p> The input character sequence is provided in a character buffer or a series
+ * of such buffers.  The output byte sequence is written to a byte buffer
+ * or a series of such buffers.  An encoder should always be used by making
+ * the following sequence of method invocations, hereinafter referred to as an
+ * <i>encoding operation</i>:
+ *
+ * <ol>
+ *
+ *   <li><p> Reset the encoder via the {@link #reset reset} method, unless it
+ *   has not been used before; </p></li>
+ *
+ *   <li><p> Invoke the {@link #encode encode} method zero or more times, as
+ *   long as additional input may be available, passing <tt>false</tt> for the
+ *   <tt>endOfInput</tt> argument and filling the input buffer and flushing the
+ *   output buffer between invocations; </p></li>
+ *
+ *   <li><p> Invoke the {@link #encode encode} method one final time, passing
+ *   <tt>true</tt> for the <tt>endOfInput</tt> argument; and then </p></li>
+ *
+ *   <li><p> Invoke the {@link #flush flush} method so that the encoder can
+ *   flush any internal state to the output buffer. </p></li>
+ *
+ * </ol>
+ *
+ * Each invocation of the {@link #encode encode} method will encode as many
+ * characters as possible from the input buffer, writing the resulting bytes
+ * to the output buffer.  The {@link #encode encode} method returns when more
+ * input is required, when there is not enough room in the output buffer, or
+ * when an encoding error has occurred.  In each case a {@link CoderResult}
+ * object is returned to describe the reason for termination.  An invoker can
+ * examine this object and fill the input buffer, flush the output buffer, or
+ * attempt to recover from an encoding error, as appropriate, and try again.
+ *
+ * <a name="ce">
+ *
+ * <p> There are two general types of encoding errors.  If the input character
+ * sequence is not a legal sixteen-bit Unicode sequence then the input is considered <i>malformed</i>.  If
+ * the input character sequence is legal but cannot be mapped to a valid
+ * byte sequence in the given charset then an <i>unmappable character</i> has been encountered.
+ *
+ * <a name="cae">
+ *
+ * <p> How an encoding error is handled depends upon the action requested for
+ * that type of error, which is described by an instance of the {@link
+ * CodingErrorAction} class.  The possible error actions are to {@link
+ * CodingErrorAction#IGNORE </code>ignore<code>} the erroneous input, {@link
+ * CodingErrorAction#REPORT </code>report<code>} the error to the invoker via
+ * the returned {@link CoderResult} object, or {@link CodingErrorAction#REPLACE
+ * </code>replace<code>} the erroneous input with the current value of the
+ * replacement byte array.  The replacement
+ *
+
+ * is initially set to the encoder's default replacement, which often
+ * (but not always) has the initial value&nbsp;<tt>{</tt>&nbsp;<tt>(byte)'?'</tt>&nbsp;<tt>}</tt>;
+
+
+
+
+ *
+ * its value may be changed via the {@link #replaceWith(byte[])
+ * replaceWith} method.
+ *
+ * <p> The default action for malformed-input and unmappable-character errors
+ * is to {@link CodingErrorAction#REPORT </code>report<code>} them.  The
+ * malformed-input error action may be changed via the {@link
+ * #onMalformedInput(CodingErrorAction) onMalformedInput} method; the
+ * unmappable-character action may be changed via the {@link
+ * #onUnmappableCharacter(CodingErrorAction) onUnmappableCharacter} method.
+ *
+ * <p> This class is designed to handle many of the details of the encoding
+ * process, including the implementation of error actions.  An encoder for a
+ * specific charset, which is a concrete subclass of this class, need only
+ * implement the abstract {@link #encodeLoop encodeLoop} method, which
+ * encapsulates the basic encoding loop.  A subclass that maintains internal
+ * state should, additionally, override the {@link #implFlush implFlush} and
+ * {@link #implReset implReset} methods.
+ *
+ * <p> Instances of this class are not safe for use by multiple concurrent
+ * threads.  </p>
+ *
+ *
+ * @version 1.52, 07/05/05
+ * @author Mark Reinhold
+ * @author JSR-51 Expert Group
+ * @since 1.4
+ *
+ * @see ByteBuffer
+ * @see CharBuffer
+ * @see Charset
+ * @see CharsetDecoder
+ */
+
+public abstract class CharsetEncoder {
+
+    private final Charset charset;
+    private final float averageBytesPerChar;
+    private final float maxBytesPerChar;
+
+    private byte[] replacement;
+    private CodingErrorAction malformedInputAction
+	= CodingErrorAction.REPORT;
+    private CodingErrorAction unmappableCharacterAction
+	= CodingErrorAction.REPORT;
+
+    // Internal states
+    //
+    private static final int ST_RESET   = 0;
+    private static final int ST_CODING  = 1;
+    private static final int ST_END     = 2;
+    private static final int ST_FLUSHED = 3;
+
+    private int state = ST_RESET;
+
+    private static String stateNames[]
+	= { "RESET", "CODING", "CODING_END", "FLUSHED" };
+
+
+    /**
+     * Initializes a new encoder.  The new encoder will have the given
+     * bytes-per-char and replacement values. </p>
+     *
+     * @param  averageBytesPerChar
+     *         A positive float value indicating the expected number of
+     *         bytes that will be produced for each input character
+     *
+     * @param  maxBytesPerChar
+     *         A positive float value indicating the maximum number of
+     *         bytes that will be produced for each input character
+     *
+     * @param  replacement
+     *         The initial replacement; must not be <tt>null</tt>, must have
+     *         non-zero length, must not be longer than maxBytesPerChar,
+     *         and must be {@link #isLegalReplacement </code>legal<code>}
+     *
+     * @throws  IllegalArgumentException
+     *          If the preconditions on the parameters do not hold
+     */
+    protected
+    CharsetEncoder(Charset cs,
+		   float averageBytesPerChar,
+		   float maxBytesPerChar,
+		   byte[] replacement)
+    {
+	this.charset = cs;
+	if (averageBytesPerChar <= 0.0f)
+	    throw new IllegalArgumentException("Non-positive "
+					       + "averageBytesPerChar");
+	if (maxBytesPerChar <= 0.0f)
+	    throw new IllegalArgumentException("Non-positive "
+					       + "maxBytesPerChar");
+	if (!Charset.atBugLevel("1.4")) {
+	    if (averageBytesPerChar > maxBytesPerChar)
+		throw new IllegalArgumentException("averageBytesPerChar"
+						   + " exceeds "
+						   + "maxBytesPerChar");
+	}
+	this.replacement = replacement;
+	this.averageBytesPerChar = averageBytesPerChar;
+	this.maxBytesPerChar = maxBytesPerChar;
+	replaceWith(replacement);
+    }
+
+    /**
+     * Initializes a new encoder.  The new encoder will have the given
+     * bytes-per-char values and its replacement will be the
+     * byte array <tt>{</tt>&nbsp;<tt>(byte)'?'</tt>&nbsp;<tt>}</tt>. </p>
+     *
+     * @param  averageBytesPerChar
+     *         A positive float value indicating the expected number of
+     *         bytes that will be produced for each input character
+     *
+     * @param  maxBytesPerChar
+     *         A positive float value indicating the maximum number of
+     *         bytes that will be produced for each input character
+     *
+     * @throws  IllegalArgumentException
+     *          If the preconditions on the parameters do not hold
+     */
+    protected CharsetEncoder(Charset cs,
+			     float averageBytesPerChar,
+			     float maxBytesPerChar)
+    {
+	this(cs,
+	     averageBytesPerChar, maxBytesPerChar,
+	     new byte[] { (byte)'?' });
+    }
+
+    /**
+     * Returns the charset that created this encoder.  </p>
+     *
+     * @return  This encoder's charset
+     */
+    public final Charset charset() {
+	return charset;
+    }
+
+    /**
+     * Returns this encoder's replacement value. </p>
+     *
+     * @return  This encoder's current replacement,
+     *          which is never <tt>null</tt> and is never empty
+     */
+    public final byte[] replacement() {
+	return replacement;
+    }
+
+    /**
+     * Changes this encoder's replacement value.
+     *
+     * <p> This method invokes the {@link #implReplaceWith implReplaceWith}
+     * method, passing the new replacement, after checking that the new
+     * replacement is acceptable.  </p>
+     *
+     * @param  newReplacement
+     *
+
+
+
+
+
+     *         The new replacement; must not be <tt>null</tt>, must have
+     *         non-zero length, must not be longer than the value returned by
+     *         the {@link #maxBytesPerChar() maxBytesPerChar} method, and
+     *         must be {@link #isLegalReplacement </code>legal<code>}
+
+     *
+     * @return  This encoder
+     *
+     * @throws  IllegalArgumentException
+     *          If the preconditions on the parameter do not hold
+     */
+    public final CharsetEncoder replaceWith(byte[] newReplacement) {
+	if (newReplacement == null)
+	    throw new IllegalArgumentException("Null replacement");
+	int len = newReplacement.length;
+	if (len == 0)
+	    throw new IllegalArgumentException("Empty replacement");
+	if (len > maxBytesPerChar)
+	    throw new IllegalArgumentException("Replacement too long");
+
+	if (!isLegalReplacement(newReplacement))
+	    throw new IllegalArgumentException("Illegal replacement");
+
+	this.replacement = newReplacement;
+	implReplaceWith(newReplacement);
+	return this;
+    }
+
+    /**
+     * Reports a change to this encoder's replacement value.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by encoders that require notification of changes to
+     * the replacement.  </p>
+     *
+     * @param  newReplacement
+     */
+    protected void implReplaceWith(byte[] newReplacement) {
+    }
+
+
+
+    private WeakReference cachedDecoder = null;
+
+    /**
+     * Tells whether or not the given byte array is a legal replacement value
+     * for this encoder.
+     *
+     * <p> A replacement is legal if, and only if, it is a legal sequence of
+     * bytes in this encoder's charset; that is, it must be possible to decode
+     * the replacement into one or more sixteen-bit Unicode characters.
+     *
+     * <p> The default implementation of this method is not very efficient; it
+     * should generally be overridden to improve performance.  </p>
+     *
+     * @param  repl  The byte array to be tested
+     *
+     * @return  <tt>true</tt> if, and only if, the given byte array
+     *          is a legal replacement value for this encoder
+     */
+    public boolean isLegalReplacement(byte[] repl) {
+	WeakReference wr = cachedDecoder;
+	CharsetDecoder dec = null;
+	if ((wr == null) || ((dec = (CharsetDecoder)wr.get()) == null)) {
+	    dec = charset().newDecoder();
+	    dec.onMalformedInput(CodingErrorAction.REPORT);
+	    dec.onUnmappableCharacter(CodingErrorAction.REPORT);
+	    cachedDecoder = new WeakReference(dec);
+	} else {
+	    dec.reset();
+	}
+	ByteBuffer bb = ByteBuffer.wrap(repl);
+	CharBuffer cb = CharBuffer.allocate((int)(bb.remaining()
+						  * dec.maxCharsPerByte()));
+	CoderResult cr = dec.decode(bb, cb, true);
+	return !cr.isError();
+    }
+
+
+
+    /**
+     * Returns this encoder's current action for malformed-input errors.  </p>
+     *
+     * @return The current malformed-input action, which is never <tt>null</tt>
+     */
+    public CodingErrorAction malformedInputAction() {
+	return malformedInputAction;
+    }
+
+    /**
+     * Changes this encoder's action for malformed-input errors.  </p>
+     *
+     * <p> This method invokes the {@link #implOnMalformedInput
+     * implOnMalformedInput} method, passing the new action.  </p>
+     *
+     * @param  newAction  The new action; must not be <tt>null</tt>
+     *
+     * @return  This encoder
+     *
+     * @throws IllegalArgumentException
+     *         If the precondition on the parameter does not hold
+     */
+    public final CharsetEncoder onMalformedInput(CodingErrorAction newAction) {
+	if (newAction == null)
+	    throw new IllegalArgumentException("Null action");
+	malformedInputAction = newAction;
+	implOnMalformedInput(newAction);
+	return this;
+    }
+
+    /**
+     * Reports a change to this encoder's malformed-input action.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by encoders that require notification of changes to
+     * the malformed-input action.  </p>
+     */
+    protected void implOnMalformedInput(CodingErrorAction newAction) { }
+
+    /**
+     * Returns this encoder's current action for unmappable-character errors.
+     * </p>
+     *
+     * @return The current unmappable-character action, which is never
+     *         <tt>null</tt>
+     */
+    public CodingErrorAction unmappableCharacterAction() {
+	return unmappableCharacterAction;
+    }
+
+    /**
+     * Changes this encoder's action for unmappable-character errors.
+     *
+     * <p> This method invokes the {@link #implOnUnmappableCharacter
+     * implOnUnmappableCharacter} method, passing the new action.  </p>
+     *
+     * @param  newAction  The new action; must not be <tt>null</tt>
+     *
+     * @return  This encoder
+     *
+     * @throws IllegalArgumentException
+     *         If the precondition on the parameter does not hold
+     */
+    public final CharsetEncoder onUnmappableCharacter(CodingErrorAction
+						      newAction)
+    {
+	if (newAction == null)
+	    throw new IllegalArgumentException("Null action");
+	unmappableCharacterAction = newAction;
+	implOnUnmappableCharacter(newAction);
+	return this;
+    }
+
+    /**
+     * Reports a change to this encoder's unmappable-character action.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by encoders that require notification of changes to
+     * the unmappable-character action.  </p>
+     */
+    protected void implOnUnmappableCharacter(CodingErrorAction newAction) { }
+
+    /**
+     * Returns the average number of bytes that will be produced for each
+     * character of input.  This heuristic value may be used to estimate the size
+     * of the output buffer required for a given input sequence. </p>
+     *
+     * @return  The average number of bytes produced
+     *          per character of input
+     */
+    public final float averageBytesPerChar() {
+	return averageBytesPerChar;
+    }
+
+    /**
+     * Returns the maximum number of bytes that will be produced for each
+     * character of input.  This value may be used to compute the worst-case size
+     * of the output buffer required for a given input sequence. </p>
+     *
+     * @return  The maximum number of bytes that will be produced per
+     *          character of input
+     */
+    public final float maxBytesPerChar() {
+	return maxBytesPerChar;
+    }
+
+    /**
+     * Encodes as many characters as possible from the given input buffer,
+     * writing the results to the given output buffer.
+     *
+     * <p> The buffers are read from, and written to, starting at their current
+     * positions.  At most {@link Buffer#remaining in.remaining()} characters
+     * will be read and at most {@link Buffer#remaining out.remaining()}
+     * bytes will be written.  The buffers' positions will be advanced to
+     * reflect the characters read and the bytes written, but their marks and
+     * limits will not be modified.
+     *
+     * <p> In addition to reading characters from the input buffer and writing
+     * bytes to the output buffer, this method returns a {@link CoderResult}
+     * object to describe its reason for termination:
+     *
+     * <ul>
+     *
+     *   <li><p> {@link CoderResult#UNDERFLOW} indicates that as much of the
+     *   input buffer as possible has been encoded.  If there is no further
+     *   input then the invoker can proceed to the next step of the
+     *   <a href="#steps">encoding operation</a>.  Otherwise this method
+     *   should be invoked again with further input.  </p></li>
+     *
+     *   <li><p> {@link CoderResult#OVERFLOW} indicates that there is
+     *   insufficient space in the output buffer to encode any more characters.
+     *   This method should be invoked again with an output buffer that has
+     *   more {@linkplain Buffer#remaining remaining} bytes. This is
+     *   typically done by draining any encoded bytes from the output
+     *   buffer.  </p></li>
+     *
+     *   <li><p> A {@link CoderResult#malformedForLength
+     *   </code>malformed-input<code>} result indicates that a malformed-input
+     *   error has been detected.  The malformed characters begin at the input
+     *   buffer's (possibly incremented) position; the number of malformed
+     *   characters may be determined by invoking the result object's {@link
+     *   CoderResult#length() length} method.  This case applies only if the
+     *   {@link #onMalformedInput </code>malformed action<code>} of this encoder
+     *   is {@link CodingErrorAction#REPORT}; otherwise the malformed input
+     *   will be ignored or replaced, as requested.  </p></li>
+     *
+     *   <li><p> An {@link CoderResult#unmappableForLength
+     *   </code>unmappable-character<code>} result indicates that an
+     *   unmappable-character error has been detected.  The characters that
+     *   encode the unmappable character begin at the input buffer's (possibly
+     *   incremented) position; the number of such characters may be determined
+     *   by invoking the result object's {@link CoderResult#length() length}
+     *   method.  This case applies only if the {@link #onUnmappableCharacter
+     *   </code>unmappable action<code>} of this encoder is {@link
+     *   CodingErrorAction#REPORT}; otherwise the unmappable character will be
+     *   ignored or replaced, as requested.  </p></li>
+     *
+     * </ul>
+     *
+     * In any case, if this method is to be reinvoked in the same encoding
+     * operation then care should be taken to preserve any characters remaining
+     * in the input buffer so that they are available to the next invocation.
+     *
+     * <p> The <tt>endOfInput</tt> parameter advises this method as to whether
+     * the invoker can provide further input beyond that contained in the given
+     * input buffer.  If there is a possibility of providing additional input
+     * then the invoker should pass <tt>false</tt> for this parameter; if there
+     * is no possibility of providing further input then the invoker should
+     * pass <tt>true</tt>.  It is not erroneous, and in fact it is quite
+     * common, to pass <tt>false</tt> in one invocation and later discover that
+     * no further input was actually available.  It is critical, however, that
+     * the final invocation of this method in a sequence of invocations always
+     * pass <tt>true</tt> so that any remaining unencoded input will be treated
+     * as being malformed.
+     *
+     * <p> This method works by invoking the {@link #encodeLoop encodeLoop}
+     * method, interpreting its results, handling error conditions, and
+     * reinvoking it as necessary.  </p>
+     *
+     *
+     * @param  in
+     *         The input character buffer
+     *
+     * @param  out
+     *         The output byte buffer
+     *
+     * @param  endOfInput
+     *         <tt>true</tt> if, and only if, the invoker can provide no
+     *         additional input characters beyond those in the given buffer
+     *
+     * @return  A coder-result object describing the reason for termination
+     *
+     * @throws  IllegalStateException
+     *          If an encoding operation is already in progress and the previous
+     *          step was an invocation neither of the {@link #reset reset}
+     *          method, nor of this method with a value of <tt>false</tt> for
+     *          the <tt>endOfInput</tt> parameter, nor of this method with a
+     *          value of <tt>true</tt> for the <tt>endOfInput</tt> parameter
+     *          but a return value indicating an incomplete encoding operation
+     *
+     * @throws  CoderMalfunctionError
+     *          If an invocation of the encodeLoop method threw
+     *          an unexpected exception
+     */
+    public final CoderResult encode(CharBuffer in, ByteBuffer out,
+				    boolean endOfInput)
+    {
+	int newState = endOfInput ? ST_END : ST_CODING;
+	if ((state != ST_RESET) && (state != ST_CODING)
+	    && !(endOfInput && (state == ST_END)))
+	    throwIllegalStateException(state, newState);
+	state = newState;
+
+	for (;;) {
+
+	    CoderResult cr;
+	    try {
+		cr = encodeLoop(in, out);
+	    } catch (BufferUnderflowException x) {
+		throw new CoderMalfunctionError(x);
+	    } catch (BufferOverflowException x) {
+		throw new CoderMalfunctionError(x);
+	    }
+
+	    if (cr.isOverflow())
+		return cr;
+
+	    if (cr.isUnderflow()) {
+		if (endOfInput && in.hasRemaining()) {
+		    cr = CoderResult.malformedForLength(in.remaining());
+		    // Fall through to malformed-input case
+		} else {
+		    return cr;
+		}
+	    }
+
+	    CodingErrorAction action = null;
+	    if (cr.isMalformed())
+		action = malformedInputAction;
+	    else if (cr.isUnmappable())
+		action = unmappableCharacterAction;
+	    else
+		assert false : cr.toString();
+
+	    if (action == CodingErrorAction.REPORT)
+		return cr;
+
+	    if (action == CodingErrorAction.REPLACE) {
+		if (out.remaining() < replacement.length)
+		    return CoderResult.OVERFLOW;
+		out.put(replacement);
+	    }
+
+	    if ((action == CodingErrorAction.IGNORE)
+		|| (action == CodingErrorAction.REPLACE)) {
+		// Skip erroneous input either way
+		in.position(in.position() + cr.length());
+		continue;
+	    }
+
+	    assert false;
+	}
+
+    }
+
+    /**
+     * Flushes this encoder.
+     *
+     * <p> Some encoders maintain internal state and may need to write some
+     * final bytes to the output buffer once the overall input sequence has
+     * been read.
+     *
+     * <p> Any additional output is written to the output buffer beginning at
+     * its current position.  At most {@link Buffer#remaining out.remaining()}
+     * bytes will be written.  The buffer's position will be advanced
+     * appropriately, but its mark and limit will not be modified.
+     *
+     * <p> If this method completes successfully then it returns {@link
+     * CoderResult#UNDERFLOW}.  If there is insufficient room in the output
+     * buffer then it returns {@link CoderResult#OVERFLOW}.  If this happens
+     * then this method must be invoked again, with an output buffer that has
+     * more room, in order to complete the current <a href="#steps">encoding
+     * operation</a>.
+     *
+     * <p> If this encoder has already been flushed then invoking this method
+     * has no effect.
+     *
+     * <p> This method invokes the {@link #implFlush implFlush} method to
+     * perform the actual flushing operation.  </p>
+     *
+     * @param  out
+     *         The output byte buffer
+     *
+     * @return  A coder-result object, either {@link CoderResult#UNDERFLOW} or
+     *          {@link CoderResult#OVERFLOW}
+     *
+     * @throws  IllegalStateException
+     *          If the previous step of the current encoding operation was an
+     *          invocation neither of the {@link #flush flush} method nor of
+     *          the three-argument {@link
+     *          #encode(CharBuffer,ByteBuffer,boolean) encode} method
+     *          with a value of <tt>true</tt> for the <tt>endOfInput</tt>
+     *          parameter
+     */
+    public final CoderResult flush(ByteBuffer out) {
+	if (state == ST_END) {
+	    CoderResult cr = implFlush(out);
+	    if (cr.isUnderflow())
+		state = ST_FLUSHED;
+	    return cr;
+	}
+
+	if (state != ST_FLUSHED)
+	    throwIllegalStateException(state, ST_FLUSHED);
+
+	return CoderResult.UNDERFLOW; // Already flushed
+    }
+
+    /**
+     * Flushes this encoder.
+     *
+     * <p> The default implementation of this method does nothing, and always
+     * returns {@link CoderResult#UNDERFLOW}.  This method should be overridden
+     * by encoders that may need to write final bytes to the output buffer
+     * once the entire input sequence has been read. </p>
+     *
+     * @param  out
+     *         The output byte buffer
+     *
+     * @return  A coder-result object, either {@link CoderResult#UNDERFLOW} or
+     *          {@link CoderResult#OVERFLOW}
+     */
+    protected CoderResult implFlush(ByteBuffer out) {
+	return CoderResult.UNDERFLOW;
+    }
+
+    /**
+     * Resets this encoder, clearing any internal state.
+     *
+     * <p> This method resets charset-independent state and also invokes the
+     * {@link #implReset() implReset} method in order to perform any
+     * charset-specific reset actions.  </p>
+     *
+     * @return  This encoder
+     *
+     */
+    public final CharsetEncoder reset() {
+	implReset();
+	state = ST_RESET;
+	return this;
+    }
+
+    /**
+     * Resets this encoder, clearing any charset-specific internal state.
+     *
+     * <p> The default implementation of this method does nothing.  This method
+     * should be overridden by encoders that maintain internal state.  </p>
+     */
+    protected void implReset() { }
+
+    /**
+     * Encodes one or more characters into one or more bytes.
+     *
+     * <p> This method encapsulates the basic encoding loop, encoding as many
+     * characters as possible until it either runs out of input, runs out of room
+     * in the output buffer, or encounters an encoding error.  This method is
+     * invoked by the {@link #encode encode} method, which handles result
+     * interpretation and error recovery.
+     *
+     * <p> The buffers are read from, and written to, starting at their current
+     * positions.  At most {@link Buffer#remaining in.remaining()} characters
+     * will be read, and at most {@link Buffer#remaining out.remaining()}
+     * bytes will be written.  The buffers' positions will be advanced to
+     * reflect the characters read and the bytes written, but their marks and
+     * limits will not be modified.
+     *
+     * <p> This method returns a {@link CoderResult} object to describe its
+     * reason for termination, in the same manner as the {@link #encode encode}
+     * method.  Most implementations of this method will handle encoding errors
+     * by returning an appropriate result object for interpretation by the
+     * {@link #encode encode} method.  An optimized implementation may instead
+     * examine the relevant error action and implement that action itself.
+     *
+     * <p> An implementation of this method may perform arbitrary lookahead by
+     * returning {@link CoderResult#UNDERFLOW} until it receives sufficient
+     * input.  </p>
+     *
+     * @param  in
+     *         The input character buffer
+     *
+     * @param  out
+     *         The output byte buffer
+     *
+     * @return  A coder-result object describing the reason for termination
+     */
+    protected abstract CoderResult encodeLoop(CharBuffer in,
+					      ByteBuffer out);
+
+    /**
+     * Convenience method that encodes the remaining content of a single input
+     * character buffer into a newly-allocated byte buffer.
+     *
+     * <p> This method implements an entire <a href="#steps">encoding
+     * operation</a>; that is, it resets this encoder, then it encodes the
+     * characters in the given character buffer, and finally it flushes this
+     * encoder.  This method should therefore not be invoked if an encoding
+     * operation is already in progress.  </p>
+     *
+     * @param  in
+     *         The input character buffer
+     *
+     * @return A newly-allocated byte buffer containing the result of the
+     *         encoding operation.  The buffer's position will be zero and its
+     *         limit will follow the last byte written.
+     *
+     * @throws  IllegalStateException
+     *          If an encoding operation is already in progress
+     *
+     * @throws  MalformedInputException
+     *          If the character sequence starting at the input buffer's current
+     *          position is not a legal sixteen-bit Unicode sequence and the current malformed-input action
+     *          is {@link CodingErrorAction#REPORT}
+     *
+     * @throws  UnmappableCharacterException
+     *          If the character sequence starting at the input buffer's current
+     *          position cannot be mapped to an equivalent byte sequence and
+     *          the current unmappable-character action is {@link
+     *          CodingErrorAction#REPORT}
+     */
+    public final ByteBuffer encode(CharBuffer in)
+	throws CharacterCodingException
+    {
+	int n = (int)(in.remaining() * averageBytesPerChar());
+	ByteBuffer out = ByteBuffer.allocate(n);
+
+	if ((n == 0) && (in.remaining() == 0))
+	    return out;
+	reset();
+	for (;;) {
+	    CoderResult cr = in.hasRemaining() ?
+		encode(in, out, true) : CoderResult.UNDERFLOW;
+	    if (cr.isUnderflow())
+		cr = flush(out);
+
+	    if (cr.isUnderflow())
+		break;
+	    if (cr.isOverflow()) {
+		n = 2*n + 1;	// Ensure progress; n might be 0!
+		ByteBuffer o = ByteBuffer.allocate(n);
+		out.flip();
+		o.put(out);
+		out = o;
+		continue;
+	    }
+	    cr.throwException();
+	}
+	out.flip();
+	return out;
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    private boolean canEncode(CharBuffer cb) {
+	if (state == ST_FLUSHED)
+	    reset();
+	else if (state != ST_RESET)
+	    throwIllegalStateException(state, ST_CODING);
+	CodingErrorAction ma = malformedInputAction();
+	CodingErrorAction ua = unmappableCharacterAction();
+	try {
+	    onMalformedInput(CodingErrorAction.REPORT);
+	    onUnmappableCharacter(CodingErrorAction.REPORT);
+	    encode(cb);
+	} catch (CharacterCodingException x) {
+	    return false;
+	} finally {
+	    onMalformedInput(ma);
+	    onUnmappableCharacter(ua);
+	    reset();
+	}
+	return true;
+    }
+
+    /**
+     * Tells whether or not this encoder can encode the given character.
+     *
+     * <p> This method returns <tt>false</tt> if the given character is a
+     * surrogate character; such characters can be interpreted only when they
+     * are members of a pair consisting of a high surrogate followed by a low
+     * surrogate.  The {@link #canEncode(java.lang.CharSequence)
+     * canEncode(CharSequence)} method may be used to test whether or not a
+     * character sequence can be encoded.
+     *
+     * <p> This method may modify this encoder's state; it should therefore not
+     * be invoked if an <a href="#steps">encoding operation</a> is already in
+     * progress.
+     *
+     * <p> The default implementation of this method is not very efficient; it
+     * should generally be overridden to improve performance.  </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this encoder can encode
+     *          the given character
+     *
+     * @throws  IllegalStateException
+     *          If an encoding operation is already in progress
+     */
+    public boolean canEncode(char c) {
+	CharBuffer cb = CharBuffer.allocate(1);
+	cb.put(c);
+	cb.flip();
+	return canEncode(cb);
+    }
+
+    /**
+     * Tells whether or not this encoder can encode the given character
+     * sequence.
+     *
+     * <p> If this method returns <tt>false</tt> for a particular character
+     * sequence then more information about why the sequence cannot be encoded
+     * may be obtained by performing a full <a href="#steps">encoding
+     * operation</a>.
+     *
+     * <p> This method may modify this encoder's state; it should therefore not
+     * be invoked if an encoding operation is already in progress.
+     *
+     * <p> The default implementation of this method is not very efficient; it
+     * should generally be overridden to improve performance.  </p>
+     *
+     * @return  <tt>true</tt> if, and only if, this encoder can encode
+     *          the given character without throwing any exceptions and without
+     *          performing any replacements
+     *
+     * @throws  IllegalStateException
+     *          If an encoding operation is already in progress
+     */
+    public boolean canEncode(CharSequence cs) {
+	CharBuffer cb;
+	if (cs instanceof CharBuffer)
+	    cb = ((CharBuffer)cs).duplicate();
+	else
+	    cb = CharBuffer.wrap(cs.toString());
+	return canEncode(cb);
+    }
+
+
+
+
+    private void throwIllegalStateException(int from, int to) {
+	throw new IllegalStateException("Current state = " + stateNames[from]
+					+ ", new state = " + stateNames[to]);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/java/util/CurrencyData.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,49 @@
+package java.util;
+
+class CurrencyData {
+
+    static final String version = "134";
+
+    static final String mainTable = "\u007f\u007f\u007f\u0081CM\u0082\u007f\u0082\u007f\u007fKCF@\u007f\u0080R\u0083\u0081C\u007fF\u0081\u007f\u0084" +
+                                    "LC\u007fS\u0081\u0085Mc\u0005\u0085\u007f\u007fCCA\u007f\u007fKCM\u007f\u0086O\u007f\u0011C" +
+                                    "C\u007f\u0087E\u007f\u0088\u0088E\u0085\u007f\u0089\u000f\u0088XO\u007f\u007fBC\u007fOD\u007f\u0087OJ" +
+                                    "\u007f\u007f\u007f\u007f\u0081\u007f\u007f\u007f\u007f\u0005J\u007f\u0082\u007fO\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fC" +
+                                    "\u007f\u007f\u0083\u007fJ\u007fO\u008a\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fM\u0081A\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u0081CO\u007f\u0083\u007f\u008b\u007f\u007f\u0081\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u0088O\u007f\u0082K\u0081\u007fBO\u007f\u007f\u008bC\u0005\u007f\u0081\u0088\u0081\u008cP\u0083\u007f\u0085\u007fC\u007f" +
+                                    "\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fC\u007f\u0087K\u007f\u007f\u007fJ\u007fFE\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007fQ\u0081\u007f\u007f\u007f\u007f\u007f\u007fR\u007fQ\u0083\u007fcQJ\u0081\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fC\u007fc\u0018\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007f\u007fR\u007fRQ\u0087\u007f\u007f\u007f\u0005\u0082\u007fV\u007f\u0016\u007f\u007f\u007f\u007fc\u007fCS" +
+                                    "JO\u0082\u007f\u007f\u007f\u007f\u007f\u008d\u007fQ\u007f\u007f\u007f\u007f\u007f\u007fCKK\u0081K\u007f\u007fc\u007f" +
+                                    "C\u007f\u0081K\u0081\u007f@\u0083\u007f\u007fC\u0085JSO\u0083\u0081N\u0082KQQJMQ\u008e" +
+                                    "C\u007f\u008f\u007f\u0085\u0087M\u007fN\u007f\u007f\u0081\u007f\u007fJQ\u007f\u0087\u007f\u007f\u0089\u007f\u007f\u007f\u007fC" +
+                                    "\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fq\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "A\u007f\u007f\u007fM\u008fJO\u007f\u007fQM\u0081\u0089\u007f\u007f\u007f\u0083\u0090\u0081\u007f\u007f\u0083\u007f\u0006\u007f" +
+                                    "Q\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007f\u007f\u0081\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u0091\u007f\u007f\u007fC\u007fA\u007f\u0005\u007f\u007f\u007f" +
+                                    "QCQCJ\u007fCO\u0081\u0086JK\u0081\u0085R\u007f\u007fC\u007fC\u007fB\u007f\u007fOK" +
+                                    "\u007f\u007f\u0083\u0088\u007f\u0081\u0085A\u007fR\u0089\u0083LcO\u007f\u007f\u0092\u007fC\u007f\u0087C\u007f\u007fR" +
+                                    "G\u007f\u007f\u007f\u007f\u007fW\u007f\u007f\u007f\u007f\u007f\u0083\u007f\u007f\u007f\u007f\u007fC\u007f\u007f\u007f\u007f\u007fTR" +
+                                    "\u0081\u007f\u0082\u007fA\u007f\u0083\u007f\u0083\u007f\u007f\u007f\u007fC\u007f\u007f\u007f\u007f\u007f\u007f\u0015\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007f\u007f\u007f\u008f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fS\u007f\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "\u007f\u007f\u007f\u007fQ\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u0081\u007f\u007f\u007f\u007f\u007f\u007f" +
+                                    "Q\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fJ\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007f\u007fC\u007f\u007f\u007f";
+
+    static final long[] scCutOverTimes = { 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 1136059200000L, 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 9223372036854775807L, 1151704800000L, 9223372036854775807L, 9223372036854775807L, 1120165200000L, 1104530400000L, };
+
+    static final String[] scOldCurrencies = { "EUR", "XCD", "USD", "AZM", "XOF", "NOK", "AUD", "XAF", "NZD", "MAD", "DKK", "GBP", "CHF", "MZM", "XPF", "ILS", "ROL", "TRL", };
+
+    static final String[] scNewCurrencies = { null, null, null, "AZN", null, null, null, null, null, null, null, null, null, "MZN", null, null, "RON", "TRY", };
+
+    static final int[] scOldCurrenciesDFD = { 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, };
+
+    static final int[] scNewCurrenciesDFD = { 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 2, };
+
+    static final String otherCurrencies = "ADP-AFA-ATS-AYM-AZM-AZN-BEF-BGL-BOV-BYB-CLF-DEM-ESP-EUR-FIM-FRF-GRD-GWP-IEP-ITL-LUF-MGF-MXV-MZM-MZN-NLG-PTE-ROL-RON-RUR-SIT-SRG-TPE-TRL-TRY-USN-USS-XAF-XAG-XAU-XBA-XBB-XBC-XBD-XCD-XDR-XFO-XFU-XOF-XPD-XPF-XPT-XTS-XXX-YUM-ZWN";
+
+    static final int[] otherCurrenciesDFD = { 0, 2, 2, 2, 2, 2, 0, 2, 2, 0, 0, 2, 0, 2, 2, 2, 0, 2, 2, 0, 0, 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 0, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, 0, -1, 0, -1, -1, -1, 2, 2, };
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/javax/management/remote/rmi/RMIConnectionImpl_Stub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,604 @@
+// Stub class generated by rmic, do not edit.
+// Contents subject to change without notice.
+
+package javax.management.remote.rmi;
+
+public final class RMIConnectionImpl_Stub
+    extends java.rmi.server.RemoteStub
+    implements javax.management.remote.rmi.RMIConnection
+{
+    private static final long serialVersionUID = 2;
+    
+    private static java.lang.reflect.Method $method_addNotificationListener_0;
+    private static java.lang.reflect.Method $method_addNotificationListeners_1;
+    private static java.lang.reflect.Method $method_close_2;
+    private static java.lang.reflect.Method $method_createMBean_3;
+    private static java.lang.reflect.Method $method_createMBean_4;
+    private static java.lang.reflect.Method $method_createMBean_5;
+    private static java.lang.reflect.Method $method_createMBean_6;
+    private static java.lang.reflect.Method $method_fetchNotifications_7;
+    private static java.lang.reflect.Method $method_getAttribute_8;
+    private static java.lang.reflect.Method $method_getAttributes_9;
+    private static java.lang.reflect.Method $method_getConnectionId_10;
+    private static java.lang.reflect.Method $method_getDefaultDomain_11;
+    private static java.lang.reflect.Method $method_getDomains_12;
+    private static java.lang.reflect.Method $method_getMBeanCount_13;
+    private static java.lang.reflect.Method $method_getMBeanInfo_14;
+    private static java.lang.reflect.Method $method_getObjectInstance_15;
+    private static java.lang.reflect.Method $method_invoke_16;
+    private static java.lang.reflect.Method $method_isInstanceOf_17;
+    private static java.lang.reflect.Method $method_isRegistered_18;
+    private static java.lang.reflect.Method $method_queryMBeans_19;
+    private static java.lang.reflect.Method $method_queryNames_20;
+    private static java.lang.reflect.Method $method_removeNotificationListener_21;
+    private static java.lang.reflect.Method $method_removeNotificationListener_22;
+    private static java.lang.reflect.Method $method_removeNotificationListeners_23;
+    private static java.lang.reflect.Method $method_setAttribute_24;
+    private static java.lang.reflect.Method $method_setAttributes_25;
+    private static java.lang.reflect.Method $method_unregisterMBean_26;
+    
+    static {
+	try {
+	    $method_addNotificationListener_0 = javax.management.remote.rmi.RMIConnection.class.getMethod("addNotificationListener", new java.lang.Class[] {javax.management.ObjectName.class, javax.management.ObjectName.class, java.rmi.MarshalledObject.class, java.rmi.MarshalledObject.class, javax.security.auth.Subject.class});
+	    $method_addNotificationListeners_1 = javax.management.remote.rmi.RMIConnection.class.getMethod("addNotificationListeners", new java.lang.Class[] {javax.management.ObjectName[].class, java.rmi.MarshalledObject[].class, javax.security.auth.Subject[].class});
+	    $method_close_2 = java.io.Closeable.class.getMethod("close", new java.lang.Class[] {});
+	    $method_createMBean_3 = javax.management.remote.rmi.RMIConnection.class.getMethod("createMBean", new java.lang.Class[] {java.lang.String.class, javax.management.ObjectName.class, java.rmi.MarshalledObject.class, java.lang.String[].class, javax.security.auth.Subject.class});
+	    $method_createMBean_4 = javax.management.remote.rmi.RMIConnection.class.getMethod("createMBean", new java.lang.Class[] {java.lang.String.class, javax.management.ObjectName.class, javax.management.ObjectName.class, java.rmi.MarshalledObject.class, java.lang.String[].class, javax.security.auth.Subject.class});
+	    $method_createMBean_5 = javax.management.remote.rmi.RMIConnection.class.getMethod("createMBean", new java.lang.Class[] {java.lang.String.class, javax.management.ObjectName.class, javax.management.ObjectName.class, javax.security.auth.Subject.class});
+	    $method_createMBean_6 = javax.management.remote.rmi.RMIConnection.class.getMethod("createMBean", new java.lang.Class[] {java.lang.String.class, javax.management.ObjectName.class, javax.security.auth.Subject.class});
+	    $method_fetchNotifications_7 = javax.management.remote.rmi.RMIConnection.class.getMethod("fetchNotifications", new java.lang.Class[] {long.class, int.class, long.class});
+	    $method_getAttribute_8 = javax.management.remote.rmi.RMIConnection.class.getMethod("getAttribute", new java.lang.Class[] {javax.management.ObjectName.class, java.lang.String.class, javax.security.auth.Subject.class});
+	    $method_getAttributes_9 = javax.management.remote.rmi.RMIConnection.class.getMethod("getAttributes", new java.lang.Class[] {javax.management.ObjectName.class, java.lang.String[].class, javax.security.auth.Subject.class});
+	    $method_getConnectionId_10 = javax.management.remote.rmi.RMIConnection.class.getMethod("getConnectionId", new java.lang.Class[] {});
+	    $method_getDefaultDomain_11 = javax.management.remote.rmi.RMIConnection.class.getMethod("getDefaultDomain", new java.lang.Class[] {javax.security.auth.Subject.class});
+	    $method_getDomains_12 = javax.management.remote.rmi.RMIConnection.class.getMethod("getDomains", new java.lang.Class[] {javax.security.auth.Subject.class});
+	    $method_getMBeanCount_13 = javax.management.remote.rmi.RMIConnection.class.getMethod("getMBeanCount", new java.lang.Class[] {javax.security.auth.Subject.class});
+	    $method_getMBeanInfo_14 = javax.management.remote.rmi.RMIConnection.class.getMethod("getMBeanInfo", new java.lang.Class[] {javax.management.ObjectName.class, javax.security.auth.Subject.class});
+	    $method_getObjectInstance_15 = javax.management.remote.rmi.RMIConnection.class.getMethod("getObjectInstance", new java.lang.Class[] {javax.management.ObjectName.class, javax.security.auth.Subject.class});
+	    $method_invoke_16 = javax.management.remote.rmi.RMIConnection.class.getMethod("invoke", new java.lang.Class[] {javax.management.ObjectName.class, java.lang.String.class, java.rmi.MarshalledObject.class, java.lang.String[].class, javax.security.auth.Subject.class});
+	    $method_isInstanceOf_17 = javax.management.remote.rmi.RMIConnection.class.getMethod("isInstanceOf", new java.lang.Class[] {javax.management.ObjectName.class, java.lang.String.class, javax.security.auth.Subject.class});
+	    $method_isRegistered_18 = javax.management.remote.rmi.RMIConnection.class.getMethod("isRegistered", new java.lang.Class[] {javax.management.ObjectName.class, javax.security.auth.Subject.class});
+	    $method_queryMBeans_19 = javax.management.remote.rmi.RMIConnection.class.getMethod("queryMBeans", new java.lang.Class[] {javax.management.ObjectName.class, java.rmi.MarshalledObject.class, javax.security.auth.Subject.class});
+	    $method_queryNames_20 = javax.management.remote.rmi.RMIConnection.class.getMethod("queryNames", new java.lang.Class[] {javax.management.ObjectName.class, java.rmi.MarshalledObject.class, javax.security.auth.Subject.class});
+	    $method_removeNotificationListener_21 = javax.management.remote.rmi.RMIConnection.class.getMethod("removeNotificationListener", new java.lang.Class[] {javax.management.ObjectName.class, javax.management.ObjectName.class, java.rmi.MarshalledObject.class, java.rmi.MarshalledObject.class, javax.security.auth.Subject.class});
+	    $method_removeNotificationListener_22 = javax.management.remote.rmi.RMIConnection.class.getMethod("removeNotificationListener", new java.lang.Class[] {javax.management.ObjectName.class, javax.management.ObjectName.class, javax.security.auth.Subject.class});
+	    $method_removeNotificationListeners_23 = javax.management.remote.rmi.RMIConnection.class.getMethod("removeNotificationListeners", new java.lang.Class[] {javax.management.ObjectName.class, java.lang.Integer[].class, javax.security.auth.Subject.class});
+	    $method_setAttribute_24 = javax.management.remote.rmi.RMIConnection.class.getMethod("setAttribute", new java.lang.Class[] {javax.management.ObjectName.class, java.rmi.MarshalledObject.class, javax.security.auth.Subject.class});
+	    $method_setAttributes_25 = javax.management.remote.rmi.RMIConnection.class.getMethod("setAttributes", new java.lang.Class[] {javax.management.ObjectName.class, java.rmi.MarshalledObject.class, javax.security.auth.Subject.class});
+	    $method_unregisterMBean_26 = javax.management.remote.rmi.RMIConnection.class.getMethod("unregisterMBean", new java.lang.Class[] {javax.management.ObjectName.class, javax.security.auth.Subject.class});
+	} catch (java.lang.NoSuchMethodException e) {
+	    throw new java.lang.NoSuchMethodError(
+		"stub class initialization failed");
+	}
+    }
+    
+    // constructors
+    public RMIConnectionImpl_Stub(java.rmi.server.RemoteRef ref) {
+	super(ref);
+    }
+    
+    // methods from remote interfaces
+    
+    // implementation of addNotificationListener(ObjectName, ObjectName, MarshalledObject, MarshalledObject, Subject)
+    public void addNotificationListener(javax.management.ObjectName $param_ObjectName_1, javax.management.ObjectName $param_ObjectName_2, java.rmi.MarshalledObject $param_MarshalledObject_3, java.rmi.MarshalledObject $param_MarshalledObject_4, javax.security.auth.Subject $param_Subject_5)
+	throws java.io.IOException, javax.management.InstanceNotFoundException
+    {
+	try {
+	    ref.invoke(this, $method_addNotificationListener_0, new java.lang.Object[] {$param_ObjectName_1, $param_ObjectName_2, $param_MarshalledObject_3, $param_MarshalledObject_4, $param_Subject_5}, -8578317696269497109L);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of addNotificationListeners(ObjectName[], MarshalledObject[], Subject[])
+    public java.lang.Integer[] addNotificationListeners(javax.management.ObjectName[] $param_arrayOf_ObjectName_1, java.rmi.MarshalledObject[] $param_arrayOf_MarshalledObject_2, javax.security.auth.Subject[] $param_arrayOf_Subject_3)
+	throws java.io.IOException, javax.management.InstanceNotFoundException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_addNotificationListeners_1, new java.lang.Object[] {$param_arrayOf_ObjectName_1, $param_arrayOf_MarshalledObject_2, $param_arrayOf_Subject_3}, -5321691879380783377L);
+	    return ((java.lang.Integer[]) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of close()
+    public void close()
+	throws java.io.IOException
+    {
+	try {
+	    ref.invoke(this, $method_close_2, null, -4742752445160157748L);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of createMBean(String, ObjectName, MarshalledObject, String[], Subject)
+    public javax.management.ObjectInstance createMBean(java.lang.String $param_String_1, javax.management.ObjectName $param_ObjectName_2, java.rmi.MarshalledObject $param_MarshalledObject_3, java.lang.String[] $param_arrayOf_String_4, javax.security.auth.Subject $param_Subject_5)
+	throws java.io.IOException, javax.management.InstanceAlreadyExistsException, javax.management.MBeanException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_createMBean_3, new java.lang.Object[] {$param_String_1, $param_ObjectName_2, $param_MarshalledObject_3, $param_arrayOf_String_4, $param_Subject_5}, 4867822117947806114L);
+	    return ((javax.management.ObjectInstance) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceAlreadyExistsException e) {
+	    throw e;
+	} catch (javax.management.MBeanException e) {
+	    throw e;
+	} catch (javax.management.NotCompliantMBeanException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of createMBean(String, ObjectName, ObjectName, MarshalledObject, String[], Subject)
+    public javax.management.ObjectInstance createMBean(java.lang.String $param_String_1, javax.management.ObjectName $param_ObjectName_2, javax.management.ObjectName $param_ObjectName_3, java.rmi.MarshalledObject $param_MarshalledObject_4, java.lang.String[] $param_arrayOf_String_5, javax.security.auth.Subject $param_Subject_6)
+	throws java.io.IOException, javax.management.InstanceAlreadyExistsException, javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_createMBean_4, new java.lang.Object[] {$param_String_1, $param_ObjectName_2, $param_ObjectName_3, $param_MarshalledObject_4, $param_arrayOf_String_5, $param_Subject_6}, -6604955182088909937L);
+	    return ((javax.management.ObjectInstance) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceAlreadyExistsException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.MBeanException e) {
+	    throw e;
+	} catch (javax.management.NotCompliantMBeanException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of createMBean(String, ObjectName, ObjectName, Subject)
+    public javax.management.ObjectInstance createMBean(java.lang.String $param_String_1, javax.management.ObjectName $param_ObjectName_2, javax.management.ObjectName $param_ObjectName_3, javax.security.auth.Subject $param_Subject_4)
+	throws java.io.IOException, javax.management.InstanceAlreadyExistsException, javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_createMBean_5, new java.lang.Object[] {$param_String_1, $param_ObjectName_2, $param_ObjectName_3, $param_Subject_4}, -8679469989872508324L);
+	    return ((javax.management.ObjectInstance) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceAlreadyExistsException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.MBeanException e) {
+	    throw e;
+	} catch (javax.management.NotCompliantMBeanException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of createMBean(String, ObjectName, Subject)
+    public javax.management.ObjectInstance createMBean(java.lang.String $param_String_1, javax.management.ObjectName $param_ObjectName_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.InstanceAlreadyExistsException, javax.management.MBeanException, javax.management.MBeanRegistrationException, javax.management.NotCompliantMBeanException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_createMBean_6, new java.lang.Object[] {$param_String_1, $param_ObjectName_2, $param_Subject_3}, 2510753813974665446L);
+	    return ((javax.management.ObjectInstance) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceAlreadyExistsException e) {
+	    throw e;
+	} catch (javax.management.MBeanException e) {
+	    throw e;
+	} catch (javax.management.NotCompliantMBeanException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of fetchNotifications(long, int, long)
+    public javax.management.remote.NotificationResult fetchNotifications(long $param_long_1, int $param_int_2, long $param_long_3)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_fetchNotifications_7, new java.lang.Object[] {new java.lang.Long($param_long_1), new java.lang.Integer($param_int_2), new java.lang.Long($param_long_3)}, -5037523307973544478L);
+	    return ((javax.management.remote.NotificationResult) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getAttribute(ObjectName, String, Subject)
+    public java.lang.Object getAttribute(javax.management.ObjectName $param_ObjectName_1, java.lang.String $param_String_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.AttributeNotFoundException, javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getAttribute_8, new java.lang.Object[] {$param_ObjectName_1, $param_String_2, $param_Subject_3}, -1089783104982388203L);
+	    return ((java.lang.Object) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.AttributeNotFoundException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.MBeanException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getAttributes(ObjectName, String[], Subject)
+    public javax.management.AttributeList getAttributes(javax.management.ObjectName $param_ObjectName_1, java.lang.String[] $param_arrayOf_String_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getAttributes_9, new java.lang.Object[] {$param_ObjectName_1, $param_arrayOf_String_2, $param_Subject_3}, 6285293806596348999L);
+	    return ((javax.management.AttributeList) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getConnectionId()
+    public java.lang.String getConnectionId()
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getConnectionId_10, null, -67907180346059933L);
+	    return ((java.lang.String) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getDefaultDomain(Subject)
+    public java.lang.String getDefaultDomain(javax.security.auth.Subject $param_Subject_1)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getDefaultDomain_11, new java.lang.Object[] {$param_Subject_1}, 6047668923998658472L);
+	    return ((java.lang.String) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getDomains(Subject)
+    public java.lang.String[] getDomains(javax.security.auth.Subject $param_Subject_1)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getDomains_12, new java.lang.Object[] {$param_Subject_1}, -6662314179953625551L);
+	    return ((java.lang.String[]) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getMBeanCount(Subject)
+    public java.lang.Integer getMBeanCount(javax.security.auth.Subject $param_Subject_1)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getMBeanCount_13, new java.lang.Object[] {$param_Subject_1}, -2042362057335820635L);
+	    return ((java.lang.Integer) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getMBeanInfo(ObjectName, Subject)
+    public javax.management.MBeanInfo getMBeanInfo(javax.management.ObjectName $param_ObjectName_1, javax.security.auth.Subject $param_Subject_2)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.IntrospectionException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getMBeanInfo_14, new java.lang.Object[] {$param_ObjectName_1, $param_Subject_2}, -7404813916326233354L);
+	    return ((javax.management.MBeanInfo) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.IntrospectionException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of getObjectInstance(ObjectName, Subject)
+    public javax.management.ObjectInstance getObjectInstance(javax.management.ObjectName $param_ObjectName_1, javax.security.auth.Subject $param_Subject_2)
+	throws java.io.IOException, javax.management.InstanceNotFoundException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getObjectInstance_15, new java.lang.Object[] {$param_ObjectName_1, $param_Subject_2}, 6950095694996159938L);
+	    return ((javax.management.ObjectInstance) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of invoke(ObjectName, String, MarshalledObject, String[], Subject)
+    public java.lang.Object invoke(javax.management.ObjectName $param_ObjectName_1, java.lang.String $param_String_2, java.rmi.MarshalledObject $param_MarshalledObject_3, java.lang.String[] $param_arrayOf_String_4, javax.security.auth.Subject $param_Subject_5)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_invoke_16, new java.lang.Object[] {$param_ObjectName_1, $param_String_2, $param_MarshalledObject_3, $param_arrayOf_String_4, $param_Subject_5}, 1434350937885235744L);
+	    return ((java.lang.Object) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.MBeanException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of isInstanceOf(ObjectName, String, Subject)
+    public boolean isInstanceOf(javax.management.ObjectName $param_ObjectName_1, java.lang.String $param_String_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.InstanceNotFoundException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_isInstanceOf_17, new java.lang.Object[] {$param_ObjectName_1, $param_String_2, $param_Subject_3}, -2147516868461740814L);
+	    return ((java.lang.Boolean) $result).booleanValue();
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of isRegistered(ObjectName, Subject)
+    public boolean isRegistered(javax.management.ObjectName $param_ObjectName_1, javax.security.auth.Subject $param_Subject_2)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_isRegistered_18, new java.lang.Object[] {$param_ObjectName_1, $param_Subject_2}, 8325683335228268564L);
+	    return ((java.lang.Boolean) $result).booleanValue();
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of queryMBeans(ObjectName, MarshalledObject, Subject)
+    public java.util.Set queryMBeans(javax.management.ObjectName $param_ObjectName_1, java.rmi.MarshalledObject $param_MarshalledObject_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_queryMBeans_19, new java.lang.Object[] {$param_ObjectName_1, $param_MarshalledObject_2, $param_Subject_3}, 2915881009400597976L);
+	    return ((java.util.Set) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of queryNames(ObjectName, MarshalledObject, Subject)
+    public java.util.Set queryNames(javax.management.ObjectName $param_ObjectName_1, java.rmi.MarshalledObject $param_MarshalledObject_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_queryNames_20, new java.lang.Object[] {$param_ObjectName_1, $param_MarshalledObject_2, $param_Subject_3}, 9152567528369059802L);
+	    return ((java.util.Set) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of removeNotificationListener(ObjectName, ObjectName, MarshalledObject, MarshalledObject, Subject)
+    public void removeNotificationListener(javax.management.ObjectName $param_ObjectName_1, javax.management.ObjectName $param_ObjectName_2, java.rmi.MarshalledObject $param_MarshalledObject_3, java.rmi.MarshalledObject $param_MarshalledObject_4, javax.security.auth.Subject $param_Subject_5)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.ListenerNotFoundException
+    {
+	try {
+	    ref.invoke(this, $method_removeNotificationListener_21, new java.lang.Object[] {$param_ObjectName_1, $param_ObjectName_2, $param_MarshalledObject_3, $param_MarshalledObject_4, $param_Subject_5}, 2578029900065214857L);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.ListenerNotFoundException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of removeNotificationListener(ObjectName, ObjectName, Subject)
+    public void removeNotificationListener(javax.management.ObjectName $param_ObjectName_1, javax.management.ObjectName $param_ObjectName_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.ListenerNotFoundException
+    {
+	try {
+	    ref.invoke(this, $method_removeNotificationListener_22, new java.lang.Object[] {$param_ObjectName_1, $param_ObjectName_2, $param_Subject_3}, 6604721169198089513L);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.ListenerNotFoundException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of removeNotificationListeners(ObjectName, Integer[], Subject)
+    public void removeNotificationListeners(javax.management.ObjectName $param_ObjectName_1, java.lang.Integer[] $param_arrayOf_Integer_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.ListenerNotFoundException
+    {
+	try {
+	    ref.invoke(this, $method_removeNotificationListeners_23, new java.lang.Object[] {$param_ObjectName_1, $param_arrayOf_Integer_2, $param_Subject_3}, 2549120024456183446L);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.ListenerNotFoundException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of setAttribute(ObjectName, MarshalledObject, Subject)
+    public void setAttribute(javax.management.ObjectName $param_ObjectName_1, java.rmi.MarshalledObject $param_MarshalledObject_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.AttributeNotFoundException, javax.management.InstanceNotFoundException, javax.management.InvalidAttributeValueException, javax.management.MBeanException, javax.management.ReflectionException
+    {
+	try {
+	    ref.invoke(this, $method_setAttribute_24, new java.lang.Object[] {$param_ObjectName_1, $param_MarshalledObject_2, $param_Subject_3}, 6738606893952597516L);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.AttributeNotFoundException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.InvalidAttributeValueException e) {
+	    throw e;
+	} catch (javax.management.MBeanException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of setAttributes(ObjectName, MarshalledObject, Subject)
+    public javax.management.AttributeList setAttributes(javax.management.ObjectName $param_ObjectName_1, java.rmi.MarshalledObject $param_MarshalledObject_2, javax.security.auth.Subject $param_Subject_3)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.ReflectionException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_setAttributes_25, new java.lang.Object[] {$param_ObjectName_1, $param_MarshalledObject_2, $param_Subject_3}, -230470228399681820L);
+	    return ((javax.management.AttributeList) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.ReflectionException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of unregisterMBean(ObjectName, Subject)
+    public void unregisterMBean(javax.management.ObjectName $param_ObjectName_1, javax.security.auth.Subject $param_Subject_2)
+	throws java.io.IOException, javax.management.InstanceNotFoundException, javax.management.MBeanRegistrationException
+    {
+	try {
+	    ref.invoke(this, $method_unregisterMBean_26, new java.lang.Object[] {$param_ObjectName_1, $param_Subject_2}, -159498580868721452L);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (javax.management.InstanceNotFoundException e) {
+	    throw e;
+	} catch (javax.management.MBeanRegistrationException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/javax/management/remote/rmi/RMIServerImpl_Stub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+// Stub class generated by rmic, do not edit.
+// Contents subject to change without notice.
+
+package javax.management.remote.rmi;
+
+public final class RMIServerImpl_Stub
+    extends java.rmi.server.RemoteStub
+    implements javax.management.remote.rmi.RMIServer
+{
+    private static final long serialVersionUID = 2;
+    
+    private static java.lang.reflect.Method $method_getVersion_0;
+    private static java.lang.reflect.Method $method_newClient_1;
+    
+    static {
+	try {
+	    $method_getVersion_0 = javax.management.remote.rmi.RMIServer.class.getMethod("getVersion", new java.lang.Class[] {});
+	    $method_newClient_1 = javax.management.remote.rmi.RMIServer.class.getMethod("newClient", new java.lang.Class[] {java.lang.Object.class});
+	} catch (java.lang.NoSuchMethodException e) {
+	    throw new java.lang.NoSuchMethodError(
+		"stub class initialization failed");
+	}
+    }
+    
+    // constructors
+    public RMIServerImpl_Stub(java.rmi.server.RemoteRef ref) {
+	super(ref);
+    }
+    
+    // methods from remote interfaces
+    
+    // implementation of getVersion()
+    public java.lang.String getVersion()
+	throws java.rmi.RemoteException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_getVersion_0, null, -8081107751519807347L);
+	    return ((java.lang.String) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.rmi.RemoteException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+    
+    // implementation of newClient(Object)
+    public javax.management.remote.rmi.RMIConnection newClient(java.lang.Object $param_Object_1)
+	throws java.io.IOException
+    {
+	try {
+	    Object $result = ref.invoke(this, $method_newClient_1, new java.lang.Object[] {$param_Object_1}, -1089742558549201240L);
+	    return ((javax.management.remote.rmi.RMIConnection) $result);
+	} catch (java.lang.RuntimeException e) {
+	    throw e;
+	} catch (java.io.IOException e) {
+	    throw e;
+	} catch (java.lang.Exception e) {
+	    throw new java.rmi.UnexpectedException("undeclared checked exception", e);
+	}
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/ParameterMode.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,51 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/ParameterMode.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Enumeration of parameter modes for Parameter.  Possible vaues:
+   * <ul>
+   *   <li>PARAM_IN - Represents an "in" parameter.</li>
+   *   <li>PARAM_OUT - Represents an "out" parameter.</li>
+   *   <li>PARAM_INOUT - Represents an "inout" parameter.</li>
+   * </ul>
+   */
+public class ParameterMode implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 3;
+  private static org.omg.CORBA.ParameterMode[] __array = new org.omg.CORBA.ParameterMode [__size];
+
+  public static final int _PARAM_IN = 0;
+  public static final org.omg.CORBA.ParameterMode PARAM_IN = new org.omg.CORBA.ParameterMode(_PARAM_IN);
+  public static final int _PARAM_OUT = 1;
+  public static final org.omg.CORBA.ParameterMode PARAM_OUT = new org.omg.CORBA.ParameterMode(_PARAM_OUT);
+  public static final int _PARAM_INOUT = 2;
+  public static final org.omg.CORBA.ParameterMode PARAM_INOUT = new org.omg.CORBA.ParameterMode(_PARAM_INOUT);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.CORBA.ParameterMode from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected ParameterMode (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class ParameterMode
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/ParameterModeHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/ParameterModeHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Enumeration of parameter modes for Parameter.  Possible vaues:
+   * <ul>
+   *   <li>PARAM_IN - Represents an "in" parameter.</li>
+   *   <li>PARAM_OUT - Represents an "out" parameter.</li>
+   *   <li>PARAM_INOUT - Represents an "inout" parameter.</li>
+   * </ul>
+   */
+abstract public class ParameterModeHelper
+{
+  private static String  _id = "IDL:omg.org/CORBA/ParameterMode:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CORBA.ParameterMode 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.CORBA.ParameterMode 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_enum_tc (org.omg.CORBA.ParameterModeHelper.id (), "ParameterMode", new String[] { "PARAM_IN", "PARAM_OUT", "PARAM_INOUT"} );
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CORBA.ParameterMode read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return org.omg.CORBA.ParameterMode.from_int (istream.read_long ());
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CORBA.ParameterMode value)
+  {
+    ostream.write_long (value.value ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/ParameterModeHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,47 @@
+package org.omg.CORBA;
+
+/**
+* org/omg/CORBA/ParameterModeHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Enumeration of parameter modes for Parameter.  Possible vaues:
+   * <ul>
+   *   <li>PARAM_IN - Represents an "in" parameter.</li>
+   *   <li>PARAM_OUT - Represents an "out" parameter.</li>
+   *   <li>PARAM_INOUT - Represents an "inout" parameter.</li>
+   * </ul>
+   */
+public final class ParameterModeHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CORBA.ParameterMode value = null;
+
+  public ParameterModeHolder ()
+  {
+  }
+
+  public ParameterModeHolder (org.omg.CORBA.ParameterMode initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CORBA.ParameterModeHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CORBA.ParameterModeHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CORBA.ParameterModeHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/PolicyErrorCodeHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/PolicyErrorCodeHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** 
+   * Encapsulates a reason a Policy may be invalid.
+   *
+   * @see PolicyError
+   */
+abstract public class PolicyErrorCodeHelper
+{
+  private static String  _id = "IDL:omg.org/CORBA/PolicyErrorCode:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, short 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 short 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_short);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CORBA.PolicyErrorCodeHelper.id (), "PolicyErrorCode", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static short read (org.omg.CORBA.portable.InputStream istream)
+  {
+    short value = (short)0;
+    value = istream.read_short ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, short value)
+  {
+    ostream.write_short (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/PolicyErrorHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/PolicyErrorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Thrown to indicate problems with parameter values passed to the
+   * <code>ORB.create_policy</code> operation.  
+   */
+abstract public class PolicyErrorHelper
+{
+  private static String  _id = "IDL:omg.org/CORBA/PolicyError:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CORBA.PolicyError 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.CORBA.PolicyError 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_short);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CORBA.PolicyErrorCodeHelper.id (), "PolicyErrorCode", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "reason",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.CORBA.PolicyErrorHelper.id (), "PolicyError", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CORBA.PolicyError read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CORBA.PolicyError value = new org.omg.CORBA.PolicyError ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.reason = istream.read_short ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CORBA.PolicyError value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_short (value.reason);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/PolicyErrorHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,43 @@
+package org.omg.CORBA;
+
+/**
+* org/omg/CORBA/PolicyErrorHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Thrown to indicate problems with parameter values passed to the
+   * <code>ORB.create_policy</code> operation.  
+   */
+public final class PolicyErrorHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CORBA.PolicyError value = null;
+
+  public PolicyErrorHolder ()
+  {
+  }
+
+  public PolicyErrorHolder (org.omg.CORBA.PolicyError initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CORBA.PolicyErrorHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CORBA.PolicyErrorHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CORBA.PolicyErrorHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/StringSeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/StringSeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of Strings */
+abstract public class StringSeqHelper
+{
+  private static String  _id = "IDL:omg.org/CORBA/StringSeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CORBA.StringSeqHelper.id (), "StringSeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      ostream.write_string (value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/StringSeqHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/StringSeqHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of Strings */
+public final class StringSeqHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public StringSeqHolder ()
+  {
+  }
+
+  public StringSeqHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CORBA.StringSeqHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CORBA.StringSeqHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CORBA.StringSeqHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/WStringSeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/WStringSeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of WStrings */
+abstract public class WStringSeqHelper
+{
+  private static String  _id = "IDL:omg.org/CORBA/WStringSeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_wstring_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CORBA.WStringSeqHelper.id (), "WStringSeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    int _len0 = istream.read_long ();
+    value = new String[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = istream.read_wstring ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      ostream.write_wstring (value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CORBA/WStringSeqHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package org.omg.CORBA;
+
+
+/**
+* org/omg/CORBA/WStringSeqHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/CORBAX.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of WStrings */
+public final class WStringSeqHolder implements org.omg.CORBA.portable.Streamable
+{
+  public String value[] = null;
+
+  public WStringSeqHolder ()
+  {
+  }
+
+  public WStringSeqHolder (String[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CORBA.WStringSeqHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CORBA.WStringSeqHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CORBA.WStringSeqHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/Binding.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/Binding.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class Binding implements org.omg.CORBA.portable.IDLEntity
+{
+  public org.omg.CosNaming.NameComponent binding_name[] = null;
+
+  // name
+  public org.omg.CosNaming.BindingType binding_type = null;
+
+  public Binding ()
+  {
+  } // ctor
+
+  public Binding (org.omg.CosNaming.NameComponent[] _binding_name, org.omg.CosNaming.BindingType _binding_type)
+  {
+    binding_name = _binding_name;
+    binding_type = _binding_type;
+  } // ctor
+
+} // class Binding
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class BindingHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/Binding/Binding:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.Binding 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.CosNaming.Binding 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CosNaming.NameComponentHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.NameHelper.id (), "Name", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "binding_name",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CosNaming.BindingTypeHelper.type ();
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "binding_type",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.CosNaming.BindingHelper.id (), "Binding", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.Binding read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.Binding value = new org.omg.CosNaming.Binding ();
+    value.binding_name = org.omg.CosNaming.NameHelper.read (istream);
+    value.binding_type = org.omg.CosNaming.BindingTypeHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.Binding value)
+  {
+    org.omg.CosNaming.NameHelper.write (ostream, value.binding_name);
+    org.omg.CosNaming.BindingTypeHelper.write (ostream, value.binding_type);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming;
+
+/**
+* org/omg/CosNaming/BindingHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class BindingHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.Binding value = null;
+
+  public BindingHolder ()
+  {
+  }
+
+  public BindingHolder (org.omg.CosNaming.Binding initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.BindingHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.BindingHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.BindingHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingIterator.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,22 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingIterator.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The BindingIterator interface allows a client to iterate through
+   * the bindings using the next_one or next_n operations.
+   * 
+   * The bindings iterator is obtained by using the <tt>list</tt>
+   * method on the <tt>NamingContext</tt>. 
+   * @see org.omg.CosNaming.NamingContext#list
+   */
+public interface BindingIterator extends BindingIteratorOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface BindingIterator
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingIteratorHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,94 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingIteratorHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The BindingIterator interface allows a client to iterate through
+   * the bindings using the next_one or next_n operations.
+   * 
+   * The bindings iterator is obtained by using the <tt>list</tt>
+   * method on the <tt>NamingContext</tt>. 
+   * @see org.omg.CosNaming.NamingContext#list
+   */
+abstract public class BindingIteratorHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/BindingIterator:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.BindingIterator 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.CosNaming.BindingIterator 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.CosNaming.BindingIteratorHelper.id (), "BindingIterator");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.BindingIterator read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_BindingIteratorStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.BindingIterator value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static org.omg.CosNaming.BindingIterator narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.CosNaming.BindingIterator)
+      return (org.omg.CosNaming.BindingIterator)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.CosNaming._BindingIteratorStub stub = new org.omg.CosNaming._BindingIteratorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.CosNaming.BindingIterator unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.CosNaming.BindingIterator)
+      return (org.omg.CosNaming.BindingIterator)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.CosNaming._BindingIteratorStub stub = new org.omg.CosNaming._BindingIteratorStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingIteratorHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,47 @@
+package org.omg.CosNaming;
+
+/**
+* org/omg/CosNaming/BindingIteratorHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The BindingIterator interface allows a client to iterate through
+   * the bindings using the next_one or next_n operations.
+   * 
+   * The bindings iterator is obtained by using the <tt>list</tt>
+   * method on the <tt>NamingContext</tt>. 
+   * @see org.omg.CosNaming.NamingContext#list
+   */
+public final class BindingIteratorHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.BindingIterator value = null;
+
+  public BindingIteratorHolder ()
+  {
+  }
+
+  public BindingIteratorHolder (org.omg.CosNaming.BindingIterator initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.BindingIteratorHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.BindingIteratorHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.BindingIteratorHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingIteratorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingIteratorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The BindingIterator interface allows a client to iterate through
+   * the bindings using the next_one or next_n operations.
+   * 
+   * The bindings iterator is obtained by using the <tt>list</tt>
+   * method on the <tt>NamingContext</tt>. 
+   * @see org.omg.CosNaming.NamingContext#list
+   */
+public interface BindingIteratorOperations 
+{
+
+  /**
+       * This operation returns the next binding. If there are no more
+       * bindings, false is returned.
+       * 
+       * @param b the returned binding
+       */
+  boolean next_one (org.omg.CosNaming.BindingHolder b);
+
+  /**
+       * This operation returns at most the requested number of bindings.
+       * 
+       * @param how_many the maximum number of bindings tro return <p>
+       * 
+       * @param bl the returned bindings
+       */
+  boolean next_n (int how_many, org.omg.CosNaming.BindingListHolder bl);
+
+  /**
+       * This operation destroys the iterator.
+       */
+  void destroy ();
+} // interface BindingIteratorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingIteratorPOA.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,123 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingIteratorPOA.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The BindingIterator interface allows a client to iterate through
+   * the bindings using the next_one or next_n operations.
+   * 
+   * The bindings iterator is obtained by using the <tt>list</tt>
+   * method on the <tt>NamingContext</tt>. 
+   * @see org.omg.CosNaming.NamingContext#list
+   */
+public abstract class BindingIteratorPOA extends org.omg.PortableServer.Servant
+ implements org.omg.CosNaming.BindingIteratorOperations, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("next_one", new java.lang.Integer (0));
+    _methods.put ("next_n", new java.lang.Integer (1));
+    _methods.put ("destroy", new java.lang.Integer (2));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /**
+       * This operation returns the next binding. If there are no more
+       * bindings, false is returned.
+       * 
+       * @param b the returned binding
+       */
+       case 0:  // CosNaming/BindingIterator/next_one
+       {
+         org.omg.CosNaming.BindingHolder b = new org.omg.CosNaming.BindingHolder ();
+         boolean $result = false;
+         $result = this.next_one (b);
+         out = $rh.createReply();
+         out.write_boolean ($result);
+         org.omg.CosNaming.BindingHelper.write (out, b.value);
+         break;
+       }
+
+
+  /**
+       * This operation returns at most the requested number of bindings.
+       * 
+       * @param how_many the maximum number of bindings tro return <p>
+       * 
+       * @param bl the returned bindings
+       */
+       case 1:  // CosNaming/BindingIterator/next_n
+       {
+         int how_many = in.read_ulong ();
+         org.omg.CosNaming.BindingListHolder bl = new org.omg.CosNaming.BindingListHolder ();
+         boolean $result = false;
+         $result = this.next_n (how_many, bl);
+         out = $rh.createReply();
+         out.write_boolean ($result);
+         org.omg.CosNaming.BindingListHelper.write (out, bl.value);
+         break;
+       }
+
+
+  /**
+       * This operation destroys the iterator.
+       */
+       case 2:  // CosNaming/BindingIterator/destroy
+       {
+         this.destroy ();
+         out = $rh.createReply();
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/CosNaming/BindingIterator:1.0"};
+
+  public String[] _all_interfaces (org.omg.PortableServer.POA poa, byte[] objectId)
+  {
+    return (String[])__ids.clone ();
+  }
+
+  public BindingIterator _this() 
+  {
+    return BindingIteratorHelper.narrow(
+    super._this_object());
+  }
+
+  public BindingIterator _this(org.omg.CORBA.ORB orb) 
+  {
+    return BindingIteratorHelper.narrow(
+    super._this_object(orb));
+  }
+
+
+} // class BindingIteratorPOA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * List of Bindings.
+   */
+abstract public class BindingListHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/BindingList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.Binding[] 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.CosNaming.Binding[] 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.CosNaming.BindingHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.BindingListHelper.id (), "BindingList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.Binding[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.Binding value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.CosNaming.Binding[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.CosNaming.BindingHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.Binding[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.CosNaming.BindingHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,43 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * List of Bindings.
+   */
+public final class BindingListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.Binding value[] = null;
+
+  public BindingListHolder ()
+  {
+  }
+
+  public BindingListHolder (org.omg.CosNaming.Binding[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.BindingListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.BindingListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.BindingListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingType.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingType.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Specifies whether the given binding is for a object (that is not a
+   * naming context) or for a naming context.
+   */
+public class BindingType implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 2;
+  private static org.omg.CosNaming.BindingType[] __array = new org.omg.CosNaming.BindingType [__size];
+
+  public static final int _nobject = 0;
+  public static final org.omg.CosNaming.BindingType nobject = new org.omg.CosNaming.BindingType(_nobject);
+  public static final int _ncontext = 1;
+  public static final org.omg.CosNaming.BindingType ncontext = new org.omg.CosNaming.BindingType(_ncontext);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.CosNaming.BindingType from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected BindingType (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class BindingType
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingTypeHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/BindingTypeHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Specifies whether the given binding is for a object (that is not a
+   * naming context) or for a naming context.
+   */
+abstract public class BindingTypeHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/BindingType:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.BindingType 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.CosNaming.BindingType 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_enum_tc (org.omg.CosNaming.BindingTypeHelper.id (), "BindingType", new String[] { "nobject", "ncontext"} );
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.BindingType read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return org.omg.CosNaming.BindingType.from_int (istream.read_long ());
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.BindingType value)
+  {
+    ostream.write_long (value.value ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/BindingTypeHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,43 @@
+package org.omg.CosNaming;
+
+/**
+* org/omg/CosNaming/BindingTypeHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Specifies whether the given binding is for a object (that is not a
+   * naming context) or for a naming context.
+   */
+public final class BindingTypeHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.BindingType value = null;
+
+  public BindingTypeHolder ()
+  {
+  }
+
+  public BindingTypeHolder (org.omg.CosNaming.BindingType initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.BindingTypeHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.BindingTypeHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.BindingTypeHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/IstringHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/IstringHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class IstringHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/Istring:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.IstringHelper.id (), "Istring", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NameComponent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NameComponent.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class NameComponent implements org.omg.CORBA.portable.IDLEntity
+{
+  public String id = null;
+  public String kind = null;
+
+  public NameComponent ()
+  {
+  } // ctor
+
+  public NameComponent (String _id, String _kind)
+  {
+    id = _id;
+    kind = _kind;
+  } // ctor
+
+} // class NameComponent
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NameComponentHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NameComponentHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class NameComponentHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NameComponent/NameComponent:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NameComponent 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.CosNaming.NameComponent 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.IstringHelper.id (), "Istring", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "id",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.IstringHelper.id (), "Istring", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "kind",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.CosNaming.NameComponentHelper.id (), "NameComponent", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NameComponent read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NameComponent value = new org.omg.CosNaming.NameComponent ();
+    value.id = istream.read_string ();
+    value.kind = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NameComponent value)
+  {
+    ostream.write_string (value.id);
+    ostream.write_string (value.kind);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NameComponentHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming;
+
+/**
+* org/omg/CosNaming/NameComponentHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class NameComponentHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NameComponent value = null;
+
+  public NameComponentHolder ()
+  {
+  }
+
+  public NameComponentHolder (org.omg.CosNaming.NameComponent initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NameComponentHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NameComponentHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NameComponentHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * A name is a sequence of name components.
+   */
+abstract public class NameHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/Name:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NameComponent[] 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.CosNaming.NameComponent[] 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.CosNaming.NameComponentHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.NameHelper.id (), "Name", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NameComponent[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NameComponent value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.CosNaming.NameComponent[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.CosNaming.NameComponentHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NameComponent[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.CosNaming.NameComponentHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NameHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,43 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NameHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * A name is a sequence of name components.
+   */
+public final class NameHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NameComponent value[] = null;
+
+  public NameHolder ()
+  {
+  }
+
+  public NameHolder (org.omg.CosNaming.NameComponent[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NameHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NameHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NameHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContext.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,23 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContext.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * A naming context is an object that contains a set of name bindings in 
+ * which each name is unique. Different names can be bound to an object 
+ * in the same or different contexts at the same time. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public interface NamingContext extends NamingContextOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface NamingContext
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExt.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,27 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContextExt.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * <code>NamingContextExt</code> is the extension of <code>NamingContext</code>
+ * which
+ * contains a set of name bindings in which each name is unique and is
+ * part of Interoperable Naming Service.
+ * Different names can be bound to an object in the same or different
+ * contexts at the same time. Using <tt>NamingContextExt</tt>, you can use
+ * URL-based names to bind and resolve. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public interface NamingContextExt extends NamingContextExtOperations, org.omg.CosNaming.NamingContext, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface NamingContextExt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,99 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * <code>NamingContextExt</code> is the extension of <code>NamingContext</code>
+ * which
+ * contains a set of name bindings in which each name is unique and is
+ * part of Interoperable Naming Service.
+ * Different names can be bound to an object in the same or different
+ * contexts at the same time. Using <tt>NamingContextExt</tt>, you can use
+ * URL-based names to bind and resolve. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+abstract public class NamingContextExtHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContextExt:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextExt 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.CosNaming.NamingContextExt 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.CosNaming.NamingContextExtHelper.id (), "NamingContextExt");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextExt read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_NamingContextExtStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextExt value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static org.omg.CosNaming.NamingContextExt narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.CosNaming.NamingContextExt)
+      return (org.omg.CosNaming.NamingContextExt)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.CosNaming._NamingContextExtStub stub = new org.omg.CosNaming._NamingContextExtStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.CosNaming.NamingContextExt unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.CosNaming.NamingContextExt)
+      return (org.omg.CosNaming.NamingContextExt)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.CosNaming._NamingContextExtStub stub = new org.omg.CosNaming._NamingContextExtStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,52 @@
+package org.omg.CosNaming;
+
+/**
+* org/omg/CosNaming/NamingContextExtHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * <code>NamingContextExt</code> is the extension of <code>NamingContext</code>
+ * which
+ * contains a set of name bindings in which each name is unique and is
+ * part of Interoperable Naming Service.
+ * Different names can be bound to an object in the same or different
+ * contexts at the same time. Using <tt>NamingContextExt</tt>, you can use
+ * URL-based names to bind and resolve. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public final class NamingContextExtHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextExt value = null;
+
+  public NamingContextExtHolder ()
+  {
+  }
+
+  public NamingContextExtHolder (org.omg.CosNaming.NamingContextExt initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextExtHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextExtHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextExtHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,83 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * <code>NamingContextExt</code> is the extension of <code>NamingContext</code>
+ * which
+ * contains a set of name bindings in which each name is unique and is
+ * part of Interoperable Naming Service.
+ * Different names can be bound to an object in the same or different
+ * contexts at the same time. Using <tt>NamingContextExt</tt>, you can use
+ * URL-based names to bind and resolve. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public interface NamingContextExtOperations  extends org.omg.CosNaming.NamingContextOperations
+{
+
+  /**
+   * This operation creates a stringified name from the array of Name
+   * components.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+  String to_string (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /**
+   * This operation  converts a Stringified Name into an  equivalent array
+   * of Name Components. 
+   * 
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+  org.omg.CosNaming.NameComponent[] to_name (String sn) throws org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /**
+   * This operation creates a URL based "iiopname://" format name
+   * from the Stringified Name of the object.
+   * 
+   * @param addr internet based address of the host machine where  Name Service is running <p>
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidAddress
+   * Indicates the internet based address of the host machine is 
+   * incorrect <p>
+   * 
+   */
+  String to_url (String addr, String sn) throws org.omg.CosNaming.NamingContextExtPackage.InvalidAddress, org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /**
+   * This operation resolves the Stringified name into the object
+   * reference. 
+   * 
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound
+   * Indicates there is no object reference for the given name. <p>
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed
+   * Indicates that the given compound name is incorrect <p>
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+  org.omg.CORBA.Object resolve_str (String sn) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName;
+} // interface NamingContextExtOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtPOA.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,567 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtPOA.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * <code>NamingContextExt</code> is the extension of <code>NamingContext</code>
+ * which
+ * contains a set of name bindings in which each name is unique and is
+ * part of Interoperable Naming Service.
+ * Different names can be bound to an object in the same or different
+ * contexts at the same time. Using <tt>NamingContextExt</tt>, you can use
+ * URL-based names to bind and resolve. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public abstract class NamingContextExtPOA extends org.omg.PortableServer.Servant
+ implements org.omg.CosNaming.NamingContextExtOperations, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("to_string", new java.lang.Integer (0));
+    _methods.put ("to_name", new java.lang.Integer (1));
+    _methods.put ("to_url", new java.lang.Integer (2));
+    _methods.put ("resolve_str", new java.lang.Integer (3));
+    _methods.put ("bind", new java.lang.Integer (4));
+    _methods.put ("bind_context", new java.lang.Integer (5));
+    _methods.put ("rebind", new java.lang.Integer (6));
+    _methods.put ("rebind_context", new java.lang.Integer (7));
+    _methods.put ("resolve", new java.lang.Integer (8));
+    _methods.put ("unbind", new java.lang.Integer (9));
+    _methods.put ("list", new java.lang.Integer (10));
+    _methods.put ("new_context", new java.lang.Integer (11));
+    _methods.put ("bind_new_context", new java.lang.Integer (12));
+    _methods.put ("destroy", new java.lang.Integer (13));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /**
+   * This operation creates a stringified name from the array of Name
+   * components.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+       case 0:  // CosNaming/NamingContextExt/to_string
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           String $result = null;
+           $result = this.to_string (n);
+           out = $rh.createReply();
+           out.write_string ($result);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * This operation  converts a Stringified Name into an  equivalent array
+   * of Name Components. 
+   * 
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+       case 1:  // CosNaming/NamingContextExt/to_name
+       {
+         try {
+           String sn = org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.read (in);
+           org.omg.CosNaming.NameComponent $result[] = null;
+           $result = this.to_name (sn);
+           out = $rh.createReply();
+           org.omg.CosNaming.NameHelper.write (out, $result);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * This operation creates a URL based "iiopname://" format name
+   * from the Stringified Name of the object.
+   * 
+   * @param addr internet based address of the host machine where  Name Service is running <p>
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidAddress
+   * Indicates the internet based address of the host machine is 
+   * incorrect <p>
+   * 
+   */
+       case 2:  // CosNaming/NamingContextExt/to_url
+       {
+         try {
+           String addr = org.omg.CosNaming.NamingContextExtPackage.AddressHelper.read (in);
+           String sn = org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.read (in);
+           String $result = null;
+           $result = this.to_url (addr, sn);
+           out = $rh.createReply();
+           out.write_string ($result);
+         } catch (org.omg.CosNaming.NamingContextExtPackage.InvalidAddress $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextExtPackage.InvalidAddressHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * This operation resolves the Stringified name into the object
+   * reference. 
+   * 
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound
+   * Indicates there is no object reference for the given name. <p>
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed
+   * Indicates that the given compound name is incorrect <p>
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+       case 3:  // CosNaming/NamingContextExt/resolve_str
+       {
+         try {
+           String sn = org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.read (in);
+           org.omg.CORBA.Object $result = null;
+           $result = this.resolve_str (sn);
+           out = $rh.createReply();
+           org.omg.CORBA.ObjectHelper.write (out, $result);
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * Creates a binding of a name and an object in the naming context.
+   * Naming contexts that are bound using bind do not participate in name
+   * resolution when compound names are passed to be resolved. 
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param obj The Object to bind with the given name<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates
+   * the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed 
+   * Indicates that the implementation has given up for some reason.
+   * The client, however, may be able to continue the operation
+   * at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName 
+   * Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound 
+   * Indicates an object is already bound to the specified name.<p> 
+   */
+       case 4:  // CosNaming/NamingContext/bind
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read (in);
+           this.bind (n, obj);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * Names an object that is a naming context. Naming contexts that
+   * are bound using bind_context() participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to bind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   */
+       case 5:  // CosNaming/NamingContext/bind_context
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CosNaming.NamingContext nc = org.omg.CosNaming.NamingContextHelper.read (in);
+           this.bind_context (n, nc);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * Creates a binding of a name and an object in the naming context
+   * even if the name is already bound in the context. Naming contexts 
+   * that are bound using rebind do not participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param  n Name of the object <p>
+   * 
+   * @parm obj The Object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 6:  // CosNaming/NamingContext/rebind
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read (in);
+           this.rebind (n, obj);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * Creates a binding of a name and a naming context in the naming
+   * context even if the name is already bound in the context. Naming 
+   * contexts that are bound using rebind_context() participate in name 
+   * resolution when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 7:  // CosNaming/NamingContext/rebind_context
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CosNaming.NamingContext nc = org.omg.CosNaming.NamingContextHelper.read (in);
+           this.rebind_context (n, nc);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * The resolve operation is the process of retrieving an object
+   * bound to a name in a given context. The given name must exactly 
+   * match the bound name. The naming service does not return the type 
+   * of the object. Clients are responsible for "narrowing" the object 
+   * to the appropriate type. That is, clients typically cast the returned 
+   * object from Object to a more specialized interface.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 8:  // CosNaming/NamingContext/resolve
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CORBA.Object $result = null;
+           $result = this.resolve (n);
+           out = $rh.createReply();
+           org.omg.CORBA.ObjectHelper.write (out, $result);
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * The unbind operation removes a name binding from a context.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 9:  // CosNaming/NamingContext/unbind
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           this.unbind (n);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * The list operation allows a client to iterate through a set of
+   * bindings in a naming context. <p>
+   * 
+   * The list operation returns at most the requested number of
+   * bindings in BindingList bl. 
+   * <ul>
+   * <li>If the naming context contains additional 
+   * bindings, the list operation returns a BindingIterator with the 
+   * additional bindings. 
+   * <li>If the naming context does not contain additional 
+   * bindings, the binding iterator is a nil object reference.
+   * </ul>
+   * 
+   * @param how_many the maximum number of bindings to return <p>
+   * 
+   * @param bl the returned list of bindings <p>
+   * 
+   * @param bi the returned binding iterator <p>
+   */
+       case 10:  // CosNaming/NamingContext/list
+       {
+         int how_many = in.read_ulong ();
+         org.omg.CosNaming.BindingListHolder bl = new org.omg.CosNaming.BindingListHolder ();
+         org.omg.CosNaming.BindingIteratorHolder bi = new org.omg.CosNaming.BindingIteratorHolder ();
+         this.list (how_many, bl, bi);
+         out = $rh.createReply();
+         org.omg.CosNaming.BindingListHelper.write (out, bl.value);
+         org.omg.CosNaming.BindingIteratorHelper.write (out, bi.value);
+         break;
+       }
+
+
+  /**
+   * This operation returns a naming context implemented by the same
+   * naming server as the context on which the operation was invoked. 
+   * The new context is not bound to any name.
+   */
+       case 11:  // CosNaming/NamingContext/new_context
+       {
+         org.omg.CosNaming.NamingContext $result = null;
+         $result = this.new_context ();
+         out = $rh.createReply();
+         org.omg.CosNaming.NamingContextHelper.write (out, $result);
+         break;
+       }
+
+
+  /**
+   * This operation creates a new context and binds it to the name
+   * supplied as an argument. The newly-created context is implemented 
+   * by the same naming server as the context in which it was bound (that 
+   * is, the naming server that implements the context denoted by the 
+   * name argument excluding the last component).
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 12:  // CosNaming/NamingContext/bind_new_context
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CosNaming.NamingContext $result = null;
+           $result = this.bind_new_context (n);
+           out = $rh.createReply();
+           org.omg.CosNaming.NamingContextHelper.write (out, $result);
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * The destroy operation deletes a naming context. If the naming 
+   * context contains bindings, the NotEmpty exception is raised.
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming Context contains bindings.
+   */
+       case 13:  // CosNaming/NamingContext/destroy
+       {
+         try {
+           this.destroy ();
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotEmpty $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/CosNaming/NamingContextExt:1.0", 
+    "IDL:omg.org/CosNaming/NamingContext:1.0"};
+
+  public String[] _all_interfaces (org.omg.PortableServer.POA poa, byte[] objectId)
+  {
+    return (String[])__ids.clone ();
+  }
+
+  public NamingContextExt _this() 
+  {
+    return NamingContextExtHelper.narrow(
+    super._this_object());
+  }
+
+  public NamingContextExt _this(org.omg.CORBA.ORB orb) 
+  {
+    return NamingContextExtHelper.narrow(
+    super._this_object(orb));
+  }
+
+
+} // class NamingContextExtPOA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+package org.omg.CosNaming.NamingContextExtPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtPackage/AddressHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+ * Address is the Host and Port information represented as a String.
+ */
+abstract public class AddressHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContextExt/Address:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.NamingContextExtPackage.AddressHelper.id (), "Address", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.CosNaming.NamingContextExtPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtPackage/InvalidAddress.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class InvalidAddress extends org.omg.CORBA.UserException
+{
+
+  public InvalidAddress ()
+  {
+    super(InvalidAddressHelper.id());
+  } // ctor
+
+
+  public InvalidAddress (String $reason)
+  {
+    super(InvalidAddressHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidAddress
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.CosNaming.NamingContextExtPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class InvalidAddressHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContextExt/InvalidAddress:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextExtPackage.InvalidAddress 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.CosNaming.NamingContextExtPackage.InvalidAddress 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.CosNaming.NamingContextExtPackage.InvalidAddressHelper.id (), "InvalidAddress", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextExtPackage.InvalidAddress read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NamingContextExtPackage.InvalidAddress value = new org.omg.CosNaming.NamingContextExtPackage.InvalidAddress ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextExtPackage.InvalidAddress value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming.NamingContextExtPackage;
+
+/**
+* org/omg/CosNaming/NamingContextExtPackage/InvalidAddressHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class InvalidAddressHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextExtPackage.InvalidAddress value = null;
+
+  public InvalidAddressHolder ()
+  {
+  }
+
+  public InvalidAddressHolder (org.omg.CosNaming.NamingContextExtPackage.InvalidAddress initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextExtPackage.InvalidAddressHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextExtPackage.InvalidAddressHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextExtPackage.InvalidAddressHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,61 @@
+package org.omg.CosNaming.NamingContextExtPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtPackage/StringNameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * StringName is the Stringified Name, Array of Name Components 
+ * represented as a String.
+ */
+abstract public class StringNameHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContextExt/StringName:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.id (), "StringName", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,61 @@
+package org.omg.CosNaming.NamingContextExtPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextExtPackage/URLStringHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+ * URLString is the URL address (corbaloc: or corbaname:) represented as
+ * a String.
+ */
+abstract public class URLStringHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContextExt/URLString:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.NamingContextExtPackage.URLStringHelper.id (), "URLString", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,95 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContextHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * A naming context is an object that contains a set of name bindings in 
+ * which each name is unique. Different names can be bound to an object 
+ * in the same or different contexts at the same time. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+abstract public class NamingContextHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContext:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContext 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.CosNaming.NamingContext 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.CosNaming.NamingContextHelper.id (), "NamingContext");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContext read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return narrow (istream.read_Object (_NamingContextStub.class));
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContext value)
+  {
+    ostream.write_Object ((org.omg.CORBA.Object) value);
+  }
+
+  public static org.omg.CosNaming.NamingContext narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.CosNaming.NamingContext)
+      return (org.omg.CosNaming.NamingContext)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.CosNaming._NamingContextStub stub = new org.omg.CosNaming._NamingContextStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.CosNaming.NamingContext unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.CosNaming.NamingContext)
+      return (org.omg.CosNaming.NamingContext)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.CosNaming._NamingContextStub stub = new org.omg.CosNaming._NamingContextStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,48 @@
+package org.omg.CosNaming;
+
+/**
+* org/omg/CosNaming/NamingContextHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * A naming context is an object that contains a set of name bindings in 
+ * which each name is unique. Different names can be bound to an object 
+ * in the same or different contexts at the same time. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public final class NamingContextHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContext value = null;
+
+  public NamingContextHolder ()
+  {
+  }
+
+  public NamingContextHolder (org.omg.CosNaming.NamingContext initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,204 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContextOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * A naming context is an object that contains a set of name bindings in 
+ * which each name is unique. Different names can be bound to an object 
+ * in the same or different contexts at the same time. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public interface NamingContextOperations 
+{
+
+  /**
+   * Creates a binding of a name and an object in the naming context.
+   * Naming contexts that are bound using bind do not participate in name
+   * resolution when compound names are passed to be resolved. 
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param obj The Object to bind with the given name<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates
+   * the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed 
+   * Indicates that the implementation has given up for some reason.
+   * The client, however, may be able to continue the operation
+   * at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName 
+   * Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound 
+   * Indicates an object is already bound to the specified name.<p> 
+   */
+  void bind (org.omg.CosNaming.NameComponent[] n, org.omg.CORBA.Object obj) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName, org.omg.CosNaming.NamingContextPackage.AlreadyBound;
+
+  /**
+   * Names an object that is a naming context. Naming contexts that
+   * are bound using bind_context() participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to bind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   */
+  void bind_context (org.omg.CosNaming.NameComponent[] n, org.omg.CosNaming.NamingContext nc) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName, org.omg.CosNaming.NamingContextPackage.AlreadyBound;
+
+  /**
+   * Creates a binding of a name and an object in the naming context
+   * even if the name is already bound in the context. Naming contexts 
+   * that are bound using rebind do not participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param  n Name of the object <p>
+   * 
+   * @parm obj The Object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  void rebind (org.omg.CosNaming.NameComponent[] n, org.omg.CORBA.Object obj) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /** 
+   * Creates a binding of a name and a naming context in the naming
+   * context even if the name is already bound in the context. Naming 
+   * contexts that are bound using rebind_context() participate in name 
+   * resolution when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  void rebind_context (org.omg.CosNaming.NameComponent[] n, org.omg.CosNaming.NamingContext nc) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /** 
+   * The resolve operation is the process of retrieving an object
+   * bound to a name in a given context. The given name must exactly 
+   * match the bound name. The naming service does not return the type 
+   * of the object. Clients are responsible for "narrowing" the object 
+   * to the appropriate type. That is, clients typically cast the returned 
+   * object from Object to a more specialized interface.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  org.omg.CORBA.Object resolve (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /** 
+   * The unbind operation removes a name binding from a context.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  void unbind (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /**
+   * The list operation allows a client to iterate through a set of
+   * bindings in a naming context. <p>
+   * 
+   * The list operation returns at most the requested number of
+   * bindings in BindingList bl. 
+   * <ul>
+   * <li>If the naming context contains additional 
+   * bindings, the list operation returns a BindingIterator with the 
+   * additional bindings. 
+   * <li>If the naming context does not contain additional 
+   * bindings, the binding iterator is a nil object reference.
+   * </ul>
+   * 
+   * @param how_many the maximum number of bindings to return <p>
+   * 
+   * @param bl the returned list of bindings <p>
+   * 
+   * @param bi the returned binding iterator <p>
+   */
+  void list (int how_many, org.omg.CosNaming.BindingListHolder bl, org.omg.CosNaming.BindingIteratorHolder bi);
+
+  /**
+   * This operation returns a naming context implemented by the same
+   * naming server as the context on which the operation was invoked. 
+   * The new context is not bound to any name.
+   */
+  org.omg.CosNaming.NamingContext new_context ();
+
+  /**
+   * This operation creates a new context and binds it to the name
+   * supplied as an argument. The newly-created context is implemented 
+   * by the same naming server as the context in which it was bound (that 
+   * is, the naming server that implements the context denoted by the 
+   * name argument excluding the last component).
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  org.omg.CosNaming.NamingContext bind_new_context (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.AlreadyBound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName;
+
+  /** 
+   * The destroy operation deletes a naming context. If the naming 
+   * context contains bindings, the NotEmpty exception is raised.
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming Context contains bindings.
+   */
+  void destroy () throws org.omg.CosNaming.NamingContextPackage.NotEmpty;
+} // interface NamingContextOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPOA.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,436 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/NamingContextPOA.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * A naming context is an object that contains a set of name bindings in 
+ * which each name is unique. Different names can be bound to an object 
+ * in the same or different contexts at the same time. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public abstract class NamingContextPOA extends org.omg.PortableServer.Servant
+ implements org.omg.CosNaming.NamingContextOperations, org.omg.CORBA.portable.InvokeHandler
+{
+
+  // Constructors
+
+  private static java.util.Hashtable _methods = new java.util.Hashtable ();
+  static
+  {
+    _methods.put ("bind", new java.lang.Integer (0));
+    _methods.put ("bind_context", new java.lang.Integer (1));
+    _methods.put ("rebind", new java.lang.Integer (2));
+    _methods.put ("rebind_context", new java.lang.Integer (3));
+    _methods.put ("resolve", new java.lang.Integer (4));
+    _methods.put ("unbind", new java.lang.Integer (5));
+    _methods.put ("list", new java.lang.Integer (6));
+    _methods.put ("new_context", new java.lang.Integer (7));
+    _methods.put ("bind_new_context", new java.lang.Integer (8));
+    _methods.put ("destroy", new java.lang.Integer (9));
+  }
+
+  public org.omg.CORBA.portable.OutputStream _invoke (String $method,
+                                org.omg.CORBA.portable.InputStream in,
+                                org.omg.CORBA.portable.ResponseHandler $rh)
+  {
+    org.omg.CORBA.portable.OutputStream out = null;
+    java.lang.Integer __method = (java.lang.Integer)_methods.get ($method);
+    if (__method == null)
+      throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+
+    switch (__method.intValue ())
+    {
+
+  /**
+   * Creates a binding of a name and an object in the naming context.
+   * Naming contexts that are bound using bind do not participate in name
+   * resolution when compound names are passed to be resolved. 
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param obj The Object to bind with the given name<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates
+   * the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed 
+   * Indicates that the implementation has given up for some reason.
+   * The client, however, may be able to continue the operation
+   * at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName 
+   * Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound 
+   * Indicates an object is already bound to the specified name.<p> 
+   */
+       case 0:  // CosNaming/NamingContext/bind
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read (in);
+           this.bind (n, obj);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * Names an object that is a naming context. Naming contexts that
+   * are bound using bind_context() participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to bind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   */
+       case 1:  // CosNaming/NamingContext/bind_context
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CosNaming.NamingContext nc = org.omg.CosNaming.NamingContextHelper.read (in);
+           this.bind_context (n, nc);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * Creates a binding of a name and an object in the naming context
+   * even if the name is already bound in the context. Naming contexts 
+   * that are bound using rebind do not participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param  n Name of the object <p>
+   * 
+   * @parm obj The Object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 2:  // CosNaming/NamingContext/rebind
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CORBA.Object obj = org.omg.CORBA.ObjectHelper.read (in);
+           this.rebind (n, obj);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * Creates a binding of a name and a naming context in the naming
+   * context even if the name is already bound in the context. Naming 
+   * contexts that are bound using rebind_context() participate in name 
+   * resolution when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 3:  // CosNaming/NamingContext/rebind_context
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CosNaming.NamingContext nc = org.omg.CosNaming.NamingContextHelper.read (in);
+           this.rebind_context (n, nc);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * The resolve operation is the process of retrieving an object
+   * bound to a name in a given context. The given name must exactly 
+   * match the bound name. The naming service does not return the type 
+   * of the object. Clients are responsible for "narrowing" the object 
+   * to the appropriate type. That is, clients typically cast the returned 
+   * object from Object to a more specialized interface.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 4:  // CosNaming/NamingContext/resolve
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CORBA.Object $result = null;
+           $result = this.resolve (n);
+           out = $rh.createReply();
+           org.omg.CORBA.ObjectHelper.write (out, $result);
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * The unbind operation removes a name binding from a context.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 5:  // CosNaming/NamingContext/unbind
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           this.unbind (n);
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /**
+   * The list operation allows a client to iterate through a set of
+   * bindings in a naming context. <p>
+   * 
+   * The list operation returns at most the requested number of
+   * bindings in BindingList bl. 
+   * <ul>
+   * <li>If the naming context contains additional 
+   * bindings, the list operation returns a BindingIterator with the 
+   * additional bindings. 
+   * <li>If the naming context does not contain additional 
+   * bindings, the binding iterator is a nil object reference.
+   * </ul>
+   * 
+   * @param how_many the maximum number of bindings to return <p>
+   * 
+   * @param bl the returned list of bindings <p>
+   * 
+   * @param bi the returned binding iterator <p>
+   */
+       case 6:  // CosNaming/NamingContext/list
+       {
+         int how_many = in.read_ulong ();
+         org.omg.CosNaming.BindingListHolder bl = new org.omg.CosNaming.BindingListHolder ();
+         org.omg.CosNaming.BindingIteratorHolder bi = new org.omg.CosNaming.BindingIteratorHolder ();
+         this.list (how_many, bl, bi);
+         out = $rh.createReply();
+         org.omg.CosNaming.BindingListHelper.write (out, bl.value);
+         org.omg.CosNaming.BindingIteratorHelper.write (out, bi.value);
+         break;
+       }
+
+
+  /**
+   * This operation returns a naming context implemented by the same
+   * naming server as the context on which the operation was invoked. 
+   * The new context is not bound to any name.
+   */
+       case 7:  // CosNaming/NamingContext/new_context
+       {
+         org.omg.CosNaming.NamingContext $result = null;
+         $result = this.new_context ();
+         out = $rh.createReply();
+         org.omg.CosNaming.NamingContextHelper.write (out, $result);
+         break;
+       }
+
+
+  /**
+   * This operation creates a new context and binds it to the name
+   * supplied as an argument. The newly-created context is implemented 
+   * by the same naming server as the context in which it was bound (that 
+   * is, the naming server that implements the context denoted by the 
+   * name argument excluding the last component).
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+       case 8:  // CosNaming/NamingContext/bind_new_context
+       {
+         try {
+           org.omg.CosNaming.NameComponent n[] = org.omg.CosNaming.NameHelper.read (in);
+           org.omg.CosNaming.NamingContext $result = null;
+           $result = this.bind_new_context (n);
+           out = $rh.createReply();
+           org.omg.CosNaming.NamingContextHelper.write (out, $result);
+         } catch (org.omg.CosNaming.NamingContextPackage.NotFound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.AlreadyBound $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.CannotProceed $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (out, $ex);
+         } catch (org.omg.CosNaming.NamingContextPackage.InvalidName $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (out, $ex);
+         }
+         break;
+       }
+
+
+  /** 
+   * The destroy operation deletes a naming context. If the naming 
+   * context contains bindings, the NotEmpty exception is raised.
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming Context contains bindings.
+   */
+       case 9:  // CosNaming/NamingContext/destroy
+       {
+         try {
+           this.destroy ();
+           out = $rh.createReply();
+         } catch (org.omg.CosNaming.NamingContextPackage.NotEmpty $ex) {
+           out = $rh.createExceptionReply ();
+           org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.write (out, $ex);
+         }
+         break;
+       }
+
+       default:
+         throw new org.omg.CORBA.BAD_OPERATION (0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
+    }
+
+    return out;
+  } // _invoke
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/CosNaming/NamingContext:1.0"};
+
+  public String[] _all_interfaces (org.omg.PortableServer.POA poa, byte[] objectId)
+  {
+    return (String[])__ids.clone ();
+  }
+
+  public NamingContext _this() 
+  {
+    return NamingContextHelper.narrow(
+    super._this_object());
+  }
+
+  public NamingContext _this(org.omg.CORBA.ORB orb) 
+  {
+    return NamingContextHelper.narrow(
+    super._this_object(orb));
+  }
+
+
+} // class NamingContextPOA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/AlreadyBound.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/AlreadyBound.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class AlreadyBound extends org.omg.CORBA.UserException
+{
+
+  public AlreadyBound ()
+  {
+    super(AlreadyBoundHelper.id());
+  } // ctor
+
+
+  public AlreadyBound (String $reason)
+  {
+    super(AlreadyBoundHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class AlreadyBound
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/AlreadyBoundHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class AlreadyBoundHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextPackage.AlreadyBound 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.CosNaming.NamingContextPackage.AlreadyBound 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.CosNaming.NamingContextPackage.AlreadyBoundHelper.id (), "AlreadyBound", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextPackage.AlreadyBound read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NamingContextPackage.AlreadyBound value = new org.omg.CosNaming.NamingContextPackage.AlreadyBound ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextPackage.AlreadyBound value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+/**
+* org/omg/CosNaming/NamingContextPackage/AlreadyBoundHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class AlreadyBoundHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextPackage.AlreadyBound value = null;
+
+  public AlreadyBoundHolder ()
+  {
+  }
+
+  public AlreadyBoundHolder (org.omg.CosNaming.NamingContextPackage.AlreadyBound initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/CannotProceed.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,36 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/CannotProceed.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class CannotProceed extends org.omg.CORBA.UserException
+{
+  public org.omg.CosNaming.NamingContext cxt = null;
+  public org.omg.CosNaming.NameComponent rest_of_name[] = null;
+
+  public CannotProceed ()
+  {
+    super(CannotProceedHelper.id());
+  } // ctor
+
+  public CannotProceed (org.omg.CosNaming.NamingContext _cxt, org.omg.CosNaming.NameComponent[] _rest_of_name)
+  {
+    super(CannotProceedHelper.id());
+    cxt = _cxt;
+    rest_of_name = _rest_of_name;
+  } // ctor
+
+
+  public CannotProceed (String $reason, org.omg.CosNaming.NamingContext _cxt, org.omg.CosNaming.NameComponent[] _rest_of_name)
+  {
+    super(CannotProceedHelper.id() + "  " + $reason);
+    cxt = _cxt;
+    rest_of_name = _rest_of_name;
+  } // ctor
+
+} // class CannotProceed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,88 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/CannotProceedHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class CannotProceedHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextPackage.CannotProceed 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.CosNaming.NamingContextPackage.CannotProceed 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CosNaming.NamingContextHelper.type ();
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "cxt",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CosNaming.NameComponentHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.NameHelper.id (), "Name", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "rest_of_name",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.id (), "CannotProceed", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextPackage.CannotProceed read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NamingContextPackage.CannotProceed value = new org.omg.CosNaming.NamingContextPackage.CannotProceed ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.cxt = org.omg.CosNaming.NamingContextHelper.read (istream);
+    value.rest_of_name = org.omg.CosNaming.NameHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextPackage.CannotProceed value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    org.omg.CosNaming.NamingContextHelper.write (ostream, value.cxt);
+    org.omg.CosNaming.NameHelper.write (ostream, value.rest_of_name);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+/**
+* org/omg/CosNaming/NamingContextPackage/CannotProceedHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class CannotProceedHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextPackage.CannotProceed value = null;
+
+  public CannotProceedHolder ()
+  {
+  }
+
+  public CannotProceedHolder (org.omg.CosNaming.NamingContextPackage.CannotProceed initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/InvalidName.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/InvalidName.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class InvalidName extends org.omg.CORBA.UserException
+{
+
+  public InvalidName ()
+  {
+    super(InvalidNameHelper.id());
+  } // ctor
+
+
+  public InvalidName (String $reason)
+  {
+    super(InvalidNameHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidName
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/InvalidNameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class InvalidNameHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextPackage.InvalidName 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.CosNaming.NamingContextPackage.InvalidName 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.CosNaming.NamingContextPackage.InvalidNameHelper.id (), "InvalidName", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextPackage.InvalidName read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NamingContextPackage.InvalidName value = new org.omg.CosNaming.NamingContextPackage.InvalidName ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextPackage.InvalidName value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+/**
+* org/omg/CosNaming/NamingContextPackage/InvalidNameHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class InvalidNameHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextPackage.InvalidName value = null;
+
+  public InvalidNameHolder ()
+  {
+  }
+
+  public InvalidNameHolder (org.omg.CosNaming.NamingContextPackage.InvalidName initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotEmpty.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotEmpty.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class NotEmpty extends org.omg.CORBA.UserException
+{
+
+  public NotEmpty ()
+  {
+    super(NotEmptyHelper.id());
+  } // ctor
+
+
+  public NotEmpty (String $reason)
+  {
+    super(NotEmptyHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class NotEmpty
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotEmptyHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class NotEmptyHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContext/NotEmpty:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextPackage.NotEmpty 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.CosNaming.NamingContextPackage.NotEmpty 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.CosNaming.NamingContextPackage.NotEmptyHelper.id (), "NotEmpty", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextPackage.NotEmpty read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NamingContextPackage.NotEmpty value = new org.omg.CosNaming.NamingContextPackage.NotEmpty ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextPackage.NotEmpty value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotEmptyHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class NotEmptyHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextPackage.NotEmpty value = null;
+
+  public NotEmptyHolder ()
+  {
+  }
+
+  public NotEmptyHolder (org.omg.CosNaming.NamingContextPackage.NotEmpty initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotFound.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,36 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotFound.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class NotFound extends org.omg.CORBA.UserException
+{
+  public org.omg.CosNaming.NamingContextPackage.NotFoundReason why = null;
+  public org.omg.CosNaming.NameComponent rest_of_name[] = null;
+
+  public NotFound ()
+  {
+    super(NotFoundHelper.id());
+  } // ctor
+
+  public NotFound (org.omg.CosNaming.NamingContextPackage.NotFoundReason _why, org.omg.CosNaming.NameComponent[] _rest_of_name)
+  {
+    super(NotFoundHelper.id());
+    why = _why;
+    rest_of_name = _rest_of_name;
+  } // ctor
+
+
+  public NotFound (String $reason, org.omg.CosNaming.NamingContextPackage.NotFoundReason _why, org.omg.CosNaming.NameComponent[] _rest_of_name)
+  {
+    super(NotFoundHelper.id() + "  " + $reason);
+    why = _why;
+    rest_of_name = _rest_of_name;
+  } // ctor
+
+} // class NotFound
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,88 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotFoundHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+abstract public class NotFoundHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContext/NotFound:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextPackage.NotFound 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.CosNaming.NamingContextPackage.NotFound 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CosNaming.NamingContextPackage.NotFoundReasonHelper.type ();
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "why",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CosNaming.NameComponentHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CosNaming.NameHelper.id (), "Name", _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "rest_of_name",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.CosNaming.NamingContextPackage.NotFoundHelper.id (), "NotFound", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextPackage.NotFound read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CosNaming.NamingContextPackage.NotFound value = new org.omg.CosNaming.NamingContextPackage.NotFound ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.why = org.omg.CosNaming.NamingContextPackage.NotFoundReasonHelper.read (istream);
+    value.rest_of_name = org.omg.CosNaming.NameHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextPackage.NotFound value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    org.omg.CosNaming.NamingContextPackage.NotFoundReasonHelper.write (ostream, value.why);
+    org.omg.CosNaming.NameHelper.write (ostream, value.rest_of_name);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotFoundHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotFoundHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+public final class NotFoundHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextPackage.NotFound value = null;
+
+  public NotFoundHolder ()
+  {
+  }
+
+  public NotFoundHolder (org.omg.CosNaming.NamingContextPackage.NotFound initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextPackage.NotFoundHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextPackage.NotFoundHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotFoundReason.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,46 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotFoundReason.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+         * Indicates the reason for not able to resolve.
+         */
+public class NotFoundReason implements org.omg.CORBA.portable.IDLEntity
+{
+  private        int __value;
+  private static int __size = 3;
+  private static org.omg.CosNaming.NamingContextPackage.NotFoundReason[] __array = new org.omg.CosNaming.NamingContextPackage.NotFoundReason [__size];
+
+  public static final int _missing_node = 0;
+  public static final org.omg.CosNaming.NamingContextPackage.NotFoundReason missing_node = new org.omg.CosNaming.NamingContextPackage.NotFoundReason(_missing_node);
+  public static final int _not_context = 1;
+  public static final org.omg.CosNaming.NamingContextPackage.NotFoundReason not_context = new org.omg.CosNaming.NamingContextPackage.NotFoundReason(_not_context);
+  public static final int _not_object = 2;
+  public static final org.omg.CosNaming.NamingContextPackage.NotFoundReason not_object = new org.omg.CosNaming.NamingContextPackage.NotFoundReason(_not_object);
+
+  public int value ()
+  {
+    return __value;
+  }
+
+  public static org.omg.CosNaming.NamingContextPackage.NotFoundReason from_int (int value)
+  {
+    if (value >= 0 && value < __size)
+      return __array[value];
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  protected NotFoundReason (int value)
+  {
+    __value = value;
+    __array[__value] = this;
+  }
+} // class NotFoundReason
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotFoundReasonHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+         * Indicates the reason for not able to resolve.
+         */
+abstract public class NotFoundReasonHelper
+{
+  private static String  _id = "IDL:omg.org/CosNaming/NamingContext/NotFoundReason:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CosNaming.NamingContextPackage.NotFoundReason 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.CosNaming.NamingContextPackage.NotFoundReason 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_enum_tc (org.omg.CosNaming.NamingContextPackage.NotFoundReasonHelper.id (), "NotFoundReason", new String[] { "missing_node", "not_context", "not_object"} );
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CosNaming.NamingContextPackage.NotFoundReason read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return org.omg.CosNaming.NamingContextPackage.NotFoundReason.from_int (istream.read_long ());
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CosNaming.NamingContextPackage.NotFoundReason value)
+  {
+    ostream.write_long (value.value ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package org.omg.CosNaming.NamingContextPackage;
+
+/**
+* org/omg/CosNaming/NamingContextPackage/NotFoundReasonHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+         * Indicates the reason for not able to resolve.
+         */
+public final class NotFoundReasonHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.CosNaming.NamingContextPackage.NotFoundReason value = null;
+
+  public NotFoundReasonHolder ()
+  {
+  }
+
+  public NotFoundReasonHolder (org.omg.CosNaming.NamingContextPackage.NotFoundReason initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.CosNaming.NamingContextPackage.NotFoundReasonHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.CosNaming.NamingContextPackage.NotFoundReasonHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.CosNaming.NamingContextPackage.NotFoundReasonHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/_BindingIteratorStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,127 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/_BindingIteratorStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The BindingIterator interface allows a client to iterate through
+   * the bindings using the next_one or next_n operations.
+   * 
+   * The bindings iterator is obtained by using the <tt>list</tt>
+   * method on the <tt>NamingContext</tt>. 
+   * @see org.omg.CosNaming.NamingContext#list
+   */
+public class _BindingIteratorStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.CosNaming.BindingIterator
+{
+
+
+  /**
+       * This operation returns the next binding. If there are no more
+       * bindings, false is returned.
+       * 
+       * @param b the returned binding
+       */
+  public boolean next_one (org.omg.CosNaming.BindingHolder b)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("next_one", true);
+                $in = _invoke ($out);
+                boolean $result = $in.read_boolean ();
+                b.value = org.omg.CosNaming.BindingHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return next_one (b        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // next_one
+
+
+  /**
+       * This operation returns at most the requested number of bindings.
+       * 
+       * @param how_many the maximum number of bindings tro return <p>
+       * 
+       * @param bl the returned bindings
+       */
+  public boolean next_n (int how_many, org.omg.CosNaming.BindingListHolder bl)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("next_n", true);
+                $out.write_ulong (how_many);
+                $in = _invoke ($out);
+                boolean $result = $in.read_boolean ();
+                bl.value = org.omg.CosNaming.BindingListHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return next_n (how_many, bl        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // next_n
+
+
+  /**
+       * This operation destroys the iterator.
+       */
+  public void destroy ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("destroy", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                destroy (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // destroy
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/CosNaming/BindingIterator: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 _BindingIteratorStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/_NamingContextExtStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,632 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/_NamingContextExtStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * <code>NamingContextExt</code> is the extension of <code>NamingContext</code>
+ * which
+ * contains a set of name bindings in which each name is unique and is
+ * part of Interoperable Naming Service.
+ * Different names can be bound to an object in the same or different
+ * contexts at the same time. Using <tt>NamingContextExt</tt>, you can use
+ * URL-based names to bind and resolve. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public class _NamingContextExtStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.CosNaming.NamingContextExt
+{
+
+
+  /**
+   * This operation creates a stringified name from the array of Name
+   * components.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+  public String to_string (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("to_string", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                $in = _invoke ($out);
+                String $result = org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return to_string (n        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // to_string
+
+
+  /**
+   * This operation  converts a Stringified Name into an  equivalent array
+   * of Name Components. 
+   * 
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+  public org.omg.CosNaming.NameComponent[] to_name (String sn) throws org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("to_name", true);
+                org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.write ($out, sn);
+                $in = _invoke ($out);
+                org.omg.CosNaming.NameComponent $result[] = org.omg.CosNaming.NameHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return to_name (sn        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // to_name
+
+
+  /**
+   * This operation creates a URL based "iiopname://" format name
+   * from the Stringified Name of the object.
+   * 
+   * @param addr internet based address of the host machine where  Name Service is running <p>
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidAddress
+   * Indicates the internet based address of the host machine is 
+   * incorrect <p>
+   * 
+   */
+  public String to_url (String addr, String sn) throws org.omg.CosNaming.NamingContextExtPackage.InvalidAddress, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("to_url", true);
+                org.omg.CosNaming.NamingContextExtPackage.AddressHelper.write ($out, addr);
+                org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.write ($out, sn);
+                $in = _invoke ($out);
+                String $result = org.omg.CosNaming.NamingContextExtPackage.URLStringHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContextExt/InvalidAddress:1.0"))
+                    throw org.omg.CosNaming.NamingContextExtPackage.InvalidAddressHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return to_url (addr, sn        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // to_url
+
+
+  /**
+   * This operation resolves the Stringified name into the object
+   * reference. 
+   * 
+   * @param sn Stringified Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound
+   * Indicates there is no object reference for the given name. <p>
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed
+   * Indicates that the given compound name is incorrect <p>
+   * @exception org.omg.CosNaming.NamingContextExtPackage.InvalidName
+   * Indicates the name does not identify a binding.<p>
+   * 
+   */
+  public org.omg.CORBA.Object resolve_str (String sn) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("resolve_str", true);
+                org.omg.CosNaming.NamingContextExtPackage.StringNameHelper.write ($out, sn);
+                $in = _invoke ($out);
+                org.omg.CORBA.Object $result = org.omg.CORBA.ObjectHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return resolve_str (sn        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // resolve_str
+
+
+  /**
+   * Creates a binding of a name and an object in the naming context.
+   * Naming contexts that are bound using bind do not participate in name
+   * resolution when compound names are passed to be resolved. 
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param obj The Object to bind with the given name<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates
+   * the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed 
+   * Indicates that the implementation has given up for some reason.
+   * The client, however, may be able to continue the operation
+   * at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName 
+   * Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound 
+   * Indicates an object is already bound to the specified name.<p> 
+   */
+  public void bind (org.omg.CosNaming.NameComponent[] n, org.omg.CORBA.Object obj) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName, org.omg.CosNaming.NamingContextPackage.AlreadyBound
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CORBA.ObjectHelper.write ($out, obj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                bind (n, obj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind
+
+
+  /**
+   * Names an object that is a naming context. Naming contexts that
+   * are bound using bind_context() participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to bind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   */
+  public void bind_context (org.omg.CosNaming.NameComponent[] n, org.omg.CosNaming.NamingContext nc) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName, org.omg.CosNaming.NamingContextPackage.AlreadyBound
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind_context", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CosNaming.NamingContextHelper.write ($out, nc);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                bind_context (n, nc        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind_context
+
+
+  /**
+   * Creates a binding of a name and an object in the naming context
+   * even if the name is already bound in the context. Naming contexts 
+   * that are bound using rebind do not participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param  n Name of the object <p>
+   * 
+   * @parm obj The Object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public void rebind (org.omg.CosNaming.NameComponent[] n, org.omg.CORBA.Object obj) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("rebind", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CORBA.ObjectHelper.write ($out, obj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                rebind (n, obj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // rebind
+
+
+  /** 
+   * Creates a binding of a name and a naming context in the naming
+   * context even if the name is already bound in the context. Naming 
+   * contexts that are bound using rebind_context() participate in name 
+   * resolution when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public void rebind_context (org.omg.CosNaming.NameComponent[] n, org.omg.CosNaming.NamingContext nc) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("rebind_context", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CosNaming.NamingContextHelper.write ($out, nc);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                rebind_context (n, nc        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // rebind_context
+
+
+  /** 
+   * The resolve operation is the process of retrieving an object
+   * bound to a name in a given context. The given name must exactly 
+   * match the bound name. The naming service does not return the type 
+   * of the object. Clients are responsible for "narrowing" the object 
+   * to the appropriate type. That is, clients typically cast the returned 
+   * object from Object to a more specialized interface.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public org.omg.CORBA.Object resolve (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("resolve", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                $in = _invoke ($out);
+                org.omg.CORBA.Object $result = org.omg.CORBA.ObjectHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return resolve (n        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // resolve
+
+
+  /** 
+   * The unbind operation removes a name binding from a context.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public void unbind (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("unbind", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                unbind (n        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // unbind
+
+
+  /**
+   * The list operation allows a client to iterate through a set of
+   * bindings in a naming context. <p>
+   * 
+   * The list operation returns at most the requested number of
+   * bindings in BindingList bl. 
+   * <ul>
+   * <li>If the naming context contains additional 
+   * bindings, the list operation returns a BindingIterator with the 
+   * additional bindings. 
+   * <li>If the naming context does not contain additional 
+   * bindings, the binding iterator is a nil object reference.
+   * </ul>
+   * 
+   * @param how_many the maximum number of bindings to return <p>
+   * 
+   * @param bl the returned list of bindings <p>
+   * 
+   * @param bi the returned binding iterator <p>
+   */
+  public void list (int how_many, org.omg.CosNaming.BindingListHolder bl, org.omg.CosNaming.BindingIteratorHolder bi)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("list", true);
+                $out.write_ulong (how_many);
+                $in = _invoke ($out);
+                bl.value = org.omg.CosNaming.BindingListHelper.read ($in);
+                bi.value = org.omg.CosNaming.BindingIteratorHelper.read ($in);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                list (how_many, bl, bi        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // list
+
+
+  /**
+   * This operation returns a naming context implemented by the same
+   * naming server as the context on which the operation was invoked. 
+   * The new context is not bound to any name.
+   */
+  public org.omg.CosNaming.NamingContext new_context ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("new_context", true);
+                $in = _invoke ($out);
+                org.omg.CosNaming.NamingContext $result = org.omg.CosNaming.NamingContextHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return new_context (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // new_context
+
+
+  /**
+   * This operation creates a new context and binds it to the name
+   * supplied as an argument. The newly-created context is implemented 
+   * by the same naming server as the context in which it was bound (that 
+   * is, the naming server that implements the context denoted by the 
+   * name argument excluding the last component).
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public org.omg.CosNaming.NamingContext bind_new_context (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.AlreadyBound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind_new_context", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                $in = _invoke ($out);
+                org.omg.CosNaming.NamingContext $result = org.omg.CosNaming.NamingContextHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return bind_new_context (n        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind_new_context
+
+
+  /** 
+   * The destroy operation deletes a naming context. If the naming 
+   * context contains bindings, the NotEmpty exception is raised.
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming Context contains bindings.
+   */
+  public void destroy () throws org.omg.CosNaming.NamingContextPackage.NotEmpty
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("destroy", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotEmpty:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                destroy (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // destroy
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/CosNaming/NamingContextExt:1.0", 
+    "IDL:omg.org/CosNaming/NamingContext: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 _NamingContextExtStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/CosNaming/_NamingContextStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,476 @@
+package org.omg.CosNaming;
+
+
+/**
+* org/omg/CosNaming/_NamingContextStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/CosNaming/nameservice.idl
+* Friday, May 25, 2007 3:39:57 o'clock PM GMT-05:00
+*/
+
+
+/** 
+ * A naming context is an object that contains a set of name bindings in 
+ * which each name is unique. Different names can be bound to an object 
+ * in the same or different contexts at the same time. <p>
+ * 
+ * See <a href="http://www.omg.org/technology/documents/formal/naming_service.htm">
+ * CORBA COS 
+ * Naming Specification.</a>
+ */
+public class _NamingContextStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.CosNaming.NamingContext
+{
+
+
+  /**
+   * Creates a binding of a name and an object in the naming context.
+   * Naming contexts that are bound using bind do not participate in name
+   * resolution when compound names are passed to be resolved. 
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param obj The Object to bind with the given name<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates
+   * the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed 
+   * Indicates that the implementation has given up for some reason.
+   * The client, however, may be able to continue the operation
+   * at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName 
+   * Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound 
+   * Indicates an object is already bound to the specified name.<p> 
+   */
+  public void bind (org.omg.CosNaming.NameComponent[] n, org.omg.CORBA.Object obj) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName, org.omg.CosNaming.NamingContextPackage.AlreadyBound
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CORBA.ObjectHelper.write ($out, obj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                bind (n, obj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind
+
+
+  /**
+   * Names an object that is a naming context. Naming contexts that
+   * are bound using bind_context() participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to bind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   *
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   */
+  public void bind_context (org.omg.CosNaming.NameComponent[] n, org.omg.CosNaming.NamingContext nc) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName, org.omg.CosNaming.NamingContextPackage.AlreadyBound
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind_context", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CosNaming.NamingContextHelper.write ($out, nc);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                bind_context (n, nc        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind_context
+
+
+  /**
+   * Creates a binding of a name and an object in the naming context
+   * even if the name is already bound in the context. Naming contexts 
+   * that are bound using rebind do not participate in name resolution 
+   * when compound names are passed to be resolved.
+   * 
+   * @param  n Name of the object <p>
+   * 
+   * @parm obj The Object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public void rebind (org.omg.CosNaming.NameComponent[] n, org.omg.CORBA.Object obj) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("rebind", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CORBA.ObjectHelper.write ($out, obj);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                rebind (n, obj        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // rebind
+
+
+  /** 
+   * Creates a binding of a name and a naming context in the naming
+   * context even if the name is already bound in the context. Naming 
+   * contexts that are bound using rebind_context() participate in name 
+   * resolution when compound names are passed to be resolved.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @param nc NamingContect object to rebind with the given name <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public void rebind_context (org.omg.CosNaming.NameComponent[] n, org.omg.CosNaming.NamingContext nc) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("rebind_context", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                org.omg.CosNaming.NamingContextHelper.write ($out, nc);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                rebind_context (n, nc        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // rebind_context
+
+
+  /** 
+   * The resolve operation is the process of retrieving an object
+   * bound to a name in a given context. The given name must exactly 
+   * match the bound name. The naming service does not return the type 
+   * of the object. Clients are responsible for "narrowing" the object 
+   * to the appropriate type. That is, clients typically cast the returned 
+   * object from Object to a more specialized interface.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public org.omg.CORBA.Object resolve (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("resolve", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                $in = _invoke ($out);
+                org.omg.CORBA.Object $result = org.omg.CORBA.ObjectHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return resolve (n        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // resolve
+
+
+  /** 
+   * The unbind operation removes a name binding from a context.
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public void unbind (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("unbind", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                unbind (n        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // unbind
+
+
+  /**
+   * The list operation allows a client to iterate through a set of
+   * bindings in a naming context. <p>
+   * 
+   * The list operation returns at most the requested number of
+   * bindings in BindingList bl. 
+   * <ul>
+   * <li>If the naming context contains additional 
+   * bindings, the list operation returns a BindingIterator with the 
+   * additional bindings. 
+   * <li>If the naming context does not contain additional 
+   * bindings, the binding iterator is a nil object reference.
+   * </ul>
+   * 
+   * @param how_many the maximum number of bindings to return <p>
+   * 
+   * @param bl the returned list of bindings <p>
+   * 
+   * @param bi the returned binding iterator <p>
+   */
+  public void list (int how_many, org.omg.CosNaming.BindingListHolder bl, org.omg.CosNaming.BindingIteratorHolder bi)
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("list", true);
+                $out.write_ulong (how_many);
+                $in = _invoke ($out);
+                bl.value = org.omg.CosNaming.BindingListHelper.read ($in);
+                bi.value = org.omg.CosNaming.BindingIteratorHelper.read ($in);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                list (how_many, bl, bi        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // list
+
+
+  /**
+   * This operation returns a naming context implemented by the same
+   * naming server as the context on which the operation was invoked. 
+   * The new context is not bound to any name.
+   */
+  public org.omg.CosNaming.NamingContext new_context ()
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("new_context", true);
+                $in = _invoke ($out);
+                org.omg.CosNaming.NamingContext $result = org.omg.CosNaming.NamingContextHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return new_context (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // new_context
+
+
+  /**
+   * This operation creates a new context and binds it to the name
+   * supplied as an argument. The newly-created context is implemented 
+   * by the same naming server as the context in which it was bound (that 
+   * is, the naming server that implements the context denoted by the 
+   * name argument excluding the last component).
+   * 
+   * @param n Name of the object <p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+   * bound to the specified name.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+   * given up for some reason. The client, however, may be able to 
+   * continue the operation at the returned naming context.<p>
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+   */
+  public org.omg.CosNaming.NamingContext bind_new_context (org.omg.CosNaming.NameComponent[] n) throws org.omg.CosNaming.NamingContextPackage.NotFound, org.omg.CosNaming.NamingContextPackage.AlreadyBound, org.omg.CosNaming.NamingContextPackage.CannotProceed, org.omg.CosNaming.NamingContextPackage.InvalidName
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("bind_new_context", true);
+                org.omg.CosNaming.NameHelper.write ($out, n);
+                $in = _invoke ($out);
+                org.omg.CosNaming.NamingContext $result = org.omg.CosNaming.NamingContextHelper.read ($in);
+                return $result;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotFound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.AlreadyBoundHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.CannotProceedHelper.read ($in);
+                else if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.InvalidNameHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                return bind_new_context (n        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // bind_new_context
+
+
+  /** 
+   * The destroy operation deletes a naming context. If the naming 
+   * context contains bindings, the NotEmpty exception is raised.
+   * 
+   * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming Context contains bindings.
+   */
+  public void destroy () throws org.omg.CosNaming.NamingContextPackage.NotEmpty
+  {
+            org.omg.CORBA.portable.InputStream $in = null;
+            try {
+                org.omg.CORBA.portable.OutputStream $out = _request ("destroy", true);
+                $in = _invoke ($out);
+                return;
+            } catch (org.omg.CORBA.portable.ApplicationException $ex) {
+                $in = $ex.getInputStream ();
+                String _id = $ex.getId ();
+                if (_id.equals ("IDL:omg.org/CosNaming/NamingContext/NotEmpty:1.0"))
+                    throw org.omg.CosNaming.NamingContextPackage.NotEmptyHelper.read ($in);
+                else
+                    throw new org.omg.CORBA.MARSHAL (_id);
+            } catch (org.omg.CORBA.portable.RemarshalException $rm) {
+                destroy (        );
+            } finally {
+                _releaseReply ($in);
+            }
+  } // destroy
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/CosNaming/NamingContext: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 _NamingContextStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/Dynamic/Parameter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package org.omg.Dynamic;
+
+
+/**
+* org/omg/Dynamic/Parameter.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public final class Parameter implements org.omg.CORBA.portable.IDLEntity
+{
+  public org.omg.CORBA.Any argument = null;
+  public org.omg.CORBA.ParameterMode mode = null;
+
+  public Parameter ()
+  {
+  } // ctor
+
+  public Parameter (org.omg.CORBA.Any _argument, org.omg.CORBA.ParameterMode _mode)
+  {
+    argument = _argument;
+    mode = _mode;
+  } // ctor
+
+} // class Parameter
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/AnySeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/AnySeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class AnySeqHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/AnySeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.CORBA.Any[] 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.CORBA.Any[] 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_any);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.DynamicAny.AnySeqHelper.id (), "AnySeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.CORBA.Any[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.CORBA.Any value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.CORBA.Any[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = istream.read_any ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.CORBA.Any[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      ostream.write_any (value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAny.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,81 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynAny.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * Any values can be dynamically interpreted (traversed) and constructed through DynAny objects.
+    * A DynAny object is associated with a data value which corresponds to a copy of the value
+    * inserted into an any.
+    * <P>A DynAny object may be viewed as an ordered collection of component DynAnys.
+    * For DynAnys representing a basic type, such as long, or a type without components,
+    * such as an empty exception, the ordered collection of components is empty.
+    * Each DynAny object maintains the notion of a current position into its collection
+    * of component DynAnys. The current position is identified by an index value that runs
+    * from 0 to n-1, where n is the number of components.
+    * The special index value -1 indicates a current position that points nowhere.
+    * For values that cannot have a current position (such as an empty exception),
+    * the index value is fixed at -1.
+    * If a DynAny is initialized with a value that has components, the index is initialized to 0.
+    * After creation of an uninitialized DynAny (that is, a DynAny that has no value but a TypeCode
+    * that permits components), the current position depends on the type of value represented by
+    * the DynAny. (The current position is set to 0 or -1, depending on whether the new DynAny
+    * gets default values for its components.)
+    * <P>The iteration operations rewind, seek, and next can be used to change the current position
+    * and the current_component operation returns the component at the current position.
+    * The component_count operation returns the number of components of a DynAny.
+    * Collectively, these operations enable iteration over the components of a DynAny, for example,
+    * to (recursively) examine its contents.
+    * <P>A constructed DynAny object is a DynAny object associated with a constructed type.
+    * There is a different interface, inheriting from the DynAny interface, associated with
+    * each kind of constructed type in IDL (fixed, enum, struct, sequence, union, array,
+    * exception, and value type).
+    * <P>A constructed DynAny object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a component of the constructed data value.
+    * As an example, a DynStruct is associated with a struct value. This means that the DynStruct
+    * may be seen as owning an ordered collection of components, one for each structure member.
+    * The DynStruct object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a member of the struct.
+    * <P>If a DynAny object has been obtained from another (constructed) DynAny object,
+    * such as a DynAny representing a structure member that was created from a DynStruct,
+    * the member DynAny is logically contained in the DynStruct.
+    * Calling an insert or get operation leaves the current position unchanged.
+    * Destroying a top-level DynAny object (one that was not obtained as a component of another DynAny)
+    * also destroys any component DynAny objects obtained from it.
+    * Destroying a non-top level DynAny object does nothing.
+    * Invoking operations on a destroyed top-level DynAny or any of its descendants raises OBJECT_NOT_EXIST.
+    * If the programmer wants to destroy a DynAny object but still wants to manipulate some component
+    * of the data value associated with it, then he or she should first create a DynAny for the component
+    * and, after that, make a copy of the created DynAny object.
+    * <P>The behavior of DynAny objects has been defined in order to enable efficient implementations
+    * in terms of allocated memory space and speed of access. DynAny objects are intended to be used
+    * for traversing values extracted from anys or constructing values of anys at runtime.
+    * Their use for other purposes is not recommended.
+    * <P>Insert and get operations are necessary to handle basic DynAny objects
+    * but are also helpful to handle constructed DynAny objects.
+    * Inserting a basic data type value into a constructed DynAny object
+    * implies initializing the current component of the constructed data value
+    * associated with the DynAny object. For example, invoking insert_boolean on a
+    * DynStruct implies inserting a boolean data value at the current position
+    * of the associated struct data value.
+    * A type is consistent for inserting or extracting a value if its TypeCode is equivalent to
+    * the TypeCode contained in the DynAny or, if the DynAny has components, is equivalent to the TypeCode
+    * of the DynAny at the current position.
+    * <P>DynAny and DynAnyFactory objects are intended to be local to the process in which they are
+    * created and used. This means that references to DynAny and DynAnyFactory objects cannot be exported
+    * to other processes, or externalized with ORB.object_to_string().
+    * If any attempt is made to do so, the offending operation will raise a MARSHAL system exception.
+    * Since their interfaces are specified in IDL, DynAny objects export operations defined in the standard
+    * org.omg.CORBA.Object interface. However, any attempt to invoke operations exported through the Object
+    * interface may raise the standard NO_IMPLEMENT exception.
+    * An attempt to use a DynAny object with the DII may raise the NO_IMPLEMENT exception.
+    */
+public interface DynAny extends DynAnyOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynAny
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,35 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynAnyFactory.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynAny objects can be created by invoking operations on the DynAnyFactory object.
+    * Generally there are only two ways to create a DynAny object:
+    * <UL>
+    * <LI>invoking an operation on an existing DynAny object
+    * <LI>invoking an operation on a DynAnyFactory object
+    * </UL>
+    * A constructed DynAny object supports operations that enable the creation of new DynAny
+    * objects encapsulating access to the value of some constituent.
+    * DynAny objects also support the copy operation for creating new DynAny objects.
+    * A reference to the DynAnyFactory object is obtained by calling ORB.resolve_initial_references()
+    * with the identifier parameter set to the string constant "DynAnyFactory".
+    * <P>Dynamic interpretation of an any usually involves creating a DynAny object using create_dyn_any()
+    * as the first step. Depending on the type of the any, the resulting DynAny object reference can be narrowed
+    * to a DynFixed, DynStruct, DynSequence, DynArray, DynUnion, DynEnum, or DynValue object reference.
+    * <P>Dynamic creation of an any involves creating a DynAny object using create_dyn_any_from_type_code(),
+    * passing the TypeCode associated with the value to be created. The returned reference is narrowed to one of
+    * the complex types, such as DynStruct, if appropriate. Then, the value can be initialized by means of
+    * invoking operations on the resulting object. Finally, the to_any operation can be invoked
+    * to create an any value from the constructed DynAny.
+    */
+public interface DynAnyFactory extends DynAnyFactoryOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynAnyFactory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyFactoryHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,107 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynAnyFactoryHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynAny objects can be created by invoking operations on the DynAnyFactory object.
+    * Generally there are only two ways to create a DynAny object:
+    * <UL>
+    * <LI>invoking an operation on an existing DynAny object
+    * <LI>invoking an operation on a DynAnyFactory object
+    * </UL>
+    * A constructed DynAny object supports operations that enable the creation of new DynAny
+    * objects encapsulating access to the value of some constituent.
+    * DynAny objects also support the copy operation for creating new DynAny objects.
+    * A reference to the DynAnyFactory object is obtained by calling ORB.resolve_initial_references()
+    * with the identifier parameter set to the string constant "DynAnyFactory".
+    * <P>Dynamic interpretation of an any usually involves creating a DynAny object using create_dyn_any()
+    * as the first step. Depending on the type of the any, the resulting DynAny object reference can be narrowed
+    * to a DynFixed, DynStruct, DynSequence, DynArray, DynUnion, DynEnum, or DynValue object reference.
+    * <P>Dynamic creation of an any involves creating a DynAny object using create_dyn_any_from_type_code(),
+    * passing the TypeCode associated with the value to be created. The returned reference is narrowed to one of
+    * the complex types, such as DynStruct, if appropriate. Then, the value can be initialized by means of
+    * invoking operations on the resulting object. Finally, the to_any operation can be invoked
+    * to create an any value from the constructed DynAny.
+    */
+abstract public class DynAnyFactoryHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynAnyFactory:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynAnyFactory 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.DynamicAny.DynAnyFactory 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.DynamicAny.DynAnyFactoryHelper.id (), "DynAnyFactory");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynAnyFactory 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.DynamicAny.DynAnyFactory value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynAnyFactory narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynAnyFactory)
+      return (org.omg.DynamicAny.DynAnyFactory)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.DynamicAny._DynAnyFactoryStub stub = new org.omg.DynamicAny._DynAnyFactoryStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynAnyFactory unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynAnyFactory)
+      return (org.omg.DynamicAny.DynAnyFactory)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynAnyFactoryStub stub = new org.omg.DynamicAny._DynAnyFactoryStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyFactoryOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,80 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynAnyFactoryOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynAny objects can be created by invoking operations on the DynAnyFactory object.
+    * Generally there are only two ways to create a DynAny object:
+    * <UL>
+    * <LI>invoking an operation on an existing DynAny object
+    * <LI>invoking an operation on a DynAnyFactory object
+    * </UL>
+    * A constructed DynAny object supports operations that enable the creation of new DynAny
+    * objects encapsulating access to the value of some constituent.
+    * DynAny objects also support the copy operation for creating new DynAny objects.
+    * A reference to the DynAnyFactory object is obtained by calling ORB.resolve_initial_references()
+    * with the identifier parameter set to the string constant "DynAnyFactory".
+    * <P>Dynamic interpretation of an any usually involves creating a DynAny object using create_dyn_any()
+    * as the first step. Depending on the type of the any, the resulting DynAny object reference can be narrowed
+    * to a DynFixed, DynStruct, DynSequence, DynArray, DynUnion, DynEnum, or DynValue object reference.
+    * <P>Dynamic creation of an any involves creating a DynAny object using create_dyn_any_from_type_code(),
+    * passing the TypeCode associated with the value to be created. The returned reference is narrowed to one of
+    * the complex types, such as DynStruct, if appropriate. Then, the value can be initialized by means of
+    * invoking operations on the resulting object. Finally, the to_any operation can be invoked
+    * to create an any value from the constructed DynAny.
+    */
+public interface DynAnyFactoryOperations 
+{
+
+  /**
+          * Creates a new DynAny object from an any value.
+          * A copy of the TypeCode associated with the any value is assigned to the resulting DynAny object.
+          * The value associated with the DynAny object is a copy of the value in the original any.
+          * The current position of the created DynAny is set to zero if the passed value has components,
+          * to -1 otherwise
+          *
+          * @exception InconsistentTypeCode if value has a TypeCode with a TCKind of tk_Principal,
+          * tk_native, or tk_abstract_interface
+          */
+  org.omg.DynamicAny.DynAny create_dyn_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode;
+
+  /**
+          * Creates a DynAny from a TypeCode. Depending on the TypeCode, the created object may be of type DynAny,
+          * or one of its derived types, such as DynStruct. The returned reference can be narrowed to the derived type.
+          * In all cases, a DynAny constructed from a TypeCode has an initial default value.
+          * The default values of basic types are:
+          * <UL>
+          * <LI>false for boolean
+          * <LI>zero for numeric types
+          * <LI>zero for types octet, char, and wchar
+          * <LI>the empty string for string and wstring
+          * <LI>null for object references
+          * <LI>a type code with a TCKind value of tk_null for type codes
+          * <LI>for any values, an any containing a type code with a TCKind value of tk_null type and no value
+          * </UL>
+          * For complex types, creation of the corresponding DynAny assigns a default value as follows:
+          * <UL>
+          * <LI>For DynSequence it sets the current position to -1 and creates an empty sequence.
+          * <LI>For DynEnum it sets the current position to -1 and sets the value of the enumerator
+          *     to the first enumerator value indicated by the TypeCode.
+          * <LI>For DynFixed it sets the current position to -1 and sets the value zero.
+          * <LI>For DynStruct it sets the current position to -1 for empty exceptions
+          *     and to zero for all other TypeCodes. The members (if any) are (recursively) initialized
+          *     to their default values.
+          * <LI>For DynArray sets the current position to zero and (recursively) initializes elements
+          *     to their default value.
+          * <LI>For DynUnion sets the current position to zero. The discriminator value is set
+          *     to a value consistent with the first named member of the union. That member is activated and (recursively)
+          *     initialized to its default value.
+          * <LI>For DynValue and DynValueBox it initializes to a null value.
+          * </UL>
+          */
+  org.omg.DynamicAny.DynAny create_dyn_any_from_type_code (org.omg.CORBA.TypeCode type) throws org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode;
+} // interface DynAnyFactoryOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.DynamicAny.DynAnyFactoryPackage;
+
+
+/**
+* org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCode.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+public final class InconsistentTypeCode extends org.omg.CORBA.UserException
+{
+
+  public InconsistentTypeCode ()
+  {
+    super(InconsistentTypeCodeHelper.id());
+  } // ctor
+
+
+  public InconsistentTypeCode (String $reason)
+  {
+    super(InconsistentTypeCodeHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InconsistentTypeCode
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.DynamicAny.DynAnyFactoryPackage;
+
+
+/**
+* org/omg/DynamicAny/DynAnyFactoryPackage/InconsistentTypeCodeHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class InconsistentTypeCodeHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynAnyFactory/InconsistentTypeCode:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode 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.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode 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.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCodeHelper.id (), "InconsistentTypeCode", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode value = new org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,153 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynAnyHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * Any values can be dynamically interpreted (traversed) and constructed through DynAny objects.
+    * A DynAny object is associated with a data value which corresponds to a copy of the value
+    * inserted into an any.
+    * <P>A DynAny object may be viewed as an ordered collection of component DynAnys.
+    * For DynAnys representing a basic type, such as long, or a type without components,
+    * such as an empty exception, the ordered collection of components is empty.
+    * Each DynAny object maintains the notion of a current position into its collection
+    * of component DynAnys. The current position is identified by an index value that runs
+    * from 0 to n-1, where n is the number of components.
+    * The special index value -1 indicates a current position that points nowhere.
+    * For values that cannot have a current position (such as an empty exception),
+    * the index value is fixed at -1.
+    * If a DynAny is initialized with a value that has components, the index is initialized to 0.
+    * After creation of an uninitialized DynAny (that is, a DynAny that has no value but a TypeCode
+    * that permits components), the current position depends on the type of value represented by
+    * the DynAny. (The current position is set to 0 or -1, depending on whether the new DynAny
+    * gets default values for its components.)
+    * <P>The iteration operations rewind, seek, and next can be used to change the current position
+    * and the current_component operation returns the component at the current position.
+    * The component_count operation returns the number of components of a DynAny.
+    * Collectively, these operations enable iteration over the components of a DynAny, for example,
+    * to (recursively) examine its contents.
+    * <P>A constructed DynAny object is a DynAny object associated with a constructed type.
+    * There is a different interface, inheriting from the DynAny interface, associated with
+    * each kind of constructed type in IDL (fixed, enum, struct, sequence, union, array,
+    * exception, and value type).
+    * <P>A constructed DynAny object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a component of the constructed data value.
+    * As an example, a DynStruct is associated with a struct value. This means that the DynStruct
+    * may be seen as owning an ordered collection of components, one for each structure member.
+    * The DynStruct object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a member of the struct.
+    * <P>If a DynAny object has been obtained from another (constructed) DynAny object,
+    * such as a DynAny representing a structure member that was created from a DynStruct,
+    * the member DynAny is logically contained in the DynStruct.
+    * Calling an insert or get operation leaves the current position unchanged.
+    * Destroying a top-level DynAny object (one that was not obtained as a component of another DynAny)
+    * also destroys any component DynAny objects obtained from it.
+    * Destroying a non-top level DynAny object does nothing.
+    * Invoking operations on a destroyed top-level DynAny or any of its descendants raises OBJECT_NOT_EXIST.
+    * If the programmer wants to destroy a DynAny object but still wants to manipulate some component
+    * of the data value associated with it, then he or she should first create a DynAny for the component
+    * and, after that, make a copy of the created DynAny object.
+    * <P>The behavior of DynAny objects has been defined in order to enable efficient implementations
+    * in terms of allocated memory space and speed of access. DynAny objects are intended to be used
+    * for traversing values extracted from anys or constructing values of anys at runtime.
+    * Their use for other purposes is not recommended.
+    * <P>Insert and get operations are necessary to handle basic DynAny objects
+    * but are also helpful to handle constructed DynAny objects.
+    * Inserting a basic data type value into a constructed DynAny object
+    * implies initializing the current component of the constructed data value
+    * associated with the DynAny object. For example, invoking insert_boolean on a
+    * DynStruct implies inserting a boolean data value at the current position
+    * of the associated struct data value.
+    * A type is consistent for inserting or extracting a value if its TypeCode is equivalent to
+    * the TypeCode contained in the DynAny or, if the DynAny has components, is equivalent to the TypeCode
+    * of the DynAny at the current position.
+    * <P>DynAny and DynAnyFactory objects are intended to be local to the process in which they are
+    * created and used. This means that references to DynAny and DynAnyFactory objects cannot be exported
+    * to other processes, or externalized with ORB.object_to_string().
+    * If any attempt is made to do so, the offending operation will raise a MARSHAL system exception.
+    * Since their interfaces are specified in IDL, DynAny objects export operations defined in the standard
+    * org.omg.CORBA.Object interface. However, any attempt to invoke operations exported through the Object
+    * interface may raise the standard NO_IMPLEMENT exception.
+    * An attempt to use a DynAny object with the DII may raise the NO_IMPLEMENT exception.
+    */
+abstract public class DynAnyHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynAny:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynAny 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.DynamicAny.DynAny 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.DynamicAny.DynAnyHelper.id (), "DynAny");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynAny 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.DynamicAny.DynAny value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynAny narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynAny)
+      return (org.omg.DynamicAny.DynAny)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.DynamicAny._DynAnyStub stub = new org.omg.DynamicAny._DynAnyStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynAny unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynAny)
+      return (org.omg.DynamicAny.DynAny)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynAnyStub stub = new org.omg.DynamicAny._DynAnyStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,569 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynAnyOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * Any values can be dynamically interpreted (traversed) and constructed through DynAny objects.
+    * A DynAny object is associated with a data value which corresponds to a copy of the value
+    * inserted into an any.
+    * <P>A DynAny object may be viewed as an ordered collection of component DynAnys.
+    * For DynAnys representing a basic type, such as long, or a type without components,
+    * such as an empty exception, the ordered collection of components is empty.
+    * Each DynAny object maintains the notion of a current position into its collection
+    * of component DynAnys. The current position is identified by an index value that runs
+    * from 0 to n-1, where n is the number of components.
+    * The special index value -1 indicates a current position that points nowhere.
+    * For values that cannot have a current position (such as an empty exception),
+    * the index value is fixed at -1.
+    * If a DynAny is initialized with a value that has components, the index is initialized to 0.
+    * After creation of an uninitialized DynAny (that is, a DynAny that has no value but a TypeCode
+    * that permits components), the current position depends on the type of value represented by
+    * the DynAny. (The current position is set to 0 or -1, depending on whether the new DynAny
+    * gets default values for its components.)
+    * <P>The iteration operations rewind, seek, and next can be used to change the current position
+    * and the current_component operation returns the component at the current position.
+    * The component_count operation returns the number of components of a DynAny.
+    * Collectively, these operations enable iteration over the components of a DynAny, for example,
+    * to (recursively) examine its contents.
+    * <P>A constructed DynAny object is a DynAny object associated with a constructed type.
+    * There is a different interface, inheriting from the DynAny interface, associated with
+    * each kind of constructed type in IDL (fixed, enum, struct, sequence, union, array,
+    * exception, and value type).
+    * <P>A constructed DynAny object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a component of the constructed data value.
+    * As an example, a DynStruct is associated with a struct value. This means that the DynStruct
+    * may be seen as owning an ordered collection of components, one for each structure member.
+    * The DynStruct object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a member of the struct.
+    * <P>If a DynAny object has been obtained from another (constructed) DynAny object,
+    * such as a DynAny representing a structure member that was created from a DynStruct,
+    * the member DynAny is logically contained in the DynStruct.
+    * Calling an insert or get operation leaves the current position unchanged.
+    * Destroying a top-level DynAny object (one that was not obtained as a component of another DynAny)
+    * also destroys any component DynAny objects obtained from it.
+    * Destroying a non-top level DynAny object does nothing.
+    * Invoking operations on a destroyed top-level DynAny or any of its descendants raises OBJECT_NOT_EXIST.
+    * If the programmer wants to destroy a DynAny object but still wants to manipulate some component
+    * of the data value associated with it, then he or she should first create a DynAny for the component
+    * and, after that, make a copy of the created DynAny object.
+    * <P>The behavior of DynAny objects has been defined in order to enable efficient implementations
+    * in terms of allocated memory space and speed of access. DynAny objects are intended to be used
+    * for traversing values extracted from anys or constructing values of anys at runtime.
+    * Their use for other purposes is not recommended.
+    * <P>Insert and get operations are necessary to handle basic DynAny objects
+    * but are also helpful to handle constructed DynAny objects.
+    * Inserting a basic data type value into a constructed DynAny object
+    * implies initializing the current component of the constructed data value
+    * associated with the DynAny object. For example, invoking insert_boolean on a
+    * DynStruct implies inserting a boolean data value at the current position
+    * of the associated struct data value.
+    * A type is consistent for inserting or extracting a value if its TypeCode is equivalent to
+    * the TypeCode contained in the DynAny or, if the DynAny has components, is equivalent to the TypeCode
+    * of the DynAny at the current position.
+    * <P>DynAny and DynAnyFactory objects are intended to be local to the process in which they are
+    * created and used. This means that references to DynAny and DynAnyFactory objects cannot be exported
+    * to other processes, or externalized with ORB.object_to_string().
+    * If any attempt is made to do so, the offending operation will raise a MARSHAL system exception.
+    * Since their interfaces are specified in IDL, DynAny objects export operations defined in the standard
+    * org.omg.CORBA.Object interface. However, any attempt to invoke operations exported through the Object
+    * interface may raise the standard NO_IMPLEMENT exception.
+    * An attempt to use a DynAny object with the DII may raise the NO_IMPLEMENT exception.
+    */
+public interface DynAnyOperations 
+{
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  org.omg.CORBA.TypeCode type ();
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch;
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  org.omg.CORBA.Any to_any ();
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  boolean equal (org.omg.DynamicAny.DynAny dyn_any);
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  void destroy ();
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  org.omg.DynamicAny.DynAny copy ();
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  boolean seek (int index);
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  void rewind ();
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  boolean next ();
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  int component_count ();
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch;
+} // interface DynAnyOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyPackage/InvalidValue.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.DynamicAny.DynAnyPackage;
+
+
+/**
+* org/omg/DynamicAny/DynAnyPackage/InvalidValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+public final class InvalidValue extends org.omg.CORBA.UserException
+{
+
+  public InvalidValue ()
+  {
+    super(InvalidValueHelper.id());
+  } // ctor
+
+
+  public InvalidValue (String $reason)
+  {
+    super(InvalidValueHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.DynamicAny.DynAnyPackage;
+
+
+/**
+* org/omg/DynamicAny/DynAnyPackage/InvalidValueHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class InvalidValueHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynAny/InvalidValue:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynAnyPackage.InvalidValue 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.DynamicAny.DynAnyPackage.InvalidValue 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.DynamicAny.DynAnyPackage.InvalidValueHelper.id (), "InvalidValue", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynAnyPackage.InvalidValue read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.DynAnyPackage.InvalidValue value = new org.omg.DynamicAny.DynAnyPackage.InvalidValue ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.DynAnyPackage.InvalidValue value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.DynamicAny.DynAnyPackage;
+
+
+/**
+* org/omg/DynamicAny/DynAnyPackage/TypeMismatch.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+public final class TypeMismatch extends org.omg.CORBA.UserException
+{
+
+  public TypeMismatch ()
+  {
+    super(TypeMismatchHelper.id());
+  } // ctor
+
+
+  public TypeMismatch (String $reason)
+  {
+    super(TypeMismatchHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class TypeMismatch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.DynamicAny.DynAnyPackage;
+
+
+/**
+* org/omg/DynamicAny/DynAnyPackage/TypeMismatchHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class TypeMismatchHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynAny/TypeMismatch:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynAnyPackage.TypeMismatch 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.DynamicAny.DynAnyPackage.TypeMismatch 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.DynamicAny.DynAnyPackage.TypeMismatchHelper.id (), "TypeMismatch", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynAnyPackage.TypeMismatch read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.DynAnyPackage.TypeMismatch value = new org.omg.DynamicAny.DynAnyPackage.TypeMismatch ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.DynAnyPackage.TypeMismatch value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynAnySeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynAnySeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class DynAnySeqHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynAnySeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynAny[] 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.DynamicAny.DynAny[] 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.DynamicAny.DynAnyHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.DynamicAny.DynAnySeqHelper.id (), "DynAnySeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynAny[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.DynAny value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.DynamicAny.DynAny[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.DynamicAny.DynAnyHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.DynAny[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.DynamicAny.DynAnyHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynArray.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynArray.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynArray objects support the manipulation of IDL arrays.
+    * Note that the dimension of the array is contained in the TypeCode which is accessible
+    * through the type attribute. It can also be obtained by calling the component_count operation.
+    */
+public interface DynArray extends DynArrayOperations, org.omg.DynamicAny.DynAny, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynArray
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynArrayHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,91 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynArrayHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynArray objects support the manipulation of IDL arrays.
+    * Note that the dimension of the array is contained in the TypeCode which is accessible
+    * through the type attribute. It can also be obtained by calling the component_count operation.
+    */
+abstract public class DynArrayHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynArray:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynArray 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.DynamicAny.DynArray 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.DynamicAny.DynArrayHelper.id (), "DynArray");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynArray 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.DynamicAny.DynArray value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynArray narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynArray)
+      return (org.omg.DynamicAny.DynArray)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.DynamicAny._DynArrayStub stub = new org.omg.DynamicAny._DynArrayStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynArray unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynArray)
+      return (org.omg.DynamicAny.DynArray)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynArrayStub stub = new org.omg.DynamicAny._DynArrayStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynArrayOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynArrayOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynArray objects support the manipulation of IDL arrays.
+    * Note that the dimension of the array is contained in the TypeCode which is accessible
+    * through the type attribute. It can also be obtained by calling the component_count operation.
+    */
+public interface DynArrayOperations  extends org.omg.DynamicAny.DynAnyOperations
+{
+
+  /**
+          * Returns the elements of the DynArray.
+          */
+  org.omg.CORBA.Any[] get_elements ();
+
+  /**
+          * Sets the DynArray to contain the passed elements.
+          *
+          * @exception TypeMismatch if one or more elements have a type that is inconsistent with the DynArrays TypeCode
+          * @exception InvalidValue if the sequence does not contain the same number of elements as the array dimension
+          */
+  void set_elements (org.omg.CORBA.Any[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the elements of the DynArray as DynAnys.
+          */
+  org.omg.DynamicAny.DynAny[] get_elements_as_dyn_any ();
+
+  /**
+          * Sets the DynArray to contain the passed elements.
+          *
+          * @exception TypeMismatch if one or more elements have a type that is inconsistent with the DynArrays TypeCode
+          * @exception InvalidValue if the sequence does not contain the same number of elements as the array dimension
+          */
+  void set_elements_as_dyn_any (org.omg.DynamicAny.DynAny[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+} // interface DynArrayOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynEnum.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,18 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynEnum.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynEnum objects support the manipulation of IDL enumerated values.
+    * The current position of a DynEnum is always -1.
+    */
+public interface DynEnum extends DynEnumOperations, org.omg.DynamicAny.DynAny, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynEnum
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynEnumHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,90 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynEnumHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynEnum objects support the manipulation of IDL enumerated values.
+    * The current position of a DynEnum is always -1.
+    */
+abstract public class DynEnumHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynEnum:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynEnum 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.DynamicAny.DynEnum 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.DynamicAny.DynEnumHelper.id (), "DynEnum");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynEnum 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.DynamicAny.DynEnum value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynEnum narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynEnum)
+      return (org.omg.DynamicAny.DynEnum)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.DynamicAny._DynEnumStub stub = new org.omg.DynamicAny._DynEnumStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynEnum unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynEnum)
+      return (org.omg.DynamicAny.DynEnum)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynEnumStub stub = new org.omg.DynamicAny._DynEnumStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynEnumOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,46 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynEnumOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynEnum objects support the manipulation of IDL enumerated values.
+    * The current position of a DynEnum is always -1.
+    */
+public interface DynEnumOperations  extends org.omg.DynamicAny.DynAnyOperations
+{
+
+  /**
+          * Returns the value of the DynEnum as an IDL identifier.
+          */
+  String get_as_string ();
+
+  /**
+          * Sets the value of the DynEnum to the enumerated value whose IDL identifier is passed in the value parameter.
+          *
+          * @exception InvalidValue If value contains a string that is not a valid IDL identifier
+          *            for the corresponding enumerated type
+          */
+  void set_as_string (String value) throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the value of the DynEnum as the enumerated value's ordinal value.
+          * Enumerators have ordinal values 0 to n-1, as they appear from left to right
+          * in the corresponding IDL definition.
+          */
+  int get_as_ulong ();
+
+  /**
+          * Sets the value of the DynEnum as the enumerated value's ordinal value.
+          *
+          * @exception InvalidValue If value contains a value that is outside the range of ordinal values
+          *            for the corresponding enumerated type
+          */
+  void set_as_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+} // interface DynEnumOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynFixed.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynFixed.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynFixed objects support the manipulation of IDL fixed values.
+    * Because IDL does not have a generic type that can represent fixed types with arbitrary
+    * number of digits and arbitrary scale, the operations use the IDL string type.
+    */
+public interface DynFixed extends DynFixedOperations, org.omg.DynamicAny.DynAny, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynFixed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynFixedHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,91 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynFixedHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynFixed objects support the manipulation of IDL fixed values.
+    * Because IDL does not have a generic type that can represent fixed types with arbitrary
+    * number of digits and arbitrary scale, the operations use the IDL string type.
+    */
+abstract public class DynFixedHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynFixed:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynFixed 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.DynamicAny.DynFixed 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.DynamicAny.DynFixedHelper.id (), "DynFixed");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynFixed 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.DynamicAny.DynFixed value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynFixed narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynFixed)
+      return (org.omg.DynamicAny.DynFixed)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.DynamicAny._DynFixedStub stub = new org.omg.DynamicAny._DynFixedStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynFixed unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynFixed)
+      return (org.omg.DynamicAny.DynFixed)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynFixedStub stub = new org.omg.DynamicAny._DynFixedStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynFixedOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynFixedOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynFixed objects support the manipulation of IDL fixed values.
+    * Because IDL does not have a generic type that can represent fixed types with arbitrary
+    * number of digits and arbitrary scale, the operations use the IDL string type.
+    */
+public interface DynFixedOperations  extends org.omg.DynamicAny.DynAnyOperations
+{
+
+  /**
+          * Returns the value of a DynFixed.
+          */
+  String get_value ();
+
+  /**
+          * Sets the value of the DynFixed.
+          * The val string must contain a fixed string constant in the same format as used for IDL fixed-point literals.
+          * However, the trailing d or D is optional. The return value is true if val can be represented as the DynFixed
+          * without loss of precision. If val has more fractional digits than can be represented in the DynFixed,
+          * fractional digits are truncated and the return value is false.
+          *
+          * @exception TypeMismatch If val does not contain a valid fixed-point literal or contains extraneous
+          *            characters other than leading or trailing white space
+          * @exception InvalidValue If val contains a value whose scale exceeds that of the DynFixed
+          *            or is not initialized
+          */
+  boolean set_value (String val) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+} // interface DynFixedOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynSequence.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,17 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynSequence.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynSequence objects support the manipulation of IDL sequences.
+    */
+public interface DynSequence extends DynSequenceOperations, org.omg.DynamicAny.DynAny, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynSequence
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynSequenceHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,89 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynSequenceHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynSequence objects support the manipulation of IDL sequences.
+    */
+abstract public class DynSequenceHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynSequence:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynSequence 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.DynamicAny.DynSequence 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.DynamicAny.DynSequenceHelper.id (), "DynSequence");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynSequence 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.DynamicAny.DynSequence value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynSequence narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynSequence)
+      return (org.omg.DynamicAny.DynSequence)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.DynamicAny._DynSequenceStub stub = new org.omg.DynamicAny._DynSequenceStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynSequence unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynSequence)
+      return (org.omg.DynamicAny.DynSequence)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynSequenceStub stub = new org.omg.DynamicAny._DynSequenceStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynSequenceOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,77 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynSequenceOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynSequence objects support the manipulation of IDL sequences.
+    */
+public interface DynSequenceOperations  extends org.omg.DynamicAny.DynAnyOperations
+{
+
+  /**
+          * Returns the current length of the sequence.
+          */
+  int get_length ();
+
+  /**
+          * Sets the length of the sequence.
+          * Increasing the length of a sequence adds new elements at the tail without affecting the values
+          * of already existing elements. Newly added elements are default-initialized.
+          * Increasing the length of a sequence sets the current position to the first newly-added element
+          * if the previous current position was -1. Otherwise, if the previous current position was not -1,
+          * the current position is not affected.
+          * Decreasing the length of a sequence removes elements from the tail without affecting the value
+          * of those elements that remain. The new current position after decreasing the length of a sequence
+          * is determined as follows:
+          * <UL>
+          * <LI>If the length of the sequence is set to zero, the current position is set to -1.
+          * <LI>If the current position is -1 before decreasing the length, it remains at -1.
+          * <LI>If the current position indicates a valid element and that element is not removed when the length
+          *     is decreased, the current position remains unaffected.
+          * <LI>If the current position indicates a valid element and that element is removed,
+          *     the current position is set to -1.
+          * </UL>
+          *
+          * @exception InvalidValue if this is a bounded sequence and len is larger than the bound
+          */
+  void set_length (int len) throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the elements of the sequence.
+          */
+  org.omg.CORBA.Any[] get_elements ();
+
+  /**
+          * Sets the elements of a sequence.
+          * The length of the DynSequence is set to the length of value. The current position is set to zero
+          * if value has non-zero length and to -1 if value is a zero-length sequence.
+          *
+          * @exception TypeMismatch if value contains one or more elements whose TypeCode is not equivalent
+          *            to the element TypeCode of the DynSequence
+          * @exception InvalidValue if the length of value exceeds the bound of a bounded sequence
+          */
+  void set_elements (org.omg.CORBA.Any[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the DynAnys representing the elements of the sequence.
+          */
+  org.omg.DynamicAny.DynAny[] get_elements_as_dyn_any ();
+
+  /**
+          * Sets the elements of a sequence using DynAnys.
+          * The length of the DynSequence is set to the length of value. The current position is set to zero
+          * if value has non-zero length and to -1 if value is a zero-length sequence.
+          *
+          * @exception TypeMismatch if value contains one or more elements whose TypeCode is not equivalent
+          *            to the element TypeCode of the DynSequence
+          * @exception InvalidValue if the length of value exceeds the bound of a bounded sequence
+          */
+  void set_elements_as_dyn_any (org.omg.DynamicAny.DynAny[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+} // interface DynSequenceOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,18 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynStruct.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynStruct objects support the manipulation of IDL struct and exception values.
+    * Members of the exceptions are handled in the same way as members of a struct.
+    */
+public interface DynStruct extends DynStructOperations, org.omg.DynamicAny.DynAny, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynStruct
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynStructHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,90 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynStructHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynStruct objects support the manipulation of IDL struct and exception values.
+    * Members of the exceptions are handled in the same way as members of a struct.
+    */
+abstract public class DynStructHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynStruct:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynStruct 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.DynamicAny.DynStruct 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.DynamicAny.DynStructHelper.id (), "DynStruct");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynStruct 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.DynamicAny.DynStruct value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynStruct narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynStruct)
+      return (org.omg.DynamicAny.DynStruct)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.DynamicAny._DynStructStub stub = new org.omg.DynamicAny._DynStructStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynStruct unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynStruct)
+      return (org.omg.DynamicAny.DynStruct)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynStructStub stub = new org.omg.DynamicAny._DynStructStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynStructOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,86 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynStructOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynStruct objects support the manipulation of IDL struct and exception values.
+    * Members of the exceptions are handled in the same way as members of a struct.
+    */
+public interface DynStructOperations  extends org.omg.DynamicAny.DynAnyOperations
+{
+
+  /**
+          * Returns the name of the member at the current position.
+          * This operation may return an empty string since the TypeCode of the value being
+          * manipulated may not contain the names of members.
+          *
+          * @exception TypeMismatch if the DynStruct represents an empty exception.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  String current_member_name () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the TCKind associated with the member at the current position.
+          *
+          * @exception TypeMismatch if the DynStruct represents an empty exception.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  org.omg.CORBA.TCKind current_member_kind () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns a sequence of NameValuePairs describing the name and the value of each member
+          * in the struct associated with a DynStruct object.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynStruct's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynStruct's TypeCode
+          * does not contain member names.
+          */
+  org.omg.DynamicAny.NameValuePair[] get_members ();
+
+  /**
+          * Initializes the struct data value associated with a DynStruct object from a sequence of NameValuePairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * <P>Members must appear in the NameValuePairs in the order in which they appear in the IDL specification
+          * of the struct as indicated by the DynStruct's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynStruct's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynStruct's TypeCode
+          */
+  void set_members (org.omg.DynamicAny.NameValuePair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns a sequence of NameDynAnyPairs describing the name and the value of each member
+          * in the struct associated with a DynStruct object.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynStruct's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynStruct's TypeCode
+          * does not contain member names.
+          */
+  org.omg.DynamicAny.NameDynAnyPair[] get_members_as_dyn_any ();
+
+  /**
+          * Initializes the struct data value associated with a DynStruct object from a sequence of NameDynAnyPairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * <P>Members must appear in the NameDynAnyPairs in the order in which they appear in the IDL specification
+          * of the struct as indicated by the DynStruct's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynStruct's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynStruct's TypeCode
+          */
+  void set_members_as_dyn_any (org.omg.DynamicAny.NameDynAnyPair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+} // interface DynStructOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynUnion.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynUnion.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynUnion objects support the manipulation of IDL unions.
+    * A union can have only two valid current positions:
+    * <UL>
+    * <LI>zero, which denotes the discriminator
+    * <LI>one, which denotes the active member
+    * </UL>
+    * The component_count value for a union depends on the current discriminator:
+    * it is 2 for a union whose discriminator indicates a named member, and 1 otherwise.
+    */
+public interface DynUnion extends DynUnionOperations, org.omg.DynamicAny.DynAny, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynUnion
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynUnionHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,96 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynUnionHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynUnion objects support the manipulation of IDL unions.
+    * A union can have only two valid current positions:
+    * <UL>
+    * <LI>zero, which denotes the discriminator
+    * <LI>one, which denotes the active member
+    * </UL>
+    * The component_count value for a union depends on the current discriminator:
+    * it is 2 for a union whose discriminator indicates a named member, and 1 otherwise.
+    */
+abstract public class DynUnionHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynUnion:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynUnion 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.DynamicAny.DynUnion 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.DynamicAny.DynUnionHelper.id (), "DynUnion");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynUnion 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.DynamicAny.DynUnion value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynUnion narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynUnion)
+      return (org.omg.DynamicAny.DynUnion)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.DynamicAny._DynUnionStub stub = new org.omg.DynamicAny._DynUnionStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynUnion unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynUnion)
+      return (org.omg.DynamicAny.DynUnion)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynUnionStub stub = new org.omg.DynamicAny._DynUnionStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynUnionOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,101 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynUnionOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynUnion objects support the manipulation of IDL unions.
+    * A union can have only two valid current positions:
+    * <UL>
+    * <LI>zero, which denotes the discriminator
+    * <LI>one, which denotes the active member
+    * </UL>
+    * The component_count value for a union depends on the current discriminator:
+    * it is 2 for a union whose discriminator indicates a named member, and 1 otherwise.
+    */
+public interface DynUnionOperations  extends org.omg.DynamicAny.DynAnyOperations
+{
+
+  /**
+          * Returns the current discriminator value.
+          */
+  org.omg.DynamicAny.DynAny get_discriminator ();
+
+  /**
+          * Sets the discriminator of the DynUnion to the specified value.
+          * Setting the discriminator to a value that is consistent with the currently active union member
+          * does not affect the currently active member. Setting the discriminator to a value that is inconsistent
+          * with the currently active member deactivates the member and activates the member that is consistent
+          * with the new discriminator value (if there is a member for that value) by initializing the member
+          * to its default value.
+          * Setting the discriminator of a union sets the current position to 0 if the discriminator value
+          * indicates a non-existent union member (has_no_active_member returns true in this case).
+          * Otherwise, if the discriminator value indicates a named union member, the current position is set to 1
+          * (has_no_active_member returns false and component_count returns 2 in this case).
+          *
+          * @exception TypeMismatch if the TypeCode of the parameter is not equivalent to the TypeCode
+          *            of the union's discriminator
+          */
+  void set_discriminator (org.omg.DynamicAny.DynAny d) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch;
+
+  /**
+          * Sets the discriminator to a value that is consistent with the value of the default case of a union.
+          * It sets the current position to zero and causes component_count to return 2.
+          *
+          * @exception TypeMismatch if the union does not have an explicit default case
+          */
+  void set_to_default_member () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch;
+
+  /**
+          * Sets the discriminator to a value that does not correspond to any of the unions case labels.
+          * It sets the current position to zero and causes component_count to return 1.
+          *
+          * @exception TypeMismatch if the union has an explicit default case or if it uses the entire range
+          *            of discriminator values for explicit case labels
+          */
+  void set_to_no_active_member () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch;
+
+  /**
+          * Returns true if the union has no active member, that is, the unions value consists solely
+          * of its discriminator because the discriminator has a value that is not listed as an explicit case label.
+          * Calling this operation on a union that has a default case returns false.
+          * Calling this operation on a union that uses the entire range of discriminator values
+          * for explicit case labels returns false.
+          */
+  boolean has_no_active_member ();
+
+  /**
+          * Returns the TCKind value of the discriminators TypeCode.
+          */
+  org.omg.CORBA.TCKind discriminator_kind ();
+
+  /**
+          * Returns the TCKind value of the currently active members TypeCode. 
+          *
+          * @exception InvalidValue if the union does not have a currently active member
+          */
+  org.omg.CORBA.TCKind member_kind () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the currently active member. Note that the returned reference remains valid only
+          * for as long as the currently active member does not change. Using the returned reference
+          * beyond the life time of the currently active member raises OBJECT_NOT_EXIST. 
+          *
+          * @exception InvalidValue if the union has no active member
+          */
+  org.omg.DynamicAny.DynAny member () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the name of the currently active member. If the unions TypeCode does not contain
+          * a member name for the currently active member, the operation returns an empty string.
+          *
+          * @exception InvalidValue if the union has no active member
+          */
+  String member_name () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+} // interface DynUnionOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynValue.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynValue.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValue objects support the manipulation of IDL non-boxed value types.
+    * The DynValue interface can represent both null and non-null value types.
+    * For a DynValue representing a non-null value type, the DynValue's components comprise
+    * the public and private members of the value type, including those inherited from concrete base value types,
+    * in the order of definition. A DynValue representing a null value type has no components
+    * and a current position of -1.
+    * <P>Warning: Indiscriminantly changing the contents of private value type members can cause the value type
+    * implementation to break by violating internal constraints. Access to private members is provided to support
+    * such activities as ORB bridging and debugging and should not be used to arbitrarily violate
+    * the encapsulation of the value type. 
+    */
+public interface DynValue extends DynValueOperations, org.omg.DynamicAny.DynValueCommon, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynValue
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynValueBox.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,21 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynValueBox.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValueBox objects support the manipulation of IDL boxed value types.
+    * The DynValueBox interface can represent both null and non-null value types.
+    * For a DynValueBox representing a non-null value type, the DynValueBox has a single component
+    * of the boxed type. A DynValueBox representing a null value type has no components
+    * and a current position of -1.
+    */
+public interface DynValueBox extends DynValueBoxOperations, org.omg.DynamicAny.DynValueCommon, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynValueBox
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynValueBoxOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,53 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynValueBoxOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValueBox objects support the manipulation of IDL boxed value types.
+    * The DynValueBox interface can represent both null and non-null value types.
+    * For a DynValueBox representing a non-null value type, the DynValueBox has a single component
+    * of the boxed type. A DynValueBox representing a null value type has no components
+    * and a current position of -1.
+    */
+public interface DynValueBoxOperations  extends org.omg.DynamicAny.DynValueCommonOperations
+{
+
+  /**
+          * Returns the boxed value as an Any.
+          *
+          * @exception InvalidValue if this object represents a null value box type
+          */
+  org.omg.CORBA.Any get_boxed_value () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Replaces the boxed value with the specified value.
+          * If the DynBoxedValue represents a null valuetype, it is converted to a non-null value.
+          *
+          * @exception TypeMismatch if this object represents a non-null value box type and the type
+          *            of the parameter is not matching the current boxed value type.
+          */
+  void set_boxed_value (org.omg.CORBA.Any boxed) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch;
+
+  /**
+          * Returns the boxed value as a DynAny.
+          *
+          * @exception InvalidValue if this object represents a null value box type
+          */
+  org.omg.DynamicAny.DynAny get_boxed_value_as_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Replaces the boxed value with the value contained in the parameter.
+          * If the DynBoxedValue represents a null valuetype, it is converted to a non-null value.
+          *
+          * @exception TypeMismatch if this object represents a non-null value box type and the type
+          *            of the parameter is not matching the current boxed value type.
+          */
+  void set_boxed_value_as_dyn_any (org.omg.DynamicAny.DynAny boxed) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch;
+} // interface DynValueBoxOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynValueCommon.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,17 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynValueCommon.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValueCommon provides operations supported by both the DynValue and DynValueBox interfaces.
+    */
+public interface DynValueCommon extends DynValueCommonOperations, org.omg.DynamicAny.DynAny, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface DynValueCommon
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynValueCommonOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynValueCommonOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValueCommon provides operations supported by both the DynValue and DynValueBox interfaces.
+    */
+public interface DynValueCommonOperations  extends org.omg.DynamicAny.DynAnyOperations
+{
+
+  /**
+          * Returns true if the DynValueCommon represents a null value type.
+          */
+  boolean is_null ();
+
+  /**
+          * Changes the representation of a DynValueCommon to a null value type.
+          */
+  void set_to_null ();
+
+  /**
+          * Replaces a null value type with a newly constructed value. Its components are initialized
+          * to default values as in DynAnyFactory.create_dyn_any_from_type_code.
+          * If the DynValueCommon represents a non-null value type, then this operation has no effect. 
+          */
+  void set_to_value ();
+} // interface DynValueCommonOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynValueHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,98 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynValueHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValue objects support the manipulation of IDL non-boxed value types.
+    * The DynValue interface can represent both null and non-null value types.
+    * For a DynValue representing a non-null value type, the DynValue's components comprise
+    * the public and private members of the value type, including those inherited from concrete base value types,
+    * in the order of definition. A DynValue representing a null value type has no components
+    * and a current position of -1.
+    * <P>Warning: Indiscriminantly changing the contents of private value type members can cause the value type
+    * implementation to break by violating internal constraints. Access to private members is provided to support
+    * such activities as ORB bridging and debugging and should not be used to arbitrarily violate
+    * the encapsulation of the value type. 
+    */
+abstract public class DynValueHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/DynValue:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.DynValue 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.DynamicAny.DynValue 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.DynamicAny.DynValueHelper.id (), "DynValue");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.DynValue 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.DynamicAny.DynValue value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.DynamicAny.DynValue narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynValue)
+      return (org.omg.DynamicAny.DynValue)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.DynamicAny._DynValueStub stub = new org.omg.DynamicAny._DynValueStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+  public static org.omg.DynamicAny.DynValue unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.DynamicAny.DynValue)
+      return (org.omg.DynamicAny.DynValue)obj;
+    else
+    {
+      org.omg.CORBA.portable.Delegate delegate = ((org.omg.CORBA.portable.ObjectImpl)obj)._get_delegate ();
+      org.omg.DynamicAny._DynValueStub stub = new org.omg.DynamicAny._DynValueStub ();
+      stub._set_delegate(delegate);
+      return stub;
+    }
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/DynValueOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,100 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/DynValueOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValue objects support the manipulation of IDL non-boxed value types.
+    * The DynValue interface can represent both null and non-null value types.
+    * For a DynValue representing a non-null value type, the DynValue's components comprise
+    * the public and private members of the value type, including those inherited from concrete base value types,
+    * in the order of definition. A DynValue representing a null value type has no components
+    * and a current position of -1.
+    * <P>Warning: Indiscriminantly changing the contents of private value type members can cause the value type
+    * implementation to break by violating internal constraints. Access to private members is provided to support
+    * such activities as ORB bridging and debugging and should not be used to arbitrarily violate
+    * the encapsulation of the value type. 
+    */
+public interface DynValueOperations  extends org.omg.DynamicAny.DynValueCommonOperations
+{
+
+  /**
+          * Returns the name of the member at the current position.
+          * This operation may return an empty string since the TypeCode of the value being
+          * manipulated may not contain the names of members.
+          *
+          * @exception TypeMismatch if the DynValue represents a null value type.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  String current_member_name () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns the TCKind associated with the member at the current position.
+          *
+          * @exception TypeMismatch if the DynValue represents a null value type.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  org.omg.CORBA.TCKind current_member_kind () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns a sequence of NameValuePairs describing the name and the value of each member
+          * in the value type.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynValue's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynValue's TypeCode
+          * does not contain member names.
+          *
+          * @exception InvalidValue if this object represents a null value type
+          */
+  org.omg.DynamicAny.NameValuePair[] get_members () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Initializes the value type's members from a sequence of NameValuePairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * A null value type can be initialized to a non-null value type using this method.
+          * <P>Members must appear in the NameValuePairs in the order in which they appear in the IDL specification
+          * of the value type as indicated by the DynValue's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynValue's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynValue's TypeCode
+          */
+  void set_members (org.omg.DynamicAny.NameValuePair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Returns a sequence of NameDynAnyPairs describing the name and the value of each member
+          * in the value type.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynValue's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynValue's TypeCode
+          * does not contain member names.
+          *
+          * @exception InvalidValue if this object represents a null value type
+          */
+  org.omg.DynamicAny.NameDynAnyPair[] get_members_as_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+
+  /**
+          * Initializes the value type's members from a sequence of NameDynAnyPairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * A null value type can be initialized to a non-null value type using this method.
+          * <P>Members must appear in the NameDynAnyPairs in the order in which they appear in the IDL specification
+          * of the value type as indicated by the DynValue's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynValue's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynValue's TypeCode
+          */
+  void set_members_as_dyn_any (org.omg.DynamicAny.NameDynAnyPair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue;
+} // interface DynValueOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/FieldNameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/FieldNameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class FieldNameHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/FieldName:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.DynamicAny.FieldNameHelper.id (), "FieldName", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/NameDynAnyPair.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/NameDynAnyPair.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+public final class NameDynAnyPair implements org.omg.CORBA.portable.IDLEntity
+{
+
+  /**
+          * The name associated with the DynAny.
+          */
+  public String id = null;
+
+  /**
+          * The DynAny value associated with the name.
+          */
+  public org.omg.DynamicAny.DynAny value = null;
+
+  public NameDynAnyPair ()
+  {
+  } // ctor
+
+  public NameDynAnyPair (String _id, org.omg.DynamicAny.DynAny _value)
+  {
+    id = _id;
+    value = _value;
+  } // ctor
+
+} // class NameDynAnyPair
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/NameDynAnyPairHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,83 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/NameDynAnyPairHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class NameDynAnyPairHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/NameDynAnyPair/NameDynAnyPair:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.NameDynAnyPair 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.DynamicAny.NameDynAnyPair 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.DynamicAny.FieldNameHelper.id (), "FieldName", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "id",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.DynamicAny.DynAnyHelper.type ();
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "value",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.DynamicAny.NameDynAnyPairHelper.id (), "NameDynAnyPair", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.NameDynAnyPair read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.NameDynAnyPair value = new org.omg.DynamicAny.NameDynAnyPair ();
+    value.id = istream.read_string ();
+    value.value = org.omg.DynamicAny.DynAnyHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.NameDynAnyPair value)
+  {
+    ostream.write_string (value.id);
+    org.omg.DynamicAny.DynAnyHelper.write (ostream, value.value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/NameDynAnyPairSeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/NameDynAnyPairSeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class NameDynAnyPairSeqHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/NameDynAnyPairSeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.NameDynAnyPair[] 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.DynamicAny.NameDynAnyPair[] 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.DynamicAny.NameDynAnyPairHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.DynamicAny.NameDynAnyPairSeqHelper.id (), "NameDynAnyPairSeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.NameDynAnyPair[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.NameDynAnyPair value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.DynamicAny.NameDynAnyPair[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.DynamicAny.NameDynAnyPairHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.NameDynAnyPair[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.DynamicAny.NameDynAnyPairHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/NameValuePair.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,34 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/NameValuePair.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+public final class NameValuePair implements org.omg.CORBA.portable.IDLEntity
+{
+
+  /**
+          * The name associated with the Any.
+          */
+  public String id = null;
+
+  /**
+          * The Any value associated with the name.
+          */
+  public org.omg.CORBA.Any value = null;
+
+  public NameValuePair ()
+  {
+  } // ctor
+
+  public NameValuePair (String _id, org.omg.CORBA.Any _value)
+  {
+    id = _id;
+    value = _value;
+  } // ctor
+
+} // class NameValuePair
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/NameValuePairHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,83 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/NameValuePairHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class NameValuePairHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/NameValuePair/NameValuePair:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.NameValuePair 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.DynamicAny.NameValuePair 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.DynamicAny.FieldNameHelper.id (), "FieldName", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "id",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_any);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "value",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.DynamicAny.NameValuePairHelper.id (), "NameValuePair", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.NameValuePair read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.NameValuePair value = new org.omg.DynamicAny.NameValuePair ();
+    value.id = istream.read_string ();
+    value.value = istream.read_any ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.NameValuePair value)
+  {
+    ostream.write_string (value.id);
+    ostream.write_any (value.value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/NameValuePairSeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/NameValuePairSeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+abstract public class NameValuePairSeqHelper
+{
+  private static String  _id = "IDL:omg.org/DynamicAny/NameValuePairSeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.DynamicAny.NameValuePair[] 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.DynamicAny.NameValuePair[] 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.DynamicAny.NameValuePairHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.DynamicAny.NameValuePairSeqHelper.id (), "NameValuePairSeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.DynamicAny.NameValuePair[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.DynamicAny.NameValuePair value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.DynamicAny.NameValuePair[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.DynamicAny.NameValuePairHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.DynamicAny.NameValuePair[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.DynamicAny.NameValuePairHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynAnyFactoryStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,131 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynAnyFactoryStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynAny objects can be created by invoking operations on the DynAnyFactory object.
+    * Generally there are only two ways to create a DynAny object:
+    * <UL>
+    * <LI>invoking an operation on an existing DynAny object
+    * <LI>invoking an operation on a DynAnyFactory object
+    * </UL>
+    * A constructed DynAny object supports operations that enable the creation of new DynAny
+    * objects encapsulating access to the value of some constituent.
+    * DynAny objects also support the copy operation for creating new DynAny objects.
+    * A reference to the DynAnyFactory object is obtained by calling ORB.resolve_initial_references()
+    * with the identifier parameter set to the string constant "DynAnyFactory".
+    * <P>Dynamic interpretation of an any usually involves creating a DynAny object using create_dyn_any()
+    * as the first step. Depending on the type of the any, the resulting DynAny object reference can be narrowed
+    * to a DynFixed, DynStruct, DynSequence, DynArray, DynUnion, DynEnum, or DynValue object reference.
+    * <P>Dynamic creation of an any involves creating a DynAny object using create_dyn_any_from_type_code(),
+    * passing the TypeCode associated with the value to be created. The returned reference is narrowed to one of
+    * the complex types, such as DynStruct, if appropriate. Then, the value can be initialized by means of
+    * invoking operations on the resulting object. Finally, the to_any operation can be invoked
+    * to create an any value from the constructed DynAny.
+    */
+public class _DynAnyFactoryStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynAnyFactory
+{
+  final public static java.lang.Class _opsClass = DynAnyFactoryOperations.class;
+
+
+
+  /**
+          * Creates a new DynAny object from an any value.
+          * A copy of the TypeCode associated with the any value is assigned to the resulting DynAny object.
+          * The value associated with the DynAny object is a copy of the value in the original any.
+          * The current position of the created DynAny is set to zero if the passed value has components,
+          * to -1 otherwise
+          *
+          * @exception InconsistentTypeCode if value has a TypeCode with a TCKind of tk_Principal,
+          * tk_native, or tk_abstract_interface
+          */
+  public org.omg.DynamicAny.DynAny create_dyn_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("create_dyn_any", _opsClass);
+      DynAnyFactoryOperations  $self = (DynAnyFactoryOperations) $so.servant;
+
+      try {
+         return $self.create_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // create_dyn_any
+
+
+  /**
+          * Creates a DynAny from a TypeCode. Depending on the TypeCode, the created object may be of type DynAny,
+          * or one of its derived types, such as DynStruct. The returned reference can be narrowed to the derived type.
+          * In all cases, a DynAny constructed from a TypeCode has an initial default value.
+          * The default values of basic types are:
+          * <UL>
+          * <LI>false for boolean
+          * <LI>zero for numeric types
+          * <LI>zero for types octet, char, and wchar
+          * <LI>the empty string for string and wstring
+          * <LI>null for object references
+          * <LI>a type code with a TCKind value of tk_null for type codes
+          * <LI>for any values, an any containing a type code with a TCKind value of tk_null type and no value
+          * </UL>
+          * For complex types, creation of the corresponding DynAny assigns a default value as follows:
+          * <UL>
+          * <LI>For DynSequence it sets the current position to -1 and creates an empty sequence.
+          * <LI>For DynEnum it sets the current position to -1 and sets the value of the enumerator
+          *     to the first enumerator value indicated by the TypeCode.
+          * <LI>For DynFixed it sets the current position to -1 and sets the value zero.
+          * <LI>For DynStruct it sets the current position to -1 for empty exceptions
+          *     and to zero for all other TypeCodes. The members (if any) are (recursively) initialized
+          *     to their default values.
+          * <LI>For DynArray sets the current position to zero and (recursively) initializes elements
+          *     to their default value.
+          * <LI>For DynUnion sets the current position to zero. The discriminator value is set
+          *     to a value consistent with the first named member of the union. That member is activated and (recursively)
+          *     initialized to its default value.
+          * <LI>For DynValue and DynValueBox it initializes to a null value.
+          * </UL>
+          */
+  public org.omg.DynamicAny.DynAny create_dyn_any_from_type_code (org.omg.CORBA.TypeCode type) throws org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("create_dyn_any_from_type_code", _opsClass);
+      DynAnyFactoryOperations  $self = (DynAnyFactoryOperations) $so.servant;
+
+      try {
+         return $self.create_dyn_any_from_type_code (type);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // create_dyn_any_from_type_code
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynAnyFactory: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 _DynAnyFactoryStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynAnyStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1148 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynAnyStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * Any values can be dynamically interpreted (traversed) and constructed through DynAny objects.
+    * A DynAny object is associated with a data value which corresponds to a copy of the value
+    * inserted into an any.
+    * <P>A DynAny object may be viewed as an ordered collection of component DynAnys.
+    * For DynAnys representing a basic type, such as long, or a type without components,
+    * such as an empty exception, the ordered collection of components is empty.
+    * Each DynAny object maintains the notion of a current position into its collection
+    * of component DynAnys. The current position is identified by an index value that runs
+    * from 0 to n-1, where n is the number of components.
+    * The special index value -1 indicates a current position that points nowhere.
+    * For values that cannot have a current position (such as an empty exception),
+    * the index value is fixed at -1.
+    * If a DynAny is initialized with a value that has components, the index is initialized to 0.
+    * After creation of an uninitialized DynAny (that is, a DynAny that has no value but a TypeCode
+    * that permits components), the current position depends on the type of value represented by
+    * the DynAny. (The current position is set to 0 or -1, depending on whether the new DynAny
+    * gets default values for its components.)
+    * <P>The iteration operations rewind, seek, and next can be used to change the current position
+    * and the current_component operation returns the component at the current position.
+    * The component_count operation returns the number of components of a DynAny.
+    * Collectively, these operations enable iteration over the components of a DynAny, for example,
+    * to (recursively) examine its contents.
+    * <P>A constructed DynAny object is a DynAny object associated with a constructed type.
+    * There is a different interface, inheriting from the DynAny interface, associated with
+    * each kind of constructed type in IDL (fixed, enum, struct, sequence, union, array,
+    * exception, and value type).
+    * <P>A constructed DynAny object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a component of the constructed data value.
+    * As an example, a DynStruct is associated with a struct value. This means that the DynStruct
+    * may be seen as owning an ordered collection of components, one for each structure member.
+    * The DynStruct object exports operations that enable the creation of new DynAny objects,
+    * each of them associated with a member of the struct.
+    * <P>If a DynAny object has been obtained from another (constructed) DynAny object,
+    * such as a DynAny representing a structure member that was created from a DynStruct,
+    * the member DynAny is logically contained in the DynStruct.
+    * Calling an insert or get operation leaves the current position unchanged.
+    * Destroying a top-level DynAny object (one that was not obtained as a component of another DynAny)
+    * also destroys any component DynAny objects obtained from it.
+    * Destroying a non-top level DynAny object does nothing.
+    * Invoking operations on a destroyed top-level DynAny or any of its descendants raises OBJECT_NOT_EXIST.
+    * If the programmer wants to destroy a DynAny object but still wants to manipulate some component
+    * of the data value associated with it, then he or she should first create a DynAny for the component
+    * and, after that, make a copy of the created DynAny object.
+    * <P>The behavior of DynAny objects has been defined in order to enable efficient implementations
+    * in terms of allocated memory space and speed of access. DynAny objects are intended to be used
+    * for traversing values extracted from anys or constructing values of anys at runtime.
+    * Their use for other purposes is not recommended.
+    * <P>Insert and get operations are necessary to handle basic DynAny objects
+    * but are also helpful to handle constructed DynAny objects.
+    * Inserting a basic data type value into a constructed DynAny object
+    * implies initializing the current component of the constructed data value
+    * associated with the DynAny object. For example, invoking insert_boolean on a
+    * DynStruct implies inserting a boolean data value at the current position
+    * of the associated struct data value.
+    * A type is consistent for inserting or extracting a value if its TypeCode is equivalent to
+    * the TypeCode contained in the DynAny or, if the DynAny has components, is equivalent to the TypeCode
+    * of the DynAny at the current position.
+    * <P>DynAny and DynAnyFactory objects are intended to be local to the process in which they are
+    * created and used. This means that references to DynAny and DynAnyFactory objects cannot be exported
+    * to other processes, or externalized with ORB.object_to_string().
+    * If any attempt is made to do so, the offending operation will raise a MARSHAL system exception.
+    * Since their interfaces are specified in IDL, DynAny objects export operations defined in the standard
+    * org.omg.CORBA.Object interface. However, any attempt to invoke operations exported through the Object
+    * interface may raise the standard NO_IMPLEMENT exception.
+    * An attempt to use a DynAny object with the DII may raise the NO_IMPLEMENT exception.
+    */
+public class _DynAnyStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynAny
+{
+  final public static java.lang.Class _opsClass = DynAnyOperations.class;
+
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynAnyOperations  $self = (DynAnyOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynAnyStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynArrayStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1157 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynArrayStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynArray objects support the manipulation of IDL arrays.
+    * Note that the dimension of the array is contained in the TypeCode which is accessible
+    * through the type attribute. It can also be obtained by calling the component_count operation.
+    */
+public class _DynArrayStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynArray
+{
+  final public static java.lang.Class _opsClass = DynArrayOperations.class;
+
+
+
+  /**
+          * Returns the elements of the DynArray.
+          */
+  public org.omg.CORBA.Any[] get_elements ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_elements", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_elements ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_elements
+
+
+  /**
+          * Sets the DynArray to contain the passed elements.
+          *
+          * @exception TypeMismatch if one or more elements have a type that is inconsistent with the DynArrays TypeCode
+          * @exception InvalidValue if the sequence does not contain the same number of elements as the array dimension
+          */
+  public void set_elements (org.omg.CORBA.Any[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_elements", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.set_elements (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_elements
+
+
+  /**
+          * Returns the elements of the DynArray as DynAnys.
+          */
+  public org.omg.DynamicAny.DynAny[] get_elements_as_dyn_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_elements_as_dyn_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_elements_as_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_elements_as_dyn_any
+
+
+  /**
+          * Sets the DynArray to contain the passed elements.
+          *
+          * @exception TypeMismatch if one or more elements have a type that is inconsistent with the DynArrays TypeCode
+          * @exception InvalidValue if the sequence does not contain the same number of elements as the array dimension
+          */
+  public void set_elements_as_dyn_any (org.omg.DynamicAny.DynAny[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_elements_as_dyn_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.set_elements_as_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_elements_as_dyn_any
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynArrayOperations  $self = (DynArrayOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynArray:1.0", 
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynArrayStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynEnumStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1158 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynEnumStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynEnum objects support the manipulation of IDL enumerated values.
+    * The current position of a DynEnum is always -1.
+    */
+public class _DynEnumStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynEnum
+{
+  final public static java.lang.Class _opsClass = DynEnumOperations.class;
+
+
+
+  /**
+          * Returns the value of the DynEnum as an IDL identifier.
+          */
+  public String get_as_string ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_as_string", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_as_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_as_string
+
+
+  /**
+          * Sets the value of the DynEnum to the enumerated value whose IDL identifier is passed in the value parameter.
+          *
+          * @exception InvalidValue If value contains a string that is not a valid IDL identifier
+          *            for the corresponding enumerated type
+          */
+  public void set_as_string (String value) throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_as_string", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.set_as_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_as_string
+
+
+  /**
+          * Returns the value of the DynEnum as the enumerated value's ordinal value.
+          * Enumerators have ordinal values 0 to n-1, as they appear from left to right
+          * in the corresponding IDL definition.
+          */
+  public int get_as_ulong ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_as_ulong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_as_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_as_ulong
+
+
+  /**
+          * Sets the value of the DynEnum as the enumerated value's ordinal value.
+          *
+          * @exception InvalidValue If value contains a value that is outside the range of ordinal values
+          *            for the corresponding enumerated type
+          */
+  public void set_as_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_as_ulong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.set_as_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_as_ulong
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynEnumOperations  $self = (DynEnumOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynEnum:1.0", 
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynEnumStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynFixedStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1128 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynFixedStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynFixed objects support the manipulation of IDL fixed values.
+    * Because IDL does not have a generic type that can represent fixed types with arbitrary
+    * number of digits and arbitrary scale, the operations use the IDL string type.
+    */
+public class _DynFixedStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynFixed
+{
+  final public static java.lang.Class _opsClass = DynFixedOperations.class;
+
+
+
+  /**
+          * Returns the value of a DynFixed.
+          */
+  public String get_value ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_value", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_value ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_value
+
+
+  /**
+          * Sets the value of the DynFixed.
+          * The val string must contain a fixed string constant in the same format as used for IDL fixed-point literals.
+          * However, the trailing d or D is optional. The return value is true if val can be represented as the DynFixed
+          * without loss of precision. If val has more fractional digits than can be represented in the DynFixed,
+          * fractional digits are truncated and the return value is false.
+          *
+          * @exception TypeMismatch If val does not contain a valid fixed-point literal or contains extraneous
+          *            characters other than leading or trailing white space
+          * @exception InvalidValue If val contains a value whose scale exceeds that of the DynFixed
+          *            or is not initialized
+          */
+  public boolean set_value (String val) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_value", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.set_value (val);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_value
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynFixedOperations  $self = (DynFixedOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynFixed:1.0", 
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynFixedStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynSequenceStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1211 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynSequenceStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynSequence objects support the manipulation of IDL sequences.
+    */
+public class _DynSequenceStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynSequence
+{
+  final public static java.lang.Class _opsClass = DynSequenceOperations.class;
+
+
+
+  /**
+          * Returns the current length of the sequence.
+          */
+  public int get_length ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_length", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_length ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_length
+
+
+  /**
+          * Sets the length of the sequence.
+          * Increasing the length of a sequence adds new elements at the tail without affecting the values
+          * of already existing elements. Newly added elements are default-initialized.
+          * Increasing the length of a sequence sets the current position to the first newly-added element
+          * if the previous current position was -1. Otherwise, if the previous current position was not -1,
+          * the current position is not affected.
+          * Decreasing the length of a sequence removes elements from the tail without affecting the value
+          * of those elements that remain. The new current position after decreasing the length of a sequence
+          * is determined as follows:
+          * <UL>
+          * <LI>If the length of the sequence is set to zero, the current position is set to -1.
+          * <LI>If the current position is -1 before decreasing the length, it remains at -1.
+          * <LI>If the current position indicates a valid element and that element is not removed when the length
+          *     is decreased, the current position remains unaffected.
+          * <LI>If the current position indicates a valid element and that element is removed,
+          *     the current position is set to -1.
+          * </UL>
+          *
+          * @exception InvalidValue if this is a bounded sequence and len is larger than the bound
+          */
+  public void set_length (int len) throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_length", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.set_length (len);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_length
+
+
+  /**
+          * Returns the elements of the sequence.
+          */
+  public org.omg.CORBA.Any[] get_elements ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_elements", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_elements ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_elements
+
+
+  /**
+          * Sets the elements of a sequence.
+          * The length of the DynSequence is set to the length of value. The current position is set to zero
+          * if value has non-zero length and to -1 if value is a zero-length sequence.
+          *
+          * @exception TypeMismatch if value contains one or more elements whose TypeCode is not equivalent
+          *            to the element TypeCode of the DynSequence
+          * @exception InvalidValue if the length of value exceeds the bound of a bounded sequence
+          */
+  public void set_elements (org.omg.CORBA.Any[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_elements", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.set_elements (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_elements
+
+
+  /**
+          * Returns the DynAnys representing the elements of the sequence.
+          */
+  public org.omg.DynamicAny.DynAny[] get_elements_as_dyn_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_elements_as_dyn_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_elements_as_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_elements_as_dyn_any
+
+
+  /**
+          * Sets the elements of a sequence using DynAnys.
+          * The length of the DynSequence is set to the length of value. The current position is set to zero
+          * if value has non-zero length and to -1 if value is a zero-length sequence.
+          *
+          * @exception TypeMismatch if value contains one or more elements whose TypeCode is not equivalent
+          *            to the element TypeCode of the DynSequence
+          * @exception InvalidValue if the length of value exceeds the bound of a bounded sequence
+          */
+  public void set_elements_as_dyn_any (org.omg.DynamicAny.DynAny[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_elements_as_dyn_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.set_elements_as_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_elements_as_dyn_any
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynSequenceOperations  $self = (DynSequenceOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynSequence:1.0", 
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynSequenceStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynStructStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1220 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynStructStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynStruct objects support the manipulation of IDL struct and exception values.
+    * Members of the exceptions are handled in the same way as members of a struct.
+    */
+public class _DynStructStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynStruct
+{
+  final public static java.lang.Class _opsClass = DynStructOperations.class;
+
+
+
+  /**
+          * Returns the name of the member at the current position.
+          * This operation may return an empty string since the TypeCode of the value being
+          * manipulated may not contain the names of members.
+          *
+          * @exception TypeMismatch if the DynStruct represents an empty exception.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  public String current_member_name () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_member_name", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.current_member_name ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_member_name
+
+
+  /**
+          * Returns the TCKind associated with the member at the current position.
+          *
+          * @exception TypeMismatch if the DynStruct represents an empty exception.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  public org.omg.CORBA.TCKind current_member_kind () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_member_kind", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.current_member_kind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_member_kind
+
+
+  /**
+          * Returns a sequence of NameValuePairs describing the name and the value of each member
+          * in the struct associated with a DynStruct object.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynStruct's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynStruct's TypeCode
+          * does not contain member names.
+          */
+  public org.omg.DynamicAny.NameValuePair[] get_members ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_members", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_members ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_members
+
+
+  /**
+          * Initializes the struct data value associated with a DynStruct object from a sequence of NameValuePairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * <P>Members must appear in the NameValuePairs in the order in which they appear in the IDL specification
+          * of the struct as indicated by the DynStruct's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynStruct's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynStruct's TypeCode
+          */
+  public void set_members (org.omg.DynamicAny.NameValuePair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_members", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.set_members (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_members
+
+
+  /**
+          * Returns a sequence of NameDynAnyPairs describing the name and the value of each member
+          * in the struct associated with a DynStruct object.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynStruct's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynStruct's TypeCode
+          * does not contain member names.
+          */
+  public org.omg.DynamicAny.NameDynAnyPair[] get_members_as_dyn_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_members_as_dyn_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_members_as_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_members_as_dyn_any
+
+
+  /**
+          * Initializes the struct data value associated with a DynStruct object from a sequence of NameDynAnyPairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * <P>Members must appear in the NameDynAnyPairs in the order in which they appear in the IDL specification
+          * of the struct as indicated by the DynStruct's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynStruct's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynStruct's TypeCode
+          */
+  public void set_members_as_dyn_any (org.omg.DynamicAny.NameDynAnyPair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_members_as_dyn_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.set_members_as_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_members_as_dyn_any
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynStructOperations  $self = (DynStructOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynStruct:1.0", 
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynStructStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynUnionStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1268 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynUnionStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynUnion objects support the manipulation of IDL unions.
+    * A union can have only two valid current positions:
+    * <UL>
+    * <LI>zero, which denotes the discriminator
+    * <LI>one, which denotes the active member
+    * </UL>
+    * The component_count value for a union depends on the current discriminator:
+    * it is 2 for a union whose discriminator indicates a named member, and 1 otherwise.
+    */
+public class _DynUnionStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynUnion
+{
+  final public static java.lang.Class _opsClass = DynUnionOperations.class;
+
+
+
+  /**
+          * Returns the current discriminator value.
+          */
+  public org.omg.DynamicAny.DynAny get_discriminator ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_discriminator", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_discriminator ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_discriminator
+
+
+  /**
+          * Sets the discriminator of the DynUnion to the specified value.
+          * Setting the discriminator to a value that is consistent with the currently active union member
+          * does not affect the currently active member. Setting the discriminator to a value that is inconsistent
+          * with the currently active member deactivates the member and activates the member that is consistent
+          * with the new discriminator value (if there is a member for that value) by initializing the member
+          * to its default value.
+          * Setting the discriminator of a union sets the current position to 0 if the discriminator value
+          * indicates a non-existent union member (has_no_active_member returns true in this case).
+          * Otherwise, if the discriminator value indicates a named union member, the current position is set to 1
+          * (has_no_active_member returns false and component_count returns 2 in this case).
+          *
+          * @exception TypeMismatch if the TypeCode of the parameter is not equivalent to the TypeCode
+          *            of the union's discriminator
+          */
+  public void set_discriminator (org.omg.DynamicAny.DynAny d) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_discriminator", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.set_discriminator (d);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_discriminator
+
+
+  /**
+          * Sets the discriminator to a value that is consistent with the value of the default case of a union.
+          * It sets the current position to zero and causes component_count to return 2.
+          *
+          * @exception TypeMismatch if the union does not have an explicit default case
+          */
+  public void set_to_default_member () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_to_default_member", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.set_to_default_member ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_to_default_member
+
+
+  /**
+          * Sets the discriminator to a value that does not correspond to any of the unions case labels.
+          * It sets the current position to zero and causes component_count to return 1.
+          *
+          * @exception TypeMismatch if the union has an explicit default case or if it uses the entire range
+          *            of discriminator values for explicit case labels
+          */
+  public void set_to_no_active_member () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_to_no_active_member", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.set_to_no_active_member ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_to_no_active_member
+
+
+  /**
+          * Returns true if the union has no active member, that is, the unions value consists solely
+          * of its discriminator because the discriminator has a value that is not listed as an explicit case label.
+          * Calling this operation on a union that has a default case returns false.
+          * Calling this operation on a union that uses the entire range of discriminator values
+          * for explicit case labels returns false.
+          */
+  public boolean has_no_active_member ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("has_no_active_member", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.has_no_active_member ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // has_no_active_member
+
+
+  /**
+          * Returns the TCKind value of the discriminators TypeCode.
+          */
+  public org.omg.CORBA.TCKind discriminator_kind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("discriminator_kind", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.discriminator_kind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // discriminator_kind
+
+
+  /**
+          * Returns the TCKind value of the currently active members TypeCode. 
+          *
+          * @exception InvalidValue if the union does not have a currently active member
+          */
+  public org.omg.CORBA.TCKind member_kind () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("member_kind", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.member_kind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // member_kind
+
+
+  /**
+          * Returns the currently active member. Note that the returned reference remains valid only
+          * for as long as the currently active member does not change. Using the returned reference
+          * beyond the life time of the currently active member raises OBJECT_NOT_EXIST. 
+          *
+          * @exception InvalidValue if the union has no active member
+          */
+  public org.omg.DynamicAny.DynAny member () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("member", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.member ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // member
+
+
+  /**
+          * Returns the name of the currently active member. If the unions TypeCode does not contain
+          * a member name for the currently active member, the operation returns an empty string.
+          *
+          * @exception InvalidValue if the union has no active member
+          */
+  public String member_name () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("member_name", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.member_name ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // member_name
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynUnionOperations  $self = (DynUnionOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynUnion:1.0", 
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynUnionStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/DynamicAny/_DynValueStub.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1285 @@
+package org.omg.DynamicAny;
+
+
+/**
+* org/omg/DynamicAny/_DynValueStub.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/DynamicAny/DynamicAny.idl
+* Friday, May 25, 2007 3:39:58 o'clock PM GMT-05:00
+*/
+
+
+/**
+    * DynValue objects support the manipulation of IDL non-boxed value types.
+    * The DynValue interface can represent both null and non-null value types.
+    * For a DynValue representing a non-null value type, the DynValue's components comprise
+    * the public and private members of the value type, including those inherited from concrete base value types,
+    * in the order of definition. A DynValue representing a null value type has no components
+    * and a current position of -1.
+    * <P>Warning: Indiscriminantly changing the contents of private value type members can cause the value type
+    * implementation to break by violating internal constraints. Access to private members is provided to support
+    * such activities as ORB bridging and debugging and should not be used to arbitrarily violate
+    * the encapsulation of the value type. 
+    */
+public class _DynValueStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.DynamicAny.DynValue
+{
+  final public static java.lang.Class _opsClass = DynValueOperations.class;
+
+
+
+  /**
+          * Returns the name of the member at the current position.
+          * This operation may return an empty string since the TypeCode of the value being
+          * manipulated may not contain the names of members.
+          *
+          * @exception TypeMismatch if the DynValue represents a null value type.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  public String current_member_name () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_member_name", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.current_member_name ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_member_name
+
+
+  /**
+          * Returns the TCKind associated with the member at the current position.
+          *
+          * @exception TypeMismatch if the DynValue represents a null value type.
+          * @exception InvalidValue if the current position does not indicate a member
+          */
+  public org.omg.CORBA.TCKind current_member_kind () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_member_kind", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.current_member_kind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_member_kind
+
+
+  /**
+          * Returns a sequence of NameValuePairs describing the name and the value of each member
+          * in the value type.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynValue's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynValue's TypeCode
+          * does not contain member names.
+          *
+          * @exception InvalidValue if this object represents a null value type
+          */
+  public org.omg.DynamicAny.NameValuePair[] get_members () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_members", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_members ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_members
+
+
+  /**
+          * Initializes the value type's members from a sequence of NameValuePairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * A null value type can be initialized to a non-null value type using this method.
+          * <P>Members must appear in the NameValuePairs in the order in which they appear in the IDL specification
+          * of the value type as indicated by the DynValue's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynValue's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynValue's TypeCode
+          */
+  public void set_members (org.omg.DynamicAny.NameValuePair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_members", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.set_members (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_members
+
+
+  /**
+          * Returns a sequence of NameDynAnyPairs describing the name and the value of each member
+          * in the value type.
+          * The sequence contains members in the same order as the declaration order of members
+          * as indicated by the DynValue's TypeCode. The current position is not affected.
+          * The member names in the returned sequence will be empty strings if the DynValue's TypeCode
+          * does not contain member names.
+          *
+          * @exception InvalidValue if this object represents a null value type
+          */
+  public org.omg.DynamicAny.NameDynAnyPair[] get_members_as_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_members_as_dyn_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_members_as_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_members_as_dyn_any
+
+
+  /**
+          * Initializes the value type's members from a sequence of NameDynAnyPairs.
+          * The operation sets the current position to zero if the passed sequences has non-zero length. Otherwise,
+          * if an empty sequence is passed, the current position is set to -1.
+          * A null value type can be initialized to a non-null value type using this method.
+          * <P>Members must appear in the NameDynAnyPairs in the order in which they appear in the IDL specification
+          * of the value type as indicated by the DynValue's TypeCode or they must be empty strings.
+          * The operation makes no attempt to assign member values based on member names.
+          *
+          * @exception TypeMismatch if the member names supplied in the passed sequence do not match the
+          *            corresponding member name in the DynValue's TypeCode and they are not empty strings
+          * @exception InvalidValue if the passed sequence has a number of elements that disagrees
+          *            with the number of members as indicated by the DynValue's TypeCode
+          */
+  public void set_members_as_dyn_any (org.omg.DynamicAny.NameDynAnyPair[] value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_members_as_dyn_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.set_members_as_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_members_as_dyn_any
+
+
+  /**
+          * Returns true if the DynValueCommon represents a null value type.
+          */
+  public boolean is_null ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("is_null", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.is_null ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // is_null
+
+
+  /**
+          * Changes the representation of a DynValueCommon to a null value type.
+          */
+  public void set_to_null ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_to_null", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.set_to_null ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_to_null
+
+
+  /**
+          * Replaces a null value type with a newly constructed value. Its components are initialized
+          * to default values as in DynAnyFactory.create_dyn_any_from_type_code.
+          * If the DynValueCommon represents a non-null value type, then this operation has no effect. 
+          */
+  public void set_to_value ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("set_to_value", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.set_to_value ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // set_to_value
+
+
+  /**
+          * Returns the TypeCode associated with this DynAny object.
+          * A DynAny object is created with a TypeCode value assigned to it.
+          * This TypeCode value determines the type of the value handled through the DynAny object.
+          * Note that the TypeCode associated with a DynAny object is initialized at the time the
+          * DynAny is created and cannot be changed during lifetime of the DynAny object.
+          *
+          * @return The TypeCode associated with this DynAny object
+          */
+  public org.omg.CORBA.TypeCode type ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("type", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.type ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // type
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value
+          * associated with another DynAny object.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @param dyn_any
+          * @exception TypeMismatch if the type of the passed DynAny is not equivalent to the type of target DynAny
+          */
+  public void assign (org.omg.DynamicAny.DynAny dyn_any) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("assign", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.assign (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // assign
+
+
+  /**
+          * Initializes the value associated with a DynAny object with the value contained in an any.
+          * The current position of the target DynAny is set to zero for values that have components
+          * and to -1 for values that do not have components.
+          *
+          * @exception TypeMismatch if the type of the passed Any is not equivalent to the type of target DynAny
+          * @exception InvalidValue if the passed Any does not contain a legal value (such as a null string)
+          */
+  public void from_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("from_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.from_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // from_any
+
+
+  /**
+          * Creates an any value from a DynAny object.
+          * A copy of the TypeCode associated with the DynAny object is assigned to the resulting any.
+          * The value associated with the DynAny object is copied into the any.
+          *
+          * @return a new Any object with the same value and TypeCode
+          */
+  public org.omg.CORBA.Any to_any ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("to_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.to_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // to_any
+
+
+  /**
+          * Compares two DynAny values for equality.
+          * Two DynAny values are equal if their TypeCodes are equivalent and, recursively, all component DynAnys
+          * have equal values.
+          * The current position of the two DynAnys being compared has no effect on the result of equal.
+          *
+          * @return true of the DynAnys are equal, false otherwise
+          */
+  public boolean equal (org.omg.DynamicAny.DynAny dyn_any)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("equal", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.equal (dyn_any);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // equal
+
+
+  /**
+          * Destroys a DynAny object.
+          * This operation frees any resources used to represent the data value associated with a DynAny object.
+          * It must be invoked on references obtained from one of the creation operations on the ORB interface
+          * or on a reference returned by DynAny.copy() to avoid resource leaks.
+          * Invoking destroy on component DynAny objects (for example, on objects returned by the
+          * current_component operation) does nothing.
+          * Destruction of a DynAny object implies destruction of all DynAny objects obtained from it.
+          * That is, references to components of a destroyed DynAny become invalid.
+          * Invocations on such references raise OBJECT_NOT_EXIST.
+          * It is possible to manipulate a component of a DynAny beyond the life time of the DynAny
+          * from which the component was obtained by making a copy of the component with the copy operation
+          * before destroying the DynAny from which the component was obtained.
+          */
+  public void destroy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("destroy", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.destroy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // destroy
+
+
+  /**
+          * Creates a new DynAny object whose value is a deep copy of the DynAny on which it is invoked.
+          * The operation is polymorphic, that is, invoking it on one of the types derived from DynAny,
+          * such as DynStruct, creates the derived type but returns its reference as the DynAny base type.
+          *
+          * @return a deep copy of the DynAny object
+          */
+  public org.omg.DynamicAny.DynAny copy ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("copy", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.copy ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // copy
+
+
+  /**
+          * Inserts a boolean value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_boolean (boolean value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_boolean", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_boolean (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_boolean
+
+
+  /**
+          * Inserts a byte value into the DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_octet (byte value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_octet", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_octet (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_octet
+
+
+  /**
+          * Inserts a char value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_char (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_char", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_char (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_char
+
+
+  /**
+          * Inserts a short value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_short (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_short", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_short (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_short
+
+
+  /**
+          * Inserts a short value into the DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ushort (short value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ushort", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_ushort (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ushort
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_long (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_long", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_long (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_long
+
+
+  /**
+          * Inserts an integer value into the DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulong (int value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulong", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_ulong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulong
+
+
+  /**
+          * Inserts a float value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_float (float value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_float", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_float (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_float
+
+
+  /**
+          * Inserts a double value into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_double (double value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_double", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_double (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_double
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_string (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_string", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_string (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_string
+
+
+  /**
+          * Inserts a reference to a CORBA object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_reference (org.omg.CORBA.Object value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_reference", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_reference (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_reference
+
+
+  /**
+          * Inserts a TypeCode object into the DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_typecode (org.omg.CORBA.TypeCode value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_typecode", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_typecode (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_typecode
+
+
+  /**
+          * Inserts a long value into the DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_longlong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_longlong", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_longlong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_longlong
+
+
+  /**
+          * Inserts a long value into the DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_ulonglong (long value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_ulonglong", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_ulonglong (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_ulonglong
+
+
+  /**
+          * Inserts a char value into the DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_wchar (char value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wchar", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_wchar (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wchar
+
+
+  /**
+          * Inserts a string value into the DynAny.
+          * Both bounded and unbounded strings are inserted using this method.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception InvalidValue if the string inserted is longer than the bound of a bounded string
+          */
+  public void insert_wstring (String value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_wstring", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_wstring (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_wstring
+
+
+  /**
+          * Inserts an Any value into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_any (org.omg.CORBA.Any value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_any
+
+
+  /**
+          * Inserts the Any value contained in the parameter DynAny into the Any represented by this DynAny.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_dyn_any (org.omg.DynamicAny.DynAny value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_dyn_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_dyn_any (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_dyn_any
+
+
+  /**
+          * Inserts a reference to a Serializable object into this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public void insert_val (java.io.Serializable value) throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("insert_val", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.insert_val (value);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // insert_val
+
+
+  /**
+          * Extracts the boolean value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public boolean get_boolean () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_boolean", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_boolean ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_boolean
+
+
+  /**
+          * Extracts the byte value from this DynAny. The IDL octet data type is mapped to the Java byte data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public byte get_octet () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_octet", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_octet ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_octet
+
+
+  /**
+          * Extracts the char value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_char () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_char", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_char ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_char
+
+
+  /**
+          * Extracts the short value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_short () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_short", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_short ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_short
+
+
+  /**
+          * Extracts the short value from this DynAny. The IDL ushort data type is mapped to the Java short data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public short get_ushort () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ushort", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_ushort ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ushort
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL long data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_long () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_long", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_long ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_long
+
+
+  /**
+          * Extracts the integer value from this DynAny. The IDL ulong data type is mapped to the Java int data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public int get_ulong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulong", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_ulong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulong
+
+
+  /**
+          * Extracts the float value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public float get_float () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_float", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_float ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_float
+
+
+  /**
+          * Extracts the double value from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public double get_double () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_double", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_double ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_double
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public String get_string () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_string", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_string ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_string
+
+
+  /**
+          * Extracts the reference to a CORBA Object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Object get_reference () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_reference", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_reference ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_reference
+
+
+  /**
+          * Extracts the TypeCode object from this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.TypeCode get_typecode () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_typecode", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_typecode ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_typecode
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_longlong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_longlong", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_longlong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_longlong
+
+
+  /**
+          * Extracts the long value from this DynAny.
+          * The IDL unsigned long long data type is mapped to the Java long data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public long get_ulonglong () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_ulonglong", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_ulonglong ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_ulonglong
+
+
+  /**
+          * Extracts the long value from this DynAny. The IDL wchar data type is mapped to the Java char data type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public char get_wchar () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wchar", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_wchar ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wchar
+
+
+  /**
+          * Extracts the string value from this DynAny.
+          * Both bounded and unbounded strings are extracted using this method.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          */
+  public String get_wstring () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_wstring", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_wstring ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_wstring
+
+
+  /**
+          * Extracts an Any value contained in the Any represented by this DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.CORBA.Any get_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_any
+
+
+  /**
+          * Extracts the Any value contained in the Any represented by this DynAny and returns it wrapped
+          * into a new DynAny.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public org.omg.DynamicAny.DynAny get_dyn_any () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_dyn_any", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_dyn_any ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_dyn_any
+
+
+  /**
+          * Extracts a Serializable object from this DynAny.
+          * The IDL ValueBase type is mapped to the Java Serializable type.
+          *
+          * @exception TypeMismatch if the accessed component in the DynAny is of a type
+          * that is not equivalent to the requested type.
+          * @exception TypeMismatch if called on a DynAny whose current component itself has components
+          * @exception InvalidValue if this DynAny has components but has a current position of -1
+          */
+  public java.io.Serializable get_val () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch, org.omg.DynamicAny.DynAnyPackage.InvalidValue
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("get_val", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.get_val ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // get_val
+
+
+  /**
+          * Sets the current position to index. The current position is indexed 0 to n-1, that is,
+          * index zero corresponds to the first component. The operation returns true if the resulting
+          * current position indicates a component of the DynAny and false if index indicates
+          * a position that does not correspond to a component.
+          * Calling seek with a negative index is legal. It sets the current position to -1 to indicate
+          * no component and returns false. Passing a non-negative index value for a DynAny that does not
+          * have a component at the corresponding position sets the current position to -1 and returns false.
+          */
+  public boolean seek (int index)
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("seek", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.seek (index);
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // seek
+
+
+  /**
+          * Is equivalent to seek(0).
+          */
+  public void rewind ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("rewind", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         $self.rewind ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // rewind
+
+
+  /**
+          * Advances the current position to the next component.
+          * The operation returns true while the resulting current position indicates a component, false otherwise.
+          * A false return value leaves the current position at -1.
+          * Invoking next on a DynAny without components leaves the current position at -1 and returns false.
+          */
+  public boolean next ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("next", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.next ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // next
+
+
+  /**
+          * Returns the number of components of a DynAny.
+          * For a DynAny without components, it returns zero.
+          * The operation only counts the components at the top level.
+          * For example, if component_count is invoked on a DynStruct with a single member,
+          * the return value is 1, irrespective of the type of the member.
+          * <UL>
+          * <LI>For sequences, the operation returns the current number of elements.
+          * <LI>For structures, exceptions, and value types, the operation returns the number of members.
+          * <LI>For arrays, the operation returns the number of elements.
+          * <LI>For unions, the operation returns 2 if the discriminator indicates that a named member is active,
+          * otherwise, it returns 1.
+          * <LI>For DynFixed and DynEnum, the operation returns zero.
+          * </UL>
+          */
+  public int component_count ()
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("component_count", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.component_count ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // component_count
+
+
+  /**
+          * Returns the DynAny for the component at the current position.
+          * It does not advance the current position, so repeated calls to current_component
+          * without an intervening call to rewind, next, or seek return the same component.
+          * The returned DynAny object reference can be used to get/set the value of the current component.
+          * If the current component represents a complex type, the returned reference can be narrowed
+          * based on the TypeCode to get the interface corresponding to the to the complex type.
+          * Calling current_component on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception, raises TypeMismatch.
+          * Calling current_component on a DynAny whose current position is -1 returns a nil reference.
+          * The iteration operations, together with current_component, can be used
+          * to dynamically compose an any value. After creating a dynamic any, such as a DynStruct,
+          * current_component and next can be used to initialize all the components of the value.
+          * Once the dynamic value is completely initialized, to_any creates the corresponding any value.
+          *
+          * @exception TypeMismatch If called on a DynAny that cannot have components,
+          * such as a DynEnum or an empty exception
+          */
+  public org.omg.DynamicAny.DynAny current_component () throws org.omg.DynamicAny.DynAnyPackage.TypeMismatch
+  {
+      org.omg.CORBA.portable.ServantObject $so = _servant_preinvoke ("current_component", _opsClass);
+      DynValueOperations  $self = (DynValueOperations) $so.servant;
+
+      try {
+         return $self.current_component ();
+      } finally {
+          _servant_postinvoke ($so);
+      }
+  } // current_component
+
+  // Type-specific CORBA::Object operations
+  private static String[] __ids = {
+    "IDL:omg.org/DynamicAny/DynValue:1.0", 
+    "IDL:omg.org/DynamicAny/DynValueCommon:1.0", 
+    "IDL:omg.org/DynamicAny/DynAny: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 _DynValueStub
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodeSets.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,20 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/CodeSets.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface CodeSets
+{
+
+  /**
+       * Identifies a CDR encapsulation of the 
+       * <code>CONV_FRAME.CodeSetContext</code> defined in 
+       * Section 13.10.2.5, "GIOP Code Set Service Context," on page 13-43.
+       */
+  public static final int value = (int)(1L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/Codec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/Codec.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The formats of IOR components and service context data used by ORB 
+   * services are often defined as CDR encapsulations encoding instances 
+   * of IDL defined data types. The <code>Codec</code> provides a mechanism 
+   * to transfer these components between their IDL data types and their CDR 
+   * encapsulation representations. 
+   * <p>
+   * A <code>Codec</code> is obtained from the <code>CodecFactory</code>. 
+   * The <code>CodecFactory</code> is obtained through a call to 
+   * <code>ORB.resolve_initial_references( "CodecFactory" )</code>.
+   */
+public interface Codec extends CodecOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Codec
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/CodecFactory.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * <code>Codecs</code> are obtained from the <code>CodecFactory</code>. 
+   * The <code>CodecFactory</code> is obtained through a call to 
+   * <code>ORB.resolve_initial_references( "CodecFactory" )</code>.
+   */
+public interface CodecFactory extends CodecFactoryOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface CodecFactory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecFactoryHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/CodecFactoryHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * <code>Codecs</code> are obtained from the <code>CodecFactory</code>. 
+   * The <code>CodecFactory</code> is obtained through a call to 
+   * <code>ORB.resolve_initial_references( "CodecFactory" )</code>.
+   */
+abstract public class CodecFactoryHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/CodecFactory:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.CodecFactory 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.IOP.CodecFactory 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.IOP.CodecFactoryHelper.id (), "CodecFactory");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.CodecFactory 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.IOP.CodecFactory value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.IOP.CodecFactory narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.IOP.CodecFactory)
+      return (org.omg.IOP.CodecFactory)obj;
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  public static org.omg.IOP.CodecFactory unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.IOP.CodecFactory)
+      return (org.omg.IOP.CodecFactory)obj;
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecFactoryOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/CodecFactoryOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * <code>Codecs</code> are obtained from the <code>CodecFactory</code>. 
+   * The <code>CodecFactory</code> is obtained through a call to 
+   * <code>ORB.resolve_initial_references( "CodecFactory" )</code>.
+   */
+public interface CodecFactoryOperations 
+{
+
+  /**
+       * Create a <code>Codec</code> of the given encoding.
+       * <p>
+       * @param enc The encoding for which to create a <code>Codec</code>.
+       * @return A <code>Codec</code> obtained with the given encoding.
+       * @exception UnknownEncoding thrown if this factory cannot create a 
+       *     <code>Codec</code> of the given encoding.
+       */
+  org.omg.IOP.Codec create_codec (org.omg.IOP.Encoding enc) throws org.omg.IOP.CodecFactoryPackage.UnknownEncoding;
+} // interface CodecFactoryOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.IOP.CodecFactoryPackage;
+
+
+/**
+* org/omg/IOP/CodecFactoryPackage/UnknownEncoding.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class UnknownEncoding extends org.omg.CORBA.UserException
+{
+
+  public UnknownEncoding ()
+  {
+    super(UnknownEncodingHelper.id());
+  } // ctor
+
+
+  public UnknownEncoding (String $reason)
+  {
+    super(UnknownEncodingHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class UnknownEncoding
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.IOP.CodecFactoryPackage;
+
+
+/**
+* org/omg/IOP/CodecFactoryPackage/UnknownEncodingHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class UnknownEncodingHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/CodecFactory/UnknownEncoding:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.CodecFactoryPackage.UnknownEncoding 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.IOP.CodecFactoryPackage.UnknownEncoding 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.IOP.CodecFactoryPackage.UnknownEncodingHelper.id (), "UnknownEncoding", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.CodecFactoryPackage.UnknownEncoding read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.CodecFactoryPackage.UnknownEncoding value = new org.omg.IOP.CodecFactoryPackage.UnknownEncoding ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.CodecFactoryPackage.UnknownEncoding value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,77 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/CodecOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * The formats of IOR components and service context data used by ORB 
+   * services are often defined as CDR encapsulations encoding instances 
+   * of IDL defined data types. The <code>Codec</code> provides a mechanism 
+   * to transfer these components between their IDL data types and their CDR 
+   * encapsulation representations. 
+   * <p>
+   * A <code>Codec</code> is obtained from the <code>CodecFactory</code>. 
+   * The <code>CodecFactory</code> is obtained through a call to 
+   * <code>ORB.resolve_initial_references( "CodecFactory" )</code>.
+   */
+public interface CodecOperations 
+{
+
+  /**
+       * Converts the given any into a byte array based on the encoding 
+       * format effective for this <code>Codec</code>. 
+       *
+       * @param data The data, in the form of an any, to be encoded into 
+       *     a byte array.
+       * @return A byte array containing the encoded Any. This byte array 
+       *     contains both the <code>TypeCode</code> and the data of the type.
+       * @exception InvalidTypeForEncoding thrown if the type is not valid for 
+       *     the encoding format effective for this <code>Codec</code>.
+       */
+  byte[] encode (org.omg.CORBA.Any data) throws org.omg.IOP.CodecPackage.InvalidTypeForEncoding;
+
+  /**
+       * Decodes the given byte array into an Any based on the encoding 
+       * format effective for this <code>Codec</code>. 
+       * 
+       * @param data The data, in the form of a byte array, to be decoded into 
+       *     an Any. 
+       * @return An Any containing the data from the decoded byte array.
+       * @exception FormatMismatch is thrown if the byte array cannot be 
+       *     decoded into an Any. 
+       */
+  org.omg.CORBA.Any decode (byte[] data) throws org.omg.IOP.CodecPackage.FormatMismatch;
+
+  /**
+       * Converts the given any into a byte array based on the encoding 
+       * format effective for this Codec. Only the data from the Any is 
+       * encoded, not the <code>TypeCode</code>. 
+       *
+       * @param data The data, in the form of an Any, to be encoded into 
+       *     a byte array. 
+       * @return A byte array containing the data from the encoded any.
+       * @exception InvalidTypeForEncoding thrown if the type is not valid for 
+       *     the encoding format effective for this <code>Codec</code>.
+       */
+  byte[] encode_value (org.omg.CORBA.Any data) throws org.omg.IOP.CodecPackage.InvalidTypeForEncoding;
+
+  /**
+       * Decodes the given byte array into an Any based on the given 
+       * <code>TypeCode</code> and the encoding format effective for 
+       * this <code>Codec</code>. 
+       *
+       * @param data The data, in the form of a byte array, to be decoded 
+       *     into an Any. 
+       * @param tc The TypeCode to be used to decode the data. 
+       * @return An Any containing the data from the decoded byte array.
+       * @exception FormatMismatch thrown if the byte array cannot be 
+       *     decoded into an Any. 
+       */
+  org.omg.CORBA.Any decode_value (byte[] data, org.omg.CORBA.TypeCode tc) throws org.omg.IOP.CodecPackage.FormatMismatch, org.omg.IOP.CodecPackage.TypeMismatch;
+} // interface CodecOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecPackage/FormatMismatch.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.IOP.CodecPackage;
+
+
+/**
+* org/omg/IOP/CodecPackage/FormatMismatch.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class FormatMismatch extends org.omg.CORBA.UserException
+{
+
+  public FormatMismatch ()
+  {
+    super(FormatMismatchHelper.id());
+  } // ctor
+
+
+  public FormatMismatch (String $reason)
+  {
+    super(FormatMismatchHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class FormatMismatch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecPackage/FormatMismatchHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.IOP.CodecPackage;
+
+
+/**
+* org/omg/IOP/CodecPackage/FormatMismatchHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class FormatMismatchHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/Codec/FormatMismatch:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.CodecPackage.FormatMismatch 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.IOP.CodecPackage.FormatMismatch 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.IOP.CodecPackage.FormatMismatchHelper.id (), "FormatMismatch", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.CodecPackage.FormatMismatch read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.CodecPackage.FormatMismatch value = new org.omg.IOP.CodecPackage.FormatMismatch ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.CodecPackage.FormatMismatch value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.IOP.CodecPackage;
+
+
+/**
+* org/omg/IOP/CodecPackage/InvalidTypeForEncoding.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class InvalidTypeForEncoding extends org.omg.CORBA.UserException
+{
+
+  public InvalidTypeForEncoding ()
+  {
+    super(InvalidTypeForEncodingHelper.id());
+  } // ctor
+
+
+  public InvalidTypeForEncoding (String $reason)
+  {
+    super(InvalidTypeForEncodingHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidTypeForEncoding
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.IOP.CodecPackage;
+
+
+/**
+* org/omg/IOP/CodecPackage/InvalidTypeForEncodingHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class InvalidTypeForEncodingHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/Codec/InvalidTypeForEncoding:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.CodecPackage.InvalidTypeForEncoding 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.IOP.CodecPackage.InvalidTypeForEncoding 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.IOP.CodecPackage.InvalidTypeForEncodingHelper.id (), "InvalidTypeForEncoding", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.CodecPackage.InvalidTypeForEncoding read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.CodecPackage.InvalidTypeForEncoding value = new org.omg.IOP.CodecPackage.InvalidTypeForEncoding ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.CodecPackage.InvalidTypeForEncoding value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecPackage/TypeMismatch.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.IOP.CodecPackage;
+
+
+/**
+* org/omg/IOP/CodecPackage/TypeMismatch.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class TypeMismatch extends org.omg.CORBA.UserException
+{
+
+  public TypeMismatch ()
+  {
+    super(TypeMismatchHelper.id());
+  } // ctor
+
+
+  public TypeMismatch (String $reason)
+  {
+    super(TypeMismatchHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class TypeMismatch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/CodecPackage/TypeMismatchHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.IOP.CodecPackage;
+
+
+/**
+* org/omg/IOP/CodecPackage/TypeMismatchHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class TypeMismatchHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/Codec/TypeMismatch:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.CodecPackage.TypeMismatch 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.IOP.CodecPackage.TypeMismatch 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.IOP.CodecPackage.TypeMismatchHelper.id (), "TypeMismatch", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.CodecPackage.TypeMismatch read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.CodecPackage.TypeMismatch value = new org.omg.IOP.CodecPackage.TypeMismatch ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.CodecPackage.TypeMismatch value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ComponentIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,61 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ComponentIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/**
+     * Standard way of representing multicomponent profiles.
+     * This would be encapsulated in a TaggedProfile.
+     */
+abstract public class ComponentIdHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/ComponentId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int 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 int 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.ComponentIdHelper.id (), "ComponentId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value = (int)0;
+    value = istream.read_ulong ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int value)
+  {
+    ostream.write_ulong (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ENCODING_CDR_ENCAPS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ENCODING_CDR_ENCAPS.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface ENCODING_CDR_ENCAPS
+{
+
+  /**
+     * The CDR Encapsulation encoding.
+     * @see CodecFactory
+     */
+  public static final short value = (short)(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/Encoding.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,40 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/Encoding.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class Encoding implements org.omg.CORBA.portable.IDLEntity
+{
+
+  /**
+       * The encoding format.
+       */
+  public short format = (short)0;
+
+  /**
+       * The major version of this Encoding format.
+       */
+  public byte major_version = (byte)0;
+
+  /**
+       * The minor version of this Encoding format.
+       */
+  public byte minor_version = (byte)0;
+
+  public Encoding ()
+  {
+  } // ctor
+
+  public Encoding (short _format, byte _major_version, byte _minor_version)
+  {
+    format = _format;
+    major_version = _major_version;
+    minor_version = _minor_version;
+  } // ctor
+
+} // class Encoding
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ExceptionDetailMessage.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,35 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ExceptionDetailMessage.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface ExceptionDetailMessage
+{
+
+  /**
+       * CORBA formal/02-06-01: 13.7.1:
+       * ExceptionDetailMessage identifies a CDR encapsulation of a wstring,
+       * encoded using GIOP 1.2 with a TCS-W of UTF-16.  This service context
+       * may be sent on Reply messages with a reply_status of SYSTEM_EXCEPTION
+       * or USER_EXCEPTION. The usage of this service context is defined
+       * by language mappings. <br/> <br/>
+       *
+       * IDL/Java: ptc/02-01-22: 1.15.2: 
+       * When a System Exception is marshaled, its GIOP Reply message shall
+       * include an associated ExceptionDetailMessage service context. The
+       * callee's stack trace is often very valuable debugging information but
+       * may contain sensitive or unwanted information. The wstring within the
+       * service context will therefore contain additional information relating
+       * to the exception, for example the result of calling either
+       * printStackTrace(PrintWriter) or getMessage() on the exception. When
+       * unmarshaling a System Exception on the client side, the wstring from
+       * any ExceptionDetailMessage service context shall become the Java error
+       * message in the unmarshaled exception object.
+       */
+  public static final int value = (int)(14L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/IOR.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/IOR.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class IOR implements org.omg.CORBA.portable.IDLEntity
+{
+
+  /** The type id, represented as a String. */
+  public String type_id = null;
+
+  /** 
+  	 * An array of tagged profiles associated with this 
+  	 * object reference. 
+  	 */
+  public org.omg.IOP.TaggedProfile profiles[] = null;
+
+  public IOR ()
+  {
+  } // ctor
+
+  public IOR (String _type_id, org.omg.IOP.TaggedProfile[] _profiles)
+  {
+    type_id = _type_id;
+    profiles = _profiles;
+  } // ctor
+
+} // class IOR
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/IORHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,88 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/IORHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class IORHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/IOR/IOR:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.IOR 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.IOP.IOR 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "type_id",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.IOP.TaggedProfileHelper.type ();
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "profiles",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.IOP.IORHelper.id (), "IOR", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.IOR read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.IOR value = new org.omg.IOP.IOR ();
+    value.type_id = istream.read_string ();
+    int _len0 = istream.read_long ();
+    value.profiles = new org.omg.IOP.TaggedProfile[_len0];
+    for (int _o1 = 0;_o1 < value.profiles.length; ++_o1)
+      value.profiles[_o1] = org.omg.IOP.TaggedProfileHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.IOR value)
+  {
+    ostream.write_string (value.type_id);
+    ostream.write_long (value.profiles.length);
+    for (int _i0 = 0;_i0 < value.profiles.length; ++_i0)
+      org.omg.IOP.TaggedProfileHelper.write (ostream, value.profiles[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/IORHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.IOP;
+
+/**
+* org/omg/IOP/IORHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class IORHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.IOP.IOR value = null;
+
+  public IORHolder ()
+  {
+  }
+
+  public IORHolder (org.omg.IOP.IOR initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.IOP.IORHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.IOP.IORHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.IOP.IORHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/MultipleComponentProfileHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/MultipleComponentProfileHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of tagged components, forming a multiple component profile. */
+abstract public class MultipleComponentProfileHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/MultipleComponentProfile:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.TaggedComponent[] 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.IOP.TaggedComponent[] 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.IOP.TaggedComponentHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.MultipleComponentProfileHelper.id (), "MultipleComponentProfile", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.TaggedComponent[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.TaggedComponent value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.IOP.TaggedComponent[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.IOP.TaggedComponentHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.TaggedComponent[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.IOP.TaggedComponentHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/MultipleComponentProfileHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/MultipleComponentProfileHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of tagged components, forming a multiple component profile. */
+public final class MultipleComponentProfileHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.IOP.TaggedComponent value[] = null;
+
+  public MultipleComponentProfileHolder ()
+  {
+  }
+
+  public MultipleComponentProfileHolder (org.omg.IOP.TaggedComponent[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.IOP.MultipleComponentProfileHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.IOP.MultipleComponentProfileHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.IOP.MultipleComponentProfileHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ProfileIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ProfileIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** Profile ID */
+abstract public class ProfileIdHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/ProfileId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int 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 int 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.ProfileIdHelper.id (), "ProfileId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value = (int)0;
+    value = istream.read_ulong ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int value)
+  {
+    ostream.write_ulong (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/RMICustomMaxStreamFormat.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,22 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/RMICustomMaxStreamFormat.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface RMICustomMaxStreamFormat
+{
+
+  /**
+       * Identifies a CDR encapsulation of the RMICustomMaxStreamFormat
+       * service context which contains a single byte specifying
+       * the client's maximum RMI-IIOP stream format version.
+       *
+       * See Java to IDL ptc/02-01-12 1.4.12.
+       */
+  public static final int value = (int)(17L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ServiceContext.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ServiceContext.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class ServiceContext implements org.omg.CORBA.portable.IDLEntity
+{
+
+  /** The service context id */
+  public int context_id = (int)0;
+
+  /** The data associated with this service context */
+  public byte context_data[] = null;
+
+  public ServiceContext ()
+  {
+  } // ctor
+
+  public ServiceContext (int _context_id, byte[] _context_data)
+  {
+    context_id = _context_id;
+    context_data = _context_data;
+  } // ctor
+
+} // class ServiceContext
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ServiceContextHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,87 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ServiceContextHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class ServiceContextHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/ServiceContext/ServiceContext:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.ServiceContext 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.IOP.ServiceContext 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.ServiceIdHelper.id (), "ServiceId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "context_id",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "context_data",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.IOP.ServiceContextHelper.id (), "ServiceContext", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.ServiceContext read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.ServiceContext value = new org.omg.IOP.ServiceContext ();
+    value.context_id = istream.read_ulong ();
+    int _len0 = istream.read_long ();
+    value.context_data = new byte[_len0];
+    istream.read_octet_array (value.context_data, 0, _len0);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.ServiceContext value)
+  {
+    ostream.write_ulong (value.context_id);
+    ostream.write_long (value.context_data.length);
+    ostream.write_octet_array (value.context_data, 0, value.context_data.length);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ServiceContextHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.IOP;
+
+/**
+* org/omg/IOP/ServiceContextHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class ServiceContextHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.IOP.ServiceContext value = null;
+
+  public ServiceContextHolder ()
+  {
+  }
+
+  public ServiceContextHolder (org.omg.IOP.ServiceContext initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.IOP.ServiceContextHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.IOP.ServiceContextHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.IOP.ServiceContextHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ServiceContextListHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ServiceContextListHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of service contexts, forming a service context list. */
+abstract public class ServiceContextListHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/ServiceContextList:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.ServiceContext[] 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.IOP.ServiceContext[] 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.IOP.ServiceContextHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.ServiceContextListHelper.id (), "ServiceContextList", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.ServiceContext[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.ServiceContext value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.IOP.ServiceContext[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.IOP.ServiceContextHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.ServiceContext[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.IOP.ServiceContextHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ServiceContextListHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ServiceContextListHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** An array of service contexts, forming a service context list. */
+public final class ServiceContextListHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.IOP.ServiceContext value[] = null;
+
+  public ServiceContextListHolder ()
+  {
+  }
+
+  public ServiceContextListHolder (org.omg.IOP.ServiceContext[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.IOP.ServiceContextListHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.IOP.ServiceContextListHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.IOP.ServiceContextListHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/ServiceIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/ServiceIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+
+/** A service id, represented as an int */
+abstract public class ServiceIdHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/ServiceId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int 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 int 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.ServiceIdHelper.id (), "ServiceId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value = (int)0;
+    value = istream.read_ulong ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int value)
+  {
+    ostream.write_ulong (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,41 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_ALTERNATE_IIOP_ADDRESS.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_ALTERNATE_IIOP_ADDRESS
+{
+
+  /**
+       * In cases where the same object key is used for more than one 
+       * internet location, the following standard IOR Component is defined 
+       * for support in IIOP version 1.2. 
+       * <p>
+       * The <code>TAG_ALTERNATE_IIOP_ADDRESS</code> component has an 
+       * associated value of type:
+       * <code>
+       *   <pre>
+       *     struct { 
+       *         string HostID, 
+       *         short Port 
+       *     }; 
+       *   </pre>
+       * </code>
+       * encoded as a CDR encapsulation. 
+       * <p>
+       * Zero or more instances of the <code>TAG_ALTERNATE_IIOP_ADDRESS</code> 
+       * component type may be included in a version 1.2 
+       * <code>TAG_INTERNET_IOP</code> Profile. Each of these alternative 
+       * addresses may be used by the client orb, in addition to the host 
+       * and port address expressed in the body of the Profile. In cases 
+       * where one or more <code>TAG_ALTERNATE_IIOP_ADDRESS</code> components 
+       * are present in a <code>TAG_INTERNET_IOP</code> Profile, no order of 
+       * use is prescribed by Version 1.2 of IIOP.
+       */
+  public static final int value = (int)(3L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_CODE_SETS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_CODE_SETS.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_CODE_SETS
+{
+
+  /**
+       * The code set component of the IOR multi-component profile structure
+       * contains:
+       * <ul>
+       *   <li>server's native char code set and conversion code sets, and</li>
+       *   <li>server's native wchar code set and conversion code sets.</li>
+       * </ul>
+       * Both char and wchar conversion code sets are listed in order of 
+       * preference.
+       */
+  public static final int value = (int)(1L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_INTERNET_IOP.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,40 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_INTERNET_IOP.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_INTERNET_IOP
+{
+
+  /**
+       * Identifies profiles that 
+       * support the Internet Inter-ORB Protocol. The <code>ProfileBody</code>
+       * of this profile contains a CDR encapsulation of a structure 
+       * containing addressing and object identification information used by 
+       * IIOP. Version 1.1 of the <code>TAG_INTERNET_IOP</code> profile 
+       * also includes an array of TaggedComponent objects that can 
+       * contain additional information supporting optional IIOP features, 
+       * ORB services such as security, and future protocol extensions. 
+       * <p>
+       * Protocols other than IIOP (such as ESIOPs and other GIOPs) can share 
+       * profile information (such as object identity or security 
+       * information) with IIOP by encoding their additional profile information 
+       * as components in the <code>TAG_INTERNET_IOP</code> profile. All 
+       * <code>TAG_INTERNET_IOP</code> profiles support IIOP, regardless of 
+       * whether they also support additional protocols. Interoperable 
+       * ORBs are not required to create or understand any other profile, 
+       * nor are they required to create or understand any of the components 
+       * defined for other protocols that might share the 
+       * <code>TAG_INTERNET_IOP</code> profile with IIOP. 
+       * <p>
+       * The <code>profile_data</code> for the <code>TAG_INTERNET_IOP</code> 
+       * profile is a CDR encapsulation of the <code>IIOP.ProfileBody_1_1</code>
+       * type.
+       */
+  public static final int value = (int)(0L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_JAVA_CODEBASE.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_JAVA_CODEBASE.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_JAVA_CODEBASE
+{
+
+  /**
+       * Class downloading is supported for stubs, ties, values, and 
+       * value helpers. The specification allows transmission of codebase 
+       * information on the wire for stubs and ties, and enables usage of 
+       * pre-existing ClassLoaders when relevant.  
+       * <p>
+       * For values and value helpers, the codebase is transmitted after the 
+       * value tag.  For stubs and ties, the codebase is transmitted as 
+       * the TaggedComponent <code>TAG_JAVA_CODEBASE</code> in the IOR 
+       * profile, where the <code>component_data</code> is a CDR encapsulation 
+       * of the codebase written as an IDL string. The codebase is a 
+       * space-separated list of one or more URLs.
+       */
+  public static final int value = (int)(25L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_MULTIPLE_COMPONENTS.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,26 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_MULTIPLE_COMPONENTS.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_MULTIPLE_COMPONENTS
+{
+
+  /** 
+       * Indicates that the value encapsulated is of type 
+       * <code>MultipleComponentProfile</code>. In this case, the profile 
+       * consists of a list of protocol components, the use of which must 
+       * be specified by the protocol using this profile. This profile may 
+       * be used to carry IOR components.  
+       * <p>
+       * The <code>profile_data</code> for the 
+       * <code>TAG_MULTIPLE_COMPONENTS</code> profile is a CDR encapsulation 
+       * of the <code>MultipleComponentProfile</code> type shown above.
+       */
+  public static final int value = (int)(1L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_ORB_TYPE.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,33 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_ORB_TYPE.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_ORB_TYPE
+{
+
+  /**
+       * It is often useful in the real world to be able to identify the 
+       * particular kind of ORB an object reference is coming from, to work 
+       * around problems with that particular ORB, or exploit shared 
+       * efficiencies. 
+       * <p>
+       * The <code>TAG_ORB_TYPE</code> component has an associated value of 
+       * type unsigned long (Java long), encoded as a CDR encapsulation, 
+       * designating an ORB type ID allocated by the OMG for the ORB type of the 
+       * originating ORB. Anyone may register any ORB types by submitting 
+       * a short (one-paragraph) description of the ORB type to the OMG, 
+       * and will receive a new ORB type ID in return. A list of ORB type 
+       * descriptions and values will be made available on the OMG web server. 
+       * <p>
+       * The <code>TAG_ORB_TYPE</code> component can appear at most once in 
+       * any IOR profile. For profiles supporting IIOP 1.1 or greater, it 
+       * is optionally present.
+       */
+  public static final int value = (int)(0L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_POLICIES.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_POLICIES.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_POLICIES
+{
+
+  /**
+       * A profile component containing the sequence of QoS policies exported
+       * with the object reference by an object adapter.
+       */
+  public static final int value = (int)(2L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TAG_RMI_CUSTOM_MAX_STREAM_FORMAT.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TAG_RMI_CUSTOM_MAX_STREAM_FORMAT
+{
+
+  /**
+       * RMI-IIOP has multiple stream format versions.  A server
+       * can specify its maximum version by including the
+       * TAG_RMI_CUSTOM_MAX_STREAM_FORMAT tagged component or
+       * rely on the default of version 1 for GIOP 1.2 and less
+       * and version 2 for GIOP 1.3 and higher.
+       *
+       * See Java to IDL ptc/02-01-12 1.4.11.
+       */
+  public static final int value = (int)(38L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TaggedComponent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TaggedComponent.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class TaggedComponent implements org.omg.CORBA.portable.IDLEntity
+{
+
+  /** The tag, represented as a component id. */
+  public int tag = (int)0;
+
+  /** The component data associated with the component id. */
+  public byte component_data[] = null;
+
+  public TaggedComponent ()
+  {
+  } // ctor
+
+  public TaggedComponent (int _tag, byte[] _component_data)
+  {
+    tag = _tag;
+    component_data = _component_data;
+  } // ctor
+
+} // class TaggedComponent
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TaggedComponentHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,87 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TaggedComponentHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class TaggedComponentHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/TaggedComponent/TaggedComponent:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.TaggedComponent 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.IOP.TaggedComponent 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.ComponentIdHelper.id (), "ComponentId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "tag",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "component_data",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.IOP.TaggedComponentHelper.id (), "TaggedComponent", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.TaggedComponent read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.TaggedComponent value = new org.omg.IOP.TaggedComponent ();
+    value.tag = istream.read_ulong ();
+    int _len0 = istream.read_long ();
+    value.component_data = new byte[_len0];
+    istream.read_octet_array (value.component_data, 0, _len0);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.TaggedComponent value)
+  {
+    ostream.write_ulong (value.tag);
+    ostream.write_long (value.component_data.length);
+    ostream.write_octet_array (value.component_data, 0, value.component_data.length);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TaggedComponentHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.IOP;
+
+/**
+* org/omg/IOP/TaggedComponentHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class TaggedComponentHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.IOP.TaggedComponent value = null;
+
+  public TaggedComponentHolder ()
+  {
+  }
+
+  public TaggedComponentHolder (org.omg.IOP.TaggedComponent initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.IOP.TaggedComponentHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.IOP.TaggedComponentHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.IOP.TaggedComponentHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TaggedProfile.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TaggedProfile.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class TaggedProfile implements org.omg.CORBA.portable.IDLEntity
+{
+
+  /** The tag, represented as a profile id. */
+  public int tag = (int)0;
+
+  /** The associated profile data. */
+  public byte profile_data[] = null;
+
+  public TaggedProfile ()
+  {
+  } // ctor
+
+  public TaggedProfile (int _tag, byte[] _profile_data)
+  {
+    tag = _tag;
+    profile_data = _profile_data;
+  } // ctor
+
+} // class TaggedProfile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TaggedProfileHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,87 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TaggedProfileHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+abstract public class TaggedProfileHelper
+{
+  private static String  _id = "IDL:omg.org/IOP/TaggedProfile/TaggedProfile:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.IOP.TaggedProfile 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.IOP.TaggedProfile 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 [2];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_ulong);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.IOP.ProfileIdHelper.id (), "ProfileId", _tcOf_members0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "tag",
+            _tcOf_members0,
+            null);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet);
+          _tcOf_members0 = org.omg.CORBA.ORB.init ().create_sequence_tc (0, _tcOf_members0);
+          _members0[1] = new org.omg.CORBA.StructMember (
+            "profile_data",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_struct_tc (org.omg.IOP.TaggedProfileHelper.id (), "TaggedProfile", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.IOP.TaggedProfile read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.IOP.TaggedProfile value = new org.omg.IOP.TaggedProfile ();
+    value.tag = istream.read_ulong ();
+    int _len0 = istream.read_long ();
+    value.profile_data = new byte[_len0];
+    istream.read_octet_array (value.profile_data, 0, _len0);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.IOP.TaggedProfile value)
+  {
+    ostream.write_ulong (value.tag);
+    ostream.write_long (value.profile_data.length);
+    ostream.write_octet_array (value.profile_data, 0, value.profile_data.length);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TaggedProfileHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.IOP;
+
+/**
+* org/omg/IOP/TaggedProfileHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public final class TaggedProfileHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.IOP.TaggedProfile value = null;
+
+  public TaggedProfileHolder ()
+  {
+  }
+
+  public TaggedProfileHolder (org.omg.IOP.TaggedProfile initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.IOP.TaggedProfileHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.IOP.TaggedProfileHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.IOP.TaggedProfileHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/IOP/TransactionService.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,20 @@
+package org.omg.IOP;
+
+
+/**
+* org/omg/IOP/TransactionService.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/IOP.idl
+* Friday, May 25, 2007 3:39:55 o'clock PM GMT-05:00
+*/
+
+public interface TransactionService
+{
+
+  /**
+       * Identifies a CDR encapsulation of the 
+       * <code>CosTSInteroperation.PropogationContext</code> defined in 
+       * <i>CORBAservices: Common Object Services Specifications.</i>
+       */
+  public static final int value = (int)(0L);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/Messaging/SYNC_WITH_TRANSPORT.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package org.omg.Messaging;
+
+
+/**
+* org/omg/Messaging/SYNC_WITH_TRANSPORT.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Messaging.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface SYNC_WITH_TRANSPORT
+{
+
+  /**
+     * Constant, defined in the Messaging spec, to define how far the 
+     * request shall progress before control is returned to the client.
+     */
+  public static final short value = (short)(1);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/Messaging/SyncScopeHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package org.omg.Messaging;
+
+
+/**
+* org/omg/Messaging/SyncScopeHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Messaging.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** Synchronization scope */
+abstract public class SyncScopeHelper
+{
+  private static String  _id = "IDL:omg.org/Messaging/SyncScope:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, short 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 short 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_short);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.Messaging.SyncScopeHelper.id (), "SyncScope", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static short read (org.omg.CORBA.portable.InputStream istream)
+  {
+    short value = (short)0;
+    value = istream.read_short ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, short value)
+  {
+    ostream.write_short (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ACTIVE.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,17 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ACTIVE.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface ACTIVE
+{
+
+  /** Object adapter state that indicates normal request processing.
+     */
+  public static final short value = (short)(1);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/AdapterManagerIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/AdapterManagerIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** Adapter manager identifier.  Every object adapter has an adapter manager,
+   * indicated in this API only through the ID.  A group of object adapter
+   * instances may share the same adapter manager, in which case state transitions
+   * reported for the adapter manager are observed by all object adapters with the
+   * same adapter manager ID.
+   */
+abstract public class AdapterManagerIdHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/AdapterManagerId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, int 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 int 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_long);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.AdapterManagerIdHelper.id (), "AdapterManagerId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static int read (org.omg.CORBA.portable.InputStream istream)
+  {
+    int value = (int)0;
+    value = istream.read_long ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, int value)
+  {
+    ostream.write_long (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/AdapterNameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/AdapterNameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** The name of an object adapter. This is unique only within
+   * the scope of the ORB that created the object adapter.
+   */
+abstract public class AdapterNameHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/AdapterName:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String[] 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 String[] 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CORBA.StringSeqHelper.id (), "StringSeq", __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.AdapterNameHelper.id (), "AdapterName", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value[] = null;
+    value = org.omg.CORBA.StringSeqHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String[] value)
+  {
+    org.omg.CORBA.StringSeqHelper.write (ostream, value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/AdapterStateHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/AdapterStateHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** Type of object adapter state.  State changes are reported either to
+   * the object adapter or to the adapter manager.
+   */
+abstract public class AdapterStateHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/AdapterState:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, short 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 short 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_short);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.AdapterStateHelper.id (), "AdapterState", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static short read (org.omg.CORBA.portable.InputStream istream)
+  {
+    short value = (short)0;
+    value = istream.read_short ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, short value)
+  {
+    ostream.write_short (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ClientRequestInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,228 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ClientRequestInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Request Information, accessible to client-side request interceptors.
+   * <p>
+   * Some attributes and operations on <code>ClientRequestInfo</code> are 
+   * not valid at all interception points.  The following table shows the 
+   * validity of each attribute or operation.  If it is not valid, attempting 
+   * to access it will result in a <code>BAD_INV_ORDER</code> being thrown
+   * with a standard minor code of 14.
+   * <p>
+   *
+   * <table border=1 summary="Shows the validity of each attribute or operation">
+   *  <thead>
+   *    <tr>
+   *      <th>&nbsp;</th>
+   *      <th id="send_req">send_request</th>
+   *      <th id="send_poll">send_poll</th>
+   *      <th id="rec_reply">receive_reply</th>
+   *      <th id="rec_ex">receive_exception</th>
+   *      <th id="rec_oth">receive_other</th>
+   *    </tr>
+   *  </thead>
+   *  <tbody>
+   *
+   *  <tr>
+   *     <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
+   *  </tr>
+   * 
+   *  <tr><th id="req_id"><p align="left">request_id</p></th>
+   *  <td headers="ri req_id send_req">yes</td> 
+   *  <td headers="ri req_id send_poll">yes</td> 
+   *  <td headers="ri req_id rec_reply">yes</td> 
+   *  <td headers="ri req_id rec_ex">yes</td> 
+   *  <td headers="ri req_id rec_oth">yes</td></tr>
+   * 
+   *  <tr><th id="op"><p align="left">operation</p></th>
+   *  <td headers="ri op send_req">yes</td> 
+   *  <td headers="ri op send_poll">yes</td> 
+   *  <td headers="ri op rec_reply">yes</td> 
+   *  <td headers="ri op rec_ex">yes</td> 
+   *  <td headers="ri op rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="arg"><p align="left">arguments</p></th>
+   *  <td headers="ri arg send_req">yes<sub>1</sub></td>
+   *  <td headers="ri arg send_poll">no </td> 
+   *  <td headers="ri arg rec_reply">yes</td> 
+   *  <td headers="ri arg rec_ex">no </td> 
+   *  <td headers="ri arg rec_oth">no </td></tr>
+   *
+   *  <tr><th id="exc"><p align="left">exceptions</p></th>
+   *  <td headers="ri exc send_req">yes</td> 
+   *  <td headers="ri exc send_poll">no </td> 
+   *  <td headers="ri exc rec_reply">yes</td> 
+   *  <td headers="ri exc rec_ex">yes</td> 
+   *  <td headers="ri exc rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="con"><p align="left">contexts</p></th>
+   *  <td headers="ri con send_req">yes</td> 
+   *  <td headers="ri con send_poll">no </td> 
+   *  <td headers="ri con rec_reply">yes</td> 
+   *  <td headers="ri con rec_ex">yes</td> 
+   *  <td headers="ri con rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="op_con"><p align="left">operation_context</p></th>
+   *  <td headers="ri op_con send_req">yes</td> 
+   *  <td headers="ri op_con send_poll">no </td> 
+   *  <td headers="ri op_con rec_reply">yes</td> 
+   *  <td headers="ri op_con rec_ex">yes</td> 
+   *  <td headers="ri op_con rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr><th id="result"><p align="left">result</p></th>
+   *  <td headers="ri result send_req">no </td> 
+   *  <td headers="ri result send_poll">no </td> 
+   *  <td headers="ri result rec_reply">yes</td> 
+   *  <td headers="ri result rec_ex">no </td> 
+   *  <td headers="ri result rec_oth">no </td>
+   *  </tr>
+   *
+   *  <tr><th id="res_exp"><p align="left">response_expected</p></th>
+   *  <td headers="ri res_exp send_req">yes</td> 
+   *  <td headers="ri res_exp send_poll">yes</td> 
+   *  <td headers="ri res_exp rec_reply">yes</td> 
+   *  <td headers="ri res_exp rec_ex">yes</td> 
+   *  <td headers="ri res_exp rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="sync_sco"><p align="left">sync_scope</p></th>
+   *  <td headers="ri sync_sco send_req">yes</td> 
+   *  <td headers="ri sync_sco send_poll">no </td> 
+   *  <td headers="ri sync_sco rec_reply">yes</td> 
+   *  <td headers="ri sync_sco rec_ex">yes</td> 
+   *  <td headers="ri sync_sco rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr><th id="rep_stat"><p align="left">reply_status</p></th>
+   *  <td headers="ri rep_stat send_req">no </td> 
+   *  <td headers="ri rep_stat send_poll">no </td> 
+   *  <td headers="ri rep_stat rec_reply">yes</td> 
+   *  <td headers="ri rep_stat rec_ex">yes</td> 
+   *  <td headers="ri rep_stat rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="for_ref"><p align="left">forward_reference</p></th>
+   *  <td headers="ri for_ref send_req">no </td>
+   *  <td headers="ri for_ref send_poll">no </td> 
+   *  <td headers="ri for_ref rec_reply">no </td> 
+   *  <td headers="ri for_ref rec_ex">no </td> 
+   *  <td headers="ri for_ref rec_oth">yes<sub>2</sub>
+   *  </td></tr>
+   *
+   *  <tr><th id="get_slot"><p align="left">get_slot</p></th>
+   *  <td headers="ri get_slot send_req">yes</td> 
+   *  <td headers="ri get_slot send_poll">yes</td> 
+   *  <td headers="ri get_slot rec_reply">yes</td> 
+   *  <td headers="ri get_slot rec_ex">yes</td> 
+   *  <td headers="ri get_slot rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="grsc"><p align="left">get_request_service_context</p></th>
+   *  <td headers="ri grsc send_req">yes</td> 
+   *  <td headers="ri grsc send_poll">no </td> 
+   *  <td headers="ri grsc rec_reply">yes</td> 
+   *  <td headers="ri grsc rec_ex">yes</td> 
+   *  <td headers="ri grsc rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="gpsc"><p align="left">get_reply_service_context</p></th>
+   *  <td headers="ri gpsc send_req">no </td> 
+   *  <td headers="ri gpsc send_poll">no </td> 
+   *  <td headers="ri gpsc rec_reply">yes</td> 
+   *  <td headers="ri gpsc rec_ex">yes</td> 
+   *  <td headers="ri gpsc rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr>
+   *    <td id="cri" colspan=6><i>ClientRequestInfo-specific:</i></td>
+   *  </tr>
+   *
+   *  <tr><th id="target"><p align="left">target</p></th>
+   *  <td headers="cri target send_req">yes</td> 
+   *  <td headers="cri target send_poll">yes</td> 
+   *  <td headers="cri target rec_reply">yes</td> 
+   *  <td headers="cri target rec_ex">yes</td> 
+   *  <td headers="cri target rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="eftarget"><p align="left">effective_target</p></th>
+   *  <td headers="cri eftarget send_req">yes</td> 
+   *  <td headers="cri eftarget send_poll">yes</td> 
+   *  <td headers="cri eftarget rec_reply">yes</td> 
+   *  <td headers="cri eftarget rec_ex">yes</td> 
+   *  <td headers="cri eftarget rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr><th id="efprof"><p align="left">effective_profile</p></th>
+   *  <td headers="cri efprof send_req">yes</td> 
+   *  <td headers="cri efprof send_poll">yes</td> 
+   *  <td headers="cri efprof rec_reply">yes</td> 
+   *  <td headers="cri efprof rec_ex">yes</td> 
+   *  <td headers="cri efprof rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="rxp"><p align="left">received_exception</p></th>
+   *  <td headers="cri rxp send_req">no </td> 
+   *  <td headers="cri rxp send_poll">no </td> 
+   *  <td headers="cri rxp rec_reply">no </td> 
+   *  <td headers="cri rxp rec_ex">yes</td> 
+   *  <td headers="cri rxp rec_oth">no </td></tr>
+   *
+   *  <tr><th id="rei"><p align="left">received_exception_id</p></th>
+   *  <td headers="cri rei send_req">no </td> 
+   *  <td headers="cri rei send_poll">no </td> 
+   *  <td headers="cri rei rec_reply">no </td> 
+   *  <td headers="cri rei rec_ex">yes</td> 
+   *  <td headers="cri rei rec_oth">no </td></tr>
+   *
+   *  <tr><th id="gec"><p align="left">get_effective_component</p></th>
+   *  <td headers="cri gec send_req">yes</td> 
+   *  <td headers="cri gec send_poll">no </td> 
+   *  <td headers="cri gec rec_reply">yes</td> 
+   *  <td headers="cri gec rec_ex">yes</td> 
+   *  <td headers="cri gec rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="gecs"><p align="left">get_effective_components</p></th>
+   *  <td headers="cri gecs send_req">yes</td> 
+   *  <td headers="cri gecs send_poll">no </td> 
+   *  <td headers="cri gecs rec_reply">yes</td> 
+   *  <td headers="cri gecs rec_ex">yes</td> 
+   *  <td headers="cri gecs rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="grpcy"><p align="left">get_request_policy</p></th>
+   *  <td headers="cri grpcy send_req">yes</td>
+   *  <td headers="cri grpcy send_poll">no </td> 
+   *  <td headers="cri grpcy rec_reply">yes</td> 
+   *  <td headers="cri grpcy rec_ex">yes</td> 
+   *  <td headers="cri grpcy rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="arsc"><p align="left">add_request_service_context</p></th>
+   *    <td headers="cri arsc send_req">yes</td> 
+   *    <td headers="cri arsc send_poll">no </td> 
+   *    <td headers="cri arsc rec_reply">no </td> 
+   *    <td headers="cri arsc rec_ex">no </td> 
+   *    <td headers="cri arsc rec_oth">no </td></tr>
+   *
+   *   </tbody>
+   * </table>
+   *
+   * <ol>
+   *   <li>When <code>ClientRequestInfo</code> is passed to 
+   *       <code>send_request</code>, there is an entry in the list for every 
+   *       argument, whether in, inout, or out.  But only the in and inout 
+   *       arguments will be available.</li>
+   *   <li>If the <code>reply_status</code> atribute is not 
+   *       <code>LOCATION_FORWARD</code>, accessing this attribute will 
+   *       throw <code>BAD_INV_ORDER</code> with a standard minor code of 
+   *       14.</li>
+   * </ol>
+   *
+   * @see ClientRequestInterceptor
+   */
+public interface ClientRequestInfo extends ClientRequestInfoOperations, org.omg.PortableInterceptor.RequestInfo, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ClientRequestInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ClientRequestInfoOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,345 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ClientRequestInfoOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Request Information, accessible to client-side request interceptors.
+   * <p>
+   * Some attributes and operations on <code>ClientRequestInfo</code> are 
+   * not valid at all interception points.  The following table shows the 
+   * validity of each attribute or operation.  If it is not valid, attempting 
+   * to access it will result in a <code>BAD_INV_ORDER</code> being thrown
+   * with a standard minor code of 14.
+   * <p>
+   *
+   * <table border=1 summary="Shows the validity of each attribute or operation">
+   *  <thead>
+   *    <tr>
+   *      <th>&nbsp;</th>
+   *      <th id="send_req">send_request</th>
+   *      <th id="send_poll">send_poll</th>
+   *      <th id="rec_reply">receive_reply</th>
+   *      <th id="rec_ex">receive_exception</th>
+   *      <th id="rec_oth">receive_other</th>
+   *    </tr>
+   *  </thead>
+   *  <tbody>
+   *
+   *  <tr>
+   *     <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
+   *  </tr>
+   * 
+   *  <tr><th id="req_id"><p align="left">request_id</p></th>
+   *  <td headers="ri req_id send_req">yes</td> 
+   *  <td headers="ri req_id send_poll">yes</td> 
+   *  <td headers="ri req_id rec_reply">yes</td> 
+   *  <td headers="ri req_id rec_ex">yes</td> 
+   *  <td headers="ri req_id rec_oth">yes</td></tr>
+   * 
+   *  <tr><th id="op"><p align="left">operation</p></th>
+   *  <td headers="ri op send_req">yes</td> 
+   *  <td headers="ri op send_poll">yes</td> 
+   *  <td headers="ri op rec_reply">yes</td> 
+   *  <td headers="ri op rec_ex">yes</td> 
+   *  <td headers="ri op rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="arg"><p align="left">arguments</p></th>
+   *  <td headers="ri arg send_req">yes<sub>1</sub></td>
+   *  <td headers="ri arg send_poll">no </td> 
+   *  <td headers="ri arg rec_reply">yes</td> 
+   *  <td headers="ri arg rec_ex">no </td> 
+   *  <td headers="ri arg rec_oth">no </td></tr>
+   *
+   *  <tr><th id="exc"><p align="left">exceptions</p></th>
+   *  <td headers="ri exc send_req">yes</td> 
+   *  <td headers="ri exc send_poll">no </td> 
+   *  <td headers="ri exc rec_reply">yes</td> 
+   *  <td headers="ri exc rec_ex">yes</td> 
+   *  <td headers="ri exc rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="con"><p align="left">contexts</p></th>
+   *  <td headers="ri con send_req">yes</td> 
+   *  <td headers="ri con send_poll">no </td> 
+   *  <td headers="ri con rec_reply">yes</td> 
+   *  <td headers="ri con rec_ex">yes</td> 
+   *  <td headers="ri con rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="op_con"><p align="left">operation_context</p></th>
+   *  <td headers="ri op_con send_req">yes</td> 
+   *  <td headers="ri op_con send_poll">no </td> 
+   *  <td headers="ri op_con rec_reply">yes</td> 
+   *  <td headers="ri op_con rec_ex">yes</td> 
+   *  <td headers="ri op_con rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr><th id="result"><p align="left">result</p></th>
+   *  <td headers="ri result send_req">no </td> 
+   *  <td headers="ri result send_poll">no </td> 
+   *  <td headers="ri result rec_reply">yes</td> 
+   *  <td headers="ri result rec_ex">no </td> 
+   *  <td headers="ri result rec_oth">no </td>
+   *  </tr>
+   *
+   *  <tr><th id="res_exp"><p align="left">response_expected</p></th>
+   *  <td headers="ri res_exp send_req">yes</td> 
+   *  <td headers="ri res_exp send_poll">yes</td> 
+   *  <td headers="ri res_exp rec_reply">yes</td> 
+   *  <td headers="ri res_exp rec_ex">yes</td> 
+   *  <td headers="ri res_exp rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="sync_sco"><p align="left">sync_scope</p></th>
+   *  <td headers="ri sync_sco send_req">yes</td> 
+   *  <td headers="ri sync_sco send_poll">no </td> 
+   *  <td headers="ri sync_sco rec_reply">yes</td> 
+   *  <td headers="ri sync_sco rec_ex">yes</td> 
+   *  <td headers="ri sync_sco rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr><th id="rep_stat"><p align="left">reply_status</p></th>
+   *  <td headers="ri rep_stat send_req">no </td> 
+   *  <td headers="ri rep_stat send_poll">no </td> 
+   *  <td headers="ri rep_stat rec_reply">yes</td> 
+   *  <td headers="ri rep_stat rec_ex">yes</td> 
+   *  <td headers="ri rep_stat rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="for_ref"><p align="left">forward_reference</p></th>
+   *  <td headers="ri for_ref send_req">no </td>
+   *  <td headers="ri for_ref send_poll">no </td> 
+   *  <td headers="ri for_ref rec_reply">no </td> 
+   *  <td headers="ri for_ref rec_ex">no </td> 
+   *  <td headers="ri for_ref rec_oth">yes<sub>2</sub>
+   *  </td></tr>
+   *
+   *  <tr><th id="get_slot"><p align="left">get_slot</p></th>
+   *  <td headers="ri get_slot send_req">yes</td> 
+   *  <td headers="ri get_slot send_poll">yes</td> 
+   *  <td headers="ri get_slot rec_reply">yes</td> 
+   *  <td headers="ri get_slot rec_ex">yes</td> 
+   *  <td headers="ri get_slot rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="grsc"><p align="left">get_request_service_context</p></th>
+   *  <td headers="ri grsc send_req">yes</td> 
+   *  <td headers="ri grsc send_poll">no </td> 
+   *  <td headers="ri grsc rec_reply">yes</td> 
+   *  <td headers="ri grsc rec_ex">yes</td> 
+   *  <td headers="ri grsc rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="gpsc"><p align="left">get_reply_service_context</p></th>
+   *  <td headers="ri gpsc send_req">no </td> 
+   *  <td headers="ri gpsc send_poll">no </td> 
+   *  <td headers="ri gpsc rec_reply">yes</td> 
+   *  <td headers="ri gpsc rec_ex">yes</td> 
+   *  <td headers="ri gpsc rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr>
+   *    <td id="cri" colspan=6><i>ClientRequestInfo-specific:</i></td>
+   *  </tr>
+   *
+   *  <tr><th id="target"><p align="left">target</p></th>
+   *  <td headers="cri target send_req">yes</td> 
+   *  <td headers="cri target send_poll">yes</td> 
+   *  <td headers="cri target rec_reply">yes</td> 
+   *  <td headers="cri target rec_ex">yes</td> 
+   *  <td headers="cri target rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="eftarget"><p align="left">effective_target</p></th>
+   *  <td headers="cri eftarget send_req">yes</td> 
+   *  <td headers="cri eftarget send_poll">yes</td> 
+   *  <td headers="cri eftarget rec_reply">yes</td> 
+   *  <td headers="cri eftarget rec_ex">yes</td> 
+   *  <td headers="cri eftarget rec_oth">yes</td>
+   *  </tr>
+   *
+   *  <tr><th id="efprof"><p align="left">effective_profile</p></th>
+   *  <td headers="cri efprof send_req">yes</td> 
+   *  <td headers="cri efprof send_poll">yes</td> 
+   *  <td headers="cri efprof rec_reply">yes</td> 
+   *  <td headers="cri efprof rec_ex">yes</td> 
+   *  <td headers="cri efprof rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="rxp"><p align="left">received_exception</p></th>
+   *  <td headers="cri rxp send_req">no </td> 
+   *  <td headers="cri rxp send_poll">no </td> 
+   *  <td headers="cri rxp rec_reply">no </td> 
+   *  <td headers="cri rxp rec_ex">yes</td> 
+   *  <td headers="cri rxp rec_oth">no </td></tr>
+   *
+   *  <tr><th id="rei"><p align="left">received_exception_id</p></th>
+   *  <td headers="cri rei send_req">no </td> 
+   *  <td headers="cri rei send_poll">no </td> 
+   *  <td headers="cri rei rec_reply">no </td> 
+   *  <td headers="cri rei rec_ex">yes</td> 
+   *  <td headers="cri rei rec_oth">no </td></tr>
+   *
+   *  <tr><th id="gec"><p align="left">get_effective_component</p></th>
+   *  <td headers="cri gec send_req">yes</td> 
+   *  <td headers="cri gec send_poll">no </td> 
+   *  <td headers="cri gec rec_reply">yes</td> 
+   *  <td headers="cri gec rec_ex">yes</td> 
+   *  <td headers="cri gec rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="gecs"><p align="left">get_effective_components</p></th>
+   *  <td headers="cri gecs send_req">yes</td> 
+   *  <td headers="cri gecs send_poll">no </td> 
+   *  <td headers="cri gecs rec_reply">yes</td> 
+   *  <td headers="cri gecs rec_ex">yes</td> 
+   *  <td headers="cri gecs rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="grpcy"><p align="left">get_request_policy</p></th>
+   *  <td headers="cri grpcy send_req">yes</td>
+   *  <td headers="cri grpcy send_poll">no </td> 
+   *  <td headers="cri grpcy rec_reply">yes</td> 
+   *  <td headers="cri grpcy rec_ex">yes</td> 
+   *  <td headers="cri grpcy rec_oth">yes</td></tr>
+   *
+   *  <tr><th id="arsc"><p align="left">add_request_service_context</p></th>
+   *    <td headers="cri arsc send_req">yes</td> 
+   *    <td headers="cri arsc send_poll">no </td> 
+   *    <td headers="cri arsc rec_reply">no </td> 
+   *    <td headers="cri arsc rec_ex">no </td> 
+   *    <td headers="cri arsc rec_oth">no </td></tr>
+   *
+   *   </tbody>
+   * </table>
+   *
+   * <ol>
+   *   <li>When <code>ClientRequestInfo</code> is passed to 
+   *       <code>send_request</code>, there is an entry in the list for every 
+   *       argument, whether in, inout, or out.  But only the in and inout 
+   *       arguments will be available.</li>
+   *   <li>If the <code>reply_status</code> atribute is not 
+   *       <code>LOCATION_FORWARD</code>, accessing this attribute will 
+   *       throw <code>BAD_INV_ORDER</code> with a standard minor code of 
+   *       14.</li>
+   * </ol>
+   *
+   * @see ClientRequestInterceptor
+   */
+public interface ClientRequestInfoOperations  extends org.omg.PortableInterceptor.RequestInfoOperations
+{
+
+  /**
+       * Returns the object which the client called to perform the 
+       * operation. 
+       *
+       * @see #effective_target
+       */
+  org.omg.CORBA.Object target ();
+
+  /**
+       * Returns the actual object on which the operation will be invoked. 
+       * If the <code>reply_status</code> is <code>LOCATION_FORWARD</code>, 
+       * then on subsequent requests, <code>effective_target</code> will 
+       * contain the forwarded IOR while target will remain unchanged. 
+       *
+       * @see #target
+       */
+  org.omg.CORBA.Object effective_target ();
+
+  /**
+       * Returns the profile that will be used to send the request. If a 
+       * location forward has occurred for this operation's object and 
+       * that object's profile changed accordingly, then this profile will 
+       * be that located profile.
+       */
+  org.omg.IOP.TaggedProfile effective_profile ();
+
+  /** 
+       * Returns an any which contains the exception to be returned to 
+       * the client. 
+       * <p>
+       * If the exception is a user exception which cannot be inserted 
+       * into an any (e.g., it is unknown or the bindings don t provide 
+       * the <code>TypeCode</code>), then this attribute will be an any 
+       * containing the system exception <code>UNKNOWN</code> with a 
+       * standard minor code of 1. However, the repository id of 
+       * the exception is available in the <code>received_exception_id</code> 
+       * attribute.
+       * 
+       * @see #received_exception_id
+       */
+  org.omg.CORBA.Any received_exception ();
+
+  /**
+       * Returns the repository id of the exception to be returned to 
+       * the client.
+       *
+       * @see #received_exception
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  String received_exception_id ();
+
+  /** 
+       * Returns the <code>IOP.TaggedComponent</code> with the given ID from 
+       * the profile selected for this request. 
+       * <p>
+       * If there is more than one component for a given component ID, it 
+       * is undefined which component this operation returns. If there is 
+       * more than one component for a given component ID, 
+       * <code>get_effective_components</code> should be called instead. 
+       * 
+       * @param id The component id of the component which 
+       *     is to be returned. 
+       * @return The <code>IOP.TaggedComponent</code> obtained with the 
+       *     given identifier.
+       * @exception BAD_PARAM thrown, with a standard minor code of 28, if
+       *     no component exists for the given component ID.
+       * @see #get_effective_components
+       */
+  org.omg.IOP.TaggedComponent get_effective_component (int id);
+
+  /**
+       * Returns an array of all tagged components with the given ID from the 
+       * profile selected for this request. 
+       * 
+       * @param id The component id of the components which are to be returned. 
+       * @return An array of <code>TaggedComponent</code> objects, each of 
+       *     which contains the given identifier.
+       * @exception BAD_PARAM thrown, with a standard minor code of 28, if
+       *     no component exists for the given component ID.
+       * @see #get_effective_component
+       */
+  org.omg.IOP.TaggedComponent[] get_effective_components (int id);
+
+  /**
+       * Returns the given policy in effect for this operation. 
+       * 
+       * @exception INV_POLICY thrown, with a standard minor code of 1, if the 
+       *     policy type is not valid either because the specified type is 
+       *     not supported by this ORB or because a policy object of that type 
+       *     is not associated with this Object
+       * @param type The policy type which specifies the policy to be 
+       *     returned. 
+       * @return The <code>CORBA.Policy</code> obtained with the given type.
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  org.omg.CORBA.Policy get_request_policy (int type);
+
+  /** 
+       * Allows Interceptors to add service contexts to the request. 
+       * <p>
+       * There is no declaration of the order of the service contexts. 
+       * They may or may not appear in the order that they are added. 
+       *
+       * @param service_context The <code>IOP.ServiceContext</code> to be 
+       *     added to the request. 
+       * @param replace Indicates the behavior of this operation when a 
+       *     service context already exists with the given ID. If false, 
+       *     then <code>BAD_INV_ORDER</code> with a standard minor code of 15 
+       *     is thrown. If true, then the existing service context is 
+       *     replaced by the new one.
+       */
+  void add_request_service_context (org.omg.IOP.ServiceContext service_context, boolean replace);
+} // interface ClientRequestInfoOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ClientRequestInterceptor.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ClientRequestInterceptor.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Client-side request interceptor.
+   * <p>
+   * A request Interceptor is designed to intercept the flow of a 
+   * request/reply sequence through the ORB at specific points so that 
+   * services can query the request information and manipulate the service 
+   * contexts which are propagated between clients and servers. The primary 
+   * use of request Interceptors is to enable ORB services to transfer 
+   * context information between clients and servers. There are two types 
+   * of request Interceptors: client-side and server-side. 
+   * <p>
+   * To write a client-side Interceptor, implement the 
+   * <code>ClientRequestInterceptor</code> interface. 
+   *
+   * @see ClientRequestInfo
+   */
+public interface ClientRequestInterceptor extends ClientRequestInterceptorOperations, org.omg.PortableInterceptor.Interceptor, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ClientRequestInterceptor
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,193 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ClientRequestInterceptorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Client-side request interceptor.
+   * <p>
+   * A request Interceptor is designed to intercept the flow of a 
+   * request/reply sequence through the ORB at specific points so that 
+   * services can query the request information and manipulate the service 
+   * contexts which are propagated between clients and servers. The primary 
+   * use of request Interceptors is to enable ORB services to transfer 
+   * context information between clients and servers. There are two types 
+   * of request Interceptors: client-side and server-side. 
+   * <p>
+   * To write a client-side Interceptor, implement the 
+   * <code>ClientRequestInterceptor</code> interface. 
+   *
+   * @see ClientRequestInfo
+   */
+public interface ClientRequestInterceptorOperations  extends org.omg.PortableInterceptor.InterceptorOperations
+{
+
+  /**
+       * Allows an Interceptor to query request information and modify the 
+       * service context before the request is sent to the server.
+       * <p>
+       * This interception point may throw a system exception. If it does, 
+       * no other Interceptors' <code>send_request</code> operations are called. 
+       * Those Interceptors on the Flow Stack are popped and their 
+       * <code>receive_exception</code> interception points are called. This 
+       * interception point may also throw a <code>ForwardRequest</code> 
+       * exception. If an Interceptor throws this exception, no other 
+       * Interceptors' <code>send_request</code> operations are 
+       * called. Those Interceptors on the Flow Stack are popped and their 
+       * <code>receive_other</code> interception points are called. 
+       * <p>
+       * Compliant Interceptors shall properly follow completion_status 
+       * semantics if they throw a system exception from this interception 
+       * point. The <code>completion_status</code> shall be 
+       * <code>COMPLETED_NO</code>.
+       *
+       * @param ri Information about the current request being intercepted.
+       * @exception ForwardRequest If thrown, indicates to the ORB that a
+       *     retry of the request should occur with the new object given in
+       *     the exception.
+       */
+  void send_request (org.omg.PortableInterceptor.ClientRequestInfo ri) throws org.omg.PortableInterceptor.ForwardRequest;
+
+  /**
+       * Allows an Interceptor to query information during a Time-Independent 
+       * Invocation (TII) polling get reply sequence. 
+       * <p>
+       * With TII, an application may poll for a response to a request sent 
+       * previously by the polling client or some other client. This poll is 
+       * reported to Interceptors through the <code>send_poll</code> 
+       * interception point and the response is returned through the 
+       * <code>receive_reply</code> or <code>receive_exception</code> 
+       * interception points.  If the response is not available before the
+       * poll time-out expires, the system exception <code>TIMEOUT</code> is
+       * thrown and <code>receive_exception</code> is called with this 
+       * exception. 
+       * <p>
+       * This interception point may throw a system exception. If it does, 
+       * no other Interceptors' <code>send_poll</code> operations are 
+       * called. Those Interceptors on the Flow Stack are popped and their 
+       * <code>receive_exception</code> interception points are called. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. The completion_status shall be 
+       * <code>COMPLETED_NO</code>.
+       * 
+       * @param ri Information about the current request being intercepted.
+       * @exception TIMEOUT thrown if the response is not available before 
+       *     the poll time-out expires
+       */
+  void send_poll (org.omg.PortableInterceptor.ClientRequestInfo ri);
+
+  /**
+       * Allows an Interceptor to query the information on a reply after it 
+       * is returned from the server and before control is returned to the 
+       * client. 
+       * <p>
+       * This interception point may throw a system exception. If it does, 
+       * no other Interceptors' <code>receive_reply</code> operations are 
+       * called. The remaining Interceptors in the Flow Stack shall have 
+       * their <code>receive_exception</code> interception point called. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. The 
+       * <code>completion_status</code> shall be <code>COMPLETED_YES</code>.
+       *
+       * @param ri Information about the current request being intercepted.
+       */
+  void receive_reply (org.omg.PortableInterceptor.ClientRequestInfo ri);
+
+  /**
+       * Indicates to the interceptor that an exception occurred.  Allows
+       * an Interceptor to query the exception's information before it is 
+       * thrown to the client.
+       * <p>
+       * This interception point may throw a system exception. This has the 
+       * effect of changing the exception which successive Interceptors 
+       * popped from the Flow Stack receive on their calls to 
+       * <code>receive_exception</code>. The exception thrown to the client 
+       * will be the last exception thrown by an Interceptor, or the original 
+       * exception if no Interceptor changes the exception. 
+       * <p>
+       * This interception point may also throw a <code>ForwardRequest</code> 
+       * exception.  If an Interceptor throws this exception, no other 
+       * Interceptors' <code>receive_exception</code> operations are called. 
+       * The remaining Interceptors in the Flow Stack are popped and have their 
+       * <code>receive_other</code> interception point called. 
+       * <p>
+       * If the <code>completion_status</code> of the exception is not 
+       * <code>COMPLETED_NO</code>, then it is inappropriate for this 
+       * interception point to throw a <code>ForwardRequest</code> exception. 
+       * The request s at-most-once semantics would be lost. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. If the original exception is 
+       * a system exception, the <code>completion_status</code> of the new 
+       * exception shall be the same as on the original. If the original 
+       * exception is a user exception, then the <code>completion_status</code> 
+       * of the new exception shall be <code>COMPLETED_YES</code>. 
+       * <p>
+       * Under some conditions, depending on what policies are in effect, an 
+       * exception (such as <code>COMM_FAILURE</code>) may result in a retry 
+       * of the request. While this retry is a new request with respect to 
+       * Interceptors, there is one point of correlation between the original 
+       * request and the retry: because control has not returned to the 
+       * client, the <code>PortableInterceptor.Current</code> for both the 
+       * original request and the retrying request is the same.
+       *
+       * @param ri Information about the current request being intercepted.
+       * @exception ForwardRequest If thrown, indicates to the ORB that a
+       *     retry of the request should occur with the new object given in
+       *     the exception.
+       */
+  void receive_exception (org.omg.PortableInterceptor.ClientRequestInfo ri) throws org.omg.PortableInterceptor.ForwardRequest;
+
+  /**
+       * Allows an Interceptor to query the information available when a 
+       * request results in something other than a normal reply or an 
+       * exception. For example, a request could result in a retry 
+       * (e.g., a GIOP Reply with a <code>LOCATION_FORWARD</code> status was 
+       * received); or on asynchronous calls, the reply does not immediately 
+       * follow the request, but control shall return to the client and an 
+       * ending interception point shall be called. 
+       * <p>
+       * For retries, depending on the policies in effect, a new request may or 
+       * may not follow when a retry has been indicated. If a new request does 
+       * follow, while this request is a new request, with respect to 
+       * Interceptors, there is one point of correlation between the original 
+       * request and the retry: because control has not returned to the client, 
+       * the request scoped <code>PortableInterceptor.Current</code> for both 
+       * the original request and the retrying request is the same.  
+       * <p>
+       * This interception point may throw a system exception. If it does, no 
+       * other Interceptors' <code>receive_other</code> operations are called. 
+       * The remaining Interceptors in the Flow Stack are popped and have 
+       * their <code>receive_exception</code> interception point called.
+       * <p>
+       * This interception point may also throw a <code>ForwardRequest</code> 
+       * exception.  If an Interceptor throws this exception, successive 
+       * Interceptors' <code>receive_other</code> operations are called with 
+       * the new information provided by the <code>ForwardRequest</code> 
+       * exception. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. The 
+       * <code>completion_status</code> shall be <code>COMPLETED_NO</code>. 
+       * If the target invocation had completed, this interception point 
+       * would not be called.
+       * 
+       * @param ri Information about the current request being intercepted.
+       * @exception ForwardRequest If thrown, indicates to the ORB that a
+       *     retry of the request should occur with the new object given in
+       *     the exception.
+       */
+  void receive_other (org.omg.PortableInterceptor.ClientRequestInfo ri) throws org.omg.PortableInterceptor.ForwardRequest;
+} // interface ClientRequestInterceptorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/Current.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/Current.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Portable Interceptors Current (also known as <code>PICurrent</code>) 
+   * is merely a slot table, the slots of which are used by each service to 
+   * transfer their context data between their context and the request's or 
+   * reply's service context. Each service which wishes to use PICurrent 
+   * reserves a slot or slots at initialization time and uses those slots 
+   * during the processing of requests and replies.
+   * <p>
+   * Before an invocation is made, PICurrent is obtained via a call to 
+   * <code>ORB.resolve_initial_references( "PICurrent" )</code>. From within 
+   * the interception points, the data on PICurrent that has moved from the 
+   * thread scope to the request scope is available via the 
+   * <code>get_slot</code> operation on the <code>RequestInfo</code> object. 
+   * A PICurrent can still be obtained via 
+   * <code>resolve_initial_references</code>, but that is the Interceptor's 
+   * thread scope PICurrent.
+   */
+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/PortableInterceptor/CurrentHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,91 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/CurrentHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Portable Interceptors Current (also known as <code>PICurrent</code>) 
+   * is merely a slot table, the slots of which are used by each service to 
+   * transfer their context data between their context and the request's or 
+   * reply's service context. Each service which wishes to use PICurrent 
+   * reserves a slot or slots at initialization time and uses those slots 
+   * during the processing of requests and replies.
+   * <p>
+   * Before an invocation is made, PICurrent is obtained via a call to 
+   * <code>ORB.resolve_initial_references( "PICurrent" )</code>. From within 
+   * the interception points, the data on PICurrent that has moved from the 
+   * thread scope to the request scope is available via the 
+   * <code>get_slot</code> operation on the <code>RequestInfo</code> object. 
+   * A PICurrent can still be obtained via 
+   * <code>resolve_initial_references</code>, but that is the Interceptor's 
+   * thread scope PICurrent.
+   */
+abstract public class CurrentHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/Current:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.Current 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.PortableInterceptor.Current 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.PortableInterceptor.CurrentHelper.id (), "Current");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.Current 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.PortableInterceptor.Current value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.PortableInterceptor.Current narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableInterceptor.Current)
+      return (org.omg.PortableInterceptor.Current)obj;
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  public static org.omg.PortableInterceptor.Current unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableInterceptor.Current)
+      return (org.omg.PortableInterceptor.Current)obj;
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/CurrentOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/CurrentOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Portable Interceptors Current (also known as <code>PICurrent</code>) 
+   * is merely a slot table, the slots of which are used by each service to 
+   * transfer their context data between their context and the request's or 
+   * reply's service context. Each service which wishes to use PICurrent 
+   * reserves a slot or slots at initialization time and uses those slots 
+   * during the processing of requests and replies.
+   * <p>
+   * Before an invocation is made, PICurrent is obtained via a call to 
+   * <code>ORB.resolve_initial_references( "PICurrent" )</code>. From within 
+   * the interception points, the data on PICurrent that has moved from the 
+   * thread scope to the request scope is available via the 
+   * <code>get_slot</code> operation on the <code>RequestInfo</code> object. 
+   * A PICurrent can still be obtained via 
+   * <code>resolve_initial_references</code>, but that is the Interceptor's 
+   * thread scope PICurrent.
+   */
+public interface CurrentOperations  extends org.omg.CORBA.CurrentOperations
+{
+
+  /**
+       * Retrieves the slot data the application set in PICurrent via 
+       * <code>get_slot</code>.  The data is in the form of an Any. 
+       * <p>
+       * If the given slot has not been set, an Any containing a type code 
+       * with a <code>TCKind</code> value of <code>tk_null</code> and no value 
+       * is returned. 
+       *
+       * @param id The <code>SlotId</code> of the slot from which the data will 
+       *     be returned. 
+       * @return The data, in the form of an Any, of the given slot identifier.
+       * @exception InvalidSlot thrown if get_slot is called on a slot that 
+       *     has not been allocated. 
+       * @exception BAD_INV_ORDER thrown if <code>get_slot</code> is called 
+       *     from within an ORB initializer 
+       */
+  org.omg.CORBA.Any get_slot (int id) throws org.omg.PortableInterceptor.InvalidSlot;
+
+  /**
+       * Sets data in a slot. The data is in the form of an Any. If data 
+       * already exists in that slot, it is overridden. 
+       *
+       * @param id The <code>SlotId</code> of the slot to which the data will 
+       *     be set. 
+       * @param data The data, in the form of an Any, which will be set 
+       *     to the identified slot. 
+       * @exception InvalidSlot thrown if <code>set_slot</code> is called on 
+       *     a slot that has not been allocated.
+       * @exception BAD_INV_ORDER thrown if <code>set_slot</code> is called 
+       *     from within an ORB initializer. 
+       */
+  void set_slot (int id, org.omg.CORBA.Any data) throws org.omg.PortableInterceptor.InvalidSlot;
+} // interface CurrentOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/DISCARDING.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,17 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/DISCARDING.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface DISCARDING
+{
+
+  /** Object adapter state that causes all requests to be discarded.
+     */
+  public static final short value = (short)(2);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ForwardRequest.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,37 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ForwardRequest.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public final class ForwardRequest extends org.omg.CORBA.UserException
+{
+
+  /** 
+       * The new object to forward the request to.
+       */
+  public org.omg.CORBA.Object forward = null;
+
+  public ForwardRequest ()
+  {
+    super(ForwardRequestHelper.id());
+  } // ctor
+
+  public ForwardRequest (org.omg.CORBA.Object _forward)
+  {
+    super(ForwardRequestHelper.id());
+    forward = _forward;
+  } // ctor
+
+
+  public ForwardRequest (String $reason, org.omg.CORBA.Object _forward)
+  {
+    super(ForwardRequestHelper.id() + "  " + $reason);
+    forward = _forward;
+  } // ctor
+
+} // class ForwardRequest
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ForwardRequestHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ForwardRequestHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+abstract public class ForwardRequestHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ForwardRequest:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.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.PortableInterceptor.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",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableInterceptor.ForwardRequestHelper.id (), "ForwardRequest", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.ForwardRequest read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableInterceptor.ForwardRequest value = new org.omg.PortableInterceptor.ForwardRequest ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.forward = org.omg.CORBA.ObjectHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableInterceptor.ForwardRequest value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    org.omg.CORBA.ObjectHelper.write (ostream, value.forward);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/HOLDING.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,18 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/HOLDING.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface HOLDING
+{
+
+  /** Object adapter state that holds requests temporarily until the 
+     * state is changed.
+     */
+  public static final short value = (short)(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/INACTIVE.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,18 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/INACTIVE.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface INACTIVE
+{
+
+  /** Object adapter state that causes all requests to be discarded.
+     * This state indicates that the adapter is shutting down.
+     */
+  public static final short value = (short)(3);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,22 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/IORInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Provides the server-side ORB service with access to the applicable 
+   * policies during IOR construction and the ability to add components. 
+   * The ORB passes an instance of its implementation of this interface as 
+   * a parameter to <code>IORInterceptor.establish_components</code>.
+   *
+   * @see IORInterceptor
+   */
+public interface IORInfo extends IORInfoOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface IORInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInfoOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,106 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/IORInfoOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Provides the server-side ORB service with access to the applicable 
+   * policies during IOR construction and the ability to add components. 
+   * The ORB passes an instance of its implementation of this interface as 
+   * a parameter to <code>IORInterceptor.establish_components</code>.
+   *
+   * @see IORInterceptor
+   */
+public interface IORInfoOperations 
+{
+
+  /**
+       * Allows an ORB service implementation to determine what server side 
+       * policy of a particular type is in effect for an IOR being 
+       * constructed.  When the IOR being constructed is for an object 
+       * implemented using a POA, all Policy objects passed to the 
+       * <code>PortableServer.POA.create_POA</code> call that created that 
+       * POA are accessable via <code>get_effective_policy</code>. 
+       * <p>
+       * If a policy for the given type is not known to the ORB, then this 
+       * operation will throw <code>INV_POLICY</code> with a standard minor 
+       * code of 2. 
+       * 
+       * @param type an int specifying the type of policy to return. 
+       * @return The effective <code>CORBA.Policy</code> object of the 
+       *     requested type. If the given policy type is known, but no policy 
+       *     of that type is in effect, then this operation will return a 
+       *     nil object reference.
+       */
+  org.omg.CORBA.Policy get_effective_policy (int type);
+
+  /**
+       * A portable ORB service implementation calls 
+       * <code>add_ior_component</code> from its implementation of 
+       * <code>establish_components</code> to add a tagged component to the 
+       * set which will be included when constructing IORs. The components in 
+       * this set will be included in all profiles. 
+       * <p>
+       * Any number of components may exist with the same component ID. 
+       * 
+       * @param a_component The IOP.TaggedComponent to add.
+       */
+  void add_ior_component (org.omg.IOP.TaggedComponent tagged_component);
+
+  /**
+       * A portable ORB service implementation calls 
+       * <code>add_ior_component_to_profile</code> from its implementation of 
+       * <code>establish_components</code> to add a tagged component to the 
+       * set which will be included when constructing IORs. The components in 
+       * this set will be included in the specified profile. 
+       * <p>
+       * Any number of components may exist with the same component ID. 
+       * 
+       * @param a_component The <code>IOP.TaggedComponent</code> to add. 
+       * @param profile_id The profile id of the profile to 
+       *     which this component will be added.
+       * @exception BAD_PARAM thrown, with a standard minor code of 29, if the 
+       *     given profile ID does not define a known profile or it is 
+       *     impossible to add components to that profile.
+       */
+  void add_ior_component_to_profile (org.omg.IOP.TaggedComponent tagged_component, int profile_id);
+
+  /** Return the adapter manager id of the object adapter
+       * that was just created and is running IOR interceptors.
+       */
+  int manager_id ();
+
+  /** Return the adapter state of the object adapter
+       * that was just created and is running IOR interceptors.
+       */
+  short state ();
+
+  /** Return the object reference template of the object adapter
+       * that was just created and is running IOR interceptors.
+       */
+  org.omg.PortableInterceptor.ObjectReferenceTemplate adapter_template ();
+
+  /** On read, returns the current factory that will be used to create
+       * object references for the object adapter that was just created
+       * and is running IOR interceptors.  By default, this factory is the same
+       * as the value of the adapter_template attribute.  The current_factory 
+       * may also be set to another object reference template inside an
+       * IORInterceptor_3_0.
+       */
+  org.omg.PortableInterceptor.ObjectReferenceFactory current_factory ();
+
+  /** On read, returns the current factory that will be used to create
+       * object references for the object adapter that was just created
+       * and is running IOR interceptors.  By default, this factory is the same
+       * as the value of the adapter_template attribute.  The current_factory 
+       * may also be set to another object reference template inside an
+       * IORInterceptor_3_0.
+       */
+  void current_factory (org.omg.PortableInterceptor.ObjectReferenceFactory newCurrent_factory);
+} // interface IORInfoOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInterceptor.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,28 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/IORInterceptor.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Interceptor used to establish tagged components in the profiles within 
+   * an IOR.
+   * <p>
+   * In some cases, a portable ORB service implementation may need to add 
+   * information describing the server's or object's ORB service related 
+   * capabilities to object references in order to enable the ORB service 
+   * implementation in the client to function properly. 
+   * <p>
+   * This is supported through the <code>IORInterceptor</code> and 
+   * <code>IORInfo</code> interfaces. 
+   *
+   * @see IORInfo
+   */
+public interface IORInterceptor extends IORInterceptorOperations, org.omg.PortableInterceptor.Interceptor, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface IORInterceptor
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInterceptorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,50 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/IORInterceptorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Interceptor used to establish tagged components in the profiles within 
+   * an IOR.
+   * <p>
+   * In some cases, a portable ORB service implementation may need to add 
+   * information describing the server's or object's ORB service related 
+   * capabilities to object references in order to enable the ORB service 
+   * implementation in the client to function properly. 
+   * <p>
+   * This is supported through the <code>IORInterceptor</code> and 
+   * <code>IORInfo</code> interfaces. 
+   *
+   * @see IORInfo
+   */
+public interface IORInterceptorOperations  extends org.omg.PortableInterceptor.InterceptorOperations
+{
+
+  /**
+       * A server side ORB calls the <code>establish_components</code> 
+       * operation on all registered <code>IORInterceptor</code> instances 
+       * when it is assembling the list of components that will be included 
+       * in the profile or profiles of an object reference. This operation 
+       * is not necessarily called for each individual object reference. 
+       * In the case of the POA, this operation is called each time POA::create_POA
+       * is called.  In any case, <code>establish_components</code> is 
+       * guaranteed to be called at least once for each distinct set of 
+       * server policies. 
+       * <p>
+       * An implementation of <code>establish_components</code> must not 
+       * throw exceptions. If it does, the ORB shall ignore the exception 
+       * and proceed to call the next IOR Interceptor's 
+       * <code>establish_components</code> operation. 
+       *
+       * @param info The <code>IORInfo</code> instance used by the ORB 
+       *     service to query applicable policies and add components to be 
+       *     included in the generated IORs.
+       */
+  void establish_components (org.omg.PortableInterceptor.IORInfo info);
+} // interface IORInterceptorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInterceptor_3_0.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,13 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/IORInterceptor_3_0.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface IORInterceptor_3_0 extends IORInterceptor_3_0Operations, org.omg.PortableInterceptor.IORInterceptor, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface IORInterceptor_3_0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,73 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/IORInterceptor_3_0Helper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+abstract public class IORInterceptor_3_0Helper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/IORInterceptor_3_0:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.IORInterceptor_3_0 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.PortableInterceptor.IORInterceptor_3_0 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.PortableInterceptor.IORInterceptor_3_0Helper.id (), "IORInterceptor_3_0");
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.IORInterceptor_3_0 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.PortableInterceptor.IORInterceptor_3_0 value)
+  {
+      throw new org.omg.CORBA.MARSHAL ();
+  }
+
+  public static org.omg.PortableInterceptor.IORInterceptor_3_0 narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableInterceptor.IORInterceptor_3_0)
+      return (org.omg.PortableInterceptor.IORInterceptor_3_0)obj;
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+  public static org.omg.PortableInterceptor.IORInterceptor_3_0 unchecked_narrow (org.omg.CORBA.Object obj)
+  {
+    if (obj == null)
+      return null;
+    else if (obj instanceof org.omg.PortableInterceptor.IORInterceptor_3_0)
+      return (org.omg.PortableInterceptor.IORInterceptor_3_0)obj;
+    else
+      throw new org.omg.CORBA.BAD_PARAM ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,38 @@
+package org.omg.PortableInterceptor;
+
+/**
+* org/omg/PortableInterceptor/IORInterceptor_3_0Holder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public final class IORInterceptor_3_0Holder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.PortableInterceptor.IORInterceptor_3_0 value = null;
+
+  public IORInterceptor_3_0Holder ()
+  {
+  }
+
+  public IORInterceptor_3_0Holder (org.omg.PortableInterceptor.IORInterceptor_3_0 initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.PortableInterceptor.IORInterceptor_3_0Helper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.PortableInterceptor.IORInterceptor_3_0Helper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.PortableInterceptor.IORInterceptor_3_0Helper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/IORInterceptor_3_0Operations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,47 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/IORInterceptor_3_0Operations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface IORInterceptor_3_0Operations  extends org.omg.PortableInterceptor.IORInterceptorOperations
+{
+
+  /** The components_established method is invoked on all registered 
+       * IORInterceptor_3_0 instances after establish_components
+       * has been invoked on all registered IORInterceptor instances.
+       * The adapter_template is available in info during this call.
+       * The current_factory may be get or set in info during this call.
+       * <p>
+       * Any exception thrown from this method is handled by the Object 
+       * Adapter that called this interceptor.  In the case of the POA,
+       * an exception results in a OBJ_ADAPTER exception with an OMG
+       * standard minor code of 6.
+       * @param info The IORInfo for the object adapter being created.
+       */
+  void components_established (org.omg.PortableInterceptor.IORInfo info);
+
+  /** Called whenever the state of an adapter manager changes.
+       * For the POA, that is the POAManager.  If the state change
+       * is reported through <code>adapter_manager_state_changed</code>,
+       * it is not reported through <code>adapter_state_changed</code>.
+       * @param id the adapter manager id of the adapter manager that 
+       * changed state
+       * @param state the new state of the adapter manager
+       */
+  void adapter_manager_state_changed (int id, short state);
+
+  /** Called whenever the state of an object adapter changes, and
+       * the state change is not caused by an adapter manager.  Such
+       * changes are reported to all registered <code>IORInterceptor_3_0</code> 
+       * instances.
+       * @param templates the sequence of <code>ObjectReferenceTemplate</code> instances
+       *     on which this state change occurred.
+       * @param state the new <code>AdapterState</code> shared by all of the templates.
+       */
+  void adapter_state_changed (org.omg.PortableInterceptor.ObjectReferenceTemplate[] templates, short state);
+} // interface IORInterceptor_3_0Operations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/Interceptor.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,17 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/Interceptor.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * All Portable Interceptors implement Interceptor.
+   */
+public interface Interceptor extends InterceptorOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface Interceptor
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/InterceptorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,50 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/InterceptorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * All Portable Interceptors implement Interceptor.
+   */
+public interface InterceptorOperations 
+{
+
+  /**
+       * Returns the name of the interceptor.
+       * <p>
+       * Each Interceptor may have a name that may be used administratively 
+       * to order the lists of Interceptors. Only one Interceptor of a given 
+       * name can be registered with the ORB for each Interceptor type. An 
+       * Interceptor may be anonymous, i.e., have an empty string as the name 
+       * attribute. Any number of anonymous Interceptors may be registered with 
+       * the ORB.
+       *
+       * @return the name of the interceptor.
+       */
+  String name ();
+
+  /**
+       * Provides an opportunity to destroy this interceptor.
+       * The destroy method is called during <code>ORB.destroy</code>. When an 
+       * application calls <code>ORB.destroy</code>, the ORB:
+       * <ol>
+       *   <li>waits for all requests in progress to complete</li>
+       *   <li>calls the <code>Interceptor.destroy</code> operation for each 
+       *       interceptor</li>
+       *   <li>completes destruction of the ORB</li>
+       * </ol>
+       * Method invocations from within <code>Interceptor.destroy</code> on 
+       * object references for objects implemented on the ORB being destroyed 
+       * result in undefined behavior. However, method invocations on objects 
+       * implemented on an ORB other than the one being destroyed are 
+       * permitted. (This means that the ORB being destroyed is still capable 
+       * of acting as a client, but not as a server.) 
+       */
+  void destroy ();
+} // interface InterceptorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/InvalidSlot.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/InvalidSlot.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public final class InvalidSlot extends org.omg.CORBA.UserException
+{
+
+  public InvalidSlot ()
+  {
+    super(InvalidSlotHelper.id());
+  } // ctor
+
+
+  public InvalidSlot (String $reason)
+  {
+    super(InvalidSlotHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidSlot
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/InvalidSlotHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/InvalidSlotHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+abstract public class InvalidSlotHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/InvalidSlot:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.InvalidSlot 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.PortableInterceptor.InvalidSlot 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.PortableInterceptor.InvalidSlotHelper.id (), "InvalidSlot", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.InvalidSlot read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableInterceptor.InvalidSlot value = new org.omg.PortableInterceptor.InvalidSlot ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableInterceptor.InvalidSlot value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/LOCATION_FORWARD.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/LOCATION_FORWARD.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface LOCATION_FORWARD
+{
+
+  /**
+     * Indicates a LocationForward reply status. One possible value for 
+     * <code>RequestInfo.reply_status</code>.
+     * @see RequestInfo#reply_status
+     * @see SUCCESSFUL
+     * @see SYSTEM_EXCEPTION
+     * @see USER_EXCEPTION
+     * @see TRANSPORT_RETRY
+     */
+  public static final short value = (short)(3);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/NON_EXISTENT.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,17 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/NON_EXISTENT.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface NON_EXISTENT
+{
+
+  /** Object adapter state indicating that the adapter has been destroyed.
+     */
+  public static final short value = (short)(4);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ORBIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+// This should actually be the CORBA::ORBid type once that is available
+abstract public class ORBIdHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ORBId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ORBIdHelper.id (), "ORBId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,27 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** 
+   * Passed to each <code>ORBInitializer</code>, allowing it to
+   * to register interceptors and perform other duties while the ORB is 
+   * initializing.
+   * <p>
+   * The <code>ORBInitInfo</code> object is only valid during 
+   * <code>ORB.init</code>.  If a service keeps a reference to its 
+   * <code>ORBInitInfo</code> object and tries to use it after 
+   * <code>ORB.init</code> returns, the object no longer exists and an 
+   * <code>OBJECT_NOT_EXIST</code> exception shall be thrown.
+   *
+   * @see ORBInitializer
+   */
+public interface ORBInitInfo extends ORBInitInfoOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ORBInitInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitInfoOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,134 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitInfoOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** 
+   * Passed to each <code>ORBInitializer</code>, allowing it to
+   * to register interceptors and perform other duties while the ORB is 
+   * initializing.
+   * <p>
+   * The <code>ORBInitInfo</code> object is only valid during 
+   * <code>ORB.init</code>.  If a service keeps a reference to its 
+   * <code>ORBInitInfo</code> object and tries to use it after 
+   * <code>ORB.init</code> returns, the object no longer exists and an 
+   * <code>OBJECT_NOT_EXIST</code> exception shall be thrown.
+   *
+   * @see ORBInitializer
+   */
+public interface ORBInitInfoOperations 
+{
+
+  /** 
+       * Returns the arguments passed to <code>ORB.init</code>.  They may or
+       * may not contain the ORB's arguments.
+       */
+  String[] arguments ();
+
+  /** 
+       * Returns the ID of the ORB being initialized.
+       */
+  String orb_id ();
+
+  /** 
+       * Returns the <code>IOP.CodecFactory</code>. The 
+       * <code>CodecFactory</code> is normally obtained via a call to 
+       * <code>ORB.resolve_initial_references( "CodecFactory" )</code>, but 
+       * since the ORB is not yet available and Interceptors, particularly when 
+       * processing service contexts, will require a <code>Codec</code>, a 
+       * means of obtaining a <code>Codec</code> is necessary during ORB 
+       * initialization.
+       */
+  org.omg.IOP.CodecFactory codec_factory ();
+
+  /** 
+       * Identical to <code>ORB.register_initial_reference</code>. This same 
+       * functionality exists here because the ORB, not yet fully initialized, 
+       * is not yet available but initial references may need to be 
+       * registered as part of Interceptor registration. The only difference 
+       * is that the version of this operation on the ORB uses PIDL 
+       * (<code>CORBA.ORB.ObjectId</code>) and 
+       * (<code>CORBA.ORB.InvalidName</code>) whereas the version in this 
+       * interface uses IDL defined in this interface; the semantics are 
+       * identical.
+       */
+  void register_initial_reference (String id, org.omg.CORBA.Object obj) throws org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName;
+
+  /**
+       * Identical to <code>ORB.resolve_initial_references</code>. This same 
+       * functionality exists here because the ORB, not yet fully initialized, 
+       * is not yet available but initial references may be required from the 
+       * ORB as part of Interceptor registration. The only difference is that 
+       * the version of this operation on the ORB uses PIDL 
+       * (<code>CORBA::ORB::ObjectId</code> and 
+       * <code>CORBA::ORB::InvalidName</code>) whereas the version in this 
+       * interface uses IDL defined in this interface; the semantics 
+       * are identical.
+       * <p>
+       * This operation is only valid during post_init.
+       */
+  org.omg.CORBA.Object resolve_initial_references (String id) throws org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName;
+
+  /**
+       * Used to add a client-side request Interceptor to the list of 
+       * client-side request Interceptors.  
+       *
+       * @param interceptor The <code>ClientRequestInterceptor</code> to be 
+       *     added.
+       * @exception DuplicateName thrown if a client-side request Interceptor 
+       *     has already been registered with this Interceptor's name.
+       */
+  void add_client_request_interceptor (org.omg.PortableInterceptor.ClientRequestInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
+
+  /** 
+       * Used to add a server-side request Interceptor to the list of 
+       * server-side request Interceptors.
+       *
+       * @param interceptor The ServerRequestInterceptor to be added.
+       * @exception DuplicateName thrown if a server-side request Interceptor 
+       *     has already been registered with this Interceptor's name
+       */
+  void add_server_request_interceptor (org.omg.PortableInterceptor.ServerRequestInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
+
+  /**
+       * Used to add an IOR Interceptor to the list of IOR Interceptors. 
+       *
+       * @param interceptor The IORInterceptor to be added.
+       * @exception DuplicateName thrown if an IOR Interceptor has already 
+       *     been registered with this Interceptor's name. 
+       */
+  void add_ior_interceptor (org.omg.PortableInterceptor.IORInterceptor interceptor) throws org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName;
+
+  /**
+       * Called to allocate a slot on <code>PortableInterceptor.Current</code>. 
+       * <p>
+       * Note that while slot id's can be allocated within an ORB initializer, 
+       * the slots themselves cannot be initialized. 
+       *
+       * @return The index to the slot which has been allocated.
+       * @exception BAD_INV_ORDER thrown, with a standard minor code of 14, if 
+       *     <code>set_slot</code> or <code>get_slot</code> is called on the 
+       *     <code>PICurrent</code> within an ORB initializer. 
+       * @see Current
+       */
+  int allocate_slot_id ();
+
+  /**
+       * Registers a <code>PolicyFactory</code> for the given 
+       * <code>PolicyType</code>. 
+       * 
+       * @param type The policy type that the given <code>PolicyFactory</code> 
+       *     serves. 
+       * @param policy_factory The factory for the given policy type.
+       * @exception BAD_INV_ORDER thrown, with a standard minor code of 16, if 
+       *     a <code>PolicyFactory</code> already exists for the given 
+       *     <code>PolicyType</code>.
+       */
+  void register_policy_factory (int type, org.omg.PortableInterceptor.PolicyFactory policy_factory);
+} // interface ORBInitInfoOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,37 @@
+package org.omg.PortableInterceptor.ORBInitInfoPackage;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateName.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public final class DuplicateName extends org.omg.CORBA.UserException
+{
+
+  /** 
+         * The name for which there was already an interceptor registered.
+         */
+  public String name = null;
+
+  public DuplicateName ()
+  {
+    super(DuplicateNameHelper.id());
+  } // ctor
+
+  public DuplicateName (String _name)
+  {
+    super(DuplicateNameHelper.id());
+    name = _name;
+  } // ctor
+
+
+  public DuplicateName (String $reason, String _name)
+  {
+    super(DuplicateNameHelper.id() + "  " + $reason);
+    name = _name;
+  } // ctor
+
+} // class DuplicateName
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+package org.omg.PortableInterceptor.ORBInitInfoPackage;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitInfoPackage/DuplicateNameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+abstract public class DuplicateNameHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ORBInitInfo/DuplicateName:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName 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.PortableInterceptor.ORBInitInfoPackage.DuplicateName 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 ().create_string_tc (0);
+          _members0[0] = new org.omg.CORBA.StructMember (
+            "name",
+            _tcOf_members0,
+            null);
+          __typeCode = org.omg.CORBA.ORB.init ().create_exception_tc (org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateNameHelper.id (), "DuplicateName", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName value = new org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName ();
+    // read and discard the repository ID
+    istream.read_string ();
+    value.name = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+    ostream.write_string (value.name);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,25 @@
+package org.omg.PortableInterceptor.ORBInitInfoPackage;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidName.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public final class InvalidName extends org.omg.CORBA.UserException
+{
+
+  public InvalidName ()
+  {
+    super(InvalidNameHelper.id());
+  } // ctor
+
+
+  public InvalidName (String $reason)
+  {
+    super(InvalidNameHelper.id() + "  " + $reason);
+  } // ctor
+
+} // class InvalidName
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+package org.omg.PortableInterceptor.ORBInitInfoPackage;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitInfoPackage/InvalidNameHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+abstract public class InvalidNameHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ORBInitInfo/InvalidName:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName 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.PortableInterceptor.ORBInitInfoPackage.InvalidName 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.PortableInterceptor.ORBInitInfoPackage.InvalidNameHelper.id (), "InvalidName", _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName value = new org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName ();
+    // read and discard the repository ID
+    istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName value)
+  {
+    // write the repository ID
+    ostream.write_string (id ());
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package org.omg.PortableInterceptor.ORBInitInfoPackage;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitInfoPackage/ObjectIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** Object id, represented as a String */
+abstract public class ObjectIdHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ORBInitInfo/ObjectId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ORBInitInfoPackage.ObjectIdHelper.id (), "ObjectId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitializer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,124 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitializer.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Facilitates interceptor registration and ORB initialization.
+   * <p>
+   * Interceptors are intended to be a means by which ORB services gain 
+   * access to ORB processing, effectively becoming part of the ORB. 
+   * Since Interceptors are part of the ORB, when <code>ORB.init</code> 
+   * returns an ORB, the Interceptors shall have been registered. 
+   * Interceptors cannot be registered on an ORB after it has been 
+   * returned by a call to <code>ORB.init</code>.
+   * <p>
+   * An Interceptor is registered by registering an associated 
+   * <code>ORBInitializer</code> object which implements the 
+   * <code>ORBInitializer</code> interface. When an ORB is initializing, 
+   * it shall call each registered <code>ORBInitializer</code>, passing it 
+   * an <code>ORBInitInfo</code> object which is used to register its 
+   * Interceptor.
+   * <p>
+   * <b>Registering ORB Initializers in Java</b>
+   * <p>
+   * ORBInitializers are registered via Java ORB properties.
+   * <p>
+   * The property names are of the form: 
+   *   <blockquote><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.&lt;Service&gt;
+   *   </code></blockquote>
+   * where <code>&lt;Service&gt;</code> is the string name of a class 
+   * which implements 
+   *   <blockquote><code>
+   *     org.omg.PortableInterceptor.ORBInitializer
+   *   </code></blockquote>
+   * To avoid name collisions, the reverse DNS name convention should be 
+   * used. For example, if company X has three initializers, it could define 
+   * the following properties: 
+   * <ul>
+   *   <li><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.com.x.Init1
+   *   </code></li>
+   *   <li><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.com.x.Init2
+   *   </code></li>
+   *   <li><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.com.x.Init3
+   *   </code></li>
+   * </ul>
+   * During ORB.init, these ORB properties which begin with 
+   * <code>org.omg.PortableInterceptor.ORBInitializerClass</code> shall be 
+   * collected, the <code>&lt;Service&gt;</code> portion of each property 
+   * shall be extracted, an object shall be instantiated with the 
+   * <code>&lt;Service&gt;</code> string as its class name, and the 
+   * <code>pre_init</code> and <code>post_init</code> methods shall be 
+   * called on that object. If there are any exceptions, the ORB shall 
+   * ignore them and proceed. 
+   * <p>
+   * <b><i>Example</i></b>
+   * <p>
+   * A client-side logging service written by company X, for example, may 
+   * have the following ORBInitializer implementation: 
+   * <code><pre>
+   * package com.x.logging;
+   * 
+   * import org.omg.PortableInterceptor.Interceptor; 
+   * import org.omg.PortableInterceptor.ORBInitializer; 
+   * import org.omg.PortableInterceptor.ORBInitInfo; 
+   * 
+   * public class LoggingService implements ORBInitializer { 
+   *     void pre_init( ORBInitInfo info ) { 
+   *         // Instantiate the Logging Service s Interceptor. 
+   *         Interceptor interceptor = new LoggingInterceptor(); 
+   *
+   *         // Register the Logging Service s Interceptor. 
+   *         info.add_client_request_interceptor( interceptor ); 
+   *     } 
+   * 
+   *     void post_init( ORBInitInfo info ) { 
+   *         // This service does not need two init points. 
+   *     } 
+   * } 
+   * </pre></code>
+   * To run a program called <code>MyApp</code> using this logging 
+   * service, the user could type: 
+   *   <blockquote><code>
+   *     java 
+   *-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.x.Logging.LoggingService 
+   *     MyApp
+   *   </code></blockquote>
+   * <p>
+   * <b>Notes about Registering Interceptors</b>
+   * <p>
+   * Request Interceptors are registered on a per-ORB basis. 
+   * <p>
+   * To achieve virtual per-object Interceptors, query the policies on the 
+   * target from within the interception points to determine whether they 
+   * should do any work. 
+   * <p>
+   * To achieve virtual per-POA Interceptors, instantiate each POA with a 
+   * different ORB. While Interceptors may be ordered administratively, 
+   * there is no concept of order with respect to the registration of 
+   * Interceptors. Request Interceptors are concerned with service contexts. 
+   * Service contexts have no order, so there is no purpose for request 
+   * Interceptors to have an order. IOR Interceptors are concerned with 
+   * tagged components. Tagged components also have no order, so there 
+   * is no purpose for IOR Interceptors to have an order. 
+   * <p>
+   * Registration code should avoid using the ORB (i.e., calling 
+   * <code>ORB.init</code> with the provided <code>orb_id</code>). Since 
+   * registration occurs during ORB initialization, results of invocations 
+   * on this ORB while it is in this state are undefined. 
+   * 
+   * @see ORBInitInfo
+   */
+public interface ORBInitializer extends ORBInitializerOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ORBInitializer
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ORBInitializerOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,156 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ORBInitializerOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Facilitates interceptor registration and ORB initialization.
+   * <p>
+   * Interceptors are intended to be a means by which ORB services gain 
+   * access to ORB processing, effectively becoming part of the ORB. 
+   * Since Interceptors are part of the ORB, when <code>ORB.init</code> 
+   * returns an ORB, the Interceptors shall have been registered. 
+   * Interceptors cannot be registered on an ORB after it has been 
+   * returned by a call to <code>ORB.init</code>.
+   * <p>
+   * An Interceptor is registered by registering an associated 
+   * <code>ORBInitializer</code> object which implements the 
+   * <code>ORBInitializer</code> interface. When an ORB is initializing, 
+   * it shall call each registered <code>ORBInitializer</code>, passing it 
+   * an <code>ORBInitInfo</code> object which is used to register its 
+   * Interceptor.
+   * <p>
+   * <b>Registering ORB Initializers in Java</b>
+   * <p>
+   * ORBInitializers are registered via Java ORB properties.
+   * <p>
+   * The property names are of the form: 
+   *   <blockquote><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.&lt;Service&gt;
+   *   </code></blockquote>
+   * where <code>&lt;Service&gt;</code> is the string name of a class 
+   * which implements 
+   *   <blockquote><code>
+   *     org.omg.PortableInterceptor.ORBInitializer
+   *   </code></blockquote>
+   * To avoid name collisions, the reverse DNS name convention should be 
+   * used. For example, if company X has three initializers, it could define 
+   * the following properties: 
+   * <ul>
+   *   <li><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.com.x.Init1
+   *   </code></li>
+   *   <li><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.com.x.Init2
+   *   </code></li>
+   *   <li><code>
+   *     org.omg.PortableInterceptor.ORBInitializerClass.com.x.Init3
+   *   </code></li>
+   * </ul>
+   * During ORB.init, these ORB properties which begin with 
+   * <code>org.omg.PortableInterceptor.ORBInitializerClass</code> shall be 
+   * collected, the <code>&lt;Service&gt;</code> portion of each property 
+   * shall be extracted, an object shall be instantiated with the 
+   * <code>&lt;Service&gt;</code> string as its class name, and the 
+   * <code>pre_init</code> and <code>post_init</code> methods shall be 
+   * called on that object. If there are any exceptions, the ORB shall 
+   * ignore them and proceed. 
+   * <p>
+   * <b><i>Example</i></b>
+   * <p>
+   * A client-side logging service written by company X, for example, may 
+   * have the following ORBInitializer implementation: 
+   * <code><pre>
+   * package com.x.logging;
+   * 
+   * import org.omg.PortableInterceptor.Interceptor; 
+   * import org.omg.PortableInterceptor.ORBInitializer; 
+   * import org.omg.PortableInterceptor.ORBInitInfo; 
+   * 
+   * public class LoggingService implements ORBInitializer { 
+   *     void pre_init( ORBInitInfo info ) { 
+   *         // Instantiate the Logging Service s Interceptor. 
+   *         Interceptor interceptor = new LoggingInterceptor(); 
+   *
+   *         // Register the Logging Service s Interceptor. 
+   *         info.add_client_request_interceptor( interceptor ); 
+   *     } 
+   * 
+   *     void post_init( ORBInitInfo info ) { 
+   *         // This service does not need two init points. 
+   *     } 
+   * } 
+   * </pre></code>
+   * To run a program called <code>MyApp</code> using this logging 
+   * service, the user could type: 
+   *   <blockquote><code>
+   *     java 
+   *-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.x.Logging.LoggingService 
+   *     MyApp
+   *   </code></blockquote>
+   * <p>
+   * <b>Notes about Registering Interceptors</b>
+   * <p>
+   * Request Interceptors are registered on a per-ORB basis. 
+   * <p>
+   * To achieve virtual per-object Interceptors, query the policies on the 
+   * target from within the interception points to determine whether they 
+   * should do any work. 
+   * <p>
+   * To achieve virtual per-POA Interceptors, instantiate each POA with a 
+   * different ORB. While Interceptors may be ordered administratively, 
+   * there is no concept of order with respect to the registration of 
+   * Interceptors. Request Interceptors are concerned with service contexts. 
+   * Service contexts have no order, so there is no purpose for request 
+   * Interceptors to have an order. IOR Interceptors are concerned with 
+   * tagged components. Tagged components also have no order, so there 
+   * is no purpose for IOR Interceptors to have an order. 
+   * <p>
+   * Registration code should avoid using the ORB (i.e., calling 
+   * <code>ORB.init</code> with the provided <code>orb_id</code>). Since 
+   * registration occurs during ORB initialization, results of invocations 
+   * on this ORB while it is in this state are undefined. 
+   * 
+   * @see ORBInitInfo
+   */
+public interface ORBInitializerOperations 
+{
+
+  /** 
+       * Called during ORB initialization.  If it is expected that initial 
+       * services registered by an interceptor will be used by other 
+       * interceptors, then those initial services shall be registered at 
+       * this point via calls to 
+       * <code>ORBInitInfo.register_initial_reference</code>. 
+       * 
+       * @param info provides initialization attributes and operations by 
+       *     which Interceptors can be registered.
+       */
+  void pre_init (org.omg.PortableInterceptor.ORBInitInfo info);
+
+  /**
+       * Called during ORB initialization. If a service must resolve initial 
+       * references as part of its initialization, it can assume that all 
+       * initial references will be available at this point. 
+       * <p>
+       * Calling the <code>post_init</code> operations is not the final 
+       * task of ORB initialization. The final task, following the 
+       * <code>post_init</code> calls, is attaching the lists of registered 
+       * interceptors to the ORB. Therefore, the ORB does not contain the 
+       * interceptors during calls to <code>post_init</code>. If an 
+       * ORB-mediated call is made from within <code>post_init</code>, no 
+       * request interceptors will be invoked on that call. 
+       * Likewise, if an operation is performed which causes an IOR to be 
+       * created, no IOR interceptors will be invoked. 
+       *
+       * @param info provides initialization attributes and 
+       *     operations by which Interceptors can be registered.
+       */
+  void post_init (org.omg.PortableInterceptor.ORBInitInfo info);
+} // interface ORBInitializerOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ObjectIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** Type of an object id. This provides the identity of a particular
+   * object that was created by an object adapter.
+   */
+abstract public class ObjectIdHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ObjectId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, byte[] 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 byte[] 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 ().get_primitive_tc (org.omg.CORBA.TCKind.tk_octet);
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.CORBA.OctetSeqHelper.id (), "OctetSeq", __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ObjectIdHelper.id (), "ObjectId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static byte[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    byte value[] = null;
+    value = org.omg.CORBA.OctetSeqHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, byte[] value)
+  {
+    org.omg.CORBA.OctetSeqHelper.write (ostream, value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceFactory.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** The object reference factory.  This provides the capability of
+  * creating an object reference.
+  */
+public interface ObjectReferenceFactory extends org.omg.CORBA.portable.ValueBase
+{
+
+  /** make_object creates a CORBA object reference according
+      * to the data in this template, with the given repository ID and
+      * object ID.
+      */
+  public abstract org.omg.CORBA.Object make_object (String repositoryId, byte[] object_id);
+
+} // interface ObjectReferenceFactory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,74 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceFactoryHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** The object reference factory.  This provides the capability of
+  * creating an object reference.
+  */
+abstract public class ObjectReferenceFactoryHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ObjectReferenceFactory:1.0";
+
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.ObjectReferenceFactory 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.PortableInterceptor.ObjectReferenceFactory 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.ValueMember[] _members0 = new org.omg.CORBA.ValueMember[0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_value_tc (_id, "ObjectReferenceFactory", org.omg.CORBA.VM_ABSTRACT.value, null, _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.ObjectReferenceFactory read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return (org.omg.PortableInterceptor.ObjectReferenceFactory)((org.omg.CORBA_2_3.portable.InputStream) istream).read_value (id ());
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableInterceptor.ObjectReferenceFactory value)
+  {
+    ((org.omg.CORBA_2_3.portable.OutputStream) ostream).write_value (value, id ());
+  }
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+package org.omg.PortableInterceptor;
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceFactoryHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** The object reference factory.  This provides the capability of
+  * creating an object reference.
+  */
+public final class ObjectReferenceFactoryHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.PortableInterceptor.ObjectReferenceFactory value = null;
+
+  public ObjectReferenceFactoryHolder ()
+  {
+  }
+
+  public ObjectReferenceFactoryHolder (org.omg.PortableInterceptor.ObjectReferenceFactory initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.PortableInterceptor.ObjectReferenceFactoryHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.PortableInterceptor.ObjectReferenceFactoryHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.PortableInterceptor.ObjectReferenceFactoryHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceTemplate.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,27 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceTemplate.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** The object reference template.  An instance of this must
+   * exist for each object adapter created in an ORB.  The server_id,
+   * orb_id, and adapter_name attributes uniquely identify this template
+   * within the scope of an IMR.  Note that adapter_id is similarly unique
+   * within the same scope, but it is opaque, and less useful in many
+   * cases.
+   */
+public interface ObjectReferenceTemplate extends org.omg.PortableInterceptor.ObjectReferenceFactory
+{
+  public abstract String server_id ();
+
+  public abstract String orb_id ();
+
+  public abstract String[] adapter_name ();
+
+} // interface ObjectReferenceTemplate
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceTemplateHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** The object reference template.  An instance of this must
+   * exist for each object adapter created in an ORB.  The server_id,
+   * orb_id, and adapter_name attributes uniquely identify this template
+   * within the scope of an IMR.  Note that adapter_id is similarly unique
+   * within the same scope, but it is opaque, and less useful in many
+   * cases.
+   */
+abstract public class ObjectReferenceTemplateHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ObjectReferenceTemplate:1.0";
+
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.ObjectReferenceTemplate 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.PortableInterceptor.ObjectReferenceTemplate 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.ValueMember[] _members0 = new org.omg.CORBA.ValueMember[0];
+          org.omg.CORBA.TypeCode _tcOf_members0 = null;
+          __typeCode = org.omg.CORBA.ORB.init ().create_value_tc (_id, "ObjectReferenceTemplate", org.omg.CORBA.VM_ABSTRACT.value, null, _members0);
+          __active = false;
+        }
+      }
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.ObjectReferenceTemplate read (org.omg.CORBA.portable.InputStream istream)
+  {
+    return (org.omg.PortableInterceptor.ObjectReferenceTemplate)((org.omg.CORBA_2_3.portable.InputStream) istream).read_value (id ());
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableInterceptor.ObjectReferenceTemplate value)
+  {
+    ((org.omg.CORBA_2_3.portable.OutputStream) ostream).write_value (value, id ());
+  }
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,46 @@
+package org.omg.PortableInterceptor;
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceTemplateHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** The object reference template.  An instance of this must
+   * exist for each object adapter created in an ORB.  The server_id,
+   * orb_id, and adapter_name attributes uniquely identify this template
+   * within the scope of an IMR.  Note that adapter_id is similarly unique
+   * within the same scope, but it is opaque, and less useful in many
+   * cases.
+   */
+public final class ObjectReferenceTemplateHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.PortableInterceptor.ObjectReferenceTemplate value = null;
+
+  public ObjectReferenceTemplateHolder ()
+  {
+  }
+
+  public ObjectReferenceTemplateHolder (org.omg.PortableInterceptor.ObjectReferenceTemplate initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** Sequence of object reference templates is used for reporting state
+   * changes that do not occur on the adapter manager.
+   */
+abstract public class ObjectReferenceTemplateSeqHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ObjectReferenceTemplateSeq:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, org.omg.PortableInterceptor.ObjectReferenceTemplate[] 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.PortableInterceptor.ObjectReferenceTemplate[] 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.PortableInterceptor.ObjectReferenceTemplateHelper.type ();
+      __typeCode = org.omg.CORBA.ORB.init ().create_sequence_tc (0, __typeCode);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ObjectReferenceTemplateSeqHelper.id (), "ObjectReferenceTemplateSeq", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static org.omg.PortableInterceptor.ObjectReferenceTemplate[] read (org.omg.CORBA.portable.InputStream istream)
+  {
+    org.omg.PortableInterceptor.ObjectReferenceTemplate value[] = null;
+    int _len0 = istream.read_long ();
+    value = new org.omg.PortableInterceptor.ObjectReferenceTemplate[_len0];
+    for (int _o1 = 0;_o1 < value.length; ++_o1)
+      value[_o1] = org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.read (istream);
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, org.omg.PortableInterceptor.ObjectReferenceTemplate[] value)
+  {
+    ostream.write_long (value.length);
+    for (int _i0 = 0;_i0 < value.length; ++_i0)
+      org.omg.PortableInterceptor.ObjectReferenceTemplateHelper.write (ostream, value[_i0]);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,43 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ObjectReferenceTemplateSeqHolder.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/** Sequence of object reference templates is used for reporting state
+   * changes that do not occur on the adapter manager.
+   */
+public final class ObjectReferenceTemplateSeqHolder implements org.omg.CORBA.portable.Streamable
+{
+  public org.omg.PortableInterceptor.ObjectReferenceTemplate value[] = null;
+
+  public ObjectReferenceTemplateSeqHolder ()
+  {
+  }
+
+  public ObjectReferenceTemplateSeqHolder (org.omg.PortableInterceptor.ObjectReferenceTemplate[] initialValue)
+  {
+    value = initialValue;
+  }
+
+  public void _read (org.omg.CORBA.portable.InputStream i)
+  {
+    value = org.omg.PortableInterceptor.ObjectReferenceTemplateSeqHelper.read (i);
+  }
+
+  public void _write (org.omg.CORBA.portable.OutputStream o)
+  {
+    org.omg.PortableInterceptor.ObjectReferenceTemplateSeqHelper.write (o, value);
+  }
+
+  public org.omg.CORBA.TypeCode _type ()
+  {
+    return org.omg.PortableInterceptor.ObjectReferenceTemplateSeqHelper.type ();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/PolicyFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,27 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/PolicyFactory.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Enables policy types to be constructed using 
+   * <code>CORBA.ORB.create_policy</code>.
+   * <p>
+   * A portable ORB service implementation registers an instance of the 
+   * <code>PolicyFactory</code> interface during ORB initialization in order 
+   * to enable its policy types to be constructed using 
+   * <code>CORBA.ORB.create_policy</code>. The POA is required to preserve 
+   * any policy which is registered with <code>ORBInitInfo</code> in this 
+   * manner.
+   *
+   * @see ORBInitInfo#register_policy_factory
+   */
+public interface PolicyFactory extends PolicyFactoryOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface PolicyFactory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/PolicyFactoryOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,50 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/PolicyFactoryOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Enables policy types to be constructed using 
+   * <code>CORBA.ORB.create_policy</code>.
+   * <p>
+   * A portable ORB service implementation registers an instance of the 
+   * <code>PolicyFactory</code> interface during ORB initialization in order 
+   * to enable its policy types to be constructed using 
+   * <code>CORBA.ORB.create_policy</code>. The POA is required to preserve 
+   * any policy which is registered with <code>ORBInitInfo</code> in this 
+   * manner.
+   *
+   * @see ORBInitInfo#register_policy_factory
+   */
+public interface PolicyFactoryOperations 
+{
+
+  /**
+       * Returns an instance of the appropriate interface derived from 
+       * <code>CORBA.Policy</code> whose value corresponds to the 
+       * specified any. 
+       * <p>
+       * The ORB calls <code>create_policy</code> on a registered 
+       * <code>PolicyFactory</code> instance when 
+       * <code>CORBA.ORB.create_policy</code> is called for the 
+       * <code>PolicyType</code> under which the <code>PolicyFactory</code> has 
+       * been registered. The <code>create_policy</code> operation then 
+       * returns an instance of the appropriate interface derived from 
+       * <code>CORBA.Policy</code> whose value corresponds to the specified 
+       * any. If it cannot, it shall throw an exception as described for 
+       * <code>CORBA.ORB.create_policy</code>. 
+       * 
+       * @param type An int specifying the type of policy being created. 
+       * @param value An any containing data with which to construct the 
+       *     <code>CORBA.Policy</code>. 
+       * @return A <code>CORBA.Policy<code> object of the specified type and 
+       *     value.
+       */
+  org.omg.CORBA.Policy create_policy (int type, org.omg.CORBA.Any value) throws org.omg.CORBA.PolicyError;
+} // interface PolicyFactoryOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/RequestInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,29 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/RequestInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Request Information, accessible to Interceptors.
+   * <p>
+   * Each interception point is given an object through which the 
+   * Interceptor can access request information. Client-side and server-side 
+   * interception points are concerned with different information, so there 
+   * are two information objects: <code>ClientRequestInfo</code> is passed 
+   * to the client-side interception points and <code>ServerRequestInfo</code>
+   * is passed to the server-side interception points. But there is 
+   * information that is common to both, so they both inherit from a common 
+   * interface: <code>RequestInfo</code>.
+   *
+   * @see ClientRequestInfo
+   * @see ServerRequestInfo
+   */
+public interface RequestInfo extends RequestInfoOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface RequestInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/RequestInfoOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,292 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/RequestInfoOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Request Information, accessible to Interceptors.
+   * <p>
+   * Each interception point is given an object through which the 
+   * Interceptor can access request information. Client-side and server-side 
+   * interception points are concerned with different information, so there 
+   * are two information objects: <code>ClientRequestInfo</code> is passed 
+   * to the client-side interception points and <code>ServerRequestInfo</code>
+   * is passed to the server-side interception points. But there is 
+   * information that is common to both, so they both inherit from a common 
+   * interface: <code>RequestInfo</code>.
+   *
+   * @see ClientRequestInfo
+   * @see ServerRequestInfo
+   */
+public interface RequestInfoOperations 
+{
+
+  /**
+       * Returns an id that uniquely identifies an active request/reply 
+       * sequence. Once a request/reply sequence is concluded this ID may be 
+       * reused. Note that this id is not the same as the GIOP 
+       * <code>request_id</code>. If GIOP is the transport mechanism used, 
+       * then these IDs may very well be the same, but this is not guaranteed 
+       * nor required.
+       */
+  int request_id ();
+
+  /**
+       * Returns the name of the operation being invoked.
+       */
+  String operation ();
+
+  /**
+       * Returns an array of <code>Parameter</code> objects, containing the 
+       * arguments on the operation being invoked.  If there are no arguments, 
+       * this attribute will be a zero length array. 
+       * <p>
+       * Not all environments provide access to the arguments. With the Java 
+       * portable bindings, for example, the arguments are not available. 
+       * In these environments, when this attribute is accessed, 
+       * <code>NO_RESOURCES</code> will be thrown with a standard minor code 
+       * of 1.
+       * <p>
+       * <i>Note: Arguments are available for DSI/DII calls.</i>
+       *
+       * @exception NO_RESOURCES thrown if arguments are not available.
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  org.omg.Dynamic.Parameter[] arguments ();
+
+  /**
+       * Returns an array of <code>TypeCode</code> objects describing the 
+       * <code>TypeCode</code>s of the user exceptions that this operation 
+       * invocation may throw. If there are no user exceptions, this 
+       * will return a zero length array. 
+       * <p>
+       * Not all environments provide access to the exception list. With 
+       * the Java portable bindings, for example, the exception list is 
+       * not available. In these environments, when this attribute is 
+       * accessed, <code>NO_RESOURCES</code> will be thrown with a 
+       * standard minor code of 1.
+       * <p>
+       * <i>Note: Exceptions are available for DSI/DII calls.</i>
+       *
+       * @exception NO_RESOURCES thrown if exceptions are not available.
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  org.omg.CORBA.TypeCode[] exceptions ();
+
+  /**
+       * Returns an array of <code>String</code> objects describing the 
+       * contexts that may be passed on this operation invocation.  If there 
+       * are no contexts, this will return a zero length array. 
+       * <p>
+       * Not all environments provide access to the context list. With the 
+       * Java portable bindings, for example, the context list is not 
+       * available. In these environments, when this attribute is accessed, 
+       * <code>NO_RESOURCES</code> will be thrown with a standard minor code 
+       * of 1.
+       * <p>
+       * <i>Note: Contexts are available for DSI/DII calls.</i>
+       *
+       * @exception NO_RESOURCES thrown if contexts are not available.
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  String[] contexts ();
+
+  /**
+       * Returns an array of <code>String</code> objects containing the 
+       * contexts being sent on the request.
+       * <p>
+       * Not all environments provide access to the context. With the Java 
+       * portable bindings, for example, the context is not available. In 
+       * these environments, when this attribute is accessed, NO_RESOURCES will 
+       * be thrown with standard minor code of 1.
+       * <p>
+       * <i>Note: <code>operation_context</code> is available for 
+       * DSI/DII calls.</i>
+       *
+       * @exception NO_RESOURCES thrown if operation context is not available.
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  String[] operation_context ();
+
+  /**
+       * Returns an any containing the result of the operation invocation. 
+       * If the operation return type is void, this attribute will be an any 
+       * containing a type code with a <code>TCKind</code> value of 
+       * <code>tk_void</code> and no value. 
+       * <p>
+       * Not all environments provide access to the result. With the Java 
+       * portable bindings, for example, the result is not available. In 
+       * these environments, when this attribute is accessed, 
+       * <code>NO_RESOURCES</code> will be thrown with a standard minor code of 
+       * 1.
+       * <p>
+       * <i>Note: Result is available for DSI/DII calls.</i>
+       *
+       * @exception NO_RESOURCES thrown if result is not available.
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  org.omg.CORBA.Any result ();
+
+  /**
+       * Indicates whether a response is expected. 
+       * <p>
+       * On the client, a reply is not returned when 
+       * <code>response_expected</code> is false, so <code>receive_reply</code> 
+       * cannot be called. <code>receive_other</code> is called unless an 
+       * exception occurs, in which case <code>receive_exception</code> is 
+       * called. 
+       * <p>
+       * On the client, within <code>send_poll</code>, this attribute is true.
+       */
+  boolean response_expected ();
+
+  /**
+       * Defines how far the request shall progress before control is returned
+       * to the client.  This is defined in the Messaging specification, and 
+       * is pertinent only when <code>response_expected</code> is false. If 
+       * <code>response_expected</code> is true, the value of 
+       * <code>sync_scope</code> is undefined. This attribute may have one of 
+       * the following values: 
+       * <ul>
+       *   <li><code>Messaging.SYNC_NONE</code></li>
+       *   <li><code>Messaging.SYNC_WITH_TRANSPORT</code></li>
+       *   <li><code>Messaging.SYNC_WITH_SERVER</code></li>
+       *   <li><code>Messaging.SYNC_WITH_TARGET</code></li>
+       * </ul>
+       * On the server, for all scopes, a reply will be created from the 
+       * return of the target operation call, but the reply will not return 
+       * to the client. Although it does not return to the client, it does 
+       * occur, so the normal server-side interception points are 
+       * followed (i.e., <code>receive_request_service_contexts</code>, 
+       * <code>receive_request</code>, <code>send_reply</code> or 
+       * <code>send_exception</code>). 
+       * <p>
+       * For <code>SYNC_WITH_SERVER</code> and <code>SYNC_WITH_TARGET</code>, 
+       * the server does send an empty reply back to the client before the 
+       * target is invoked. This reply is not intercepted by server-side 
+       * Interceptors.
+       * 
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  short sync_scope ();
+
+  /**
+       * Describes the state of the result of the operation invocation. The
+       * return value can be one of the following: 
+       * <ul>
+       *   <li><code>PortableInterceptor.SUCCESSFUL</code></li>
+       *   <li><code>PortableInterceptor.SYSTEM_EXCEPTION</code></li>
+       *   <li><code>PortableInterceptor.USER_EXCEPTION</code></li>
+       *   <li><code>PortableInterceptor.LOCATION_FORWARD</code></li>
+       *   <li><code>PortableInterceptor.TRANSPORT_RETRY</code></li>
+       * </ul>
+       * On the client:
+       * <ul>
+       *   <li>Within the <code>receive_reply</code> interception point, this 
+       *       will only return <code>SUCCESSFUL</code></li>.
+       *   <li>Within the <code>receive_exception</code> interception point, 
+       *       this will be either <code>SYSTEM_EXCEPTION</code> or 
+       *       <code>USER_EXCEPTION</code>.</li>
+       *   <li>Within the <code>receive_other</code> interception point, this 
+       *       will be any of: <code>SUCCESSFUL</code>, 
+       *       <code>LOCATION_FORWARD</code>, or <code>TRANSPORT_RETRY</code>. 
+       *       <code>SUCCESSFUL</code> means an asynchronous request returned 
+       *       successfully. <code>LOCATION_FORWARD</code> means that a reply 
+       *       came back with <code>LOCATION_FORWARD</code> as its status. 
+       *       <code>TRANSPORT_RETRY</code> means that the transport 
+       *       mechanism indicated a retry - a GIOP reply with a status of 
+       *       <code>NEEDS_ADDRESSING_MODE</code>, for instance. </li>
+       * </ul>
+       * On the server: 
+       * <ul>
+       *   <li>Within the <code>send_reply</code> interception point, this 
+       *       will only be <code>SUCCESSFUL</code>.</li>
+       *   <li>Within the <code>send_exception</code> interception point, 
+       *       this will be either <code>SYSTEM_EXCEPTION</code> or 
+       *       <code>USER_EXCEPTION</code>.</li>
+       *   <li>Within the <code>send_other</code> interception point, this 
+       *       attribute will be any of: <code>SUCCESSFUL</code>, or 
+       *       <code>LOCATION_FORWARD</code>. <code>SUCCESSFUL</code> means 
+       *       an asynchronous request returned successfully. 
+       *       <code>LOCATION_FORWARD</code> means that a reply came back 
+       *       with <code>LOCATION_FORWARD</code> as its status.</li>
+       * </ul>
+       * 
+       * @see SUCCESSFUL
+       * @see SYSTEM_EXCEPTION
+       * @see USER_EXCEPTION
+       * @see LOCATION_FORWARD
+       * @see TRANSPORT_RETRY
+       */
+  short reply_status ();
+
+  /** 
+       * Contains the object to which the request will be forwarded, if the 
+       * <code>reply_status</code> attribute is <code>LOCATION_FORWARD</code>.
+       * It is indeterminate whether a forwarded request will actually occur.
+       */
+  org.omg.CORBA.Object forward_reference ();
+
+  /**
+       * Returns the data from the given slot of the 
+       * <code>PortableInterceptor.Current</code> that is in the scope of 
+       * the request. 
+       * <p>
+       * If the given slot has not been set, then an any containing a 
+       * type code with a <code>TCKind</code> value of <code>tk_null</code> is 
+       * returned. 
+       *
+       * @param id The <code>SlotId</code> of the slot which is to be 
+       *     returned. 
+       * @return The slot data, in the form of an any, obtained with the 
+       *     given identifier.
+       * @exception InvalidSlot thrown if the ID does not define an 
+       *    allocated slot.
+       * @see Current
+       */
+  org.omg.CORBA.Any get_slot (int id) throws org.omg.PortableInterceptor.InvalidSlot;
+
+  /**
+       * Returns a copy of the service context with the given ID that 
+       * is associated with the request. 
+       * <p>
+       * @param id The <code>IOP.ServiceId</code> of the service context 
+       *     which is to be returned. 
+       * @return The <code>IOP.ServiceContext</code> obtained with the 
+       *     given identifier.
+       * @exception BAD_PARAM thrown with a standard minor code of 26, if the 
+       *     request's service context does not contain an entry for that ID.
+       */
+  org.omg.IOP.ServiceContext get_request_service_context (int id);
+
+  /**
+       * Returns a copy of the service context with the given ID that 
+       * is associated with the reply. 
+       * 
+       * @param id The <code>IOP.ServiceId</code> of the service context 
+       *     which is to be returned. 
+       * @return The <code>IOP.ServiceContext</code> obtained with the given 
+       *     identifier. 
+       * @exception BAD_PARAM thrown with a standard minor code of 26 if the 
+       *     request's service context does not contain an entry for that ID.
+       */
+  org.omg.IOP.ServiceContext get_reply_service_context (int id);
+} // interface RequestInfoOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/SUCCESSFUL.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/SUCCESSFUL.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface SUCCESSFUL
+{
+
+  /**
+     * Indicates a successful Reply Status. One possible value for 
+     * <code>RequestInfo.reply_status</code>.
+     * @see RequestInfo#reply_status
+     * @see SYSTEM_EXCEPTION
+     * @see USER_EXCEPTION
+     * @see LOCATION_FORWARD
+     * @see TRANSPORT_RETRY
+     */
+  public static final short value = (short)(0);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/SYSTEM_EXCEPTION.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/SYSTEM_EXCEPTION.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface SYSTEM_EXCEPTION
+{
+
+  /**
+     * Indicates a SystemException reply status. One possible value for 
+     * <code>RequestInfo.reply_status</code>.
+     * @see RequestInfo#reply_status
+     * @see SUCCESSFUL
+     * @see USER_EXCEPTION
+     * @see LOCATION_FORWARD
+     * @see TRANSPORT_RETRY
+     */
+  public static final short value = (short)(1);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ServerIdHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,58 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ServerIdHelper.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+// Should be type string
+abstract public class ServerIdHelper
+{
+  private static String  _id = "IDL:omg.org/PortableInterceptor/ServerId:1.0";
+
+  public static void insert (org.omg.CORBA.Any a, String 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 String 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_string_tc (0);
+      __typeCode = org.omg.CORBA.ORB.init ().create_alias_tc (org.omg.PortableInterceptor.ServerIdHelper.id (), "ServerId", __typeCode);
+    }
+    return __typeCode;
+  }
+
+  public static String id ()
+  {
+    return _id;
+  }
+
+  public static String read (org.omg.CORBA.portable.InputStream istream)
+  {
+    String value = null;
+    value = istream.read_string ();
+    return value;
+  }
+
+  public static void write (org.omg.CORBA.portable.OutputStream ostream, String value)
+  {
+    ostream.write_string (value);
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ServerRequestInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,226 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ServerRequestInfo.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Request Information, accessible to server-side request interceptors.
+   * <p>
+   * Some attributes and operations on <code>ServerRequestInfo</code> are not 
+   * valid at all interception points.  The following table shows the validity 
+   * of each attribute or operation.  If it is not valid, attempting to access 
+   * it will result in a <code>BAD_INV_ORDER</code> being thrown with a 
+   * standard minor code of 14.
+   * <p>
+   *
+   *
+   * <table border=1 summary="Shows the validity of each attribute or operation">
+   *   <thead>
+   *     <tr>
+   *       <th>&nbsp;</th>
+   *       <th id="rec_req_ser_con" valign="bottom">receive_request_<br>service_contexts</th>
+   *       <th id="rec_req"  valign="bottom">receive_request</th>
+   *       <th id="send_rep" valign="bottom">send_reply</th>
+   *       <th id="send_exc" valign="bottom">send_exception</th>
+   *       <th id="send_oth" valign="bottom">send_other</th>
+   *     </tr>
+   *   </thead>
+   *  <tbody>
+   *
+   *
+   * <tr>
+   *   <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
+   * </tr>
+   *
+   * <tr><th id="req_id"><p align="left">request_id</p></th>
+   * <td headers="ri req_id rec_req_ser_con">yes</td> 
+   * <td headers="ri req_id rec_req">yes</td> 
+   * <td headers="ri req_id send_rep">yes</td> 
+   * <td headers="ri req_id send_exc">yes</td> 
+   * <td headers="ri req_id send_oth">yes</td></tr>
+   *
+   * <tr><th id="op"><p align="left">operation</p></th>
+   * <td headers="ri op rec_req_ser_con">yes</td> 
+   * <td headers="ri op rec_req">yes</td> 
+   * <td headers="ri op send_rep">yes</td> 
+   * <td headers="ri op send_exc">yes</td> 
+   * <td headers="ri op send_oth">yes</td></tr>
+   *
+   * <tr><th id="args"><p align="left">arguments</p></th>
+   * <td headers="ri args rec_req_ser_con">no </td> 
+   * <td headers="ri args rec_req">yes<sub>1</sub></td>
+   * <td headers="ri args send_rep">yes</td> 
+   * <td headers="ri args send_exc">no<sub>2</sub></td>
+   * <td headers="ri args send_oth">no<sub>2</sub>
+   * </td></tr>
+   *
+   * <tr><th id="exps"><p align="left">exceptions</p></th>
+   * <td headers="ri exps rec_req_ser_con">no </td> 
+   * <td headers="ri exps rec_req">yes</td> 
+   * <td headers="ri exps send_rep">yes</td> 
+   * <td headers="ri exps send_exc">yes</td> 
+   * <td headers="ri exps send_oth">yes</td></tr>
+   *
+   * <tr><th id="contexts"><p align="left">contexts</p></th>
+   * <td headers="ri contexts rec_req_ser_con">no </td> 
+   * <td headers="ri contexts rec_req">yes</td> 
+   * <td headers="ri contexts send_rep">yes</td> 
+   * <td headers="ri contexts send_exc">yes</td> 
+   * <td headers="ri contexts send_oth">yes</td></tr>
+   *
+   * <tr><th id="op_con"><p align="left">operation_context</p></th>
+   * <td headers="ri op_con rec_req_ser_con">no </td> 
+   * <td headers="ri op_con rec_req">yes</td> 
+   * <td headers="ri op_con send_rep">yes</td> 
+   * <td headers="ri op_con send_exc">no </td> 
+   * <td headers="ri op_con send_oth">no </td>
+   * </tr>
+   * 
+   * <tr><th id="result"><p align="left">result</p></th>
+   * <td headers="ri result rec_req_ser_con">no </td> 
+   * <td headers="ri result rec_req">no </td> 
+   * <td headers="ri result send_rep">yes</td> 
+   * <td headers="ri result send_exc">no </td> 
+   * <td headers="ri result send_oth">no </td>
+   * </tr>
+   *
+   * <tr><th id="res_ex"><p align="left">response_expected</p></th>
+   * <td headers="ri res_ex rec_req_ser_con">yes</td> 
+   * <td headers="ri res_ex rec_req">yes</td> 
+   * <td headers="ri res_ex send_rep">yes</td> 
+   * <td headers="ri res_ex send_exc">yes</td> 
+   * <td headers="ri res_ex send_oth">yes</td></tr>
+   *
+   * <tr><th id="syn_scp"><p align="left">sync_scope</p></th>
+   * <td headers="ri syn_scp rec_req_ser_con">yes</td> 
+   * <td headers="ri syn_scp rec_req">yes</td> 
+   * <td headers="ri syn_scp send_rep">yes</td> 
+   * <td headers="ri syn_scp send_exc">yes</td> 
+   * <td headers="ri syn_scp send_oth">yes</td></tr>
+   * 
+   *    <tr><td><b>request_id</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>operation</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>arguments</b></td>
+   *    <td>no </td> <td>yes<sub>1</sub</td> 
+   *                              <td>yes</td> <td>no<sub>2</sub></td> 
+   *                                                        <td>no<sub>2</sub>
+   *                                                        </td></tr>
+   * 
+   *    <tr><td><b>exceptions</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>contexts</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>operation_context</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>no </td> <td>no </td></tr>
+   * 
+   *    <tr><td><b>result</b></td>
+   *    <td>no </td> <td>no </td> <td>yes</td> <td>no </td> <td>no </td></tr>
+   * 
+   *    <tr><td><b>response_expected</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>sync_scope</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>reply_status</b></td>
+   *    <td>no </td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>forward_reference</b></td>
+   *    <td>no </td> <td>no </td> <td>no </td> <td>no </td> <td>yes<sub>2</sub>
+   * 								</td></tr>
+   * 
+   *    <tr><td><b>get_slot</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>get_request_service_context</b></td>
+   *    <td>yes</td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>get_reply_service_context</b></td>
+   *    <td>no </td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr>
+   *      <td colspan=6><i>ServerRequestInfo-specific:</i></td>
+   *    </tr>
+   * 
+   *    <tr><td><b>sending_exception</b></td>
+   *    <td>no </td> <td>no </td> <td>no </td> <td>yes</td> <td>no </td></tr>
+   * 
+   *    <tr><td><b>object_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes<sub>3</sub></td> 
+   * 						       <td>yes<sub>3</sub>
+   * 						                </td></tr>
+   * 
+   *    <tr><td><b>adapter_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes<sub>3</sub></td> 
+   * 						       <td>yes<sub>3</sub>
+   * 								</td></tr>
+   * 
+   *    <tr><td><b>server_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *
+   *    <tr><td><b>orb_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *
+   *    <tr><td><b>adapter_name</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *
+   *    <tr><td><b>target_most_derived_interface</b></td>
+   *    <td>no </td> <td>yes</td> <td>no<sub>4</sub></td> 
+   * 					  <td>no<sub>4</sub></td> 
+   * 						       <td>no<sub>4</sub>
+   * 							       </td></tr>
+   * 
+   *    <tr><td><b>get_server_policy</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>set_slot</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>target_is_a</b></td>
+   *    <td>no </td> <td>yes</td> <td>no<sub>4</sub></td> 
+   * 					  <td>no<sub>4</sub></td> 
+   * 						       <td>no<sub>4</sub>
+   * 							       </td></tr>
+   * 
+   *    <tr><td><b>add_reply_service_context</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *   </tbody>
+   * </table>
+   *
+   * <ol>
+   *   <li>When <code>ServerRequestInfo</code> is passed to 
+   *       <code>receive_request</code>, there is an entry in the list for 
+   *       every argument, whether in, inout, or out. But only the in and 
+   *       inout arguments will be available.</li>
+   *   <li>If the <code>reply_status</code> attribute is not 
+   *       <code>LOCATION_FORWARD</code>, accessing this attribute will throw
+   *       <code>BAD_INV_ORDER</code> with a standard minor code of 14.</li>
+   *   <li>If the servant locator caused a location forward, or thrown an 
+   *       exception, this attribute/operation may not be available in this 
+   *       interception point. <code>NO_RESOURCES</code> with a standard minor 
+   *       code of 1 will be thrown if it is not available.</li>
+   *   <li>The operation is not available in this interception point because 
+   *       the necessary information requires access to the target object's 
+   *       servant, which may no longer be available to the ORB. For example, 
+   *       if the object's adapter is a POA that uses a 
+   *       <code>ServantLocator</code>, then the ORB invokes the interception 
+   *       point after it calls <code>ServantLocator.postinvoke()</code></li>.
+   * </ol>
+   *
+   * @see ServerRequestInterceptor
+   */
+public interface ServerRequestInfo extends ServerRequestInfoOperations, org.omg.PortableInterceptor.RequestInfo, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ServerRequestInfo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ServerRequestInfoOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,336 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ServerRequestInfoOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Request Information, accessible to server-side request interceptors.
+   * <p>
+   * Some attributes and operations on <code>ServerRequestInfo</code> are not 
+   * valid at all interception points.  The following table shows the validity 
+   * of each attribute or operation.  If it is not valid, attempting to access 
+   * it will result in a <code>BAD_INV_ORDER</code> being thrown with a 
+   * standard minor code of 14.
+   * <p>
+   *
+   *
+   * <table border=1 summary="Shows the validity of each attribute or operation">
+   *   <thead>
+   *     <tr>
+   *       <th>&nbsp;</th>
+   *       <th id="rec_req_ser_con" valign="bottom">receive_request_<br>service_contexts</th>
+   *       <th id="rec_req"  valign="bottom">receive_request</th>
+   *       <th id="send_rep" valign="bottom">send_reply</th>
+   *       <th id="send_exc" valign="bottom">send_exception</th>
+   *       <th id="send_oth" valign="bottom">send_other</th>
+   *     </tr>
+   *   </thead>
+   *  <tbody>
+   *
+   *
+   * <tr>
+   *   <td id="ri" colspan=6><i>Inherited from RequestInfo:</i></td>
+   * </tr>
+   *
+   * <tr><th id="req_id"><p align="left">request_id</p></th>
+   * <td headers="ri req_id rec_req_ser_con">yes</td> 
+   * <td headers="ri req_id rec_req">yes</td> 
+   * <td headers="ri req_id send_rep">yes</td> 
+   * <td headers="ri req_id send_exc">yes</td> 
+   * <td headers="ri req_id send_oth">yes</td></tr>
+   *
+   * <tr><th id="op"><p align="left">operation</p></th>
+   * <td headers="ri op rec_req_ser_con">yes</td> 
+   * <td headers="ri op rec_req">yes</td> 
+   * <td headers="ri op send_rep">yes</td> 
+   * <td headers="ri op send_exc">yes</td> 
+   * <td headers="ri op send_oth">yes</td></tr>
+   *
+   * <tr><th id="args"><p align="left">arguments</p></th>
+   * <td headers="ri args rec_req_ser_con">no </td> 
+   * <td headers="ri args rec_req">yes<sub>1</sub></td>
+   * <td headers="ri args send_rep">yes</td> 
+   * <td headers="ri args send_exc">no<sub>2</sub></td>
+   * <td headers="ri args send_oth">no<sub>2</sub>
+   * </td></tr>
+   *
+   * <tr><th id="exps"><p align="left">exceptions</p></th>
+   * <td headers="ri exps rec_req_ser_con">no </td> 
+   * <td headers="ri exps rec_req">yes</td> 
+   * <td headers="ri exps send_rep">yes</td> 
+   * <td headers="ri exps send_exc">yes</td> 
+   * <td headers="ri exps send_oth">yes</td></tr>
+   *
+   * <tr><th id="contexts"><p align="left">contexts</p></th>
+   * <td headers="ri contexts rec_req_ser_con">no </td> 
+   * <td headers="ri contexts rec_req">yes</td> 
+   * <td headers="ri contexts send_rep">yes</td> 
+   * <td headers="ri contexts send_exc">yes</td> 
+   * <td headers="ri contexts send_oth">yes</td></tr>
+   *
+   * <tr><th id="op_con"><p align="left">operation_context</p></th>
+   * <td headers="ri op_con rec_req_ser_con">no </td> 
+   * <td headers="ri op_con rec_req">yes</td> 
+   * <td headers="ri op_con send_rep">yes</td> 
+   * <td headers="ri op_con send_exc">no </td> 
+   * <td headers="ri op_con send_oth">no </td>
+   * </tr>
+   * 
+   * <tr><th id="result"><p align="left">result</p></th>
+   * <td headers="ri result rec_req_ser_con">no </td> 
+   * <td headers="ri result rec_req">no </td> 
+   * <td headers="ri result send_rep">yes</td> 
+   * <td headers="ri result send_exc">no </td> 
+   * <td headers="ri result send_oth">no </td>
+   * </tr>
+   *
+   * <tr><th id="res_ex"><p align="left">response_expected</p></th>
+   * <td headers="ri res_ex rec_req_ser_con">yes</td> 
+   * <td headers="ri res_ex rec_req">yes</td> 
+   * <td headers="ri res_ex send_rep">yes</td> 
+   * <td headers="ri res_ex send_exc">yes</td> 
+   * <td headers="ri res_ex send_oth">yes</td></tr>
+   *
+   * <tr><th id="syn_scp"><p align="left">sync_scope</p></th>
+   * <td headers="ri syn_scp rec_req_ser_con">yes</td> 
+   * <td headers="ri syn_scp rec_req">yes</td> 
+   * <td headers="ri syn_scp send_rep">yes</td> 
+   * <td headers="ri syn_scp send_exc">yes</td> 
+   * <td headers="ri syn_scp send_oth">yes</td></tr>
+   * 
+   *    <tr><td><b>request_id</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>operation</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>arguments</b></td>
+   *    <td>no </td> <td>yes<sub>1</sub</td> 
+   *                              <td>yes</td> <td>no<sub>2</sub></td> 
+   *                                                        <td>no<sub>2</sub>
+   *                                                        </td></tr>
+   * 
+   *    <tr><td><b>exceptions</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>contexts</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>operation_context</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>no </td> <td>no </td></tr>
+   * 
+   *    <tr><td><b>result</b></td>
+   *    <td>no </td> <td>no </td> <td>yes</td> <td>no </td> <td>no </td></tr>
+   * 
+   *    <tr><td><b>response_expected</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>sync_scope</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>reply_status</b></td>
+   *    <td>no </td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>forward_reference</b></td>
+   *    <td>no </td> <td>no </td> <td>no </td> <td>no </td> <td>yes<sub>2</sub>
+   * 								</td></tr>
+   * 
+   *    <tr><td><b>get_slot</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>get_request_service_context</b></td>
+   *    <td>yes</td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>get_reply_service_context</b></td>
+   *    <td>no </td> <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr>
+   *      <td colspan=6><i>ServerRequestInfo-specific:</i></td>
+   *    </tr>
+   * 
+   *    <tr><td><b>sending_exception</b></td>
+   *    <td>no </td> <td>no </td> <td>no </td> <td>yes</td> <td>no </td></tr>
+   * 
+   *    <tr><td><b>object_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes<sub>3</sub></td> 
+   * 						       <td>yes<sub>3</sub>
+   * 						                </td></tr>
+   * 
+   *    <tr><td><b>adapter_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes<sub>3</sub></td> 
+   * 						       <td>yes<sub>3</sub>
+   * 								</td></tr>
+   * 
+   *    <tr><td><b>server_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *
+   *    <tr><td><b>orb_id</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *
+   *    <tr><td><b>adapter_name</b></td>
+   *    <td>no </td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *
+   *    <tr><td><b>target_most_derived_interface</b></td>
+   *    <td>no </td> <td>yes</td> <td>no<sub>4</sub></td> 
+   * 					  <td>no<sub>4</sub></td> 
+   * 						       <td>no<sub>4</sub>
+   * 							       </td></tr>
+   * 
+   *    <tr><td><b>get_server_policy</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>set_slot</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   * 
+   *    <tr><td><b>target_is_a</b></td>
+   *    <td>no </td> <td>yes</td> <td>no<sub>4</sub></td> 
+   * 					  <td>no<sub>4</sub></td> 
+   * 						       <td>no<sub>4</sub>
+   * 							       </td></tr>
+   * 
+   *    <tr><td><b>add_reply_service_context</b></td>
+   *    <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td> <td>yes</td></tr>
+   *   </tbody>
+   * </table>
+   *
+   * <ol>
+   *   <li>When <code>ServerRequestInfo</code> is passed to 
+   *       <code>receive_request</code>, there is an entry in the list for 
+   *       every argument, whether in, inout, or out. But only the in and 
+   *       inout arguments will be available.</li>
+   *   <li>If the <code>reply_status</code> attribute is not 
+   *       <code>LOCATION_FORWARD</code>, accessing this attribute will throw
+   *       <code>BAD_INV_ORDER</code> with a standard minor code of 14.</li>
+   *   <li>If the servant locator caused a location forward, or thrown an 
+   *       exception, this attribute/operation may not be available in this 
+   *       interception point. <code>NO_RESOURCES</code> with a standard minor 
+   *       code of 1 will be thrown if it is not available.</li>
+   *   <li>The operation is not available in this interception point because 
+   *       the necessary information requires access to the target object's 
+   *       servant, which may no longer be available to the ORB. For example, 
+   *       if the object's adapter is a POA that uses a 
+   *       <code>ServantLocator</code>, then the ORB invokes the interception 
+   *       point after it calls <code>ServantLocator.postinvoke()</code></li>.
+   * </ol>
+   *
+   * @see ServerRequestInterceptor
+   */
+public interface ServerRequestInfoOperations  extends org.omg.PortableInterceptor.RequestInfoOperations
+{
+
+  /**
+       * Returns an any which contains the exception to be returned to 
+       * the client. 
+       * <p>
+       * If the exception is a user exception which cannot be inserted into 
+       * an any (e.g., it is unknown or the bindings don't provide the 
+       * <code>TypeCode</code>), then this attribute will be an any 
+       * containing the system exception <code>UNKNOWN</code> with a 
+       * standard minor code of 1.
+       *
+       * @see <a href="package-summary.html#unimpl">
+       *     <code>PortableInterceptor</code> package comments for 
+       *     limitations / unimplemented features</a>
+       */
+  org.omg.CORBA.Any sending_exception ();
+
+  /**
+       * Returns the opaque <code>object_id</code> describing the target of 
+       * the operation invocation.
+       */
+  byte[] object_id ();
+
+  /** 
+       * Returns the opaque identifier for the object adapter.
+       */
+  byte[] adapter_id ();
+
+  /**
+       * Returns the server ID that was specified on ORB::init using the -ORBServerId
+       * argument.
+       */
+  String server_id ();
+
+  /** 
+       * Returns the ID that was used to create the ORB.
+       */
+  String orb_id ();
+
+  /** 
+       * Returns the sequence of strings that identifies the object
+       * adapter instance that is handling this request.
+       */
+  String[] adapter_name ();
+
+  /**
+       * Returns the repository id for the most derived interface of the 
+       * servant.
+       */
+  String target_most_derived_interface ();
+
+  /**
+       * Returns the policy in effect for this operation for the given 
+       * policy type. The returned <code>CORBA.Policy</code> object shall 
+       * only be a policy whose type was registered via 
+       * <code>register_policy_factory</code>. 
+       * 
+       * @param type The <code>CORBA.PolicyType</code> which specifies the 
+       *     policy to be returned. 
+       * @return The <code>CORBA.Policy</code> obtained with the given 
+       *     policy type.
+       * @exception INV_POLICY thrown, with a standard minor code of 2, if
+       *     a policy for the given type was not registered via 
+       *     <code>register_policy_factory</code>.
+       * @see ORBInitInfo#register_policy_factory
+       */
+  org.omg.CORBA.Policy get_server_policy (int type);
+
+  /**
+       * Allows an Interceptor to set a slot in the 
+       * <code>PortableInterceptor.Current</code> that is in the scope of 
+       * the request. If data already exists in that slot, it will be 
+       * overwritten. 
+       * 
+       * @param id The id of the slot. 
+       * @param data The data, in the form of an any, to store in that slot.
+       * @exception InvalidSlot thrown if the ID does not define an allocated 
+       *     slot. 
+       * @see Current
+       */
+  void set_slot (int id, org.omg.CORBA.Any data) throws org.omg.PortableInterceptor.InvalidSlot;
+
+  /**
+       * Returns true if the servant is the given repository id, 
+       * false if it is not. 
+       *
+       * @param id The caller wants to know if the servant is this 
+       *     repository id. 
+       * @return Is the servant the given RepositoryId?
+       */
+  boolean target_is_a (String id);
+
+  /**
+       * Allows Interceptors to add service contexts to the request. 
+       * <p>
+       * There is no declaration of the order of the service contexts. 
+       * They may or may not appear in the order that they are added. 
+       *
+       * @param service_context The <code>IOP.ServiceContext</code> to add to 
+       *     the reply. 
+       * @param replace Indicates the behavior of this operation when a 
+       *     service context already exists with the given ID. If false, 
+       *     then <code>BAD_INV_ORDER</code> with a standard minor code of 15 
+       *     is thrown. If true, then the existing service context is 
+       *     replaced by the new one.
+       * @exception BAD_INV_ORDER thrown, with a standard minor code of 15, if
+       *     replace is false and a service context already exists with the
+       *     given ID.
+       */
+  void add_reply_service_context (org.omg.IOP.ServiceContext service_context, boolean replace);
+} // interface ServerRequestInfoOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ServerRequestInterceptor.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ServerRequestInterceptor.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Server-side request interceptor.
+   * <p>
+   * A request Interceptor is designed to intercept the flow of a 
+   * request/reply sequence through the ORB at specific points so that 
+   * services can query the request information and manipulate the service 
+   * contexts which are propagated between clients and servers. The primary 
+   * use of request Interceptors is to enable ORB services to transfer 
+   * context information between clients and servers. There are two types 
+   * of request Interceptors: client-side and server-side. 
+   * <p>
+   * To write a server-side Interceptor, implement the 
+   * ServerRequestInterceptor interface.
+   *
+   * @see ServerRequestInfo
+   */
+public interface ServerRequestInterceptor extends ServerRequestInterceptorOperations, org.omg.PortableInterceptor.Interceptor, org.omg.CORBA.portable.IDLEntity 
+{
+} // interface ServerRequestInterceptor
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,198 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/ServerRequestInterceptorOperations.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+
+/**
+   * Server-side request interceptor.
+   * <p>
+   * A request Interceptor is designed to intercept the flow of a 
+   * request/reply sequence through the ORB at specific points so that 
+   * services can query the request information and manipulate the service 
+   * contexts which are propagated between clients and servers. The primary 
+   * use of request Interceptors is to enable ORB services to transfer 
+   * context information between clients and servers. There are two types 
+   * of request Interceptors: client-side and server-side. 
+   * <p>
+   * To write a server-side Interceptor, implement the 
+   * ServerRequestInterceptor interface.
+   *
+   * @see ServerRequestInfo
+   */
+public interface ServerRequestInterceptorOperations  extends org.omg.PortableInterceptor.InterceptorOperations
+{
+
+  /**
+       * Allows the interceptor to process service context information.
+       * <p>
+       * At this interception point, Interceptors must get their service 
+       * context information from the incoming request transfer it to 
+       * <code>PortableInterceptor.Current</code>'s slots.  
+       * <p>
+       * This interception point is called before the servant manager is called. 
+       * Operation parameters are not yet available at this point. This 
+       * interception point may or may not execute in the same thread as 
+       * the target invocation. 
+       * <p>
+       * This interception point may throw a system exception. If it does, 
+       * no other Interceptors' <code>receive_request_service_contexts</code> 
+       * operations are called. Those Interceptors on the Flow Stack are 
+       * popped and their <code>send_exception</code> interception points are 
+       * called. 
+       * <p>
+       * This interception point may also throw a <code>ForwardRequest</code> 
+       * exception.  If an Interceptor throws this exception, no other 
+       * Interceptors' <code>receive_request_service_contexts</code> operations 
+       * are called. Those Interceptors on the Flow Stack are popped and 
+       * their <code>send_other</code> interception points are called. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. The 
+       * <code>completion_status</code> shall be COMPLETED_NO.
+       *
+       * @param ri Information about the current request being intercepted.
+       * @exception ForwardRequest If thrown, indicates to the ORB that a
+       *     retry of the request should occur with the new object given in
+       *     the exception.
+       */
+  void receive_request_service_contexts (org.omg.PortableInterceptor.ServerRequestInfo ri) throws org.omg.PortableInterceptor.ForwardRequest;
+
+  /**
+       * Allows an Interceptor to query request information after all the 
+       * information, including operation parameters, are available. This 
+       * interception point shall execute in the same thread as the target 
+       * invocation.
+       * <p>
+       * In the DSI model, since the parameters are first available when 
+       * the user code calls <code>arguments</code>, <code>receive_request</code>
+       * is called from within <code>arguments</code>. It is possible that 
+       * <code>arguments</code> is not called in the DSI model. The target 
+       * may call <code>set_exception</code> before calling 
+       * <code>arguments</code>. The ORB shall guarantee that 
+       * <code>receive_request</code> is called once, either through 
+       * <code>arguments</code> or through <code>set_exception</code>. If it 
+       * is called through <code>set_exception</code>, requesting the 
+       * arguments will result in <code>NO_RESOURCES</code> being thrown with 
+       * a standard minor code of 1. 
+       * <p>
+       * This interception point may throw a system exception. If it does, no 
+       * other Interceptors' <code>receive_request</code> operations are 
+       * called. Those Interceptors on the Flow Stack are popped and their 
+       * <code>send_exception</code> interception points are called. 
+       * <p>
+       * This interception point may also throw a <code>ForwardRequest</code> 
+       * exception.  If an Interceptor throws this exception, no other 
+       * Interceptors' <code>receive_request</code> operations are called. 
+       * Those Interceptors on the Flow Stack are popped and their 
+       * <code>send_other</code> interception points are called.
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. The 
+       * <code>completion_status</code> shall be <code>COMPLETED_NO</code>.
+       *
+       * @param ri Information about the current request being intercepted.
+       * @exception ForwardRequest If thrown, indicates to the ORB that a
+       *     retry of the request should occur with the new object given in
+       *     the exception.
+       */
+  void receive_request (org.omg.PortableInterceptor.ServerRequestInfo ri) throws org.omg.PortableInterceptor.ForwardRequest;
+
+  /**
+       * Allows an Interceptor to query reply information and modify the 
+       * reply service context after the target operation has been invoked 
+       * and before the reply is returned to the client. This interception 
+       * point shall execute in the same thread as the target invocation. 
+       * <p>
+       * This interception point may throw a system exception. If it does, 
+       * no other Interceptors' <code>send_reply</code> operations are called. 
+       * The remaining Interceptors in the Flow Stack shall have their 
+       * <code>send_exception</code> interception point called. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a 
+       * system exception from this interception point. The 
+       * <code>completion_status</code> shall be <code>COMPLETED_YES</code>.
+       *
+       * @param ri Information about the current request being intercepted.
+       */
+  void send_reply (org.omg.PortableInterceptor.ServerRequestInfo ri);
+
+  /**
+       * Allows an Interceptor to query the exception information and modify 
+       * the reply service context before the exception is thrown to the client. 
+       * When an exception occurs, this interception point is called. This 
+       * interception point shall execute in the same thread as the target 
+       * invocation. 
+       * <p>
+       * This interception point may throw a system exception. This has the 
+       * effect of changing the exception which successive Interceptors 
+       * popped from the Flow Stack receive on their calls to 
+       * <code>send_exception</code>. The exception thrown to the client will 
+       * be the last exception thrown by an Interceptor, or the original 
+       * exception if no Interceptor changes the exception. 
+       * <p>
+       * This interception point may also throw a <code>ForwardRequest</code> 
+       * exception.  If an Interceptor throws this exception, no other 
+       * Interceptors' <code>send_exception</code> operations are called. The 
+       * remaining Interceptors in the Flow Stack shall have their 
+       * <code>send_other</code> interception points called. 
+       * <p>
+       * If the <code>completion_status</code> of the exception is not 
+       * <code>COMPLETED_NO</code>, then it is inappropriate for this 
+       * interception point to throw a <code>ForwardRequest</code> exception. 
+       * The request's at-most-once semantics would be lost. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. If the original exception 
+       * is a system exception, the <code>completion_status</code> of the new 
+       * exception shall be the same as on the original. If the original 
+       * exception is a user exception, then the <code>completion_status</code> 
+       * of the new exception shall be <code>COMPLETED_YES</code>.
+       *
+       * @param ri Information about the current request being intercepted.
+       * @exception ForwardRequest If thrown, indicates to the ORB that a
+       *     retry of the request should occur with the new object given in
+       *     the exception.
+       */
+  void send_exception (org.omg.PortableInterceptor.ServerRequestInfo ri) throws org.omg.PortableInterceptor.ForwardRequest;
+
+  /**
+       * Allows an Interceptor to query the information available when a 
+       * request results in something other than a normal reply or an 
+       * exception. For example, a request could result in a retry 
+       * (e.g., a GIOP Reply with a <code>LOCATION_FORWARD</code> status was 
+       * received). This interception point shall execute in the same thread 
+       * as the target invocation. 
+       * <p>
+       * This interception point may throw a system exception. If it does, 
+       * no other Interceptors' <code>send_other</code> operations are called. 
+       * The remaining Interceptors in the Flow Stack shall have their 
+       * <code>send_exception</code> interception points called. 
+       * <p>
+       * This interception point may also throw a <code>ForwardRequest</code> 
+       * exception.  If an Interceptor throws this exception, successive 
+       * Interceptors' <code>send_other</code> operations are called with 
+       * the new information provided by the <code>ForwardRequest</code> 
+       * exception. 
+       * <p>
+       * Compliant Interceptors shall properly follow 
+       * <code>completion_status</code> semantics if they throw a system 
+       * exception from this interception point. The 
+       * <code>completion_status</code> shall be <code>COMPLETED_NO</code>.
+       *
+       * @param ri Information about the current request being intercepted.
+       * @exception ForwardRequest If thrown, indicates to the ORB that a
+       *     retry of the request should occur with the new object given in
+       *     the exception.
+       */
+  void send_other (org.omg.PortableInterceptor.ServerRequestInfo ri) throws org.omg.PortableInterceptor.ForwardRequest;
+} // interface ServerRequestInterceptorOperations
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/TRANSPORT_RETRY.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/TRANSPORT_RETRY.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface TRANSPORT_RETRY
+{
+
+  /**
+     * Indicates a Transport Retry reply status. One possible value for 
+     * <code>RequestInfo.reply_status</code>.
+     * @see RequestInfo#reply_status
+     * @see SUCCESSFUL
+     * @see SYSTEM_EXCEPTION
+     * @see USER_EXCEPTION
+     * @see LOCATION_FORWARD
+     */
+  public static final short value = (short)(4);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/UNKNOWN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,18 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/UNKNOWN.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface UNKNOWN
+{
+
+  /**
+     * XXX
+     */
+  public static final short value = (short)(5);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableInterceptor/USER_EXCEPTION.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+package org.omg.PortableInterceptor;
+
+
+/**
+* org/omg/PortableInterceptor/USER_EXCEPTION.java .
+* Generated by the IDL-to-Java compiler (portable), version "3.2"
+* from ../../../../src/share/classes/org/omg/PortableInterceptor/Interceptors.idl
+* Friday, May 25, 2007 3:39:56 o'clock PM GMT-05:00
+*/
+
+public interface USER_EXCEPTION
+{
+
+  /**
+     * Indicates a UserException reply status. One possible value for 
+     * <code>RequestInfo.reply_status</code>.
+     * @see RequestInfo#reply_status
+     * @see SUCCESSFUL
+     * @see SYSTEM_EXCEPTION
+     * @see LOCATION_FORWARD
+     * @see TRANSPORT_RETRY
+     */
+  public static final short value = (short)(2);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/org/omg/PortableServer/AdapterActivator.java	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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	Thu Jun 07 13:53:29 2007 +0000
@@ -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
+* Friday, May 25, 2007 3:39:54 o'clock PM GMT-05:00
+*/
+
+
+/**
+	 * 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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/DebugHelper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+/*
+* @(#)DebugHelper.java.m4	1.11 07/05/05
+*
+* Copyright 1999-2001 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.
+*/
+
+/*
+ * This class is produced by using the m4 preprocessor to produce
+ * a .java file containing debug or release versions of the
+ * DebugHelper class.
+ */
+ 
+package sun.awt;
+
+import java.lang.reflect.*;
+import java.util.*;
+
+public abstract class DebugHelper {
+    static {
+        NativeLibLoader.loadLibraries();
+    }
+
+    /* name the DebugHelper member var must be declared as */
+    protected static final String	DBG_FIELD_NAME = "dbg";
+    protected static final String	DBG_ON_FIELD_NAME = "on";
+
+ 
+/* RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE */
+    public static final boolean		on = false;
+    private static final DebugHelper	dbgStub = new DebugHelperStub();
+
+    static void init() {
+	// nothing to do in release mode
+    }
+
+    public static final DebugHelper create(Class classToDebug) {
+	return dbgStub;
+    }
+/* RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE RELEASE */
+
+
+    public abstract void setAssertOn(boolean enabled);
+    public abstract void setTraceOn(boolean enabled);
+    public abstract void setDebugOn(boolean enabled);
+    public abstract void println(Object object);
+    public abstract void print(Object object);
+    public abstract void printStackTrace();
+    public abstract void assertion(boolean expr);
+    public abstract void assertion(boolean expr, String msg);
+}
+
+final class DebugHelperStub extends DebugHelper
+{
+    /* stub methods for production builds */
+    public void setAssertOn(boolean enabled) {}
+    public void setTraceOn(boolean enabled) {}
+    public void setDebugOn(boolean enabled) {}
+    public void println(Object object) {}
+    public void print(Object object) {}
+    public void printStackTrace() {}
+    public void assertion(boolean expr) {}
+    public void assertion(boolean expr, String msg) {}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/AwtGraphicsConfigData.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,103 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class AwtGraphicsConfigData extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 92; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	AwtGraphicsConfigData(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	AwtGraphicsConfigData() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_awt_depth() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_awt_depth(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_awt_cmap() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_awt_cmap(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public XVisualInfo get_awt_visInfo() { log.finest("");return new XVisualInfo(pData + 8); }
+	public int get_awt_num_colors() { log.finest("");return (Native.getInt(pData+48)); }
+	public void set_awt_num_colors(int v) { log.finest(""); Native.putInt(pData+48, v); }
+	public awtImageData get_awtImage(int index) { log.finest(""); return (Native.getLong(pData+52) != 0)?(new awtImageData(Native.getLong(pData+52)+index*304)):(null); }
+	public long get_awtImage() { log.finest("");return Native.getLong(pData+52); }
+	public void set_awtImage(long v) { log.finest(""); Native.putLong(pData + 52, v); }
+	public long get_AwtColorMatch(int index) { log.finest(""); return Native.getLong(pData+56)+index*Native.getLongSize(); }
+	public long get_AwtColorMatch() { log.finest("");return Native.getLong(pData+56); }
+	public void set_AwtColorMatch(long v) { log.finest(""); Native.putLong(pData + 56, v); }
+	public long get_monoImage(int index) { log.finest(""); return Native.getLong(pData+60)+index*Native.getLongSize(); }
+	public long get_monoImage() { log.finest("");return Native.getLong(pData+60); }
+	public void set_monoImage(long v) { log.finest(""); Native.putLong(pData + 60, v); }
+	public long get_monoPixmap() { log.finest("");return (Native.getLong(pData+64)); }
+	public void set_monoPixmap(long v) { log.finest(""); Native.putLong(pData+64, v); }
+	public int get_monoPixmapWidth() { log.finest("");return (Native.getInt(pData+68)); }
+	public void set_monoPixmapWidth(int v) { log.finest(""); Native.putInt(pData+68, v); }
+	public int get_monoPixmapHeight() { log.finest("");return (Native.getInt(pData+72)); }
+	public void set_monoPixmapHeight(int v) { log.finest(""); Native.putInt(pData+72, v); }
+	public long get_monoPixmapGC() { log.finest("");return (Native.getLong(pData+76)); }
+	public void set_monoPixmapGC(long v) { log.finest(""); Native.putLong(pData+76, v); }
+	public int get_pixelStride() { log.finest("");return (Native.getInt(pData+80)); }
+	public void set_pixelStride(int v) { log.finest(""); Native.putInt(pData+80, v); }
+	public ColorData get_color_data(int index) { log.finest(""); return (Native.getLong(pData+84) != 0)?(new ColorData(Native.getLong(pData+84)+index*44)):(null); }
+	public long get_color_data() { log.finest("");return Native.getLong(pData+84); }
+	public void set_color_data(long v) { log.finest(""); Native.putLong(pData + 84, v); }
+	public long get_glxInfo(int index) { log.finest(""); return Native.getLong(pData+88)+index*Native.getLongSize(); }
+	public long get_glxInfo() { log.finest("");return Native.getLong(pData+88); }
+	public void set_glxInfo(long v) { log.finest(""); Native.putLong(pData + 88, v); }
+
+
+	String getName() {
+		return "AwtGraphicsConfigData"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"awt_depth = " + get_awt_depth() +", ";
+		ret += ""+"awt_cmap = " + get_awt_cmap() +", ";
+		ret += ""+"awt_visInfo = " + get_awt_visInfo() +", ";
+		ret += ""+"awt_num_colors = " + get_awt_num_colors() +", ";
+		ret += ""+"awtImage = " + get_awtImage() +", ";
+		ret += ""+"AwtColorMatch = " + get_AwtColorMatch() +", ";
+		ret += ""+"monoImage = " + get_monoImage() +", ";
+		ret += ""+"monoPixmap = " + get_monoPixmap() +", ";
+		ret += ""+"monoPixmapWidth = " + get_monoPixmapWidth() +", ";
+		ret += ""+"monoPixmapHeight = " + get_monoPixmapHeight() +", ";
+		ret += ""+"monoPixmapGC = " + get_monoPixmapGC() +", ";
+		ret += ""+"pixelStride = " + get_pixelStride() +", ";
+		ret += ""+"color_data = " + get_color_data() +", ";
+		ret += ""+"glxInfo = " + get_glxInfo() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/AwtScreenData.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,77 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class AwtScreenData extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 24; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	AwtScreenData(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	AwtScreenData() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_numConfigs() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_numConfigs(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_root() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_root(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public long get_whitepixel() { log.finest("");return (Native.getLong(pData+8)); }
+	public void set_whitepixel(long v) { log.finest(""); Native.putLong(pData+8, v); }
+	public long get_blackpixel() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_blackpixel(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public AwtGraphicsConfigData get_defaultConfig(int index) { log.finest(""); return (Native.getLong(pData+16) != 0)?(new AwtGraphicsConfigData(Native.getLong(pData+16)+index*92)):(null); }
+	public long get_defaultConfig() { log.finest("");return Native.getLong(pData+16); }
+	public void set_defaultConfig(long v) { log.finest(""); Native.putLong(pData + 16, v); }
+	public long get_configs(int index) { log.finest(""); return Native.getLong(pData+20)+index*Native.getLongSize(); }
+	public long get_configs() { log.finest("");return Native.getLong(pData+20); }
+	public void set_configs(long v) { log.finest(""); Native.putLong(pData + 20, v); }
+
+
+	String getName() {
+		return "AwtScreenData"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"numConfigs = " + get_numConfigs() +", ";
+		ret += ""+"root = " + get_root() +", ";
+		ret += ""+"whitepixel = " + get_whitepixel() +", ";
+		ret += ""+"blackpixel = " + get_blackpixel() +", ";
+		ret += ""+"defaultConfig = " + get_defaultConfig() +", ";
+		ret += ""+"configs = " + get_configs() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/ColorData.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,99 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class ColorData extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 44; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	ColorData(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	ColorData() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public ColorEntry get_awt_Colors(int index) { log.finest(""); return (Native.getLong(pData+0) != 0)?(new ColorEntry(Native.getLong(pData+0)+index*4)):(null); }
+	public long get_awt_Colors() { log.finest("");return Native.getLong(pData+0); }
+	public void set_awt_Colors(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public int get_awt_numICMcolors() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_awt_numICMcolors(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_awt_icmLUT(int index) { log.finest(""); return Native.getInt(Native.getLong(pData+8)+index*4); }
+	public long get_awt_icmLUT() { log.finest("");return Native.getLong(pData+8); }
+	public void set_awt_icmLUT(long v) { log.finest(""); Native.putLong(pData + 8, v); }
+	public byte get_awt_icmLUT2Colors(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+12)+index*1); }
+	public long get_awt_icmLUT2Colors() { log.finest("");return Native.getLong(pData+12); }
+	public void set_awt_icmLUT2Colors(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+	public byte get_img_grays(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+16)+index*1); }
+	public long get_img_grays() { log.finest("");return Native.getLong(pData+16); }
+	public void set_img_grays(long v) { log.finest(""); Native.putLong(pData + 16, v); }
+	public byte get_img_clr_tbl(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+20)+index*1); }
+	public long get_img_clr_tbl() { log.finest("");return Native.getLong(pData+20); }
+	public void set_img_clr_tbl(long v) { log.finest(""); Native.putLong(pData + 20, v); }
+	public byte get_img_oda_red(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+24)+index*1); }
+	public long get_img_oda_red() { log.finest("");return Native.getLong(pData+24); }
+	public void set_img_oda_red(long v) { log.finest(""); Native.putLong(pData + 24, v); }
+	public byte get_img_oda_green(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+28)+index*1); }
+	public long get_img_oda_green() { log.finest("");return Native.getLong(pData+28); }
+	public void set_img_oda_green(long v) { log.finest(""); Native.putLong(pData + 28, v); }
+	public byte get_img_oda_blue(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+32)+index*1); }
+	public long get_img_oda_blue() { log.finest("");return Native.getLong(pData+32); }
+	public void set_img_oda_blue(long v) { log.finest(""); Native.putLong(pData + 32, v); }
+	public int get_pGrayInverseLutData(int index) { log.finest(""); return Native.getInt(Native.getLong(pData+36)+index*4); }
+	public long get_pGrayInverseLutData() { log.finest("");return Native.getLong(pData+36); }
+	public void set_pGrayInverseLutData(long v) { log.finest(""); Native.putLong(pData + 36, v); }
+	public int get_screendata() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_screendata(int v) { log.finest(""); Native.putInt(pData+40, v); }
+
+
+	String getName() {
+		return "ColorData"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"awt_Colors = " + get_awt_Colors() +", ";
+		ret += ""+"awt_numICMcolors = " + get_awt_numICMcolors() +", ";
+		ret += ""+"awt_icmLUT = " + get_awt_icmLUT() +", ";
+		ret += ""+"awt_icmLUT2Colors = " + get_awt_icmLUT2Colors() +", ";
+		ret += ""+"img_grays = " + get_img_grays() +", ";
+		ret += ""+"img_clr_tbl = " + get_img_clr_tbl() +", ";
+		ret += ""+"img_oda_red = " + get_img_oda_red() +", ";
+		ret += ""+"img_oda_green = " + get_img_oda_green() +", ";
+		ret += ""+"img_oda_blue = " + get_img_oda_blue() +", ";
+		ret += ""+"pGrayInverseLutData = " + get_pGrayInverseLutData() +", ";
+		ret += ""+"screendata = " + get_screendata() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/ColorEntry.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,69 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class ColorEntry extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 4; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	ColorEntry(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	ColorEntry() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public byte get_r() { log.finest("");return (Native.getByte(pData+0)); }
+	public void set_r(byte v) { log.finest(""); Native.putByte(pData+0, v); }
+	public byte get_g() { log.finest("");return (Native.getByte(pData+1)); }
+	public void set_g(byte v) { log.finest(""); Native.putByte(pData+1, v); }
+	public byte get_b() { log.finest("");return (Native.getByte(pData+2)); }
+	public void set_b(byte v) { log.finest(""); Native.putByte(pData+2, v); }
+	public byte get_flags() { log.finest("");return (Native.getByte(pData+3)); }
+	public void set_flags(byte v) { log.finest(""); Native.putByte(pData+3, v); }
+
+
+	String getName() {
+		return "ColorEntry"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"r = " + get_r() +", ";
+		ret += ""+"g = " + get_g() +", ";
+		ret += ""+"b = " + get_b() +", ";
+		ret += ""+"flags = " + get_flags() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/Depth.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,67 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class Depth extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	Depth(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	Depth() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_depth() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_depth(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_nvisuals() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_nvisuals(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public Visual get_visuals(int index) { log.finest(""); return (Native.getLong(pData+8) != 0)?(new Visual(Native.getLong(pData+8)+index*32)):(null); }
+	public long get_visuals() { log.finest("");return Native.getLong(pData+8); }
+	public void set_visuals(long v) { log.finest(""); Native.putLong(pData + 8, v); }
+
+
+	String getName() {
+		return "Depth"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"depth = " + get_depth() +", ";
+		ret += ""+"nvisuals = " + get_nvisuals() +", ";
+		ret += ""+"visuals = " + get_visuals() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/PropMwmHints.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class PropMwmHints extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 20; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	PropMwmHints(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	PropMwmHints() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_flags() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_flags(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public long get_functions() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_functions(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public long get_decorations() { log.finest("");return (Native.getLong(pData+8)); }
+	public void set_decorations(long v) { log.finest(""); Native.putLong(pData+8, v); }
+	public long get_inputMode() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_inputMode(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_status() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_status(long v) { log.finest(""); Native.putLong(pData+16, v); }
+
+
+	String getName() {
+		return "PropMwmHints"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"flags = " + get_flags() +", ";
+		ret += ""+"functions = " + get_functions() +", ";
+		ret += ""+"decorations = " + get_decorations() +", ";
+		ret += ""+"inputMode = " + get_inputMode() +", ";
+		ret += ""+"status = " + get_status() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/Screen.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,121 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class Screen extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 80; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	Screen(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	Screen() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public XExtData get_ext_data(int index) { log.finest(""); return (Native.getLong(pData+0) != 0)?(new XExtData(Native.getLong(pData+0)+index*16)):(null); }
+	public long get_ext_data() { log.finest("");return Native.getLong(pData+0); }
+	public void set_ext_data(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public long get_display(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_display() { log.finest("");return Native.getLong(pData+4); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+	public long get_root() { log.finest("");return (Native.getLong(pData+8)); }
+	public void set_root(long v) { log.finest(""); Native.putLong(pData+8, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_mwidth() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_mwidth(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_mheight() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_mheight(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_ndepths() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_ndepths(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public Depth get_depths(int index) { log.finest(""); return (Native.getLong(pData+32) != 0)?(new Depth(Native.getLong(pData+32)+index*12)):(null); }
+	public long get_depths() { log.finest("");return Native.getLong(pData+32); }
+	public void set_depths(long v) { log.finest(""); Native.putLong(pData + 32, v); }
+	public int get_root_depth() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_root_depth(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public Visual get_root_visual(int index) { log.finest(""); return (Native.getLong(pData+40) != 0)?(new Visual(Native.getLong(pData+40)+index*32)):(null); }
+	public long get_root_visual() { log.finest("");return Native.getLong(pData+40); }
+	public void set_root_visual(long v) { log.finest(""); Native.putLong(pData + 40, v); }
+	public long get_default_gc() { log.finest("");return (Native.getLong(pData+44)); }
+	public void set_default_gc(long v) { log.finest(""); Native.putLong(pData+44, v); }
+	public long get_cmap() { log.finest("");return (Native.getLong(pData+48)); }
+	public void set_cmap(long v) { log.finest(""); Native.putLong(pData+48, v); }
+	public long get_white_pixel() { log.finest("");return (Native.getLong(pData+52)); }
+	public void set_white_pixel(long v) { log.finest(""); Native.putLong(pData+52, v); }
+	public long get_black_pixel() { log.finest("");return (Native.getLong(pData+56)); }
+	public void set_black_pixel(long v) { log.finest(""); Native.putLong(pData+56, v); }
+	public int get_max_maps() { log.finest("");return (Native.getInt(pData+60)); }
+	public void set_max_maps(int v) { log.finest(""); Native.putInt(pData+60, v); }
+	public int get_min_maps() { log.finest("");return (Native.getInt(pData+64)); }
+	public void set_min_maps(int v) { log.finest(""); Native.putInt(pData+64, v); }
+	public int get_backing_store() { log.finest("");return (Native.getInt(pData+68)); }
+	public void set_backing_store(int v) { log.finest(""); Native.putInt(pData+68, v); }
+	public boolean get_save_unders() { log.finest("");return (Native.getBool(pData+72)); }
+	public void set_save_unders(boolean v) { log.finest(""); Native.putBool(pData+72, v); }
+	public long get_root_input_mask() { log.finest("");return (Native.getLong(pData+76)); }
+	public void set_root_input_mask(long v) { log.finest(""); Native.putLong(pData+76, v); }
+
+
+	String getName() {
+		return "Screen"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"ext_data = " + get_ext_data() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"root = " + get_root() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"mwidth = " + get_mwidth() +", ";
+		ret += ""+"mheight = " + get_mheight() +", ";
+		ret += ""+"ndepths = " + get_ndepths() +", ";
+		ret += ""+"depths = " + get_depths() +", ";
+		ret += ""+"root_depth = " + get_root_depth() +", ";
+		ret += ""+"root_visual = " + get_root_visual() +", ";
+		ret += ""+"default_gc = " + get_default_gc() +", ";
+		ret += ""+"cmap = " + get_cmap() +", ";
+		ret += ""+"white_pixel = " + get_white_pixel() +", ";
+		ret += ""+"black_pixel = " + get_black_pixel() +", ";
+		ret += ""+"max_maps = " + get_max_maps() +", ";
+		ret += ""+"min_maps = " + get_min_maps() +", ";
+		ret += ""+"backing_store = " + get_backing_store() +", ";
+		ret += ""+"save_unders = " + get_save_unders() +", ";
+		ret += ""+"root_input_mask = " + get_root_input_mask() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/ScreenFormat.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class ScreenFormat extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	ScreenFormat(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	ScreenFormat() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public XExtData get_ext_data(int index) { log.finest(""); return (Native.getLong(pData+0) != 0)?(new XExtData(Native.getLong(pData+0)+index*16)):(null); }
+	public long get_ext_data() { log.finest("");return Native.getLong(pData+0); }
+	public void set_ext_data(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public int get_depth() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_depth(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_bits_per_pixel() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_bits_per_pixel(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_scanline_pad() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_scanline_pad(int v) { log.finest(""); Native.putInt(pData+12, v); }
+
+
+	String getName() {
+		return "ScreenFormat"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"ext_data = " + get_ext_data() +", ";
+		ret += ""+"depth = " + get_depth() +", ";
+		ret += ""+"bits_per_pixel = " + get_bits_per_pixel() +", ";
+		ret += ""+"scanline_pad = " + get_scanline_pad() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/Visual.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,82 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class Visual extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 32; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	Visual(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	Visual() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public XExtData get_ext_data(int index) { log.finest(""); return (Native.getLong(pData+0) != 0)?(new XExtData(Native.getLong(pData+0)+index*16)):(null); }
+	public long get_ext_data() { log.finest("");return Native.getLong(pData+0); }
+	public void set_ext_data(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public long get_visualid() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_visualid(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public int get_class() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_class(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public long get_red_mask() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_red_mask(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_green_mask() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_green_mask(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_blue_mask() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_blue_mask(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_bits_per_rgb() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_bits_per_rgb(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_map_entries() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_map_entries(int v) { log.finest(""); Native.putInt(pData+28, v); }
+
+
+	String getName() {
+		return "Visual"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"ext_data = " + get_ext_data() +", ";
+		ret += ""+"visualid = " + get_visualid() +", ";
+		ret += ""+"class = " + get_class() +", ";
+		ret += ""+"red_mask = " + get_red_mask() +", ";
+		ret += ""+"green_mask = " + get_green_mask() +", ";
+		ret += ""+"blue_mask = " + get_blue_mask() +", ";
+		ret += ""+"bits_per_rgb = " + get_bits_per_rgb() +", ";
+		ret += ""+"map_entries = " + get_map_entries() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon32_java_icon16_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package sun.awt.X11; public class XAWTIcon32_java_icon16_png {
+public static int[] java_icon16_png = { 
+16,16,
+0x689fb5c9, 
+0xcc9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 
+0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xcc9fb5c8, 0x689fb5c9, 0xcc9bb2c4, 0xffd5dade, 0xfff5f5f5, 0xfff7f7f7, 0xfff7f7f7, 
+0xfff7f7f7, 0xfff7f7f7, 0xff9b9b9b, 0xffbbbbbb, 0xfff4f4f4, 0xfff7f7f7, 0xfff7f7f7, 0xfff7f7f7, 0xfff5f5f5, 0xffd5dade, 
+0xcc9bb2c4, 0xff96acbf, 0xffededed, 0xfffcfcfc, 0xfffdfdfd, 0xfffdfdfd, 0xfffdfdfd, 0xfffdfdfd, 0xff575757, 0xff454646, 
+0xffb7a697, 0xfffafafa, 0xfffdfdfd, 0xfffdfdfd, 0xfffcfcfc, 0xffededed, 0xff96acbf, 0xff90a7ba, 0xffececec, 0xfffbfbfb, 
+0xfffbfbfb, 0xfffbfbfb, 0xfffbfbfb, 0xffededed, 0xff2e3333, 0xff3c3e3e, 0xff42433f, 0xffcfd0d0, 0xfffbfbfb, 0xfffbfbfb, 
+0xfffbfbfb, 0xffececec, 0xff90a7ba, 0xff89a1b5, 0xffe9e9e9, 0xfff9f9f9, 0xfff9f9f9, 0xfff9f9f9, 0xfff9f9f9, 0xff9e9f9f, 
+0xff4f2828, 0xffd24747, 0xffab4a4a, 0xff5e564f, 0xfff5f5f5, 0xfff9f9f9, 0xfff9f9f9, 0xffe9e9e9, 0xff89a1b5, 0xff829baf, 
+0xffe7e7e7, 0xfff6f6f6, 0xfff6f6f6, 0xffeae9e9, 0xffc6c6c6, 0xff413d35, 0xff7c2525, 0xfff84343, 0xfff84040, 0xff634241, 
+0xffcecfcf, 0xfff4f4f4, 0xffececec, 0xffe7e7e7, 0xff829baf, 0xff7b94a8, 0xffe4e4e4, 0xffebebeb, 0xff999c9f, 0xff627381, 
+0xff575c60, 0xff959696, 0xff462828, 0xff731515, 0xff7e1919, 0xffe3d2d2, 0xffa4a6a6, 0xffbebebe, 0xff949494, 0xffe4e4e4, 
+0xff7b94a8, 0xff748da2, 0xffe1e1e1, 0xff878685, 0xff6b839b, 0xffb1d4f2, 0xff929ca6, 0xffacaba9, 0xff3a3b3b, 0xff070101, 
+0xff4f4848, 0xffffffff, 0xffbbbbbb, 0xff5e5e5e, 0xff797979, 0xffe1e1e1, 0xff748da2, 0xff6c879b, 0xffdedede, 0xff5c5b5b, 
+0xff413b33, 0xff504b43, 0xff8f867a, 0xffb1b2b3, 0xff7f8080, 0xff686a6a, 0xffced0d0, 0xffffffff, 0xffcbcdcf, 0xff1d1e1f, 
+0xff444444, 0xffdcdcdc, 0xff6c879b, 0xff648094, 0xffdcdcdc, 0xff828282, 0xff484845, 0xff414e58, 0xff6f7274, 0xffbdbdbd, 
+0xffc0c0c0, 0xffd5d5d5, 0xffffffff, 0xffffffff, 0xffd9d9d9, 0xff3c4f5e, 0xff56636e, 0xffd8d8d8, 0xff648094, 0xff5d798e, 
+0xffd9d9d9, 0xffdedede, 0xffd7d7d7, 0xfffafafa, 0xff828282, 0xffaaaaaa, 0xffb7b7b7, 0xffd0d0d0, 0xffececec, 0xfffefefe, 
+0xffe4e4e4, 0xff526a7d, 0xff899eaf, 0xffd5d5d5, 0xff5d798e, 0xff567287, 0xffd6d6d6, 0xffc6c6c6, 0xffa6a6a6, 0xff8f8f8f, 
+0xff5b5c5e, 0xff737373, 0xff6a6a6a, 0xff797979, 0xff969696, 0xffd0d0d0, 0xffe1e1e1, 0xff71818e, 0xffe0e0e0, 0xffd4d4d4, 
+0xff567287, 0xff4f6c81, 0xffdbdbdb, 0xffb4b4b4, 0xff919191, 0xff737373, 0xff414141, 0xff424242, 0xff1a1a1a, 0xff0f0f0f, 
+0xff252525, 0xff7b7b7b, 0xffa1a1a1, 0xffbababa, 0xffe5e5e5, 0xffdbdbdb, 0xff4f6c81, 0xff48667c, 0xffdfdfdf, 0xffe6e6e6, 
+0xffabbbc7, 0xff87a0b4, 0xff5f7a8f, 0xff536a7d, 0xff4f6576, 0xff485c6c, 0xff3e4f5d, 0xff384550, 0xff495b6a, 0xffe2e2e2, 
+0xffe9e9e9, 0xffdfdfdf, 0xff48667c, 0xe1426177, 0xffaab0b5, 0xffe8e8e8, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 
+0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffeaeaea, 0xffaab0b5, 0xe1426177, 0x683d5d71, 
+0xcc3d5d72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 
+0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xcc3d5d72, 0x683d5d71, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon32_java_icon24_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+package sun.awt.X11; public class XAWTIcon32_java_icon24_png {
+public static int[] java_icon24_png = { 
+24,23,
+0x1a9dbac4, 
+0x80a1b5c9, 0xd5a0b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xd5a0b6c9, 0x80a1b5c9, 0x1a9dbac4, 0x809db3c5, 0xffbec9d2, 0xffe8ebed, 0xfff8f8f8, 0xfffafafa, 0xfffafafa, 0xfffafafa, 
+0xfffafafa, 0xfffafafa, 0xfffafafa, 0xffe3e3e3, 0xff989898, 0xffdadada, 0xfffafafa, 0xfffafafa, 0xfffafafa, 0xfffafafa, 
+0xfffafafa, 0xfffafafa, 0xfffafafa, 0xfff8f8f8, 0xffe8ebed, 0xffbec9d2, 0x809db3c5, 0xd59ab0c3, 0xffdce0e3, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xffd2d1d7, 0xff4c4c4d, 0xff959598, 
+0xfff3f2f9, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xffdce0e3, 
+0xd59ab0c3, 0xff96adc0, 0xffededed, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 
+0xfff3f3fa, 0xffbbbbc1, 0xff2b2b2b, 0xff4d4d4d, 0xff88888b, 0xffe9e9f0, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 
+0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xffededed, 0xff96adc0, 0xff92a9bc, 0xffececec, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 
+0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xffeeedf4, 0xff8e8e92, 0xff282626, 0xff414242, 0xff4c4f4f, 0xff807f82, 
+0xffe6e5ec, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xffececec, 0xff92a9bc, 0xff8ea5b9, 
+0xffebebeb, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xffe5e4ec, 0xff4c4c4e, 
+0xff1e2828, 0xff293434, 0xff424c4c, 0xff3d4748, 0xff8a8a8e, 0xffeeedf5, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xfff0eff7, 0xffebebeb, 0xff8ea5b9, 0xff89a1b4, 0xffe9e9e9, 0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 
+0xffededf5, 0xffededf5, 0xffafb0b5, 0xff232627, 0xff4b2a2a, 0xffb53e3e, 0xffc34c4c, 0xff704646, 0xff394243, 0xffaeafb5, 
+0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 0xffe9e9e9, 0xff89a1b4, 0xff849cb0, 0xffe7e7e7, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffe5e5ed, 0xff525558, 0xff342323, 0xffba3232, 0xfffe4e4e, 
+0xffff5858, 0xffdf4949, 0xff623636, 0xff5e6568, 0xffdedee6, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffe7e7e7, 
+0xff849cb0, 0xff7f98ac, 0xffe5e5e5, 0xffe8e8f1, 0xffe8e8f1, 0xffe8e8f1, 0xffe1e1e9, 0xffd2d1d9, 0xffcacad2, 0xff97989d, 
+0xff282c2d, 0xff3d1b1b, 0xffad2828, 0xffea3f3f, 0xfffc4848, 0xfff43c3c, 0xff8c3939, 0xff454e4f, 0xffb5b6bc, 0xffe8e8f1, 
+0xffe4e4ec, 0xffd9d9e1, 0xffe4e4ed, 0xffe5e5e5, 0xff7f98ac, 0xff7a93a7, 0xffe3e3e3, 0xffe6e6ee, 0xffe1e1e8, 0xffc3c3ca, 
+0xff7f8286, 0xff525456, 0xff343435, 0xff565656, 0xff8d8f8f, 0xff4e3d3d, 0xff540e0e, 0xff9d2828, 0xffbb2a2a, 0xff9c1313, 
+0xffa86e6e, 0xffeef3f3, 0xffa0a1a4, 0xffd6d6de, 0xffc7c7ce, 0xff6c6c6f, 0xffc4c4cb, 0xffe3e3e3, 0xff7a93a7, 0xff748ea2, 
+0xffe2e2e2, 0xffd0d0d8, 0xff89898e, 0xff687b8d, 0xff7ca5c2, 0xff749bb9, 0xff64717d, 0xff8b8b8a, 0xffd4d5d5, 0xff666464, 
+0xff130000, 0xff410e0e, 0xff480a0a, 0xff400d0d, 0xffb0a3a3, 0xffffffff, 0xffbfbfbf, 0xff848489, 0xffbebec5, 0xff434345, 
+0xffb1b1b8, 0xffe2e2e2, 0xff748ea2, 0xff6f899d, 0xffe0e0e0, 0xff7a797c, 0xff393f43, 0xff82a6ca, 0xffbae3fc, 0xffbcdffe, 
+0xff94a3b5, 0xffa2a1a0, 0xffadaeac, 0xff636464, 0xff121313, 0xff050101, 0xff000202, 0xff4f5353, 0xffe4e7e7, 0xffffffff, 
+0xffe3e3e3, 0xff545455, 0xff828287, 0xff49494b, 0xffa3a3a9, 0xffe0e0e0, 0xff6f899d, 0xff698499, 0xffdddddd, 0xff4c4c4f, 
+0xff383834, 0xff3f3f40, 0xff787777, 0xffa1958b, 0xff918477, 0xffaba8a6, 0xffacaeaf, 0xff828282, 0xff464747, 0xff2d3030, 
+0xff4d5050, 0xffc0c2c2, 0xffffffff, 0xffffffff, 0xfffbfbfb, 0xff616162, 0xff19191a, 0xff303030, 0xff808085, 0xffdddddd, 
+0xff698499, 0xff647f94, 0xffdbdbdb, 0xff46484c, 0xff463f37, 0xff453a29, 0xff0e0b07, 0xff2b261a, 0xff756c5e, 0xffadacaa, 
+0xffb5b7b7, 0xffa9a9a9, 0xff949494, 0xff929292, 0xffc3c3c3, 0xfffbfbfb, 0xffffffff, 0xffffffff, 0xffffffff, 0xff8f8f93, 
+0xff313234, 0xff1a1a1a, 0xff7c7d81, 0xffdbdbdb, 0xff647f94, 0xff5e7a8f, 0xffdadada, 0xff76767c, 0xff282623, 0xff474744, 
+0xff5a5b5f, 0xff6b6c72, 0xff6f7071, 0xffafb0b0, 0xffbbbbbb, 0xffbfbfbf, 0xffc4c4c4, 0xffd1d0d0, 0xffeeeeee, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xfffbfbfb, 0xff959599, 0xffa2a3aa, 0xff56575a, 0xffabacb4, 0xffdadada, 0xff5e7a8f, 0xff59758a, 
+0xffd8d8d8, 0xffc1c2cb, 0xff7d7e84, 0xffa5a6ae, 0xffd4d5df, 0xffcdced8, 0xff7c7d80, 0xffaaaaaa, 0xffb5b5b5, 0xffbdbdbd, 
+0xffc9c9c9, 0xffdadada, 0xffeeeeee, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xfffdfdfd, 0xff8c8c8e, 0xffc0c1ca, 0xffcdcdd7, 
+0xffd4d5df, 0xffd8d8d8, 0xff59758a, 0xff547186, 0xffd6d6d6, 0xffd1d3dd, 0xffd1d3dd, 0xffcfd1db, 0xffcfd1da, 0xffb6b7c0, 
+0xff717173, 0xff979797, 0xff9f9f9f, 0xffa8a8a8, 0xffb4b4b4, 0xffc2c2c2, 0xffd2d2d2, 0xffe3e3e3, 0xfff1f1f1, 0xfffdfdfd, 
+0xffffffff, 0xff979798, 0xffc1c3cb, 0xffd1d3dd, 0xffd1d3dd, 0xffd6d6d6, 0xff547186, 0xff4f6c82, 0xffd7d7d7, 0xffc0c1cb, 
+0xffb3b3bd, 0xff9c9da5, 0xff8f9097, 0xff78787f, 0xff606162, 0xff7d7d7d, 0xff6e6e6e, 0xff6e6e6e, 0xff787878, 0xff868686, 
+0xff929292, 0xffa6a6a6, 0xffc1c1c1, 0xffe1e1e1, 0xfff7f7f7, 0xff9d9d9f, 0xffc6c7d0, 0xffcfd0db, 0xffcfd0db, 0xffd7d7d7, 
+0xff4f6c82, 0xff4a687d, 0xffd9d9d9, 0xff9d9ea6, 0xff84848c, 0xff69696f, 0xff505155, 0xff3a3a3d, 0xff3f4040, 0xff717171, 
+0xff535353, 0xff393939, 0xff363637, 0xff3c3c3c, 0xff434343, 0xff575757, 0xff7f7f7f, 0xffbebebe, 0xffebebeb, 0xff919294, 
+0xffbbbcc6, 0xffcdced9, 0xffcdced9, 0xffd9d9d9, 0xff4a687d, 0xff46647a, 0xffdcdcdc, 0xffa3a4ae, 0xff9b9ca5, 0xff9798a1, 
+0xff8f9098, 0xff7a7a82, 0xff3e3e42, 0xff363637, 0xff373737, 0xff272728, 0xff333336, 0xff434347, 0xff343537, 0xff1e1e1f, 
+0xff3c3c3c, 0xff878787, 0xffa7a7a7, 0xff76767b, 0xffb9bac5, 0xffc3c4d0, 0xffc9cad6, 0xffdcdcdc, 0xff46647a, 0xd5426077, 
+0xffc2c7ca, 0xffc4c6d1, 0xffc5c7d2, 0xffc7c9d4, 0xffc7c9d4, 0xffc3c5d0, 0xffacaeb7, 0xff909199, 0xff8b8c93, 0xff8c8e95, 
+0xff9799a1, 0xffa2a3ac, 0xff93949c, 0xff67686e, 0xff444548, 0xff454648, 0xff5e5f63, 0xffa5a7af, 0xffc3c5cf, 0xffc3c5cf, 
+0xffc8cad5, 0xffc2c7ca, 0xd5426077, 0x803e5e74, 0xff778792, 0xffbbc1c4, 0xffe6e6e6, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 
+0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 
+0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe6e6e6, 0xffbbc1c4, 0xff778792, 0x803e5e74, 0x1a3b586c, 0x803a5a70, 0xd5395a71, 
+0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 
+0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xd5395a71, 0x803a5a70, 
+0x1a3b586c, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon32_java_icon32_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,107 @@
+package sun.awt.X11; public class XAWTIcon32_java_icon32_png {
+public static int[] java_icon32_png = { 
+32,32,
+0x0, 
+0x0, 0x409fb7c7, 0x7fa1b7c9, 0xbfa2b6ca, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xbfa2b6ca, 0x7fa1b7c9, 0x409fb7c7, 0x0, 
+0x0, 0x0, 0x409fb3c7, 0xffaebecc, 0xffc0cbd5, 0xffd8dee2, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xffd8dee2, 0xffc0cbd5, 
+0xffaebecc, 0x409fb3c7, 0x0, 0x409bb3c7, 0xffacbdcb, 0xffcfd7dd, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xffbab9be, 0xffa09fa4, 0xffeae9f0, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xffcfd7dd, 0xffacbdcb, 0x409bb3c7, 0x7f9bb1c5, 0xffbdc8d2, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xff8e8d91, 
+0xff373737, 0xff858487, 0xffe6e6ec, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xffbdc8d2, 0x7f9bb1c5, 0xbf98aec2, 0xffd4d9de, 0xfff2f1f9, 
+0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 
+0xffecebf2, 0xff77777a, 0xff333333, 0xff494949, 0xff757578, 0xffdedde4, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 
+0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xffd4d9de, 0xbf98aec2, 0xff95abbf, 
+0xffececec, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xffd5d4db, 0xff555557, 0xff2a2a2a, 0xff444444, 0xff4c4c4c, 0xff69686b, 0xffd5d4db, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xff95abbf, 0xff92a8bc, 0xffececec, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffb6b6bb, 0xff303031, 0xff292929, 0xff3a3a3a, 0xff4f4e4e, 0xff494949, 
+0xff656567, 0xffd5d5db, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xff92a8bc, 0xff8ea5b9, 0xffebebeb, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xff929296, 0xff222223, 0xff292929, 0xff303232, 
+0xff414747, 0xff4d4f4f, 0xff424141, 0xff78777a, 0xffdfdfe6, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xff8ea5b9, 0xff8ba2b6, 0xffe9e9e9, 0xffececf4, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffd5d5dc, 0xff5b5b5e, 0xff222525, 
+0xff212828, 0xff3a2e2e, 0xff5c3e3e, 0xff534a4a, 0xff3e4646, 0xff363737, 0xff9a999e, 0xffebebf3, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xff8ba2b6, 0xff879fb3, 0xffe8e8e8, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffa9a8ae, 
+0xff292e2f, 0xff202626, 0xff6c2c2c, 0xffdb4040, 0xffff4d4d, 0xffdf4a4a, 0xff774040, 0xff353b3b, 0xff4d5153, 0xffc8c8cf, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xff879fb3, 0xff849cb0, 
+0xffe7e7e7, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xffd8d8df, 0xff636568, 0xff182424, 0xff5a2626, 0xffdf3838, 0xffff4b4b, 0xffff5757, 0xffff5a5a, 0xffef4747, 0xff6f3636, 
+0xff2c3535, 0xff8a8b8f, 0xffe5e5ed, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xff849cb0, 0xff8098ac, 0xffe6e6e6, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe7e7f0, 0xffaeaeb4, 0xff212627, 0xff201e1e, 0xff752121, 0xffd93434, 0xfffa4242, 0xffff5050, 0xffff5252, 
+0xffff4747, 0xffaa3333, 0xff2f2727, 0xff3b4143, 0xffcdcdd5, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe7e7f0, 0xff8098ac, 0xff7c95a9, 0xffe4e4e4, 0xffe6e6ee, 0xffe6e6ee, 0xffe6e6ee, 0xffe6e6ee, 0xffe5e5ed, 
+0xffd4d4dc, 0xffbdbdc3, 0xffafafb4, 0xff919196, 0xff4f4f51, 0xff1c2222, 0xff221b1b, 0xff591616, 0xff9f2727, 0xffcc3434, 
+0xffe63b3b, 0xffed3d3d, 0xffef3535, 0xffaa3030, 0xff635252, 0xff616868, 0xffb1b1b7, 0xffe6e6ee, 0xffe6e6ee, 0xffe0e0e8, 
+0xffc4c4ca, 0xffdbdbe2, 0xffe6e6ee, 0xffe6e6ee, 0xff7c95a9, 0xff7891a6, 0xffe3e3e3, 0xffe4e4ed, 0xffe4e4ed, 0xffe4e4ed, 
+0xffdddde6, 0xff89878a, 0xff4a4846, 0xff322e2c, 0xff1d1a1a, 0xff2d2d2e, 0xff787777, 0xffb1b4b4, 0xff706d6d, 0xff350f0f, 
+0xff631313, 0xff952626, 0xffb02c2c, 0xffbc3131, 0xffa21515, 0xff923c3c, 0xffd2c6c6, 0xffffffff, 0xffa2a2a4, 0xffb9b9c0, 
+0xffe4e4ed, 0xffc4c4cb, 0xff59595b, 0xff9f9fa5, 0xffe2e2eb, 0xffe4e4ed, 0xff7891a6, 0xff748ea2, 0xffe1e1e1, 0xffe2e2eb, 
+0xffe0e0e8, 0xffa9a9af, 0xff5b5b5e, 0xff5a6b7c, 0xff6f8da9, 0xff6f8495, 0xff76797f, 0xff5b5a5c, 0xffa6a6a7, 0xffe8e9e9, 
+0xff949595, 0xff231616, 0xff280101, 0xff571717, 0xff741e1e, 0xff7d2121, 0xff4e0000, 0xff7e5858, 0xffeceaea, 0xffffffff, 
+0xffc8c8c8, 0xff525254, 0xffd1d1d9, 0xffc9c9d1, 0xff272728, 0xff838388, 0xffe0e0e8, 0xffe2e2eb, 0xff748ea2, 0xff708a9f, 
+0xffe0e0e0, 0xffdadbe4, 0xff79797c, 0xff41474a, 0xff7d9ebd, 0xff9acdfb, 0xff96ceff, 0xff9ed4fc, 0xff93b4ca, 0xff858c93, 
+0xffa7a3a1, 0xffc7c7c7, 0xff868787, 0xff2a2929, 0xff090000, 0xff1a0404, 0xff2d0b0b, 0xff220101, 0xff200b0b, 0xffa6a1a1, 
+0xfffeffff, 0xffffffff, 0xffefefef, 0xff4e4e4e, 0xff9c9da3, 0xffd6d7df, 0xff333335, 0xff909196, 0xffdedfe8, 0xffe0e1ea, 
+0xff708a9f, 0xff6c879b, 0xffdedede, 0xffcbccd4, 0xff424141, 0xff484f55, 0xff87add0, 0xff9bc5ef, 0xffabc9dc, 0xff9db6cc, 
+0xff8492a7, 0xff909193, 0xffafadac, 0xffb7b7b7, 0xff858686, 0xff3d3f3f, 0xff1a1919, 0xff130e0e, 0xff0a0404, 0xff040000, 
+0xff565858, 0xffe0e1e1, 0xffffffff, 0xffffffff, 0xffffffff, 0xff6f6f6f, 0xff66666a, 0xff999aa0, 0xff3f3f40, 0xff6f6f73, 
+0xffd6d7df, 0xffdedfe8, 0xff6c879b, 0xff688397, 0xffdddddd, 0xffa3a4ab, 0xff222122, 0xff33302d, 0xff313435, 0xff636266, 
+0xffccc2c0, 0xffc7bbb5, 0xff8c8074, 0xff968e84, 0xffb1b2b3, 0xffb2b2b3, 0xff919191, 0xff5a5a5a, 0xff313333, 0xff282828, 
+0xff292929, 0xff515252, 0xffb6b6b6, 0xfffafafa, 0xffffffff, 0xffffffff, 0xffffffff, 0xff8d8d8d, 0xff2b2b2c, 0xff2b2b2c, 
+0xff2e2e2e, 0xff3e3e3e, 0xffc4c5cd, 0xffdcdde6, 0xff688397, 0xff647f94, 0xffdcdcdc, 0xff8c8d93, 0xff242524, 0xff4c463b, 
+0xff403426, 0xff191612, 0xff32312c, 0xff655d4c, 0xff7b6b53, 0xff9b9288, 0xffb2b4b7, 0xffb3b3b3, 0xffa3a3a3, 0xff878787, 
+0xff686868, 0xff5f5f5f, 0xff757575, 0xffaeaeae, 0xffececec, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffafafb1, 
+0xff424245, 0xff101010, 0xff1f1f1f, 0xff2c2c2d, 0xffbebfc7, 0xffdadbe5, 0xff647f94, 0xff607c90, 0xffdadada, 0xffa1a2a8, 
+0xff191a1a, 0xff4f4a41, 0xff6f604c, 0xff26231c, 0xff000000, 0xff131511, 0xff5b5449, 0xff9a9793, 0xffb5b6b7, 0xffb8b8b8, 
+0xffb3b3b3, 0xffacacac, 0xffa4a4a4, 0xffa6a6a6, 0xffb9b9b9, 0xffdfdfdf, 0xfffcfcfc, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffb6b6b8, 0xffa1a2a9, 0xff353537, 0xff1a1a1a, 0xff343435, 0xffc6c7cf, 0xffd9dae3, 0xff607c90, 0xff5c788d, 
+0xffd9d9d9, 0xffc4c5ce, 0xff313233, 0xff2f2d2b, 0xff3a3935, 0xff353839, 0xff54585c, 0xff676a6f, 0xff606266, 0xff989798, 
+0xffb7b7b7, 0xffb9b9b9, 0xffbcbcbc, 0xffbebebe, 0xffc1c1c1, 0xffc8c8c8, 0xffd8d8d8, 0xfff2f2f2, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffb1b1b1, 0xffacadb5, 0xffa0a1a8, 0xff252627, 0xff74757a, 0xffd1d2dc, 0xffd7d8e2, 
+0xff5c788d, 0xff58758a, 0xffd7d7d7, 0xffd3d4de, 0xff88888f, 0xff1b1b1d, 0xff74767b, 0xffbabcc4, 0xffcfd0da, 0xffcccdd6, 
+0xff818186, 0xff9d9d9d, 0xffb0b0b0, 0xffb7b7b7, 0xffbcbcbc, 0xffc1c1c1, 0xffc9c9c9, 0xffd4d4d4, 0xffe4e4e4, 0xfff7f7f7, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffb0b0b0, 0xff8b8c91, 0xffcdced8, 0xffb2b2bb, 0xffcbccd6, 
+0xffd5d6e0, 0xffd5d6e0, 0xff58758a, 0xff547186, 0xffd6d6d6, 0xffd3d5df, 0xffcbcdd6, 0xffb1b3bb, 0xffd1d2dc, 0xffd3d5df, 
+0xffd3d5df, 0xffc1c3cc, 0xff737477, 0xff989898, 0xffa6a6a6, 0xffadadad, 0xffb4b4b4, 0xffbababa, 0xffc3c3c3, 0xffcfcfcf, 
+0xffdddddd, 0xffeaeaea, 0xfff6f6f6, 0xfffefefe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffbbbbbb, 0xff8c8d91, 0xffcbcdd6, 
+0xffd3d5df, 0xffd3d5df, 0xffd3d5df, 0xffd3d5df, 0xff547186, 0xff516e83, 0xffd6d6d6, 0xffd0d1db, 0xffd0d1da, 0xffd0d1db, 
+0xffc9cad3, 0xffc2c2cc, 0xffc4c5ce, 0xffb5b6be, 0xff68696b, 0xff8b8b8b, 0xff969696, 0xff9b9b9b, 0xffa1a1a1, 0xffa8a8a8, 
+0xffb1b1b1, 0xffbbbbbb, 0xffc6c6c6, 0xffd1d1d1, 0xffdddddd, 0xffeaeaea, 0xfff5f5f5, 0xfffefefe, 0xffffffff, 0xffcbcbcb, 
+0xff939398, 0xffcdced7, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xff516e83, 0xff4d6b80, 0xffd8d8d8, 0xffcbccd7, 
+0xffc1c2cc, 0xffb7b8c1, 0xffadaeb7, 0xffa2a3ac, 0xff9d9ea7, 0xff909098, 0xff5c5c5f, 0xff7e7e7e, 0xff7e7e7e, 0xff7d7d7d, 
+0xff808080, 0xff868686, 0xff8e8e8e, 0xff969696, 0xffa0a0a0, 0xffababab, 0xffbababa, 0xffc9c9c9, 0xffdadada, 0xffebebeb, 
+0xfff9f9f9, 0xffcbcbcb, 0xff9c9da2, 0xffcccdd7, 0xffd0d1dc, 0xffd0d1dc, 0xffd0d1dc, 0xffd0d1dc, 0xff4d6b80, 0xff4a687d, 
+0xffd8d8d8, 0xffbcbec8, 0xffaaacb5, 0xff999ba3, 0xff898a91, 0xff76777d, 0xff696a70, 0xff5d5e62, 0xff4a4b4d, 0xff767676, 
+0xff6d6d6d, 0xff585858, 0xff525252, 0xff535353, 0xff5a5a5a, 0xff616161, 0xff696969, 0xff747474, 0xff858585, 0xff9d9d9d, 
+0xffbababa, 0xffd6d6d6, 0xffececec, 0xffcacaca, 0xff999a9f, 0xffcaccd7, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 
+0xff4a687d, 0xff46657a, 0xffd7d7d7, 0xffabadb6, 0xff909199, 0xff7d7e85, 0xff68696e, 0xff4f5054, 0xff404144, 0xff333437, 
+0xff2e2e30, 0xff666666, 0xff717171, 0xff4c4c4c, 0xff373737, 0xff303030, 0xff2f2f2f, 0xff2f3030, 0xff343435, 0xff3c3d3d, 
+0xff4b4b4b, 0xff686868, 0xff939393, 0xffc0c0c0, 0xffe1e1e1, 0xffbebebe, 0xff85878d, 0xffc7c9d4, 0xffcdcfda, 0xffcdcfda, 
+0xffcdcfda, 0xffcdcfda, 0xff46657a, 0xbf436177, 0xffafb7bc, 0xffb2b2bc, 0xff9d9ea6, 0xff8e8f97, 0xff87888f, 0xff7e7f86, 
+0xff76777d, 0xff626267, 0xff333336, 0xff2d2d2d, 0xff565656, 0xff484848, 0xff2d2d2d, 0xff1e1e1f, 0xff2a2a2c, 0xff393a3d, 
+0xff39393c, 0xff2a2b2c, 0xff262626, 0xff3c3c3c, 0xff686868, 0xffa1a1a1, 0xffc4c4c4, 0xff878788, 0xff96979f, 0xffc0c1cb, 
+0xffc2c3cd, 0xffc9cad5, 0xffcccdd8, 0xffafb7bc, 0xbf436177, 0x7f405e74, 0xff8797a2, 0xffc7c8d3, 0xffc4c5cf, 0xffc2c3ce, 
+0xffc4c5cf, 0xffc5c6d1, 0xffc1c2cc, 0xffb2b3bd, 0xff8d8e95, 0xff56575b, 0xff434346, 0xff464649, 0xff424246, 0xff4f4f53, 
+0xff6f7076, 0xff8a8a92, 0xff85868d, 0xff5f5f64, 0xff2d2d2f, 0xff181818, 0xff343434, 0xff5c5c5c, 0xff626262, 0xff606064, 
+0xffafb0ba, 0xffb9bac4, 0xffbbbcc6, 0xffc5c6d0, 0xffcbccd7, 0xff8797a2, 0x7f405e74, 0x40405c74, 0xff4f6676, 0xffa5afb6, 
+0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc7c9d5, 0xffc6c8d4, 0xffc0c2ce, 0xffb9bbc6, 0xffb5b7c2, 
+0xffb4b6c0, 0xffb5b7c2, 0xffbcbeca, 0xffc3c5d1, 0xffc2c4cf, 0xffb5b7c2, 0xff9b9da6, 0xff76777e, 0xff56565b, 0xff4d4e52, 
+0xff6c6e74, 0xffaeb0ba, 0xffc5c7d3, 0xffc5c7d3, 0xffc7c9d4, 0xffc8cad6, 0xffa5afb6, 0xff4f6676, 0x40405c74, 0x0, 
+0x403c5c70, 0xff4e6676, 0xff768590, 0xffacb4b9, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 
+0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 
+0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffacb4b9, 0xff768590, 0xff4e6676, 0x403c5c70, 
+0x0, 0x0, 0x0, 0x40385870, 0x7f38586e, 0xbf39586d, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 
+0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 
+0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xbf39586d, 0x7f38586e, 
+0x40385870, 0x0, 0x0, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon32_java_icon48_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,235 @@
+package sun.awt.X11; public class XAWTIcon32_java_icon48_png {
+public static int[] java_icon48_png = { 
+48,48,
+0x0, 
+0x0, 0x33a0b9c8, 0x96a1b8ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0x9fa2b7ca, 0x4ba3b8c9, 0x0, 0x0, 0x0, 0x66a0b7c8, 0xfca1b6c9, 
+0xffcad3da, 0xfff0f0f2, 0xfff4f3f6, 0xfff6f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 
+0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 
+0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 
+0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff6f6f9, 0xfff4f4f7, 
+0xfff1f1f3, 0xffced6dd, 0xffb3c1cf, 0x99a2b6ca, 0x0, 0x21a2b2c9, 0xf99fb5c8, 0xffdce0e4, 0xfff5f4fa, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xff9f9ea2, 0xff585859, 0xffb7b6bb, 0xfff3f2f8, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff7f6fc, 
+0xfffdfdfe, 0xffb2c1ce, 0x4ea0b4c7, 0x789db3c6, 0xffc0cad4, 0xfff4f4fa, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff3f3fa, 0xff86868a, 0xff3b3b3b, 0xff4e4e4e, 0xffa6a6ab, 0xffededf3, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff6f6fc, 0xffd1d7df, 
+0x9f9fb4c5, 0xff9cb2c5, 0xffe8e9ed, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xffe3e2e9, 0xff656467, 0xff2c2c2c, 0xff464646, 0xff484848, 0xff969599, 0xffe8e7ed, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff1f1f5, 0xff9cb2c5, 0xff9ab0c4, 
+0xfff1f0f5, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xffd3d2d8, 
+0xff4a4a4c, 0xff262626, 0xff3a3a3a, 0xff4c4c4c, 0xff434343, 0xff828285, 0xffe3e2e8, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff2f1f6, 0xff9ab0c4, 0xff99afc2, 0xfff1f1f5, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xffb8b8bd, 0xff343435, 0xff242424, 
+0xff323232, 0xff474747, 0xff4e4e4e, 0xff414141, 0xff747477, 0xffd7d7de, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff1f1f6, 0xff99afc2, 0xff97adc0, 0xfff0f0f4, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xff949498, 0xff2c2c2c, 0xff262626, 0xff2d2d2d, 0xff3d3d3d, 
+0xff4d4d4d, 0xff4c4c4c, 0xff3f3f3f, 0xff6a6a6d, 0xffd1d1d7, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff0f0f5, 0xff97adc0, 0xff95abbf, 0xfff0eff4, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xffe7e6ed, 0xff6e6e71, 0xff242424, 0xff262626, 0xff2a2a2a, 0xff373737, 0xff474747, 0xff505050, 
+0xff484848, 0xff3e3e3e, 0xff646366, 0xffd2d1d8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff0eff5, 
+0xff95abbf, 0xff93a9bd, 0xffefeef3, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xffcecdd4, 0xff48484a, 0xff222222, 0xff262626, 0xff2a2a2a, 0xff343434, 0xff414040, 0xff4c4c4c, 0xff4f4e4e, 0xff434343, 
+0xff3c3c3c, 0xff6d6d70, 0xffdddce3, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xffefeef4, 0xff93a9bd, 0xff91a7bb, 
+0xffeeeef2, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffa4a4a9, 0xff2f2f30, 
+0xff242424, 0xff272727, 0xff2b2a2a, 0xff2f3030, 0xff373c3c, 0xff424848, 0xff4e5050, 0xff4a4949, 0xff3e3d3d, 0xff383838, 
+0xff87878b, 0xffeaeaf1, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffeeeef3, 0xff91a7bb, 0xff8ea5b9, 0xffededf1, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffe4e4eb, 0xff666669, 0xff232323, 0xff242424, 0xff272626, 
+0xff222929, 0xff222e2e, 0xff2f3737, 0xff3b4141, 0xff414c4c, 0xff444d4d, 0xff3f4040, 0xff393939, 0xff3e3e3e, 0xffadadb2, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffededf2, 0xff8ea5b9, 0xff8ca3b7, 0xffececf0, 0xffededf4, 0xffededf4, 0xffededf4, 
+0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 
+0xffededf4, 0xffededf4, 0xffededf4, 0xffbababf, 0xff363637, 0xff242323, 0xff232626, 0xff1b2626, 0xff2a2828, 0xff5c3030, 
+0xff8c3a3a, 0xff984040, 0xff7d4343, 0xff544646, 0xff394444, 0xff343838, 0xff393838, 0xff575759, 0xffd4d4da, 0xffededf4, 
+0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 
+0xffededf4, 0xffececf1, 0xff8ca3b7, 0xff8aa1b5, 0xffebebf0, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 
+0xffe8e8ef, 0xff76767a, 0xff262425, 0xff222525, 0xff182525, 0xff3e2525, 0xffa03232, 0xffeb4242, 0xffff4c4c, 0xffff4f4f, 
+0xfffa4949, 0xffc54343, 0xff6c3e3e, 0xff323b3b, 0xff333636, 0xff363535, 0xff8f8f93, 0xffe9e9f1, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffebebf1, 
+0xff8aa1b5, 0xff879fb3, 0xffeaeaef, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffbebec4, 0xff404041, 
+0xff222323, 0xff182424, 0xff372323, 0xffb32e2e, 0xffff4141, 0xffff4c4c, 0xffff5151, 0xffff5555, 0xffff5555, 0xffff5050, 
+0xffe34141, 0xff693838, 0xff2c3535, 0xff353737, 0xff4b4a4b, 0xffccccd3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffeaeaf0, 0xff879fb3, 0xff859db1, 
+0xffe9e9ee, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 
+0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffe6e6ee, 0xff7a7a7e, 0xff262626, 0xff1b2424, 0xff212121, 
+0xff7a2424, 0xffe53636, 0xffff4141, 0xffff4747, 0xffff5050, 0xffff5a5a, 0xffff5a5a, 0xffff5454, 0xffff4c4c, 0xffcc3939, 
+0xff473232, 0xff2a3434, 0xff343434, 0xff909095, 0xffe8e8f0, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 
+0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffe9e9ef, 0xff859db1, 0xff829baf, 0xffe8e8ed, 0xffe9e9f1, 
+0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffc6c6cd, 0xff424143, 0xff212323, 0xff192323, 0xff361d1d, 0xff8e2222, 0xffcc3232, 
+0xffec3b3b, 0xfffb4040, 0xffff4b4b, 0xffff5656, 0xffff5757, 0xffff4e4e, 0xffff4949, 0xfffc3c3c, 0xff752f2f, 0xff2b3232, 
+0xff333737, 0xff4e4d4f, 0xffd7d7de, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe8e8ee, 0xff829baf, 0xff8098ac, 0xffe6e6ec, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe4e4ed, 0xff7f7f83, 0xff1d1d1d, 0xff1c2020, 0xff1b2020, 0xff3b1818, 0xff7d1d1d, 0xffa92929, 0xffc83232, 0xffe33838, 
+0xfff43f3f, 0xfffa4444, 0xfffd4646, 0xfffc4242, 0xfff83f3f, 0xfff43b3b, 0xff892929, 0xff201f1f, 0xff181f1f, 0xff201f20, 
+0xffa3a3a9, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe6e6ed, 0xff8098ac, 0xff7d96aa, 0xffe6e6eb, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 
+0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffd0d0d8, 0xffbdbdc4, 0xffadadb3, 0xff9b9ba1, 0xff88888d, 0xff707073, 0xff313233, 
+0xff151313, 0xff131616, 0xff101212, 0xff2d0e0e, 0xff651818, 0xff8a2323, 0xffa72a2a, 0xffc23131, 0xffd53535, 0xffe03737, 
+0xffe63939, 0xffe43838, 0xffdb3737, 0xffd03030, 0xff882a2a, 0xff5b5555, 0xff6d7373, 0xff7d7d7d, 0xff88888b, 0xffe6e6ef, 
+0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffd9d9e1, 0xffb8b8bf, 0xffcfcfd7, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ec, 
+0xff7d96aa, 0xff7b94a8, 0xffe5e5ea, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffb0b0b7, 
+0xff767679, 0xff5b5b5d, 0xff4e4d4e, 0xff454546, 0xff383839, 0xff2e2e2e, 0xff393939, 0xff6a6969, 0xff8a8a8a, 0xff858787, 
+0xff5f6161, 0xff301b1b, 0xff420909, 0xff6b1a1a, 0xff862222, 0xffa02929, 0xffb32d2d, 0xffbe2f2f, 0xffc43030, 0xffc13030, 
+0xffbc3131, 0xffa01919, 0xff8c4040, 0xffcec6c6, 0xfff0f1f1, 0xfff7f7f7, 0xffc9c9ca, 0xffb2b2b8, 0xffe5e5ee, 0xffe5e5ee, 
+0xffe5e5ee, 0xffe3e3ec, 0xff9c9ca2, 0xff5d5d5f, 0xff808083, 0xffd8d8e1, 0xffe4e4ed, 0xffe5e5eb, 0xff7b94a8, 0xff7891a6, 
+0xffe4e4e9, 0xffe4e4ed, 0xffe4e4ed, 0xffe4e4ed, 0xffe4e4ed, 0xffc7c7cf, 0xff7e7b7e, 0xff3d3836, 0xff23201c, 0xff1b1814, 
+0xff272320, 0xff191615, 0xff0f0e0e, 0xff0c0c0c, 0xff424242, 0xffacabab, 0xffdbdbdb, 0xffe1e3e3, 0xffb4b7b7, 0xff443a3a, 
+0xff210000, 0xff490f0f, 0xff651b1b, 0xff7d2020, 0xff922424, 0xff9e2828, 0xffa12828, 0xff9d2727, 0xff9a2929, 0xff6e0606, 
+0xff895858, 0xfff1eded, 0xffffffff, 0xffffffff, 0xfff1f1f1, 0xff676768, 0xff848489, 0xffe2e2eb, 0xffe4e4ed, 0xffe0e0e9, 
+0xff7e7e83, 0xff363636, 0xff515153, 0xffbcbcc4, 0xffe2e2eb, 0xffe4e4ea, 0xff7891a6, 0xff758fa3, 0xffe3e3e8, 0xffe3e3ec, 
+0xffe3e3ec, 0xffd8d8e0, 0xff919095, 0xff4b4947, 0xff3c4144, 0xff5a6e7c, 0xff66849b, 0xff738da3, 0xff81909f, 0xff8c9096, 
+0xff8c8c91, 0xff535356, 0xff5f6060, 0xffb7b7b7, 0xffcdcdcd, 0xffcccccc, 0xffabadad, 0xff494646, 0xff100202, 0xff270707, 
+0xff421111, 0xff551616, 0xff6b1a1a, 0xff7a1f1f, 0xff7b1f1f, 0xff761e1e, 0xff6b1717, 0xff3b0000, 0xff978383, 0xfff8f9f9, 
+0xffffffff, 0xffffffff, 0xfff5f5f5, 0xff818181, 0xff2e2e2f, 0xffa8a8af, 0xffe3e3ec, 0xffe2e2eb, 0xff909095, 0xff0e0e0e, 
+0xff39393a, 0xffb7b7be, 0xffe0e0e9, 0xffe3e3e9, 0xff758fa3, 0xff738da1, 0xffe1e2e7, 0xffd4d5de, 0xff9e9fa5, 0xff616163, 
+0xff363535, 0xff576674, 0xff88b0d4, 0xff94c5f0, 0xff91c5ff, 0xff96c9ff, 0xffa3d2f7, 0xffa1c2d9, 0xffacb5bf, 0xffb2b4ba, 
+0xff878687, 0xffbababa, 0xffc3c3c3, 0xffbab9b9, 0xff989999, 0xff505050, 0xff100b0b, 0xff0c0000, 0xff210707, 0xff2f0c0c, 
+0xff3f0f0f, 0xff4c1313, 0xff4e1414, 0xff4c1414, 0xff280202, 0xff362020, 0xffc9c8c8, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xfffcfcfc, 0xffb0b0b0, 0xff262626, 0xff66666a, 0xffe0e1ea, 0xffe1e2eb, 0xffa0a0a7, 0xff070707, 0xff3a3a3c, 0xffc7c7cf, 
+0xffdfe0e9, 0xffe1e2e8, 0xff738da1, 0xff708a9f, 0xffe0e1e6, 0xffcacad3, 0xff3c3a3b, 0xff262627, 0xff546875, 0xff9ac6ed, 
+0xff9accff, 0xff94c8ff, 0xff91c9ff, 0xff94ccff, 0xff9bd5ff, 0xffa6e1ff, 0xff97c4e6, 0xff7d8b95, 0xff898684, 0xffbab8b7, 
+0xffbdbebe, 0xffb1b1b1, 0xff919090, 0xff575858, 0xff222323, 0xff0c0707, 0xff0b0000, 0xff120202, 0xff180606, 0xff1e0606, 
+0xff210606, 0xff150202, 0xff0a0202, 0xff787777, 0xfff1f1f1, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffdbdbdb, 
+0xff3a3a3a, 0xff3d3d3f, 0xffc3c4cc, 0xffe0e1ea, 0xff9b9ca2, 0xff212121, 0xff545456, 0xffc9c9d1, 0xffdedfe7, 0xffe0e1e7, 
+0xff708a9f, 0xff6b859a, 0xffdedee4, 0xffacacb3, 0xff282828, 0xff363737, 0xff6a7e8b, 0xffa3d2fd, 0xff99ccff, 0xff93c4f4, 
+0xffa6d2e7, 0xffabd1de, 0xff8bb0d0, 0xff7593b5, 0xff76859a, 0xff7d7f84, 0xff979493, 0xffb5b4b4, 0xffb8b9b9, 0xffababab, 
+0xff8f8f8f, 0xff5b5c5c, 0xff2e3030, 0xff212121, 0xff171414, 0xff0d0606, 0xff080101, 0xff090101, 0xff090202, 0xff0a0707, 
+0xff404040, 0xffb8baba, 0xfffcfcfc, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffebebeb, 0xff565656, 0xff262627, 
+0xff98989f, 0xffdcdce5, 0xff6e6e72, 0xff333333, 0xff535354, 0xffa3a3aa, 0xffdbdbe5, 0xffdfdfe6, 0xff6b859a, 0xff688397, 
+0xffdadadf, 0xff6c6c70, 0xff242424, 0xff2c2c2c, 0xff37393c, 0xff60707f, 0xff72899e, 0xff9099a8, 0xffc7cbcf, 0xffd6d9da, 
+0xffb4b0b6, 0xff8d848b, 0xff8d8383, 0xff938f88, 0xff9f9e9c, 0xffb1b2b3, 0xffb5b4b5, 0xffa8a8a8, 0xff929292, 0xff696969, 
+0xff3a3a3a, 0xff272828, 0xff282929, 0xff252424, 0xff1f1d1d, 0xff1a1919, 0xff1c1c1c, 0xff393939, 0xff888888, 0xffdfdfdf, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfff2f2f2, 0xff787878, 0xff121212, 0xff606063, 0xff7e7e83, 
+0xff2f2f2f, 0xff3c3c3c, 0xff4c4c4c, 0xff707073, 0xffb4b4bc, 0xffdedee4, 0xff688397, 0xff658095, 0xffccccd1, 0xff414244, 
+0xff242424, 0xff302f2f, 0xff32312d, 0xff1f1f1e, 0xff373736, 0xff756f6d, 0xffe2d8d5, 0xfffdf5ef, 0xffcac1ba, 0xff9a9389, 
+0xff867c6e, 0xff8d8375, 0xffa3a1a0, 0xffb2b3b5, 0xffb3b3b2, 0xffa9a9a9, 0xff979797, 0xff7d7d7d, 0xff565656, 0xff373636, 
+0xff2c2d2d, 0xff292929, 0xff282828, 0xff303030, 0xff4c4c4c, 0xff7e7e7e, 0xffc1c1c1, 0xfff5f5f5, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xfff9f9f9, 0xff9d9e9e, 0xff252627, 0xff2d2d2e, 0xff2b2c2d, 0xff111111, 0xff282828, 
+0xff343434, 0xff4e4e50, 0xff8e8f94, 0xffdcdde3, 0xff658095, 0xff637e93, 0xffbbbcc0, 0xff2b2b2d, 0xff252626, 0xff413e3a, 
+0xff4b4232, 0xff252017, 0xff0f0c0b, 0xff1b1b18, 0xff3f3e3b, 0xff706c64, 0xff8f8572, 0xff6d5f4a, 0xff6d5d46, 0xff958a7d, 
+0xffa8a8a8, 0xffb0b1b2, 0xffb3b2b3, 0xffacacac, 0xff9f9f9f, 0xff8e8e8e, 0xff767676, 0xff5c5c5c, 0xff4d4d4d, 0xff494949, 
+0xff535353, 0xff696969, 0xff8a8a8a, 0xffb6b6b6, 0xffe4e4e4, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffbcbcbd, 0xff5f5f62, 0xff111112, 0xff141414, 0xff101010, 0xff1c1c1c, 0xff242424, 0xff464648, 
+0xff84858a, 0xffdbdce2, 0xff637e93, 0xff607c90, 0xffbbbcc0, 0xff28292b, 0xff212122, 0xff45433f, 0xff5b4d3b, 0xff5a4b3a, 
+0xff443a2d, 0xff171410, 0xff010100, 0xff090908, 0xff423b2c, 0xff79664b, 0xff84735c, 0xff9e958b, 0xffa8a7aa, 0xffb2b2b3, 
+0xffb5b5b4, 0xffafafaf, 0xffaaaaaa, 0xffa0a0a0, 0xff929292, 0xff848484, 0xff7b7b7b, 0xff7c7c7c, 0xff888888, 0xff9b9b9b, 
+0xffb5b5b5, 0xffd7d7d7, 0xfff6f6f6, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffefefe, 
+0xffc8c8c9, 0xff8f9095, 0xff424245, 0xff060606, 0xff161616, 0xff2d2d2d, 0xff3a3a3a, 0xff4e4e50, 0xff8b8b91, 0xffdadbe1, 
+0xff607c90, 0xff5d798e, 0xffcccdd2, 0xff414144, 0xff1c1c1c, 0xff3f3e3c, 0xff5e5344, 0xff70614b, 0xff5b4f40, 0xff0d0e0b, 
+0xff000001, 0xff000606, 0xff171a16, 0xff4b4437, 0xff6c6459, 0xff91908d, 0xffabacac, 0xffb3b3b3, 0xffb6b6b6, 0xffb6b6b6, 
+0xffb3b3b3, 0xffaeaeae, 0xffa8a8a8, 0xffa2a2a2, 0xffa0a0a0, 0xffa2a2a2, 0xffaaaaaa, 0xffbababa, 0xffd3d3d3, 0xffececec, 
+0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffcfcfc, 0xffc2c2c2, 0xff8f8f94, 
+0xffbdbec6, 0xff434446, 0xff070707, 0xff111111, 0xff191919, 0xff505053, 0xffa3a4aa, 0xffd9dae0, 0xff5d798e, 0xff5b778c, 
+0xffd3d4da, 0xff67686c, 0xff141414, 0xff2b2b2c, 0xff514d44, 0xff574e40, 0xff39362f, 0xff080e10, 0xff0c1315, 0xff141b1d, 
+0xff141b1e, 0xff1e2327, 0xff4c4e51, 0xff949493, 0xffadadac, 0xffb2b2b2, 0xffb7b7b7, 0xffb9b9b9, 0xffb9b9b9, 0xffb7b7b7, 
+0xffb6b6b6, 0xffb7b7b7, 0xffb7b7b7, 0xffbababa, 0xffc3c3c3, 0xffd1d1d1, 0xffe4e4e4, 0xfff8f8f8, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfff9f9f9, 0xffbababa, 0xff7e7e82, 0xffd7d8e2, 0xffa5a6ae, 
+0xff161616, 0xff131313, 0xff1b1b1b, 0xff76767c, 0xffc4c5ce, 0xffd7d8df, 0xff5b778c, 0xff58758a, 0xffd5d5dc, 0xffa0a1a8, 
+0xff101010, 0xff191819, 0xff2e2e2f, 0xff1a1f1f, 0xff171f22, 0xff3d4044, 0xff616367, 0xff818289, 0xffa2a3ab, 0xff95979d, 
+0xff6e6d70, 0xff9a9a9a, 0xffaaaaaa, 0xffb1b1b1, 0xffb7b7b7, 0xffb9b9b9, 0xffbcbcbc, 0xffbdbdbd, 0xffbebebe, 0xffc2c2c2, 
+0xffc6c6c6, 0xffcbcbcb, 0xffd2d2d2, 0xffdddddd, 0xffededed, 0xfffbfbfb, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xfff9f9f9, 0xffb6b6b6, 0xff737375, 0xffc7c8d1, 0xffc8c9d2, 0xff59595d, 0xff151516, 
+0xff454548, 0xffb4b5bd, 0xffd3d4de, 0xffd7d7df, 0xff58758a, 0xff567287, 0xffd6d6dd, 0xffcdced7, 0xff66666b, 0xff0e0e0e, 
+0xff1e1e1e, 0xff5c5d61, 0xffc4c5ce, 0xffcfd0da, 0xffd4d5df, 0xffd4d5df, 0xffd5d6e0, 0xffa9aab2, 0xff727173, 0xff9b9b9b, 
+0xffa8a8a8, 0xffb0b0b0, 0xffb5b5b5, 0xffb8b8b8, 0xffbbbbbb, 0xffbebebe, 0xffc1c1c1, 0xffc5c5c5, 0xffcbcbcb, 0xffd1d1d1, 
+0xffdadada, 0xffe4e4e4, 0xfff1f1f1, 0xfffcfcfc, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xfff9f9f9, 0xffbababa, 0xff69696a, 0xffaeafb7, 0xffd5d6e0, 0xffd0d1db, 0xffc0c1ca, 0xffc8c9d2, 0xffd5d6e0, 
+0xffd5d6e0, 0xffd6d6de, 0xff567287, 0xff537085, 0xffd5d5dc, 0xffd4d5df, 0xffbebfc8, 0xff444447, 0xff5a5a5e, 0xffc7c8d1, 
+0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffa0a1a8, 0xff69696a, 0xff989898, 0xffa3a3a3, 0xffababab, 
+0xffb0b0b0, 0xffb4b4b4, 0xffb7b7b7, 0xffbbbbbb, 0xffbfbfbf, 0xffc5c5c5, 0xffcacaca, 0xffd1d1d1, 0xffdadada, 0xffe5e5e5, 
+0xfff0f0f0, 0xfff8f8f8, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffbfbfb, 
+0xffc4c4c4, 0xff6c6c6d, 0xffa0a1a8, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd5d5dd, 
+0xff537085, 0xff516e83, 0xffd4d5db, 0xffd2d3dd, 0xffd2d3dd, 0xffcccdd7, 0xffcecfd9, 0xffd3d4de, 0xffd1d2dc, 0xffd1d2dc, 
+0xffd1d2db, 0xffd3d4de, 0xffd3d4de, 0xff929399, 0xff6b6b6c, 0xff949494, 0xff9c9c9c, 0xffa4a4a4, 0xffa9a9a9, 0xffadadad, 
+0xffb1b1b1, 0xffb4b4b4, 0xffb9b9b9, 0xffc0c0c0, 0xffc5c5c5, 0xffcccccc, 0xffd4d4d4, 0xffdddddd, 0xffe6e6e6, 0xffededed, 
+0xfff3f3f3, 0xfff9f9f9, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffcfcfc, 0xffcfcfcf, 0xff757576, 
+0xff95969c, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd4d5dc, 0xff516e83, 0xff4e6c81, 
+0xffd3d4da, 0xffd1d2dc, 0xffd0d1db, 0xffd2d3dd, 0xffcfd0da, 0xffcbccd5, 0xffcacbd4, 0xffc9cad3, 0xffc7c8d2, 0xffcbccd5, 
+0xffd0d1db, 0xff8d8e94, 0xff656566, 0xff8d8d8d, 0xff959595, 0xff9b9b9b, 0xff9f9f9f, 0xffa2a2a2, 0xffa6a6a6, 0xffaaaaaa, 
+0xffaeaeae, 0xffb4b4b4, 0xffbbbbbb, 0xffc2c2c2, 0xffc8c8c8, 0xffd0d0d0, 0xffd7d7d7, 0xffdcdcdc, 0xffe4e4e4, 0xffededed, 
+0xfff3f3f3, 0xfffafafa, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xfffdfdfd, 0xffd9d9d9, 0xff89898a, 0xff8f8f96, 0xffd2d3dd, 
+0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd3d4db, 0xff4e6c81, 0xff4c6a7f, 0xffd3d3da, 0xffd1d2dc, 
+0xffcfd0d9, 0xffc8c9d3, 0xffc3c4cd, 0xffbebfc8, 0xffbcbdc6, 0xffb9bac3, 0xffb4b5be, 0xffb5b6bf, 0xffb9bac3, 0xff818187, 
+0xff5f5f60, 0xff848484, 0xff888888, 0xff8e8e8e, 0xff919191, 0xff949494, 0xff979797, 0xff9b9b9b, 0xff9e9e9e, 0xffa4a4a4, 
+0xffababab, 0xffb0b0b0, 0xffb5b5b5, 0xffbcbcbc, 0xffc4c4c4, 0xffcacaca, 0xffd2d2d2, 0xffdbdbdb, 0xffe3e3e3, 0xffebebeb, 
+0xfff3f3f3, 0xfffafafa, 0xfffdfdfd, 0xfff8f8f8, 0xffdcdcdc, 0xff979798, 0xff929399, 0xffd1d2dc, 0xffd1d2dc, 0xffd1d2dc, 
+0xffd1d2dc, 0xffd1d2dc, 0xffd1d2dc, 0xffd2d3da, 0xff4c6a7f, 0xff4a687d, 0xffd2d4db, 0xffced0db, 0xffc9cad5, 0xffbdbfc9, 
+0xffb3b5bf, 0xffadafb8, 0xffa8aab3, 0xffa2a4ad, 0xff9c9da6, 0xff999ba3, 0xff9b9da5, 0xff717278, 0xff5b5b5c, 0xff7d7d7d, 
+0xff7d7d7d, 0xff7e7e7e, 0xff7e7e7e, 0xff7f7f7f, 0xff828282, 0xff858585, 0xff888888, 0xff8d8d8d, 0xff959595, 0xff979797, 
+0xff9c9c9c, 0xffa3a3a3, 0xffababab, 0xffb3b3b3, 0xffbbbbbb, 0xffc5c5c5, 0xffcfcfcf, 0xffdadada, 0xffe3e3e3, 0xffececec, 
+0xfff3f3f3, 0xffeeeeee, 0xffdbdbdb, 0xff9b9b9c, 0xff97989f, 0xffcfd1dc, 0xffcfd1dc, 0xffcfd1dc, 0xffcfd1dc, 0xffcfd1dc, 
+0xffcfd1dc, 0xffd1d3db, 0xff4a687d, 0xff47667b, 0xffd0d1d8, 0xffc3c5d0, 0xffb6b8c1, 0xffaaabb4, 0xffa0a2aa, 0xff999aa2, 
+0xff909199, 0xff86878f, 0xff7e7f86, 0xff7c7d83, 0xff7c7e84, 0xff626267, 0xff575758, 0xff7a7a7a, 0xff767676, 0xff6d6d6d, 
+0xff686868, 0xff666666, 0xff656565, 0xff666666, 0xff686868, 0xff6d6d6d, 0xff747474, 0xff777777, 0xff7c7c7c, 0xff838383, 
+0xff8b8b8b, 0xff939393, 0xff9c9c9c, 0xffaaaaaa, 0xffb6b6b6, 0xffc4c4c4, 0xffd1d1d1, 0xffdfdfdf, 0xffe8e8e8, 0xffe9e9e9, 
+0xffdadada, 0xff9b9b9c, 0xff9fa1a8, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 0xffd1d2da, 
+0xff47667b, 0xff456479, 0xffc6c7ce, 0xffafb0ba, 0xffa1a2aa, 0xff9798a0, 0xff8d8e96, 0xff85868d, 0xff797a80, 0xff6c6d73, 
+0xff636368, 0xff5e5e63, 0xff5a5a5f, 0xff46474a, 0xff4c4c4d, 0xff777777, 0xff757575, 0xff656565, 0xff565656, 0xff4d4d4d, 
+0xff484848, 0xff464646, 0xff464646, 0xff494949, 0xff4f4f4f, 0xff525252, 0xff565656, 0xff5c5c5c, 0xff636363, 0xff6d6d6d, 
+0xff787878, 0xff878787, 0xff989898, 0xffadadad, 0xffc1c1c1, 0xffd3d3d3, 0xffe0e0e0, 0xffe4e4e4, 0xffd8d8d8, 0xff959596, 
+0xffa5a6ae, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffd1d2da, 0xff456479, 0xff436277, 
+0xffb8b9bf, 0xff9c9da5, 0xff909198, 0xff85868d, 0xff7a7b81, 0xff6e6f75, 0xff5d5e63, 0xff4e4e53, 0xff444548, 0xff3e3e42, 
+0xff363639, 0xff2a2a2c, 0xff373738, 0xff6b6b6b, 0xff767676, 0xff666666, 0xff525252, 0xff414141, 0xff363636, 0xff313131, 
+0xff303030, 0xff2f2f2f, 0xff323232, 0xff333334, 0xff353536, 0xff393939, 0xff3f3f3f, 0xff464646, 0xff525252, 0xff636363, 
+0xff797979, 0xff949494, 0xffb0b0b0, 0xffc8c8c8, 0xffd8d8d8, 0xffdbdbdb, 0xffcecece, 0xff868688, 0xffacadb6, 0xffcdced9, 
+0xffcccdd8, 0xffcdced9, 0xffcdced9, 0xffcdced9, 0xffcdced9, 0xffd1d2da, 0xff436277, 0xff416076, 0xffafb0b6, 0xff909198, 
+0xff85858d, 0xff7a7b82, 0xff727278, 0xff68696e, 0xff5a5b60, 0xff505055, 0xff49494d, 0xff454549, 0xff3d3d40, 0xff303033, 
+0xff282829, 0xff505050, 0xff717171, 0xff686868, 0xff565656, 0xff434343, 0xff373737, 0xff2f2f2f, 0xff2c2c2c, 0xff2a2a2b, 
+0xff282829, 0xff272728, 0xff262627, 0xff282829, 0xff2d2d2d, 0xff303031, 0xff373737, 0xff454545, 0xff5b5b5b, 0xff797979, 
+0xff9a9a9a, 0xffb6b6b6, 0xffc9c9c9, 0xffcccccc, 0xffb7b7b7, 0xff737476, 0xffb3b4be, 0xffc4c5d0, 0xffc4c5d0, 0xffcacbd5, 
+0xffcccdd8, 0xffcccdd8, 0xffcccdd8, 0xffd1d1d9, 0xff416076, 0xff3f5e74, 0xffb9bac0, 0xffa0a2aa, 0xff989aa2, 0xff93959d, 
+0xff91929a, 0xff8e8f97, 0xff898a92, 0xff87888f, 0xff82838a, 0xff797a81, 0xff68696f, 0xff4e4f53, 0xff2a2b2d, 0xff222222, 
+0xff484848, 0xff535353, 0xff4c4c4c, 0xff3f3f3f, 0xff333333, 0xff282828, 0xff252526, 0xff29292b, 0xff303133, 0xff353639, 
+0xff353538, 0xff2e2f31, 0xff272729, 0xff252526, 0xff282828, 0xff343434, 0xff444444, 0xff5e5e5e, 0xff808080, 0xffa2a2a2, 
+0xffb5b5b5, 0xffb7b7b7, 0xff939393, 0xff717277, 0xffb7b9c3, 0xffb5b6c0, 0xffb9bbc5, 0xffc1c3cd, 0xffc7c9d4, 0xffcbcdd8, 
+0xffcbcdd8, 0xffd0d2da, 0xff3f5e74, 0xff3e5d72, 0xffc2c5cc, 0xffc0c2cc, 0xffbdbfca, 0xffbcbec8, 0xffbcbec8, 0xffbcbec8, 
+0xffbdbec9, 0xffbec0ca, 0xffb9bbc5, 0xffb1b2bc, 0xffa1a2ab, 0xff84868d, 0xff58595e, 0xff242527, 0xff19191a, 0xff262627, 
+0xff2f2f30, 0xff2c2c2d, 0xff262728, 0xff292a2c, 0xff38393c, 0xff4c4d51, 0xff5d5e63, 0xff66676d, 0xff64656a, 0xff56565b, 
+0xff3f3f43, 0xff242527, 0xff171818, 0xff1c1c1c, 0xff2c2c2c, 0xff434343, 0xff5e5e5e, 0xff7e7e7e, 0xff909090, 0xff868686, 
+0xff5d5d5f, 0xff8c8e95, 0xffb3b5bf, 0xffb2b4be, 0xffb4b6bf, 0xffb9bbc5, 0xffc0c2cc, 0xffc7c9d4, 0xffc8cad5, 0xffc8cbd3, 
+0xff3e5d72, 0x783c5b71, 0xff8998a3, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 
+0xffc8cad6, 0xffc4c6d2, 0xffc0c1cd, 0xffb8bac5, 0xffa8aab4, 0xff8d8e97, 0xff75767d, 0xff696a70, 0xff68696f, 0xff696a70, 
+0xff6d6e74, 0xff75767d, 0xff7f8088, 0xff8c8e96, 0xff9a9ba4, 0xffa1a2ac, 0xff9e9fa9, 0xff8f9099, 0xff72737a, 0xff4f5054, 
+0xff2f2f32, 0xff141415, 0xff0f0f0f, 0xff202020, 0xff323232, 0xff404040, 0xff434343, 0xff3a3b3c, 0xff68696f, 0xffadaeb9, 
+0xffb5b7c2, 0xffb8bac5, 0xffbabcc7, 0xffbcbeca, 0xffc1c3cf, 0xffc5c7d3, 0xffc7c9d5, 0xff8b9aa5, 0x783c5b71, 0x213e5d6c, 
+0xf9426176, 0xffc5c8d1, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc8cad5, 0xffc7c9d3, 
+0xffc4c6d1, 0xffc4c6d1, 0xffc7c9d3, 0xffc9cbd6, 0xffc9cbd6, 0xffc5c7d2, 0xffc1c3ce, 0xffbdbfc9, 0xffbbbdc7, 0xffbbbdc7, 
+0xffbdbfc9, 0xffc0c2cd, 0xffc3c5d0, 0xffc5c7d2, 0xffc3c5d0, 0xffbec0ca, 0xffb1b2bc, 0xff9e9fa8, 0xff85878e, 0xff6a6b70, 
+0xff505156, 0xff3c3d40, 0xff38383b, 0xff38393c, 0xff454549, 0xff75777d, 0xffb3b5bf, 0xffc1c3ce, 0xffc3c5d0, 0xffc5c7d2, 
+0xffc6c8d3, 0xffc7c9d3, 0xffc7c9d4, 0xffc8cad5, 0xffc2c6cd, 0xf93d5c72, 0x213e5d6c, 0x0, 0x663a586e, 0xfc3a596f, 
+0xffa4acb6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffc9cbd5, 0xffc8cad3, 
+0xffc8cad4, 0xffc8cad4, 0xffc8cad4, 0xffc9cbd5, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 
+0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffc4c6d0, 0xffbdbfc9, 0xffb1b3bc, 
+0xffa8aab2, 0xffaaacb4, 0xffbbbdc6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 
+0xffcaccd6, 0xff97a0aa, 0xfc3a596f, 0x663a586e, 0x0, 0x0, 0x0, 0x3337556e, 0x9636576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0x9636576d, 
+0x3337556e, 0x0, 0x0, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon64_java_icon16_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,30 @@
+package sun.awt.X11; public class XAWTIcon64_java_icon16_png {
+public static long[] java_icon16_png = { 
+16,16,
+0x689fb5c9, 
+0xcc9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 
+0xff9fb5c8, 0xff9fb5c8, 0xff9fb5c8, 0xcc9fb5c8, 0x689fb5c9, 0xcc9bb2c4, 0xffd5dade, 0xfff5f5f5, 0xfff7f7f7, 0xfff7f7f7, 
+0xfff7f7f7, 0xfff7f7f7, 0xff9b9b9b, 0xffbbbbbb, 0xfff4f4f4, 0xfff7f7f7, 0xfff7f7f7, 0xfff7f7f7, 0xfff5f5f5, 0xffd5dade, 
+0xcc9bb2c4, 0xff96acbf, 0xffededed, 0xfffcfcfc, 0xfffdfdfd, 0xfffdfdfd, 0xfffdfdfd, 0xfffdfdfd, 0xff575757, 0xff454646, 
+0xffb7a697, 0xfffafafa, 0xfffdfdfd, 0xfffdfdfd, 0xfffcfcfc, 0xffededed, 0xff96acbf, 0xff90a7ba, 0xffececec, 0xfffbfbfb, 
+0xfffbfbfb, 0xfffbfbfb, 0xfffbfbfb, 0xffededed, 0xff2e3333, 0xff3c3e3e, 0xff42433f, 0xffcfd0d0, 0xfffbfbfb, 0xfffbfbfb, 
+0xfffbfbfb, 0xffececec, 0xff90a7ba, 0xff89a1b5, 0xffe9e9e9, 0xfff9f9f9, 0xfff9f9f9, 0xfff9f9f9, 0xfff9f9f9, 0xff9e9f9f, 
+0xff4f2828, 0xffd24747, 0xffab4a4a, 0xff5e564f, 0xfff5f5f5, 0xfff9f9f9, 0xfff9f9f9, 0xffe9e9e9, 0xff89a1b5, 0xff829baf, 
+0xffe7e7e7, 0xfff6f6f6, 0xfff6f6f6, 0xffeae9e9, 0xffc6c6c6, 0xff413d35, 0xff7c2525, 0xfff84343, 0xfff84040, 0xff634241, 
+0xffcecfcf, 0xfff4f4f4, 0xffececec, 0xffe7e7e7, 0xff829baf, 0xff7b94a8, 0xffe4e4e4, 0xffebebeb, 0xff999c9f, 0xff627381, 
+0xff575c60, 0xff959696, 0xff462828, 0xff731515, 0xff7e1919, 0xffe3d2d2, 0xffa4a6a6, 0xffbebebe, 0xff949494, 0xffe4e4e4, 
+0xff7b94a8, 0xff748da2, 0xffe1e1e1, 0xff878685, 0xff6b839b, 0xffb1d4f2, 0xff929ca6, 0xffacaba9, 0xff3a3b3b, 0xff070101, 
+0xff4f4848, 0xffffffff, 0xffbbbbbb, 0xff5e5e5e, 0xff797979, 0xffe1e1e1, 0xff748da2, 0xff6c879b, 0xffdedede, 0xff5c5b5b, 
+0xff413b33, 0xff504b43, 0xff8f867a, 0xffb1b2b3, 0xff7f8080, 0xff686a6a, 0xffced0d0, 0xffffffff, 0xffcbcdcf, 0xff1d1e1f, 
+0xff444444, 0xffdcdcdc, 0xff6c879b, 0xff648094, 0xffdcdcdc, 0xff828282, 0xff484845, 0xff414e58, 0xff6f7274, 0xffbdbdbd, 
+0xffc0c0c0, 0xffd5d5d5, 0xffffffff, 0xffffffff, 0xffd9d9d9, 0xff3c4f5e, 0xff56636e, 0xffd8d8d8, 0xff648094, 0xff5d798e, 
+0xffd9d9d9, 0xffdedede, 0xffd7d7d7, 0xfffafafa, 0xff828282, 0xffaaaaaa, 0xffb7b7b7, 0xffd0d0d0, 0xffececec, 0xfffefefe, 
+0xffe4e4e4, 0xff526a7d, 0xff899eaf, 0xffd5d5d5, 0xff5d798e, 0xff567287, 0xffd6d6d6, 0xffc6c6c6, 0xffa6a6a6, 0xff8f8f8f, 
+0xff5b5c5e, 0xff737373, 0xff6a6a6a, 0xff797979, 0xff969696, 0xffd0d0d0, 0xffe1e1e1, 0xff71818e, 0xffe0e0e0, 0xffd4d4d4, 
+0xff567287, 0xff4f6c81, 0xffdbdbdb, 0xffb4b4b4, 0xff919191, 0xff737373, 0xff414141, 0xff424242, 0xff1a1a1a, 0xff0f0f0f, 
+0xff252525, 0xff7b7b7b, 0xffa1a1a1, 0xffbababa, 0xffe5e5e5, 0xffdbdbdb, 0xff4f6c81, 0xff48667c, 0xffdfdfdf, 0xffe6e6e6, 
+0xffabbbc7, 0xff87a0b4, 0xff5f7a8f, 0xff536a7d, 0xff4f6576, 0xff485c6c, 0xff3e4f5d, 0xff384550, 0xff495b6a, 0xffe2e2e2, 
+0xffe9e9e9, 0xffdfdfdf, 0xff48667c, 0xe1426177, 0xffaab0b5, 0xffe8e8e8, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 
+0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffeaeaea, 0xffaab0b5, 0xe1426177, 0x683d5d71, 
+0xcc3d5d72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 
+0xff3d5c72, 0xff3d5c72, 0xff3d5c72, 0xcc3d5d72, 0x683d5d71, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon64_java_icon24_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+package sun.awt.X11; public class XAWTIcon64_java_icon24_png {
+public static long[] java_icon24_png = { 
+24,23,
+0x1a9dbac4, 
+0x80a1b5c9, 0xd5a0b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xd5a0b6c9, 0x80a1b5c9, 0x1a9dbac4, 0x809db3c5, 0xffbec9d2, 0xffe8ebed, 0xfff8f8f8, 0xfffafafa, 0xfffafafa, 0xfffafafa, 
+0xfffafafa, 0xfffafafa, 0xfffafafa, 0xffe3e3e3, 0xff989898, 0xffdadada, 0xfffafafa, 0xfffafafa, 0xfffafafa, 0xfffafafa, 
+0xfffafafa, 0xfffafafa, 0xfffafafa, 0xfff8f8f8, 0xffe8ebed, 0xffbec9d2, 0x809db3c5, 0xd59ab0c3, 0xffdce0e3, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xffd2d1d7, 0xff4c4c4d, 0xff959598, 
+0xfff3f2f9, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xffdce0e3, 
+0xd59ab0c3, 0xff96adc0, 0xffededed, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 
+0xfff3f3fa, 0xffbbbbc1, 0xff2b2b2b, 0xff4d4d4d, 0xff88888b, 0xffe9e9f0, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 
+0xfff3f3fa, 0xfff3f3fa, 0xfff3f3fa, 0xffededed, 0xff96adc0, 0xff92a9bc, 0xffececec, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 
+0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xffeeedf4, 0xff8e8e92, 0xff282626, 0xff414242, 0xff4c4f4f, 0xff807f82, 
+0xffe6e5ec, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xfff2f1f8, 0xffececec, 0xff92a9bc, 0xff8ea5b9, 
+0xffebebeb, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xffe5e4ec, 0xff4c4c4e, 
+0xff1e2828, 0xff293434, 0xff424c4c, 0xff3d4748, 0xff8a8a8e, 0xffeeedf5, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xfff0eff7, 0xffebebeb, 0xff8ea5b9, 0xff89a1b4, 0xffe9e9e9, 0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 
+0xffededf5, 0xffededf5, 0xffafb0b5, 0xff232627, 0xff4b2a2a, 0xffb53e3e, 0xffc34c4c, 0xff704646, 0xff394243, 0xffaeafb5, 
+0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 0xffededf5, 0xffe9e9e9, 0xff89a1b4, 0xff849cb0, 0xffe7e7e7, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffe5e5ed, 0xff525558, 0xff342323, 0xffba3232, 0xfffe4e4e, 
+0xffff5858, 0xffdf4949, 0xff623636, 0xff5e6568, 0xffdedee6, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffe7e7e7, 
+0xff849cb0, 0xff7f98ac, 0xffe5e5e5, 0xffe8e8f1, 0xffe8e8f1, 0xffe8e8f1, 0xffe1e1e9, 0xffd2d1d9, 0xffcacad2, 0xff97989d, 
+0xff282c2d, 0xff3d1b1b, 0xffad2828, 0xffea3f3f, 0xfffc4848, 0xfff43c3c, 0xff8c3939, 0xff454e4f, 0xffb5b6bc, 0xffe8e8f1, 
+0xffe4e4ec, 0xffd9d9e1, 0xffe4e4ed, 0xffe5e5e5, 0xff7f98ac, 0xff7a93a7, 0xffe3e3e3, 0xffe6e6ee, 0xffe1e1e8, 0xffc3c3ca, 
+0xff7f8286, 0xff525456, 0xff343435, 0xff565656, 0xff8d8f8f, 0xff4e3d3d, 0xff540e0e, 0xff9d2828, 0xffbb2a2a, 0xff9c1313, 
+0xffa86e6e, 0xffeef3f3, 0xffa0a1a4, 0xffd6d6de, 0xffc7c7ce, 0xff6c6c6f, 0xffc4c4cb, 0xffe3e3e3, 0xff7a93a7, 0xff748ea2, 
+0xffe2e2e2, 0xffd0d0d8, 0xff89898e, 0xff687b8d, 0xff7ca5c2, 0xff749bb9, 0xff64717d, 0xff8b8b8a, 0xffd4d5d5, 0xff666464, 
+0xff130000, 0xff410e0e, 0xff480a0a, 0xff400d0d, 0xffb0a3a3, 0xffffffff, 0xffbfbfbf, 0xff848489, 0xffbebec5, 0xff434345, 
+0xffb1b1b8, 0xffe2e2e2, 0xff748ea2, 0xff6f899d, 0xffe0e0e0, 0xff7a797c, 0xff393f43, 0xff82a6ca, 0xffbae3fc, 0xffbcdffe, 
+0xff94a3b5, 0xffa2a1a0, 0xffadaeac, 0xff636464, 0xff121313, 0xff050101, 0xff000202, 0xff4f5353, 0xffe4e7e7, 0xffffffff, 
+0xffe3e3e3, 0xff545455, 0xff828287, 0xff49494b, 0xffa3a3a9, 0xffe0e0e0, 0xff6f899d, 0xff698499, 0xffdddddd, 0xff4c4c4f, 
+0xff383834, 0xff3f3f40, 0xff787777, 0xffa1958b, 0xff918477, 0xffaba8a6, 0xffacaeaf, 0xff828282, 0xff464747, 0xff2d3030, 
+0xff4d5050, 0xffc0c2c2, 0xffffffff, 0xffffffff, 0xfffbfbfb, 0xff616162, 0xff19191a, 0xff303030, 0xff808085, 0xffdddddd, 
+0xff698499, 0xff647f94, 0xffdbdbdb, 0xff46484c, 0xff463f37, 0xff453a29, 0xff0e0b07, 0xff2b261a, 0xff756c5e, 0xffadacaa, 
+0xffb5b7b7, 0xffa9a9a9, 0xff949494, 0xff929292, 0xffc3c3c3, 0xfffbfbfb, 0xffffffff, 0xffffffff, 0xffffffff, 0xff8f8f93, 
+0xff313234, 0xff1a1a1a, 0xff7c7d81, 0xffdbdbdb, 0xff647f94, 0xff5e7a8f, 0xffdadada, 0xff76767c, 0xff282623, 0xff474744, 
+0xff5a5b5f, 0xff6b6c72, 0xff6f7071, 0xffafb0b0, 0xffbbbbbb, 0xffbfbfbf, 0xffc4c4c4, 0xffd1d0d0, 0xffeeeeee, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xfffbfbfb, 0xff959599, 0xffa2a3aa, 0xff56575a, 0xffabacb4, 0xffdadada, 0xff5e7a8f, 0xff59758a, 
+0xffd8d8d8, 0xffc1c2cb, 0xff7d7e84, 0xffa5a6ae, 0xffd4d5df, 0xffcdced8, 0xff7c7d80, 0xffaaaaaa, 0xffb5b5b5, 0xffbdbdbd, 
+0xffc9c9c9, 0xffdadada, 0xffeeeeee, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xfffdfdfd, 0xff8c8c8e, 0xffc0c1ca, 0xffcdcdd7, 
+0xffd4d5df, 0xffd8d8d8, 0xff59758a, 0xff547186, 0xffd6d6d6, 0xffd1d3dd, 0xffd1d3dd, 0xffcfd1db, 0xffcfd1da, 0xffb6b7c0, 
+0xff717173, 0xff979797, 0xff9f9f9f, 0xffa8a8a8, 0xffb4b4b4, 0xffc2c2c2, 0xffd2d2d2, 0xffe3e3e3, 0xfff1f1f1, 0xfffdfdfd, 
+0xffffffff, 0xff979798, 0xffc1c3cb, 0xffd1d3dd, 0xffd1d3dd, 0xffd6d6d6, 0xff547186, 0xff4f6c82, 0xffd7d7d7, 0xffc0c1cb, 
+0xffb3b3bd, 0xff9c9da5, 0xff8f9097, 0xff78787f, 0xff606162, 0xff7d7d7d, 0xff6e6e6e, 0xff6e6e6e, 0xff787878, 0xff868686, 
+0xff929292, 0xffa6a6a6, 0xffc1c1c1, 0xffe1e1e1, 0xfff7f7f7, 0xff9d9d9f, 0xffc6c7d0, 0xffcfd0db, 0xffcfd0db, 0xffd7d7d7, 
+0xff4f6c82, 0xff4a687d, 0xffd9d9d9, 0xff9d9ea6, 0xff84848c, 0xff69696f, 0xff505155, 0xff3a3a3d, 0xff3f4040, 0xff717171, 
+0xff535353, 0xff393939, 0xff363637, 0xff3c3c3c, 0xff434343, 0xff575757, 0xff7f7f7f, 0xffbebebe, 0xffebebeb, 0xff919294, 
+0xffbbbcc6, 0xffcdced9, 0xffcdced9, 0xffd9d9d9, 0xff4a687d, 0xff46647a, 0xffdcdcdc, 0xffa3a4ae, 0xff9b9ca5, 0xff9798a1, 
+0xff8f9098, 0xff7a7a82, 0xff3e3e42, 0xff363637, 0xff373737, 0xff272728, 0xff333336, 0xff434347, 0xff343537, 0xff1e1e1f, 
+0xff3c3c3c, 0xff878787, 0xffa7a7a7, 0xff76767b, 0xffb9bac5, 0xffc3c4d0, 0xffc9cad6, 0xffdcdcdc, 0xff46647a, 0xd5426077, 
+0xffc2c7ca, 0xffc4c6d1, 0xffc5c7d2, 0xffc7c9d4, 0xffc7c9d4, 0xffc3c5d0, 0xffacaeb7, 0xff909199, 0xff8b8c93, 0xff8c8e95, 
+0xff9799a1, 0xffa2a3ac, 0xff93949c, 0xff67686e, 0xff444548, 0xff454648, 0xff5e5f63, 0xffa5a7af, 0xffc3c5cf, 0xffc3c5cf, 
+0xffc8cad5, 0xffc2c7ca, 0xd5426077, 0x803e5e74, 0xff778792, 0xffbbc1c4, 0xffe6e6e6, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 
+0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 
+0xffe7e7e7, 0xffe7e7e7, 0xffe7e7e7, 0xffe6e6e6, 0xffbbc1c4, 0xff778792, 0x803e5e74, 0x1a3b586c, 0x803a5a70, 0xd5395a71, 
+0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 
+0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xff3a5a70, 0xd5395a71, 0x803a5a70, 
+0x1a3b586c, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon64_java_icon32_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,107 @@
+package sun.awt.X11; public class XAWTIcon64_java_icon32_png {
+public static long[] java_icon32_png = { 
+32,32,
+0x0, 
+0x0, 0x409fb7c7, 0x7fa1b7c9, 0xbfa2b6ca, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 
+0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xffa1b6c9, 0xbfa2b6ca, 0x7fa1b7c9, 0x409fb7c7, 0x0, 
+0x0, 0x0, 0x409fb3c7, 0xffaebecc, 0xffc0cbd5, 0xffd8dee2, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xffd8dee2, 0xffc0cbd5, 
+0xffaebecc, 0x409fb3c7, 0x0, 0x409bb3c7, 0xffacbdcb, 0xffcfd7dd, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xffbab9be, 0xffa09fa4, 0xffeae9f0, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xffcfd7dd, 0xffacbdcb, 0x409bb3c7, 0x7f9bb1c5, 0xffbdc8d2, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xff8e8d91, 
+0xff373737, 0xff858487, 0xffe6e6ec, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xffbdc8d2, 0x7f9bb1c5, 0xbf98aec2, 0xffd4d9de, 0xfff2f1f9, 
+0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 
+0xffecebf2, 0xff77777a, 0xff333333, 0xff494949, 0xff757578, 0xffdedde4, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 
+0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xfff2f1f9, 0xffd4d9de, 0xbf98aec2, 0xff95abbf, 
+0xffececec, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xffd5d4db, 0xff555557, 0xff2a2a2a, 0xff444444, 0xff4c4c4c, 0xff69686b, 0xffd5d4db, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xff95abbf, 0xff92a8bc, 0xffececec, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffb6b6bb, 0xff303031, 0xff292929, 0xff3a3a3a, 0xff4f4e4e, 0xff494949, 
+0xff656567, 0xffd5d5db, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xff92a8bc, 0xff8ea5b9, 0xffebebeb, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xff929296, 0xff222223, 0xff292929, 0xff303232, 
+0xff414747, 0xff4d4f4f, 0xff424141, 0xff78777a, 0xffdfdfe6, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xff8ea5b9, 0xff8ba2b6, 0xffe9e9e9, 0xffececf4, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffd5d5dc, 0xff5b5b5e, 0xff222525, 
+0xff212828, 0xff3a2e2e, 0xff5c3e3e, 0xff534a4a, 0xff3e4646, 0xff363737, 0xff9a999e, 0xffebebf3, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xff8ba2b6, 0xff879fb3, 0xffe8e8e8, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffa9a8ae, 
+0xff292e2f, 0xff202626, 0xff6c2c2c, 0xffdb4040, 0xffff4d4d, 0xffdf4a4a, 0xff774040, 0xff353b3b, 0xff4d5153, 0xffc8c8cf, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xff879fb3, 0xff849cb0, 
+0xffe7e7e7, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xffd8d8df, 0xff636568, 0xff182424, 0xff5a2626, 0xffdf3838, 0xffff4b4b, 0xffff5757, 0xffff5a5a, 0xffef4747, 0xff6f3636, 
+0xff2c3535, 0xff8a8b8f, 0xffe5e5ed, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xff849cb0, 0xff8098ac, 0xffe6e6e6, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe7e7f0, 0xffaeaeb4, 0xff212627, 0xff201e1e, 0xff752121, 0xffd93434, 0xfffa4242, 0xffff5050, 0xffff5252, 
+0xffff4747, 0xffaa3333, 0xff2f2727, 0xff3b4143, 0xffcdcdd5, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe7e7f0, 0xff8098ac, 0xff7c95a9, 0xffe4e4e4, 0xffe6e6ee, 0xffe6e6ee, 0xffe6e6ee, 0xffe6e6ee, 0xffe5e5ed, 
+0xffd4d4dc, 0xffbdbdc3, 0xffafafb4, 0xff919196, 0xff4f4f51, 0xff1c2222, 0xff221b1b, 0xff591616, 0xff9f2727, 0xffcc3434, 
+0xffe63b3b, 0xffed3d3d, 0xffef3535, 0xffaa3030, 0xff635252, 0xff616868, 0xffb1b1b7, 0xffe6e6ee, 0xffe6e6ee, 0xffe0e0e8, 
+0xffc4c4ca, 0xffdbdbe2, 0xffe6e6ee, 0xffe6e6ee, 0xff7c95a9, 0xff7891a6, 0xffe3e3e3, 0xffe4e4ed, 0xffe4e4ed, 0xffe4e4ed, 
+0xffdddde6, 0xff89878a, 0xff4a4846, 0xff322e2c, 0xff1d1a1a, 0xff2d2d2e, 0xff787777, 0xffb1b4b4, 0xff706d6d, 0xff350f0f, 
+0xff631313, 0xff952626, 0xffb02c2c, 0xffbc3131, 0xffa21515, 0xff923c3c, 0xffd2c6c6, 0xffffffff, 0xffa2a2a4, 0xffb9b9c0, 
+0xffe4e4ed, 0xffc4c4cb, 0xff59595b, 0xff9f9fa5, 0xffe2e2eb, 0xffe4e4ed, 0xff7891a6, 0xff748ea2, 0xffe1e1e1, 0xffe2e2eb, 
+0xffe0e0e8, 0xffa9a9af, 0xff5b5b5e, 0xff5a6b7c, 0xff6f8da9, 0xff6f8495, 0xff76797f, 0xff5b5a5c, 0xffa6a6a7, 0xffe8e9e9, 
+0xff949595, 0xff231616, 0xff280101, 0xff571717, 0xff741e1e, 0xff7d2121, 0xff4e0000, 0xff7e5858, 0xffeceaea, 0xffffffff, 
+0xffc8c8c8, 0xff525254, 0xffd1d1d9, 0xffc9c9d1, 0xff272728, 0xff838388, 0xffe0e0e8, 0xffe2e2eb, 0xff748ea2, 0xff708a9f, 
+0xffe0e0e0, 0xffdadbe4, 0xff79797c, 0xff41474a, 0xff7d9ebd, 0xff9acdfb, 0xff96ceff, 0xff9ed4fc, 0xff93b4ca, 0xff858c93, 
+0xffa7a3a1, 0xffc7c7c7, 0xff868787, 0xff2a2929, 0xff090000, 0xff1a0404, 0xff2d0b0b, 0xff220101, 0xff200b0b, 0xffa6a1a1, 
+0xfffeffff, 0xffffffff, 0xffefefef, 0xff4e4e4e, 0xff9c9da3, 0xffd6d7df, 0xff333335, 0xff909196, 0xffdedfe8, 0xffe0e1ea, 
+0xff708a9f, 0xff6c879b, 0xffdedede, 0xffcbccd4, 0xff424141, 0xff484f55, 0xff87add0, 0xff9bc5ef, 0xffabc9dc, 0xff9db6cc, 
+0xff8492a7, 0xff909193, 0xffafadac, 0xffb7b7b7, 0xff858686, 0xff3d3f3f, 0xff1a1919, 0xff130e0e, 0xff0a0404, 0xff040000, 
+0xff565858, 0xffe0e1e1, 0xffffffff, 0xffffffff, 0xffffffff, 0xff6f6f6f, 0xff66666a, 0xff999aa0, 0xff3f3f40, 0xff6f6f73, 
+0xffd6d7df, 0xffdedfe8, 0xff6c879b, 0xff688397, 0xffdddddd, 0xffa3a4ab, 0xff222122, 0xff33302d, 0xff313435, 0xff636266, 
+0xffccc2c0, 0xffc7bbb5, 0xff8c8074, 0xff968e84, 0xffb1b2b3, 0xffb2b2b3, 0xff919191, 0xff5a5a5a, 0xff313333, 0xff282828, 
+0xff292929, 0xff515252, 0xffb6b6b6, 0xfffafafa, 0xffffffff, 0xffffffff, 0xffffffff, 0xff8d8d8d, 0xff2b2b2c, 0xff2b2b2c, 
+0xff2e2e2e, 0xff3e3e3e, 0xffc4c5cd, 0xffdcdde6, 0xff688397, 0xff647f94, 0xffdcdcdc, 0xff8c8d93, 0xff242524, 0xff4c463b, 
+0xff403426, 0xff191612, 0xff32312c, 0xff655d4c, 0xff7b6b53, 0xff9b9288, 0xffb2b4b7, 0xffb3b3b3, 0xffa3a3a3, 0xff878787, 
+0xff686868, 0xff5f5f5f, 0xff757575, 0xffaeaeae, 0xffececec, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffafafb1, 
+0xff424245, 0xff101010, 0xff1f1f1f, 0xff2c2c2d, 0xffbebfc7, 0xffdadbe5, 0xff647f94, 0xff607c90, 0xffdadada, 0xffa1a2a8, 
+0xff191a1a, 0xff4f4a41, 0xff6f604c, 0xff26231c, 0xff000000, 0xff131511, 0xff5b5449, 0xff9a9793, 0xffb5b6b7, 0xffb8b8b8, 
+0xffb3b3b3, 0xffacacac, 0xffa4a4a4, 0xffa6a6a6, 0xffb9b9b9, 0xffdfdfdf, 0xfffcfcfc, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffb6b6b8, 0xffa1a2a9, 0xff353537, 0xff1a1a1a, 0xff343435, 0xffc6c7cf, 0xffd9dae3, 0xff607c90, 0xff5c788d, 
+0xffd9d9d9, 0xffc4c5ce, 0xff313233, 0xff2f2d2b, 0xff3a3935, 0xff353839, 0xff54585c, 0xff676a6f, 0xff606266, 0xff989798, 
+0xffb7b7b7, 0xffb9b9b9, 0xffbcbcbc, 0xffbebebe, 0xffc1c1c1, 0xffc8c8c8, 0xffd8d8d8, 0xfff2f2f2, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffb1b1b1, 0xffacadb5, 0xffa0a1a8, 0xff252627, 0xff74757a, 0xffd1d2dc, 0xffd7d8e2, 
+0xff5c788d, 0xff58758a, 0xffd7d7d7, 0xffd3d4de, 0xff88888f, 0xff1b1b1d, 0xff74767b, 0xffbabcc4, 0xffcfd0da, 0xffcccdd6, 
+0xff818186, 0xff9d9d9d, 0xffb0b0b0, 0xffb7b7b7, 0xffbcbcbc, 0xffc1c1c1, 0xffc9c9c9, 0xffd4d4d4, 0xffe4e4e4, 0xfff7f7f7, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffb0b0b0, 0xff8b8c91, 0xffcdced8, 0xffb2b2bb, 0xffcbccd6, 
+0xffd5d6e0, 0xffd5d6e0, 0xff58758a, 0xff547186, 0xffd6d6d6, 0xffd3d5df, 0xffcbcdd6, 0xffb1b3bb, 0xffd1d2dc, 0xffd3d5df, 
+0xffd3d5df, 0xffc1c3cc, 0xff737477, 0xff989898, 0xffa6a6a6, 0xffadadad, 0xffb4b4b4, 0xffbababa, 0xffc3c3c3, 0xffcfcfcf, 
+0xffdddddd, 0xffeaeaea, 0xfff6f6f6, 0xfffefefe, 0xffffffff, 0xffffffff, 0xffffffff, 0xffbbbbbb, 0xff8c8d91, 0xffcbcdd6, 
+0xffd3d5df, 0xffd3d5df, 0xffd3d5df, 0xffd3d5df, 0xff547186, 0xff516e83, 0xffd6d6d6, 0xffd0d1db, 0xffd0d1da, 0xffd0d1db, 
+0xffc9cad3, 0xffc2c2cc, 0xffc4c5ce, 0xffb5b6be, 0xff68696b, 0xff8b8b8b, 0xff969696, 0xff9b9b9b, 0xffa1a1a1, 0xffa8a8a8, 
+0xffb1b1b1, 0xffbbbbbb, 0xffc6c6c6, 0xffd1d1d1, 0xffdddddd, 0xffeaeaea, 0xfff5f5f5, 0xfffefefe, 0xffffffff, 0xffcbcbcb, 
+0xff939398, 0xffcdced7, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xff516e83, 0xff4d6b80, 0xffd8d8d8, 0xffcbccd7, 
+0xffc1c2cc, 0xffb7b8c1, 0xffadaeb7, 0xffa2a3ac, 0xff9d9ea7, 0xff909098, 0xff5c5c5f, 0xff7e7e7e, 0xff7e7e7e, 0xff7d7d7d, 
+0xff808080, 0xff868686, 0xff8e8e8e, 0xff969696, 0xffa0a0a0, 0xffababab, 0xffbababa, 0xffc9c9c9, 0xffdadada, 0xffebebeb, 
+0xfff9f9f9, 0xffcbcbcb, 0xff9c9da2, 0xffcccdd7, 0xffd0d1dc, 0xffd0d1dc, 0xffd0d1dc, 0xffd0d1dc, 0xff4d6b80, 0xff4a687d, 
+0xffd8d8d8, 0xffbcbec8, 0xffaaacb5, 0xff999ba3, 0xff898a91, 0xff76777d, 0xff696a70, 0xff5d5e62, 0xff4a4b4d, 0xff767676, 
+0xff6d6d6d, 0xff585858, 0xff525252, 0xff535353, 0xff5a5a5a, 0xff616161, 0xff696969, 0xff747474, 0xff858585, 0xff9d9d9d, 
+0xffbababa, 0xffd6d6d6, 0xffececec, 0xffcacaca, 0xff999a9f, 0xffcaccd7, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 
+0xff4a687d, 0xff46657a, 0xffd7d7d7, 0xffabadb6, 0xff909199, 0xff7d7e85, 0xff68696e, 0xff4f5054, 0xff404144, 0xff333437, 
+0xff2e2e30, 0xff666666, 0xff717171, 0xff4c4c4c, 0xff373737, 0xff303030, 0xff2f2f2f, 0xff2f3030, 0xff343435, 0xff3c3d3d, 
+0xff4b4b4b, 0xff686868, 0xff939393, 0xffc0c0c0, 0xffe1e1e1, 0xffbebebe, 0xff85878d, 0xffc7c9d4, 0xffcdcfda, 0xffcdcfda, 
+0xffcdcfda, 0xffcdcfda, 0xff46657a, 0xbf436177, 0xffafb7bc, 0xffb2b2bc, 0xff9d9ea6, 0xff8e8f97, 0xff87888f, 0xff7e7f86, 
+0xff76777d, 0xff626267, 0xff333336, 0xff2d2d2d, 0xff565656, 0xff484848, 0xff2d2d2d, 0xff1e1e1f, 0xff2a2a2c, 0xff393a3d, 
+0xff39393c, 0xff2a2b2c, 0xff262626, 0xff3c3c3c, 0xff686868, 0xffa1a1a1, 0xffc4c4c4, 0xff878788, 0xff96979f, 0xffc0c1cb, 
+0xffc2c3cd, 0xffc9cad5, 0xffcccdd8, 0xffafb7bc, 0xbf436177, 0x7f405e74, 0xff8797a2, 0xffc7c8d3, 0xffc4c5cf, 0xffc2c3ce, 
+0xffc4c5cf, 0xffc5c6d1, 0xffc1c2cc, 0xffb2b3bd, 0xff8d8e95, 0xff56575b, 0xff434346, 0xff464649, 0xff424246, 0xff4f4f53, 
+0xff6f7076, 0xff8a8a92, 0xff85868d, 0xff5f5f64, 0xff2d2d2f, 0xff181818, 0xff343434, 0xff5c5c5c, 0xff626262, 0xff606064, 
+0xffafb0ba, 0xffb9bac4, 0xffbbbcc6, 0xffc5c6d0, 0xffcbccd7, 0xff8797a2, 0x7f405e74, 0x40405c74, 0xff4f6676, 0xffa5afb6, 
+0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc7c9d5, 0xffc6c8d4, 0xffc0c2ce, 0xffb9bbc6, 0xffb5b7c2, 
+0xffb4b6c0, 0xffb5b7c2, 0xffbcbeca, 0xffc3c5d1, 0xffc2c4cf, 0xffb5b7c2, 0xff9b9da6, 0xff76777e, 0xff56565b, 0xff4d4e52, 
+0xff6c6e74, 0xffaeb0ba, 0xffc5c7d3, 0xffc5c7d3, 0xffc7c9d4, 0xffc8cad6, 0xffa5afb6, 0xff4f6676, 0x40405c74, 0x0, 
+0x403c5c70, 0xff4e6676, 0xff768590, 0xffacb4b9, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 
+0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 
+0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffc8cad6, 0xffacb4b9, 0xff768590, 0xff4e6676, 0x403c5c70, 
+0x0, 0x0, 0x0, 0x40385870, 0x7f38586e, 0xbf39586d, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 
+0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 
+0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xff39586e, 0xbf39586d, 0x7f38586e, 
+0x40385870, 0x0, 0x0, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAWTIcon64_java_icon48_png.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,235 @@
+package sun.awt.X11; public class XAWTIcon64_java_icon48_png {
+public static long[] java_icon48_png = { 
+48,48,
+0x0, 
+0x0, 0x33a0b9c8, 0x96a1b8ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 
+0xffa2b7ca, 0xffa2b7ca, 0xffa2b7ca, 0x9fa2b7ca, 0x4ba3b8c9, 0x0, 0x0, 0x0, 0x66a0b7c8, 0xfca1b6c9, 
+0xffcad3da, 0xfff0f0f2, 0xfff4f3f6, 0xfff6f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 
+0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 
+0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 
+0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff7f6f9, 0xfff6f6f9, 0xfff4f4f7, 
+0xfff1f1f3, 0xffced6dd, 0xffb3c1cf, 0x99a2b6ca, 0x0, 0x21a2b2c9, 0xf99fb5c8, 0xffdce0e4, 0xfff5f4fa, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xff9f9ea2, 0xff585859, 0xffb7b6bb, 0xfff3f2f8, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 
+0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff5f4fb, 0xfff7f6fc, 
+0xfffdfdfe, 0xffb2c1ce, 0x4ea0b4c7, 0x789db3c6, 0xffc0cad4, 0xfff4f4fa, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff3f3fa, 0xff86868a, 0xff3b3b3b, 0xff4e4e4e, 0xffa6a6ab, 0xffededf3, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 
+0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff4f4fb, 0xfff6f6fc, 0xffd1d7df, 
+0x9f9fb4c5, 0xff9cb2c5, 0xffe8e9ed, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xffe3e2e9, 0xff656467, 0xff2c2c2c, 0xff464646, 0xff484848, 0xff969599, 0xffe8e7ed, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 
+0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff4f3fa, 0xfff1f1f5, 0xff9cb2c5, 0xff9ab0c4, 
+0xfff1f0f5, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xffd3d2d8, 
+0xff4a4a4c, 0xff262626, 0xff3a3a3a, 0xff4c4c4c, 0xff434343, 0xff828285, 0xffe3e2e8, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 
+0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff3f2f9, 0xfff2f1f6, 0xff9ab0c4, 0xff99afc2, 0xfff1f1f5, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xffb8b8bd, 0xff343435, 0xff242424, 
+0xff323232, 0xff474747, 0xff4e4e4e, 0xff414141, 0xff747477, 0xffd7d7de, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 
+0xfff2f2f9, 0xfff2f2f9, 0xfff2f2f9, 0xfff1f1f6, 0xff99afc2, 0xff97adc0, 0xfff0f0f4, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xff949498, 0xff2c2c2c, 0xff262626, 0xff2d2d2d, 0xff3d3d3d, 
+0xff4d4d4d, 0xff4c4c4c, 0xff3f3f3f, 0xff6a6a6d, 0xffd1d1d7, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 0xfff1f1f8, 
+0xfff1f1f8, 0xfff0f0f5, 0xff97adc0, 0xff95abbf, 0xfff0eff4, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xffe7e6ed, 0xff6e6e71, 0xff242424, 0xff262626, 0xff2a2a2a, 0xff373737, 0xff474747, 0xff505050, 
+0xff484848, 0xff3e3e3e, 0xff646366, 0xffd2d1d8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 
+0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff1f0f8, 0xfff0eff5, 
+0xff95abbf, 0xff93a9bd, 0xffefeef3, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xffcecdd4, 0xff48484a, 0xff222222, 0xff262626, 0xff2a2a2a, 0xff343434, 0xff414040, 0xff4c4c4c, 0xff4f4e4e, 0xff434343, 
+0xff3c3c3c, 0xff6d6d70, 0xffdddce3, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 
+0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xfff0eff7, 0xffefeef4, 0xff93a9bd, 0xff91a7bb, 
+0xffeeeef2, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffa4a4a9, 0xff2f2f30, 
+0xff242424, 0xff272727, 0xff2b2a2a, 0xff2f3030, 0xff373c3c, 0xff424848, 0xff4e5050, 0xff4a4949, 0xff3e3d3d, 0xff383838, 
+0xff87878b, 0xffeaeaf1, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 
+0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffefeff6, 0xffeeeef3, 0xff91a7bb, 0xff8ea5b9, 0xffededf1, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffe4e4eb, 0xff666669, 0xff232323, 0xff242424, 0xff272626, 
+0xff222929, 0xff222e2e, 0xff2f3737, 0xff3b4141, 0xff414c4c, 0xff444d4d, 0xff3f4040, 0xff393939, 0xff3e3e3e, 0xffadadb2, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 
+0xffeeeef5, 0xffeeeef5, 0xffeeeef5, 0xffededf2, 0xff8ea5b9, 0xff8ca3b7, 0xffececf0, 0xffededf4, 0xffededf4, 0xffededf4, 
+0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 
+0xffededf4, 0xffededf4, 0xffededf4, 0xffbababf, 0xff363637, 0xff242323, 0xff232626, 0xff1b2626, 0xff2a2828, 0xff5c3030, 
+0xff8c3a3a, 0xff984040, 0xff7d4343, 0xff544646, 0xff394444, 0xff343838, 0xff393838, 0xff575759, 0xffd4d4da, 0xffededf4, 
+0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 0xffededf4, 
+0xffededf4, 0xffececf1, 0xff8ca3b7, 0xff8aa1b5, 0xffebebf0, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 
+0xffe8e8ef, 0xff76767a, 0xff262425, 0xff222525, 0xff182525, 0xff3e2525, 0xffa03232, 0xffeb4242, 0xffff4c4c, 0xffff4f4f, 
+0xfffa4949, 0xffc54343, 0xff6c3e3e, 0xff323b3b, 0xff333636, 0xff363535, 0xff8f8f93, 0xffe9e9f1, 0xffececf4, 0xffececf4, 
+0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffececf4, 0xffebebf1, 
+0xff8aa1b5, 0xff879fb3, 0xffeaeaef, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffbebec4, 0xff404041, 
+0xff222323, 0xff182424, 0xff372323, 0xffb32e2e, 0xffff4141, 0xffff4c4c, 0xffff5151, 0xffff5555, 0xffff5555, 0xffff5050, 
+0xffe34141, 0xff693838, 0xff2c3535, 0xff353737, 0xff4b4a4b, 0xffccccd3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 
+0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffebebf3, 0xffeaeaf0, 0xff879fb3, 0xff859db1, 
+0xffe9e9ee, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 
+0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffe6e6ee, 0xff7a7a7e, 0xff262626, 0xff1b2424, 0xff212121, 
+0xff7a2424, 0xffe53636, 0xffff4141, 0xffff4747, 0xffff5050, 0xffff5a5a, 0xffff5a5a, 0xffff5454, 0xffff4c4c, 0xffcc3939, 
+0xff473232, 0xff2a3434, 0xff343434, 0xff909095, 0xffe8e8f0, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 
+0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffeaeaf2, 0xffe9e9ef, 0xff859db1, 0xff829baf, 0xffe8e8ed, 0xffe9e9f1, 
+0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffc6c6cd, 0xff424143, 0xff212323, 0xff192323, 0xff361d1d, 0xff8e2222, 0xffcc3232, 
+0xffec3b3b, 0xfffb4040, 0xffff4b4b, 0xffff5656, 0xffff5757, 0xffff4e4e, 0xffff4949, 0xfffc3c3c, 0xff752f2f, 0xff2b3232, 
+0xff333737, 0xff4e4d4f, 0xffd7d7de, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 
+0xffe9e9f1, 0xffe9e9f1, 0xffe9e9f1, 0xffe8e8ee, 0xff829baf, 0xff8098ac, 0xffe6e6ec, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe4e4ed, 0xff7f7f83, 0xff1d1d1d, 0xff1c2020, 0xff1b2020, 0xff3b1818, 0xff7d1d1d, 0xffa92929, 0xffc83232, 0xffe33838, 
+0xfff43f3f, 0xfffa4444, 0xfffd4646, 0xfffc4242, 0xfff83f3f, 0xfff43b3b, 0xff892929, 0xff201f1f, 0xff181f1f, 0xff201f20, 
+0xffa3a3a9, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 0xffe7e7f0, 
+0xffe7e7f0, 0xffe6e6ed, 0xff8098ac, 0xff7d96aa, 0xffe6e6eb, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 
+0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffd0d0d8, 0xffbdbdc4, 0xffadadb3, 0xff9b9ba1, 0xff88888d, 0xff707073, 0xff313233, 
+0xff151313, 0xff131616, 0xff101212, 0xff2d0e0e, 0xff651818, 0xff8a2323, 0xffa72a2a, 0xffc23131, 0xffd53535, 0xffe03737, 
+0xffe63939, 0xffe43838, 0xffdb3737, 0xffd03030, 0xff882a2a, 0xff5b5555, 0xff6d7373, 0xff7d7d7d, 0xff88888b, 0xffe6e6ef, 
+0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ef, 0xffd9d9e1, 0xffb8b8bf, 0xffcfcfd7, 0xffe6e6ef, 0xffe6e6ef, 0xffe6e6ec, 
+0xff7d96aa, 0xff7b94a8, 0xffe5e5ea, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffe5e5ee, 0xffb0b0b7, 
+0xff767679, 0xff5b5b5d, 0xff4e4d4e, 0xff454546, 0xff383839, 0xff2e2e2e, 0xff393939, 0xff6a6969, 0xff8a8a8a, 0xff858787, 
+0xff5f6161, 0xff301b1b, 0xff420909, 0xff6b1a1a, 0xff862222, 0xffa02929, 0xffb32d2d, 0xffbe2f2f, 0xffc43030, 0xffc13030, 
+0xffbc3131, 0xffa01919, 0xff8c4040, 0xffcec6c6, 0xfff0f1f1, 0xfff7f7f7, 0xffc9c9ca, 0xffb2b2b8, 0xffe5e5ee, 0xffe5e5ee, 
+0xffe5e5ee, 0xffe3e3ec, 0xff9c9ca2, 0xff5d5d5f, 0xff808083, 0xffd8d8e1, 0xffe4e4ed, 0xffe5e5eb, 0xff7b94a8, 0xff7891a6, 
+0xffe4e4e9, 0xffe4e4ed, 0xffe4e4ed, 0xffe4e4ed, 0xffe4e4ed, 0xffc7c7cf, 0xff7e7b7e, 0xff3d3836, 0xff23201c, 0xff1b1814, 
+0xff272320, 0xff191615, 0xff0f0e0e, 0xff0c0c0c, 0xff424242, 0xffacabab, 0xffdbdbdb, 0xffe1e3e3, 0xffb4b7b7, 0xff443a3a, 
+0xff210000, 0xff490f0f, 0xff651b1b, 0xff7d2020, 0xff922424, 0xff9e2828, 0xffa12828, 0xff9d2727, 0xff9a2929, 0xff6e0606, 
+0xff895858, 0xfff1eded, 0xffffffff, 0xffffffff, 0xfff1f1f1, 0xff676768, 0xff848489, 0xffe2e2eb, 0xffe4e4ed, 0xffe0e0e9, 
+0xff7e7e83, 0xff363636, 0xff515153, 0xffbcbcc4, 0xffe2e2eb, 0xffe4e4ea, 0xff7891a6, 0xff758fa3, 0xffe3e3e8, 0xffe3e3ec, 
+0xffe3e3ec, 0xffd8d8e0, 0xff919095, 0xff4b4947, 0xff3c4144, 0xff5a6e7c, 0xff66849b, 0xff738da3, 0xff81909f, 0xff8c9096, 
+0xff8c8c91, 0xff535356, 0xff5f6060, 0xffb7b7b7, 0xffcdcdcd, 0xffcccccc, 0xffabadad, 0xff494646, 0xff100202, 0xff270707, 
+0xff421111, 0xff551616, 0xff6b1a1a, 0xff7a1f1f, 0xff7b1f1f, 0xff761e1e, 0xff6b1717, 0xff3b0000, 0xff978383, 0xfff8f9f9, 
+0xffffffff, 0xffffffff, 0xfff5f5f5, 0xff818181, 0xff2e2e2f, 0xffa8a8af, 0xffe3e3ec, 0xffe2e2eb, 0xff909095, 0xff0e0e0e, 
+0xff39393a, 0xffb7b7be, 0xffe0e0e9, 0xffe3e3e9, 0xff758fa3, 0xff738da1, 0xffe1e2e7, 0xffd4d5de, 0xff9e9fa5, 0xff616163, 
+0xff363535, 0xff576674, 0xff88b0d4, 0xff94c5f0, 0xff91c5ff, 0xff96c9ff, 0xffa3d2f7, 0xffa1c2d9, 0xffacb5bf, 0xffb2b4ba, 
+0xff878687, 0xffbababa, 0xffc3c3c3, 0xffbab9b9, 0xff989999, 0xff505050, 0xff100b0b, 0xff0c0000, 0xff210707, 0xff2f0c0c, 
+0xff3f0f0f, 0xff4c1313, 0xff4e1414, 0xff4c1414, 0xff280202, 0xff362020, 0xffc9c8c8, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xfffcfcfc, 0xffb0b0b0, 0xff262626, 0xff66666a, 0xffe0e1ea, 0xffe1e2eb, 0xffa0a0a7, 0xff070707, 0xff3a3a3c, 0xffc7c7cf, 
+0xffdfe0e9, 0xffe1e2e8, 0xff738da1, 0xff708a9f, 0xffe0e1e6, 0xffcacad3, 0xff3c3a3b, 0xff262627, 0xff546875, 0xff9ac6ed, 
+0xff9accff, 0xff94c8ff, 0xff91c9ff, 0xff94ccff, 0xff9bd5ff, 0xffa6e1ff, 0xff97c4e6, 0xff7d8b95, 0xff898684, 0xffbab8b7, 
+0xffbdbebe, 0xffb1b1b1, 0xff919090, 0xff575858, 0xff222323, 0xff0c0707, 0xff0b0000, 0xff120202, 0xff180606, 0xff1e0606, 
+0xff210606, 0xff150202, 0xff0a0202, 0xff787777, 0xfff1f1f1, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffdbdbdb, 
+0xff3a3a3a, 0xff3d3d3f, 0xffc3c4cc, 0xffe0e1ea, 0xff9b9ca2, 0xff212121, 0xff545456, 0xffc9c9d1, 0xffdedfe7, 0xffe0e1e7, 
+0xff708a9f, 0xff6b859a, 0xffdedee4, 0xffacacb3, 0xff282828, 0xff363737, 0xff6a7e8b, 0xffa3d2fd, 0xff99ccff, 0xff93c4f4, 
+0xffa6d2e7, 0xffabd1de, 0xff8bb0d0, 0xff7593b5, 0xff76859a, 0xff7d7f84, 0xff979493, 0xffb5b4b4, 0xffb8b9b9, 0xffababab, 
+0xff8f8f8f, 0xff5b5c5c, 0xff2e3030, 0xff212121, 0xff171414, 0xff0d0606, 0xff080101, 0xff090101, 0xff090202, 0xff0a0707, 
+0xff404040, 0xffb8baba, 0xfffcfcfc, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffebebeb, 0xff565656, 0xff262627, 
+0xff98989f, 0xffdcdce5, 0xff6e6e72, 0xff333333, 0xff535354, 0xffa3a3aa, 0xffdbdbe5, 0xffdfdfe6, 0xff6b859a, 0xff688397, 
+0xffdadadf, 0xff6c6c70, 0xff242424, 0xff2c2c2c, 0xff37393c, 0xff60707f, 0xff72899e, 0xff9099a8, 0xffc7cbcf, 0xffd6d9da, 
+0xffb4b0b6, 0xff8d848b, 0xff8d8383, 0xff938f88, 0xff9f9e9c, 0xffb1b2b3, 0xffb5b4b5, 0xffa8a8a8, 0xff929292, 0xff696969, 
+0xff3a3a3a, 0xff272828, 0xff282929, 0xff252424, 0xff1f1d1d, 0xff1a1919, 0xff1c1c1c, 0xff393939, 0xff888888, 0xffdfdfdf, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfff2f2f2, 0xff787878, 0xff121212, 0xff606063, 0xff7e7e83, 
+0xff2f2f2f, 0xff3c3c3c, 0xff4c4c4c, 0xff707073, 0xffb4b4bc, 0xffdedee4, 0xff688397, 0xff658095, 0xffccccd1, 0xff414244, 
+0xff242424, 0xff302f2f, 0xff32312d, 0xff1f1f1e, 0xff373736, 0xff756f6d, 0xffe2d8d5, 0xfffdf5ef, 0xffcac1ba, 0xff9a9389, 
+0xff867c6e, 0xff8d8375, 0xffa3a1a0, 0xffb2b3b5, 0xffb3b3b2, 0xffa9a9a9, 0xff979797, 0xff7d7d7d, 0xff565656, 0xff373636, 
+0xff2c2d2d, 0xff292929, 0xff282828, 0xff303030, 0xff4c4c4c, 0xff7e7e7e, 0xffc1c1c1, 0xfff5f5f5, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xfff9f9f9, 0xff9d9e9e, 0xff252627, 0xff2d2d2e, 0xff2b2c2d, 0xff111111, 0xff282828, 
+0xff343434, 0xff4e4e50, 0xff8e8f94, 0xffdcdde3, 0xff658095, 0xff637e93, 0xffbbbcc0, 0xff2b2b2d, 0xff252626, 0xff413e3a, 
+0xff4b4232, 0xff252017, 0xff0f0c0b, 0xff1b1b18, 0xff3f3e3b, 0xff706c64, 0xff8f8572, 0xff6d5f4a, 0xff6d5d46, 0xff958a7d, 
+0xffa8a8a8, 0xffb0b1b2, 0xffb3b2b3, 0xffacacac, 0xff9f9f9f, 0xff8e8e8e, 0xff767676, 0xff5c5c5c, 0xff4d4d4d, 0xff494949, 
+0xff535353, 0xff696969, 0xff8a8a8a, 0xffb6b6b6, 0xffe4e4e4, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffbcbcbd, 0xff5f5f62, 0xff111112, 0xff141414, 0xff101010, 0xff1c1c1c, 0xff242424, 0xff464648, 
+0xff84858a, 0xffdbdce2, 0xff637e93, 0xff607c90, 0xffbbbcc0, 0xff28292b, 0xff212122, 0xff45433f, 0xff5b4d3b, 0xff5a4b3a, 
+0xff443a2d, 0xff171410, 0xff010100, 0xff090908, 0xff423b2c, 0xff79664b, 0xff84735c, 0xff9e958b, 0xffa8a7aa, 0xffb2b2b3, 
+0xffb5b5b4, 0xffafafaf, 0xffaaaaaa, 0xffa0a0a0, 0xff929292, 0xff848484, 0xff7b7b7b, 0xff7c7c7c, 0xff888888, 0xff9b9b9b, 
+0xffb5b5b5, 0xffd7d7d7, 0xfff6f6f6, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffefefe, 
+0xffc8c8c9, 0xff8f9095, 0xff424245, 0xff060606, 0xff161616, 0xff2d2d2d, 0xff3a3a3a, 0xff4e4e50, 0xff8b8b91, 0xffdadbe1, 
+0xff607c90, 0xff5d798e, 0xffcccdd2, 0xff414144, 0xff1c1c1c, 0xff3f3e3c, 0xff5e5344, 0xff70614b, 0xff5b4f40, 0xff0d0e0b, 
+0xff000001, 0xff000606, 0xff171a16, 0xff4b4437, 0xff6c6459, 0xff91908d, 0xffabacac, 0xffb3b3b3, 0xffb6b6b6, 0xffb6b6b6, 
+0xffb3b3b3, 0xffaeaeae, 0xffa8a8a8, 0xffa2a2a2, 0xffa0a0a0, 0xffa2a2a2, 0xffaaaaaa, 0xffbababa, 0xffd3d3d3, 0xffececec, 
+0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffcfcfc, 0xffc2c2c2, 0xff8f8f94, 
+0xffbdbec6, 0xff434446, 0xff070707, 0xff111111, 0xff191919, 0xff505053, 0xffa3a4aa, 0xffd9dae0, 0xff5d798e, 0xff5b778c, 
+0xffd3d4da, 0xff67686c, 0xff141414, 0xff2b2b2c, 0xff514d44, 0xff574e40, 0xff39362f, 0xff080e10, 0xff0c1315, 0xff141b1d, 
+0xff141b1e, 0xff1e2327, 0xff4c4e51, 0xff949493, 0xffadadac, 0xffb2b2b2, 0xffb7b7b7, 0xffb9b9b9, 0xffb9b9b9, 0xffb7b7b7, 
+0xffb6b6b6, 0xffb7b7b7, 0xffb7b7b7, 0xffbababa, 0xffc3c3c3, 0xffd1d1d1, 0xffe4e4e4, 0xfff8f8f8, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfff9f9f9, 0xffbababa, 0xff7e7e82, 0xffd7d8e2, 0xffa5a6ae, 
+0xff161616, 0xff131313, 0xff1b1b1b, 0xff76767c, 0xffc4c5ce, 0xffd7d8df, 0xff5b778c, 0xff58758a, 0xffd5d5dc, 0xffa0a1a8, 
+0xff101010, 0xff191819, 0xff2e2e2f, 0xff1a1f1f, 0xff171f22, 0xff3d4044, 0xff616367, 0xff818289, 0xffa2a3ab, 0xff95979d, 
+0xff6e6d70, 0xff9a9a9a, 0xffaaaaaa, 0xffb1b1b1, 0xffb7b7b7, 0xffb9b9b9, 0xffbcbcbc, 0xffbdbdbd, 0xffbebebe, 0xffc2c2c2, 
+0xffc6c6c6, 0xffcbcbcb, 0xffd2d2d2, 0xffdddddd, 0xffededed, 0xfffbfbfb, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xffffffff, 0xffffffff, 0xfff9f9f9, 0xffb6b6b6, 0xff737375, 0xffc7c8d1, 0xffc8c9d2, 0xff59595d, 0xff151516, 
+0xff454548, 0xffb4b5bd, 0xffd3d4de, 0xffd7d7df, 0xff58758a, 0xff567287, 0xffd6d6dd, 0xffcdced7, 0xff66666b, 0xff0e0e0e, 
+0xff1e1e1e, 0xff5c5d61, 0xffc4c5ce, 0xffcfd0da, 0xffd4d5df, 0xffd4d5df, 0xffd5d6e0, 0xffa9aab2, 0xff727173, 0xff9b9b9b, 
+0xffa8a8a8, 0xffb0b0b0, 0xffb5b5b5, 0xffb8b8b8, 0xffbbbbbb, 0xffbebebe, 0xffc1c1c1, 0xffc5c5c5, 0xffcbcbcb, 0xffd1d1d1, 
+0xffdadada, 0xffe4e4e4, 0xfff1f1f1, 0xfffcfcfc, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 
+0xffffffff, 0xfff9f9f9, 0xffbababa, 0xff69696a, 0xffaeafb7, 0xffd5d6e0, 0xffd0d1db, 0xffc0c1ca, 0xffc8c9d2, 0xffd5d6e0, 
+0xffd5d6e0, 0xffd6d6de, 0xff567287, 0xff537085, 0xffd5d5dc, 0xffd4d5df, 0xffbebfc8, 0xff444447, 0xff5a5a5e, 0xffc7c8d1, 
+0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffa0a1a8, 0xff69696a, 0xff989898, 0xffa3a3a3, 0xffababab, 
+0xffb0b0b0, 0xffb4b4b4, 0xffb7b7b7, 0xffbbbbbb, 0xffbfbfbf, 0xffc5c5c5, 0xffcacaca, 0xffd1d1d1, 0xffdadada, 0xffe5e5e5, 
+0xfff0f0f0, 0xfff8f8f8, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffbfbfb, 
+0xffc4c4c4, 0xff6c6c6d, 0xffa0a1a8, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd4d5df, 0xffd5d5dd, 
+0xff537085, 0xff516e83, 0xffd4d5db, 0xffd2d3dd, 0xffd2d3dd, 0xffcccdd7, 0xffcecfd9, 0xffd3d4de, 0xffd1d2dc, 0xffd1d2dc, 
+0xffd1d2db, 0xffd3d4de, 0xffd3d4de, 0xff929399, 0xff6b6b6c, 0xff949494, 0xff9c9c9c, 0xffa4a4a4, 0xffa9a9a9, 0xffadadad, 
+0xffb1b1b1, 0xffb4b4b4, 0xffb9b9b9, 0xffc0c0c0, 0xffc5c5c5, 0xffcccccc, 0xffd4d4d4, 0xffdddddd, 0xffe6e6e6, 0xffededed, 
+0xfff3f3f3, 0xfff9f9f9, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xfffcfcfc, 0xffcfcfcf, 0xff757576, 
+0xff95969c, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd3d4de, 0xffd4d5dc, 0xff516e83, 0xff4e6c81, 
+0xffd3d4da, 0xffd1d2dc, 0xffd0d1db, 0xffd2d3dd, 0xffcfd0da, 0xffcbccd5, 0xffcacbd4, 0xffc9cad3, 0xffc7c8d2, 0xffcbccd5, 
+0xffd0d1db, 0xff8d8e94, 0xff656566, 0xff8d8d8d, 0xff959595, 0xff9b9b9b, 0xff9f9f9f, 0xffa2a2a2, 0xffa6a6a6, 0xffaaaaaa, 
+0xffaeaeae, 0xffb4b4b4, 0xffbbbbbb, 0xffc2c2c2, 0xffc8c8c8, 0xffd0d0d0, 0xffd7d7d7, 0xffdcdcdc, 0xffe4e4e4, 0xffededed, 
+0xfff3f3f3, 0xfffafafa, 0xfffdfdfd, 0xffffffff, 0xffffffff, 0xfffdfdfd, 0xffd9d9d9, 0xff89898a, 0xff8f8f96, 0xffd2d3dd, 
+0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd2d3dd, 0xffd3d4db, 0xff4e6c81, 0xff4c6a7f, 0xffd3d3da, 0xffd1d2dc, 
+0xffcfd0d9, 0xffc8c9d3, 0xffc3c4cd, 0xffbebfc8, 0xffbcbdc6, 0xffb9bac3, 0xffb4b5be, 0xffb5b6bf, 0xffb9bac3, 0xff818187, 
+0xff5f5f60, 0xff848484, 0xff888888, 0xff8e8e8e, 0xff919191, 0xff949494, 0xff979797, 0xff9b9b9b, 0xff9e9e9e, 0xffa4a4a4, 
+0xffababab, 0xffb0b0b0, 0xffb5b5b5, 0xffbcbcbc, 0xffc4c4c4, 0xffcacaca, 0xffd2d2d2, 0xffdbdbdb, 0xffe3e3e3, 0xffebebeb, 
+0xfff3f3f3, 0xfffafafa, 0xfffdfdfd, 0xfff8f8f8, 0xffdcdcdc, 0xff979798, 0xff929399, 0xffd1d2dc, 0xffd1d2dc, 0xffd1d2dc, 
+0xffd1d2dc, 0xffd1d2dc, 0xffd1d2dc, 0xffd2d3da, 0xff4c6a7f, 0xff4a687d, 0xffd2d4db, 0xffced0db, 0xffc9cad5, 0xffbdbfc9, 
+0xffb3b5bf, 0xffadafb8, 0xffa8aab3, 0xffa2a4ad, 0xff9c9da6, 0xff999ba3, 0xff9b9da5, 0xff717278, 0xff5b5b5c, 0xff7d7d7d, 
+0xff7d7d7d, 0xff7e7e7e, 0xff7e7e7e, 0xff7f7f7f, 0xff828282, 0xff858585, 0xff888888, 0xff8d8d8d, 0xff959595, 0xff979797, 
+0xff9c9c9c, 0xffa3a3a3, 0xffababab, 0xffb3b3b3, 0xffbbbbbb, 0xffc5c5c5, 0xffcfcfcf, 0xffdadada, 0xffe3e3e3, 0xffececec, 
+0xfff3f3f3, 0xffeeeeee, 0xffdbdbdb, 0xff9b9b9c, 0xff97989f, 0xffcfd1dc, 0xffcfd1dc, 0xffcfd1dc, 0xffcfd1dc, 0xffcfd1dc, 
+0xffcfd1dc, 0xffd1d3db, 0xff4a687d, 0xff47667b, 0xffd0d1d8, 0xffc3c5d0, 0xffb6b8c1, 0xffaaabb4, 0xffa0a2aa, 0xff999aa2, 
+0xff909199, 0xff86878f, 0xff7e7f86, 0xff7c7d83, 0xff7c7e84, 0xff626267, 0xff575758, 0xff7a7a7a, 0xff767676, 0xff6d6d6d, 
+0xff686868, 0xff666666, 0xff656565, 0xff666666, 0xff686868, 0xff6d6d6d, 0xff747474, 0xff777777, 0xff7c7c7c, 0xff838383, 
+0xff8b8b8b, 0xff939393, 0xff9c9c9c, 0xffaaaaaa, 0xffb6b6b6, 0xffc4c4c4, 0xffd1d1d1, 0xffdfdfdf, 0xffe8e8e8, 0xffe9e9e9, 
+0xffdadada, 0xff9b9b9c, 0xff9fa1a8, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 0xffced0db, 0xffd1d2da, 
+0xff47667b, 0xff456479, 0xffc6c7ce, 0xffafb0ba, 0xffa1a2aa, 0xff9798a0, 0xff8d8e96, 0xff85868d, 0xff797a80, 0xff6c6d73, 
+0xff636368, 0xff5e5e63, 0xff5a5a5f, 0xff46474a, 0xff4c4c4d, 0xff777777, 0xff757575, 0xff656565, 0xff565656, 0xff4d4d4d, 
+0xff484848, 0xff464646, 0xff464646, 0xff494949, 0xff4f4f4f, 0xff525252, 0xff565656, 0xff5c5c5c, 0xff636363, 0xff6d6d6d, 
+0xff787878, 0xff878787, 0xff989898, 0xffadadad, 0xffc1c1c1, 0xffd3d3d3, 0xffe0e0e0, 0xffe4e4e4, 0xffd8d8d8, 0xff959596, 
+0xffa5a6ae, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffcecfda, 0xffd1d2da, 0xff456479, 0xff436277, 
+0xffb8b9bf, 0xff9c9da5, 0xff909198, 0xff85868d, 0xff7a7b81, 0xff6e6f75, 0xff5d5e63, 0xff4e4e53, 0xff444548, 0xff3e3e42, 
+0xff363639, 0xff2a2a2c, 0xff373738, 0xff6b6b6b, 0xff767676, 0xff666666, 0xff525252, 0xff414141, 0xff363636, 0xff313131, 
+0xff303030, 0xff2f2f2f, 0xff323232, 0xff333334, 0xff353536, 0xff393939, 0xff3f3f3f, 0xff464646, 0xff525252, 0xff636363, 
+0xff797979, 0xff949494, 0xffb0b0b0, 0xffc8c8c8, 0xffd8d8d8, 0xffdbdbdb, 0xffcecece, 0xff868688, 0xffacadb6, 0xffcdced9, 
+0xffcccdd8, 0xffcdced9, 0xffcdced9, 0xffcdced9, 0xffcdced9, 0xffd1d2da, 0xff436277, 0xff416076, 0xffafb0b6, 0xff909198, 
+0xff85858d, 0xff7a7b82, 0xff727278, 0xff68696e, 0xff5a5b60, 0xff505055, 0xff49494d, 0xff454549, 0xff3d3d40, 0xff303033, 
+0xff282829, 0xff505050, 0xff717171, 0xff686868, 0xff565656, 0xff434343, 0xff373737, 0xff2f2f2f, 0xff2c2c2c, 0xff2a2a2b, 
+0xff282829, 0xff272728, 0xff262627, 0xff282829, 0xff2d2d2d, 0xff303031, 0xff373737, 0xff454545, 0xff5b5b5b, 0xff797979, 
+0xff9a9a9a, 0xffb6b6b6, 0xffc9c9c9, 0xffcccccc, 0xffb7b7b7, 0xff737476, 0xffb3b4be, 0xffc4c5d0, 0xffc4c5d0, 0xffcacbd5, 
+0xffcccdd8, 0xffcccdd8, 0xffcccdd8, 0xffd1d1d9, 0xff416076, 0xff3f5e74, 0xffb9bac0, 0xffa0a2aa, 0xff989aa2, 0xff93959d, 
+0xff91929a, 0xff8e8f97, 0xff898a92, 0xff87888f, 0xff82838a, 0xff797a81, 0xff68696f, 0xff4e4f53, 0xff2a2b2d, 0xff222222, 
+0xff484848, 0xff535353, 0xff4c4c4c, 0xff3f3f3f, 0xff333333, 0xff282828, 0xff252526, 0xff29292b, 0xff303133, 0xff353639, 
+0xff353538, 0xff2e2f31, 0xff272729, 0xff252526, 0xff282828, 0xff343434, 0xff444444, 0xff5e5e5e, 0xff808080, 0xffa2a2a2, 
+0xffb5b5b5, 0xffb7b7b7, 0xff939393, 0xff717277, 0xffb7b9c3, 0xffb5b6c0, 0xffb9bbc5, 0xffc1c3cd, 0xffc7c9d4, 0xffcbcdd8, 
+0xffcbcdd8, 0xffd0d2da, 0xff3f5e74, 0xff3e5d72, 0xffc2c5cc, 0xffc0c2cc, 0xffbdbfca, 0xffbcbec8, 0xffbcbec8, 0xffbcbec8, 
+0xffbdbec9, 0xffbec0ca, 0xffb9bbc5, 0xffb1b2bc, 0xffa1a2ab, 0xff84868d, 0xff58595e, 0xff242527, 0xff19191a, 0xff262627, 
+0xff2f2f30, 0xff2c2c2d, 0xff262728, 0xff292a2c, 0xff38393c, 0xff4c4d51, 0xff5d5e63, 0xff66676d, 0xff64656a, 0xff56565b, 
+0xff3f3f43, 0xff242527, 0xff171818, 0xff1c1c1c, 0xff2c2c2c, 0xff434343, 0xff5e5e5e, 0xff7e7e7e, 0xff909090, 0xff868686, 
+0xff5d5d5f, 0xff8c8e95, 0xffb3b5bf, 0xffb2b4be, 0xffb4b6bf, 0xffb9bbc5, 0xffc0c2cc, 0xffc7c9d4, 0xffc8cad5, 0xffc8cbd3, 
+0xff3e5d72, 0x783c5b71, 0xff8998a3, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 0xffc9cbd7, 
+0xffc8cad6, 0xffc4c6d2, 0xffc0c1cd, 0xffb8bac5, 0xffa8aab4, 0xff8d8e97, 0xff75767d, 0xff696a70, 0xff68696f, 0xff696a70, 
+0xff6d6e74, 0xff75767d, 0xff7f8088, 0xff8c8e96, 0xff9a9ba4, 0xffa1a2ac, 0xff9e9fa9, 0xff8f9099, 0xff72737a, 0xff4f5054, 
+0xff2f2f32, 0xff141415, 0xff0f0f0f, 0xff202020, 0xff323232, 0xff404040, 0xff434343, 0xff3a3b3c, 0xff68696f, 0xffadaeb9, 
+0xffb5b7c2, 0xffb8bac5, 0xffbabcc7, 0xffbcbeca, 0xffc1c3cf, 0xffc5c7d3, 0xffc7c9d5, 0xff8b9aa5, 0x783c5b71, 0x213e5d6c, 
+0xf9426176, 0xffc5c8d1, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc9cbd6, 0xffc8cad5, 0xffc7c9d3, 
+0xffc4c6d1, 0xffc4c6d1, 0xffc7c9d3, 0xffc9cbd6, 0xffc9cbd6, 0xffc5c7d2, 0xffc1c3ce, 0xffbdbfc9, 0xffbbbdc7, 0xffbbbdc7, 
+0xffbdbfc9, 0xffc0c2cd, 0xffc3c5d0, 0xffc5c7d2, 0xffc3c5d0, 0xffbec0ca, 0xffb1b2bc, 0xff9e9fa8, 0xff85878e, 0xff6a6b70, 
+0xff505156, 0xff3c3d40, 0xff38383b, 0xff38393c, 0xff454549, 0xff75777d, 0xffb3b5bf, 0xffc1c3ce, 0xffc3c5d0, 0xffc5c7d2, 
+0xffc6c8d3, 0xffc7c9d3, 0xffc7c9d4, 0xffc8cad5, 0xffc2c6cd, 0xf93d5c72, 0x213e5d6c, 0x0, 0x663a586e, 0xfc3a596f, 
+0xffa4acb6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffc9cbd5, 0xffc8cad3, 
+0xffc8cad4, 0xffc8cad4, 0xffc8cad4, 0xffc9cbd5, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 
+0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffc4c6d0, 0xffbdbfc9, 0xffb1b3bc, 
+0xffa8aab2, 0xffaaacb4, 0xffbbbdc6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 0xffcaccd6, 
+0xffcaccd6, 0xff97a0aa, 0xfc3a596f, 0x663a586e, 0x0, 0x0, 0x0, 0x3337556e, 0x9636576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 
+0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0xff37576d, 0x9636576d, 
+0x3337556e, 0x0, 0x0, }; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XAnyEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XAnyEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 20; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XAnyEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XAnyEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+
+
+	String getName() {
+		return "XAnyEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XArc.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,75 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XArc extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XArc(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XArc() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_x() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_x(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public short get_y() { log.finest("");return (Native.getShort(pData+2)); }
+	public void set_y(short v) { log.finest(""); Native.putShort(pData+2, v); }
+	public short get_width() { log.finest("");return (Native.getShort(pData+4)); }
+	public void set_width(short v) { log.finest(""); Native.putShort(pData+4, v); }
+	public short get_height() { log.finest("");return (Native.getShort(pData+6)); }
+	public void set_height(short v) { log.finest(""); Native.putShort(pData+6, v); }
+	public short get_angle1() { log.finest("");return (Native.getShort(pData+8)); }
+	public void set_angle1(short v) { log.finest(""); Native.putShort(pData+8, v); }
+	public short get_angle2() { log.finest("");return (Native.getShort(pData+10)); }
+	public void set_angle2(short v) { log.finest(""); Native.putShort(pData+10, v); }
+
+
+	String getName() {
+		return "XArc"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"angle1 = " + get_angle1() +", ";
+		ret += ""+"angle2 = " + get_angle2() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XButtonEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,102 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XButtonEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 60; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XButtonEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XButtonEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_root() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_root(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_subwindow() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_subwindow(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+28)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+28, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_x_root() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_x_root(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_y_root() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_y_root(int v) { log.finest(""); Native.putInt(pData+44, v); }
+	public int get_state() { log.finest("");return (Native.getInt(pData+48)); }
+	public void set_state(int v) { log.finest(""); Native.putInt(pData+48, v); }
+	public int get_button() { log.finest("");return (Native.getInt(pData+52)); }
+	public void set_button(int v) { log.finest(""); Native.putInt(pData+52, v); }
+	public boolean get_same_screen() { log.finest("");return (Native.getBool(pData+56)); }
+	public void set_same_screen(boolean v) { log.finest(""); Native.putBool(pData+56, v); }
+
+
+	String getName() {
+		return "XButtonEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"root = " + get_root() +", ";
+		ret += ""+"subwindow = " + get_subwindow() +", ";
+		ret += ""+"time = " + get_time() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"x_root = " + get_x_root() +", ";
+		ret += ""+"y_root = " + get_y_root() +", ";
+		ret += ""+"state = " + get_state() +", ";
+		ret += ""+"button = " + get_button() +", ";
+		ret += ""+"same_screen = " + get_same_screen() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XChar2b.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XChar2b extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 2; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XChar2b(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XChar2b() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public byte get_byte1() { log.finest("");return (Native.getByte(pData+0)); }
+	public void set_byte1(byte v) { log.finest(""); Native.putByte(pData+0, v); }
+	public byte get_byte2() { log.finest("");return (Native.getByte(pData+1)); }
+	public void set_byte2(byte v) { log.finest(""); Native.putByte(pData+1, v); }
+
+
+	String getName() {
+		return "XChar2b"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"byte1 = " + get_byte1() +", ";
+		ret += ""+"byte2 = " + get_byte2() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XCharStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,75 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XCharStruct extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XCharStruct(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XCharStruct() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_lbearing() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_lbearing(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public short get_rbearing() { log.finest("");return (Native.getShort(pData+2)); }
+	public void set_rbearing(short v) { log.finest(""); Native.putShort(pData+2, v); }
+	public short get_width() { log.finest("");return (Native.getShort(pData+4)); }
+	public void set_width(short v) { log.finest(""); Native.putShort(pData+4, v); }
+	public short get_ascent() { log.finest("");return (Native.getShort(pData+6)); }
+	public void set_ascent(short v) { log.finest(""); Native.putShort(pData+6, v); }
+	public short get_descent() { log.finest("");return (Native.getShort(pData+8)); }
+	public void set_descent(short v) { log.finest(""); Native.putShort(pData+8, v); }
+	public short get_attributes() { log.finest("");return (Native.getShort(pData+10)); }
+	public void set_attributes(short v) { log.finest(""); Native.putShort(pData+10, v); }
+
+
+	String getName() {
+		return "XCharStruct"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"lbearing = " + get_lbearing() +", ";
+		ret += ""+"rbearing = " + get_rbearing() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"ascent = " + get_ascent() +", ";
+		ret += ""+"descent = " + get_descent() +", ";
+		ret += ""+"attributes = " + get_attributes() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XCirculateEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XCirculateEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XCirculateEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XCirculateEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_event() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_event(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_place() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_place(int v) { log.finest(""); Native.putInt(pData+24, v); }
+
+
+	String getName() {
+		return "XCirculateEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"event = " + get_event() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"place = " + get_place() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XCirculateRequestEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XCirculateRequestEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XCirculateRequestEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XCirculateRequestEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_parent() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_parent(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_place() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_place(int v) { log.finest(""); Native.putInt(pData+24, v); }
+
+
+	String getName() {
+		return "XCirculateRequestEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"parent = " + get_parent() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"place = " + get_place() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XClassHint.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,65 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XClassHint extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XClassHint(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XClassHint() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_res_name(int index) { log.finest(""); return Native.getLong(pData+0)+index*Native.getLongSize(); }
+	public long get_res_name() { log.finest("");return Native.getLong(pData+0); }
+	public void set_res_name(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public long get_res_class(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_res_class() { log.finest("");return Native.getLong(pData+4); }
+	public void set_res_class(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XClassHint"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"res_name = " + get_res_name() +", ";
+		ret += ""+"res_class = " + get_res_class() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XClientMessageEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,82 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XClientMessageEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 48; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XClientMessageEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XClientMessageEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_message_type() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_message_type(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_format() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_format(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public long get_data(int index) { log.finest("");return Native.getLong(pData + 28+index*Native.getLongSize()); }
+	public void set_data(int index, long v) { log.finest(""); Native.putLong(pData+28 + index*Native.getLongSize(), v); }
+	public long get_data() { log.finest("");return pData+28; }
+
+
+	String getName() {
+		return "XClientMessageEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"message_type = " + XAtom.get(get_message_type()) +", ";
+		ret += ""+"format = " + get_format() +", ";
+		ret += "{" + get_data(0) + " " + get_data(1) + " " + get_data(2) + " " + get_data(3) + " " + get_data(4) + " " + "}";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XColor.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,75 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XColor extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XColor(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XColor() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_pixel() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_pixel(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public short get_red() { log.finest("");return (Native.getShort(pData+4)); }
+	public void set_red(short v) { log.finest(""); Native.putShort(pData+4, v); }
+	public short get_green() { log.finest("");return (Native.getShort(pData+6)); }
+	public void set_green(short v) { log.finest(""); Native.putShort(pData+6, v); }
+	public short get_blue() { log.finest("");return (Native.getShort(pData+8)); }
+	public void set_blue(short v) { log.finest(""); Native.putShort(pData+8, v); }
+	public byte get_flags() { log.finest("");return (Native.getByte(pData+10)); }
+	public void set_flags(byte v) { log.finest(""); Native.putByte(pData+10, v); }
+	public byte get_pad() { log.finest("");return (Native.getByte(pData+11)); }
+	public void set_pad(byte v) { log.finest(""); Native.putByte(pData+11, v); }
+
+
+	String getName() {
+		return "XColor"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"pixel = " + get_pixel() +", ";
+		ret += ""+"red = " + get_red() +", ";
+		ret += ""+"green = " + get_green() +", ";
+		ret += ""+"blue = " + get_blue() +", ";
+		ret += ""+"flags = " + get_flags() +", ";
+		ret += ""+"pad = " + get_pad() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XColormapEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,81 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XColormapEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 32; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XColormapEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XColormapEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_colormap() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_colormap(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public boolean get_new() { log.finest("");return (Native.getBool(pData+24)); }
+	public void set_new(boolean v) { log.finest(""); Native.putBool(pData+24, v); }
+	public int get_state() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_state(int v) { log.finest(""); Native.putInt(pData+28, v); }
+
+
+	String getName() {
+		return "XColormapEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"colormap = " + get_colormap() +", ";
+		ret += ""+"new = " + get_new() +", ";
+		ret += ""+"state = " + get_state() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XComposeStatus.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XComposeStatus extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XComposeStatus(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XComposeStatus() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_compose_ptr(int index) { log.finest(""); return Native.getLong(pData+0)+index*Native.getLongSize(); }
+	public long get_compose_ptr() { log.finest("");return Native.getLong(pData+0); }
+	public void set_compose_ptr(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public int get_chars_matched() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_chars_matched(int v) { log.finest(""); Native.putInt(pData+4, v); }
+
+
+	String getName() {
+		return "XComposeStatus"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"compose_ptr = " + get_compose_ptr() +", ";
+		ret += ""+"chars_matched = " + get_chars_matched() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XConfigureEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,96 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XConfigureEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 52; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XConfigureEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XConfigureEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_event() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_event(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_border_width() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_border_width(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public long get_above() { log.finest("");return (Native.getLong(pData+44)); }
+	public void set_above(long v) { log.finest(""); Native.putLong(pData+44, v); }
+	public boolean get_override_redirect() { log.finest("");return (Native.getBool(pData+48)); }
+	public void set_override_redirect(boolean v) { log.finest(""); Native.putBool(pData+48, v); }
+
+
+	String getName() {
+		return "XConfigureEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"event = " + get_event() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"border_width = " + get_border_width() +", ";
+		ret += ""+"above = " + get_above() +", ";
+		ret += ""+"override_redirect = " + get_override_redirect() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XConfigureRequestEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,99 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XConfigureRequestEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 56; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XConfigureRequestEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XConfigureRequestEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_parent() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_parent(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_border_width() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_border_width(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public long get_above() { log.finest("");return (Native.getLong(pData+44)); }
+	public void set_above(long v) { log.finest(""); Native.putLong(pData+44, v); }
+	public int get_detail() { log.finest("");return (Native.getInt(pData+48)); }
+	public void set_detail(int v) { log.finest(""); Native.putInt(pData+48, v); }
+	public long get_value_mask() { log.finest("");return (Native.getLong(pData+52)); }
+	public void set_value_mask(long v) { log.finest(""); Native.putLong(pData+52, v); }
+
+
+	String getName() {
+		return "XConfigureRequestEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"parent = " + get_parent() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"border_width = " + get_border_width() +", ";
+		ret += ""+"above = " + get_above() +", ";
+		ret += ""+"detail = " + get_detail() +", ";
+		ret += ""+"value_mask = " + get_value_mask() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XCreateWindowEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,93 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XCreateWindowEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 48; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XCreateWindowEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XCreateWindowEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_parent() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_parent(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_border_width() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_border_width(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public boolean get_override_redirect() { log.finest("");return (Native.getBool(pData+44)); }
+	public void set_override_redirect(boolean v) { log.finest(""); Native.putBool(pData+44, v); }
+
+
+	String getName() {
+		return "XCreateWindowEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"parent = " + get_parent() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"border_width = " + get_border_width() +", ";
+		ret += ""+"override_redirect = " + get_override_redirect() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XCrossingEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XCrossingEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 68; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XCrossingEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XCrossingEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_root() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_root(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_subwindow() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_subwindow(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+28)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+28, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_x_root() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_x_root(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_y_root() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_y_root(int v) { log.finest(""); Native.putInt(pData+44, v); }
+	public int get_mode() { log.finest("");return (Native.getInt(pData+48)); }
+	public void set_mode(int v) { log.finest(""); Native.putInt(pData+48, v); }
+	public int get_detail() { log.finest("");return (Native.getInt(pData+52)); }
+	public void set_detail(int v) { log.finest(""); Native.putInt(pData+52, v); }
+	public boolean get_same_screen() { log.finest("");return (Native.getBool(pData+56)); }
+	public void set_same_screen(boolean v) { log.finest(""); Native.putBool(pData+56, v); }
+	public boolean get_focus() { log.finest("");return (Native.getBool(pData+60)); }
+	public void set_focus(boolean v) { log.finest(""); Native.putBool(pData+60, v); }
+	public int get_state() { log.finest("");return (Native.getInt(pData+64)); }
+	public void set_state(int v) { log.finest(""); Native.putInt(pData+64, v); }
+
+
+	String getName() {
+		return "XCrossingEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"root = " + get_root() +", ";
+		ret += ""+"subwindow = " + get_subwindow() +", ";
+		ret += ""+"time = " + get_time() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"x_root = " + get_x_root() +", ";
+		ret += ""+"y_root = " + get_y_root() +", ";
+		ret += ""+"mode = " + get_mode() +", ";
+		ret += ""+"detail = " + get_detail() +", ";
+		ret += ""+"same_screen = " + get_same_screen() +", ";
+		ret += ""+"focus = " + get_focus() +", ";
+		ret += ""+"state = " + get_state() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XDestroyWindowEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,75 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XDestroyWindowEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 24; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XDestroyWindowEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XDestroyWindowEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_event() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_event(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+
+
+	String getName() {
+		return "XDestroyWindowEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"event = " + get_event() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XErrorEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XErrorEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 20; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XErrorEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XErrorEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public long get_resourceid() { log.finest("");return (Native.getLong(pData+8)); }
+	public void set_resourceid(long v) { log.finest(""); Native.putLong(pData+8, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public byte get_error_code() { log.finest("");return (Native.getByte(pData+16)); }
+	public void set_error_code(byte v) { log.finest(""); Native.putByte(pData+16, v); }
+	public byte get_request_code() { log.finest("");return (Native.getByte(pData+17)); }
+	public void set_request_code(byte v) { log.finest(""); Native.putByte(pData+17, v); }
+	public byte get_minor_code() { log.finest("");return (Native.getByte(pData+18)); }
+	public void set_minor_code(byte v) { log.finest(""); Native.putByte(pData+18, v); }
+
+
+	String getName() {
+		return "XErrorEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"resourceid = " + get_resourceid() +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"error_code = " + get_error_code() +", ";
+		ret += ""+"request_code = " + get_request_code() +", ";
+		ret += ""+"minor_code = " + get_minor_code() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,126 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 96; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public XAnyEvent get_xany() { log.finest("");return new XAnyEvent(pData + 0); }
+	public XKeyEvent get_xkey() { log.finest("");return new XKeyEvent(pData + 0); }
+	public XButtonEvent get_xbutton() { log.finest("");return new XButtonEvent(pData + 0); }
+	public XMotionEvent get_xmotion() { log.finest("");return new XMotionEvent(pData + 0); }
+	public XCrossingEvent get_xcrossing() { log.finest("");return new XCrossingEvent(pData + 0); }
+	public XFocusChangeEvent get_xfocus() { log.finest("");return new XFocusChangeEvent(pData + 0); }
+	public XExposeEvent get_xexpose() { log.finest("");return new XExposeEvent(pData + 0); }
+	public XGraphicsExposeEvent get_xgraphicsexpose() { log.finest("");return new XGraphicsExposeEvent(pData + 0); }
+	public XNoExposeEvent get_xnoexpose() { log.finest("");return new XNoExposeEvent(pData + 0); }
+	public XVisibilityEvent get_xvisibility() { log.finest("");return new XVisibilityEvent(pData + 0); }
+	public XCreateWindowEvent get_xcreatewindow() { log.finest("");return new XCreateWindowEvent(pData + 0); }
+	public XDestroyWindowEvent get_xdestroywindow() { log.finest("");return new XDestroyWindowEvent(pData + 0); }
+	public XUnmapEvent get_xunmap() { log.finest("");return new XUnmapEvent(pData + 0); }
+	public XMapEvent get_xmap() { log.finest("");return new XMapEvent(pData + 0); }
+	public XMapRequestEvent get_xmaprequest() { log.finest("");return new XMapRequestEvent(pData + 0); }
+	public XReparentEvent get_xreparent() { log.finest("");return new XReparentEvent(pData + 0); }
+	public XConfigureEvent get_xconfigure() { log.finest("");return new XConfigureEvent(pData + 0); }
+	public XGravityEvent get_xgravity() { log.finest("");return new XGravityEvent(pData + 0); }
+	public XResizeRequestEvent get_xresizerequest() { log.finest("");return new XResizeRequestEvent(pData + 0); }
+	public XConfigureRequestEvent get_xconfigurerequest() { log.finest("");return new XConfigureRequestEvent(pData + 0); }
+	public XCirculateEvent get_xcirculate() { log.finest("");return new XCirculateEvent(pData + 0); }
+	public XCirculateRequestEvent get_xcirculaterequest() { log.finest("");return new XCirculateRequestEvent(pData + 0); }
+	public XPropertyEvent get_xproperty() { log.finest("");return new XPropertyEvent(pData + 0); }
+	public XSelectionClearEvent get_xselectionclear() { log.finest("");return new XSelectionClearEvent(pData + 0); }
+	public XSelectionRequestEvent get_xselectionrequest() { log.finest("");return new XSelectionRequestEvent(pData + 0); }
+	public XSelectionEvent get_xselection() { log.finest("");return new XSelectionEvent(pData + 0); }
+	public XColormapEvent get_xcolormap() { log.finest("");return new XColormapEvent(pData + 0); }
+	public XClientMessageEvent get_xclient() { log.finest("");return new XClientMessageEvent(pData + 0); }
+	public XMappingEvent get_xmapping() { log.finest("");return new XMappingEvent(pData + 0); }
+	public XErrorEvent get_xerror() { log.finest("");return new XErrorEvent(pData + 0); }
+	public XKeymapEvent get_xkeymap() { log.finest("");return new XKeymapEvent(pData + 0); }
+	public long get_pad(int index) { log.finest("");return Native.getLong(pData + 0+index*Native.getLongSize()); }
+	public void set_pad(int index, long v) { log.finest(""); Native.putLong(pData+0 + index*Native.getLongSize(), v); }
+	public long get_pad() { log.finest("");return pData+0; }
+
+
+	String getName() {
+		return "XEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"xany = " + get_xany() +", ";
+		ret += ""+"xkey = " + get_xkey() +", ";
+		ret += ""+"xbutton = " + get_xbutton() +", ";
+		ret += ""+"xmotion = " + get_xmotion() +", ";
+		ret += ""+"xcrossing = " + get_xcrossing() +", ";
+		ret += ""+"xfocus = " + get_xfocus() +", ";
+		ret += ""+"xexpose = " + get_xexpose() +", ";
+		ret += ""+"xgraphicsexpose = " + get_xgraphicsexpose() +", ";
+		ret += ""+"xnoexpose = " + get_xnoexpose() +", ";
+		ret += ""+"xvisibility = " + get_xvisibility() +", ";
+		ret += ""+"xcreatewindow = " + get_xcreatewindow() +", ";
+		ret += ""+"xdestroywindow = " + get_xdestroywindow() +", ";
+		ret += ""+"xunmap = " + get_xunmap() +", ";
+		ret += ""+"xmap = " + get_xmap() +", ";
+		ret += ""+"xmaprequest = " + get_xmaprequest() +", ";
+		ret += ""+"xreparent = " + get_xreparent() +", ";
+		ret += ""+"xconfigure = " + get_xconfigure() +", ";
+		ret += ""+"xgravity = " + get_xgravity() +", ";
+		ret += ""+"xresizerequest = " + get_xresizerequest() +", ";
+		ret += ""+"xconfigurerequest = " + get_xconfigurerequest() +", ";
+		ret += ""+"xcirculate = " + get_xcirculate() +", ";
+		ret += ""+"xcirculaterequest = " + get_xcirculaterequest() +", ";
+		ret += ""+"xproperty = " + get_xproperty() +", ";
+		ret += ""+"xselectionclear = " + get_xselectionclear() +", ";
+		ret += ""+"xselectionrequest = " + get_xselectionrequest() +", ";
+		ret += ""+"xselection = " + get_xselection() +", ";
+		ret += ""+"xcolormap = " + get_xcolormap() +", ";
+		ret += ""+"xclient = " + get_xclient() +", ";
+		ret += ""+"xmapping = " + get_xmapping() +", ";
+		ret += ""+"xerror = " + get_xerror() +", ";
+		ret += ""+"xkeymap = " + get_xkeymap() +", ";
+		ret += "{" + get_pad(0) + " " + get_pad(1) + " " + get_pad(2) + " " + get_pad(3) + " " + get_pad(4) + " " + get_pad(5) + " " + get_pad(6) + " " + get_pad(7) + " " + get_pad(8) + " " + get_pad(9) + " " + get_pad(10) + " " + get_pad(11) + " " + get_pad(12) + " " + get_pad(13) + " " + get_pad(14) + " " + get_pad(15) + " " + get_pad(16) + " " + get_pad(17) + " " + get_pad(18) + " " + get_pad(19) + " " + get_pad(20) + " " + get_pad(21) + " " + get_pad(22) + " " + get_pad(23) + " " + "}";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XExposeEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,87 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XExposeEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 40; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XExposeEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XExposeEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_count() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_count(int v) { log.finest(""); Native.putInt(pData+36, v); }
+
+
+	String getName() {
+		return "XExposeEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"count = " + get_count() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XExtCodes.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,69 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XExtCodes extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XExtCodes(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XExtCodes() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_extension() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_extension(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_major_opcode() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_major_opcode(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_first_event() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_first_event(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_first_error() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_first_error(int v) { log.finest(""); Native.putInt(pData+12, v); }
+
+
+	String getName() {
+		return "XExtCodes"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"extension = " + get_extension() +", ";
+		ret += ""+"major_opcode = " + get_major_opcode() +", ";
+		ret += ""+"first_event = " + get_first_event() +", ";
+		ret += ""+"first_error = " + get_first_error() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XExtData.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XExtData extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XExtData(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XExtData() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_number() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_number(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public XExtData get_next(int index) { log.finest(""); return (Native.getLong(pData+4) != 0)?(new XExtData(Native.getLong(pData+4)+index*16)):(null); }
+	public long get_next() { log.finest("");return Native.getLong(pData+4); }
+	public void set_next(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+	public long get_free_private(int index) { log.finest(""); return Native.getLong(pData+8)+index*Native.getLongSize(); }
+	public long get_free_private() { log.finest("");return Native.getLong(pData+8); }
+	public void set_free_private(long v) { log.finest(""); Native.putLong(pData + 8, v); }
+	public long get_private_data(int index) { log.finest(""); return Native.getLong(pData+12)+index*Native.getLongSize(); }
+	public long get_private_data() { log.finest("");return Native.getLong(pData+12); }
+	public void set_private_data(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+
+
+	String getName() {
+		return "XExtData"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"number = " + get_number() +", ";
+		ret += ""+"next = " + get_next() +", ";
+		ret += ""+"free_private = " + get_free_private() +", ";
+		ret += ""+"private_data = " + get_private_data() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XFocusChangeEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XFocusChangeEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XFocusChangeEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XFocusChangeEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_mode() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_mode(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_detail() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_detail(int v) { log.finest(""); Native.putInt(pData+24, v); }
+
+
+	String getName() {
+		return "XFocusChangeEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"mode = " + get_mode() +", ";
+		ret += ""+"detail = " + get_detail() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XFontProp.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XFontProp extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XFontProp(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XFontProp() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_name() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_name(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public long get_card32() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_card32(long v) { log.finest(""); Native.putLong(pData+4, v); }
+
+
+	String getName() {
+		return "XFontProp"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"name = " + get_name() +", ";
+		ret += ""+"card32 = " + get_card32() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XFontSetExtents.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,61 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XFontSetExtents extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XFontSetExtents(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XFontSetExtents() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public XRectangle get_max_ink_extent() { log.finest("");return new XRectangle(pData + 0); }
+	public XRectangle get_max_logical_extent() { log.finest("");return new XRectangle(pData + 8); }
+
+
+	String getName() {
+		return "XFontSetExtents"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"max_ink_extent = " + get_max_ink_extent() +", ";
+		ret += ""+"max_logical_extent = " + get_max_logical_extent() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XFontStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,103 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XFontStruct extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 80; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XFontStruct(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XFontStruct() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public XExtData get_ext_data(int index) { log.finest(""); return (Native.getLong(pData+0) != 0)?(new XExtData(Native.getLong(pData+0)+index*16)):(null); }
+	public long get_ext_data() { log.finest("");return Native.getLong(pData+0); }
+	public void set_ext_data(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public long get_fid() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_fid(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public int get_direction() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_direction(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_min_char_or_byte2() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_min_char_or_byte2(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_max_char_or_byte2() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_max_char_or_byte2(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_min_byte1() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_min_byte1(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_max_byte1() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_max_byte1(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public boolean get_all_chars_exist() { log.finest("");return (Native.getBool(pData+28)); }
+	public void set_all_chars_exist(boolean v) { log.finest(""); Native.putBool(pData+28, v); }
+	public int get_n_properties() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_n_properties(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public XFontProp get_properties(int index) { log.finest(""); return (Native.getLong(pData+40) != 0)?(new XFontProp(Native.getLong(pData+40)+index*8)):(null); }
+	public long get_properties() { log.finest("");return Native.getLong(pData+40); }
+	public void set_properties(long v) { log.finest(""); Native.putLong(pData + 40, v); }
+	public XCharStruct get_min_bounds() { log.finest("");return new XCharStruct(pData + 44); }
+	public XCharStruct get_max_bounds() { log.finest("");return new XCharStruct(pData + 56); }
+	public XCharStruct get_per_char(int index) { log.finest(""); return (Native.getLong(pData+68) != 0)?(new XCharStruct(Native.getLong(pData+68)+index*12)):(null); }
+	public long get_per_char() { log.finest("");return Native.getLong(pData+68); }
+	public void set_per_char(long v) { log.finest(""); Native.putLong(pData + 68, v); }
+	public int get_ascent() { log.finest("");return (Native.getInt(pData+72)); }
+	public void set_ascent(int v) { log.finest(""); Native.putInt(pData+72, v); }
+	public int get_descent() { log.finest("");return (Native.getInt(pData+76)); }
+	public void set_descent(int v) { log.finest(""); Native.putInt(pData+76, v); }
+
+
+	String getName() {
+		return "XFontStruct"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"ext_data = " + get_ext_data() +", ";
+		ret += ""+"fid = " + get_fid() +", ";
+		ret += ""+"direction = " + get_direction() +", ";
+		ret += ""+"min_char_or_byte2 = " + get_min_char_or_byte2() +", ";
+		ret += ""+"max_char_or_byte2 = " + get_max_char_or_byte2() +", ";
+		ret += ""+"min_byte1 = " + get_min_byte1() +", ";
+		ret += ""+"max_byte1 = " + get_max_byte1() +", ";
+		ret += ""+"all_chars_exist = " + get_all_chars_exist() +", ";
+		ret += ""+"n_properties = " + get_n_properties() +", ";
+		ret += ""+"properties = " + get_properties() +", ";
+		ret += ""+"min_bounds = " + get_min_bounds() +", ";
+		ret += ""+"max_bounds = " + get_max_bounds() +", ";
+		ret += ""+"per_char = " + get_per_char() +", ";
+		ret += ""+"ascent = " + get_ascent() +", ";
+		ret += ""+"descent = " + get_descent() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XGCValues.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,126 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XGCValues extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 92; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XGCValues(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XGCValues() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_function() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_function(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_plane_mask() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_plane_mask(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public long get_foreground() { log.finest("");return (Native.getLong(pData+8)); }
+	public void set_foreground(long v) { log.finest(""); Native.putLong(pData+8, v); }
+	public long get_background() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_background(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public int get_line_width() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_line_width(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_line_style() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_line_style(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_cap_style() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_cap_style(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_join_style() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_join_style(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_fill_style() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_fill_style(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_fill_rule() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_fill_rule(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_arc_mode() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_arc_mode(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public long get_tile() { log.finest("");return (Native.getLong(pData+44)); }
+	public void set_tile(long v) { log.finest(""); Native.putLong(pData+44, v); }
+	public long get_stipple() { log.finest("");return (Native.getLong(pData+48)); }
+	public void set_stipple(long v) { log.finest(""); Native.putLong(pData+48, v); }
+	public int get_ts_x_origin() { log.finest("");return (Native.getInt(pData+52)); }
+	public void set_ts_x_origin(int v) { log.finest(""); Native.putInt(pData+52, v); }
+	public int get_ts_y_origin() { log.finest("");return (Native.getInt(pData+56)); }
+	public void set_ts_y_origin(int v) { log.finest(""); Native.putInt(pData+56, v); }
+	public long get_font() { log.finest("");return (Native.getLong(pData+60)); }
+	public void set_font(long v) { log.finest(""); Native.putLong(pData+60, v); }
+	public int get_subwindow_mode() { log.finest("");return (Native.getInt(pData+64)); }
+	public void set_subwindow_mode(int v) { log.finest(""); Native.putInt(pData+64, v); }
+	public boolean get_graphics_exposures() { log.finest("");return (Native.getBool(pData+68)); }
+	public void set_graphics_exposures(boolean v) { log.finest(""); Native.putBool(pData+68, v); }
+	public int get_clip_x_origin() { log.finest("");return (Native.getInt(pData+72)); }
+	public void set_clip_x_origin(int v) { log.finest(""); Native.putInt(pData+72, v); }
+	public int get_clip_y_origin() { log.finest("");return (Native.getInt(pData+76)); }
+	public void set_clip_y_origin(int v) { log.finest(""); Native.putInt(pData+76, v); }
+	public long get_clip_mask() { log.finest("");return (Native.getLong(pData+80)); }
+	public void set_clip_mask(long v) { log.finest(""); Native.putLong(pData+80, v); }
+	public int get_dash_offset() { log.finest("");return (Native.getInt(pData+84)); }
+	public void set_dash_offset(int v) { log.finest(""); Native.putInt(pData+84, v); }
+	public byte get_dashes() { log.finest("");return (Native.getByte(pData+88)); }
+	public void set_dashes(byte v) { log.finest(""); Native.putByte(pData+88, v); }
+
+
+	String getName() {
+		return "XGCValues"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"function = " + get_function() +", ";
+		ret += ""+"plane_mask = " + get_plane_mask() +", ";
+		ret += ""+"foreground = " + get_foreground() +", ";
+		ret += ""+"background = " + get_background() +", ";
+		ret += ""+"line_width = " + get_line_width() +", ";
+		ret += ""+"line_style = " + get_line_style() +", ";
+		ret += ""+"cap_style = " + get_cap_style() +", ";
+		ret += ""+"join_style = " + get_join_style() +", ";
+		ret += ""+"fill_style = " + get_fill_style() +", ";
+		ret += ""+"fill_rule = " + get_fill_rule() +", ";
+		ret += ""+"arc_mode = " + get_arc_mode() +", ";
+		ret += ""+"tile = " + get_tile() +", ";
+		ret += ""+"stipple = " + get_stipple() +", ";
+		ret += ""+"ts_x_origin = " + get_ts_x_origin() +", ";
+		ret += ""+"ts_y_origin = " + get_ts_y_origin() +", ";
+		ret += ""+"font = " + get_font() +", ";
+		ret += ""+"subwindow_mode = " + get_subwindow_mode() +", ";
+		ret += ""+"graphics_exposures = " + get_graphics_exposures() +", ";
+		ret += ""+"clip_x_origin = " + get_clip_x_origin() +", ";
+		ret += ""+"clip_y_origin = " + get_clip_y_origin() +", ";
+		ret += ""+"clip_mask = " + get_clip_mask() +", ";
+		ret += ""+"dash_offset = " + get_dash_offset() +", ";
+		ret += ""+"dashes = " + get_dashes() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XGraphicsExposeEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,93 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XGraphicsExposeEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 48; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XGraphicsExposeEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XGraphicsExposeEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_drawable() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_drawable(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_count() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_count(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_major_code() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_major_code(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_minor_code() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_minor_code(int v) { log.finest(""); Native.putInt(pData+44, v); }
+
+
+	String getName() {
+		return "XGraphicsExposeEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"drawable = " + get_drawable() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"count = " + get_count() +", ";
+		ret += ""+"major_code = " + get_major_code() +", ";
+		ret += ""+"minor_code = " + get_minor_code() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XGravityEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,81 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XGravityEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 32; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XGravityEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XGravityEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_event() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_event(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+28, v); }
+
+
+	String getName() {
+		return "XGravityEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"event = " + get_event() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XHostAddress.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,67 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XHostAddress extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XHostAddress(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XHostAddress() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_family() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_family(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_length() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_length(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public long get_address(int index) { log.finest(""); return Native.getLong(pData+8)+index*Native.getLongSize(); }
+	public long get_address() { log.finest("");return Native.getLong(pData+8); }
+	public void set_address(long v) { log.finest(""); Native.putLong(pData + 8, v); }
+
+
+	String getName() {
+		return "XHostAddress"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"family = " + get_family() +", ";
+		ret += ""+"length = " + get_length() +", ";
+		ret += ""+"address = " + get_address() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMCallback.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,65 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMCallback extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMCallback(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMCallback() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_client_data(int index) { log.finest(""); return Native.getLong(pData+0)+index*Native.getLongSize(); }
+	public long get_client_data() { log.finest("");return Native.getLong(pData+0); }
+	public void set_client_data(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public long get_callback(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_callback() { log.finest("");return Native.getLong(pData+4); }
+	public void set_callback(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XIMCallback"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"client_data = " + get_client_data() +", ";
+		ret += ""+"callback = " + get_callback() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMHotKeyTrigger.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMHotKeyTrigger extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMHotKeyTrigger(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMHotKeyTrigger() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_keysym() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_keysym(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public int get_modifier() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_modifier(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_modifier_mask() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_modifier_mask(int v) { log.finest(""); Native.putInt(pData+8, v); }
+
+
+	String getName() {
+		return "XIMHotKeyTrigger"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"keysym = " + get_keysym() +", ";
+		ret += ""+"modifier = " + get_modifier() +", ";
+		ret += ""+"modifier_mask = " + get_modifier_mask() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMHotKeyTriggers.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMHotKeyTriggers extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMHotKeyTriggers(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMHotKeyTriggers() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_num_hot_key() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_num_hot_key(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public XIMHotKeyTrigger get_key(int index) { log.finest(""); return (Native.getLong(pData+4) != 0)?(new XIMHotKeyTrigger(Native.getLong(pData+4)+index*12)):(null); }
+	public long get_key() { log.finest("");return Native.getLong(pData+4); }
+	public void set_key(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XIMHotKeyTriggers"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"num_hot_key = " + get_num_hot_key() +", ";
+		ret += ""+"key = " + get_key() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMPreeditCaretCallbackStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMPreeditCaretCallbackStruct extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMPreeditCaretCallbackStruct(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMPreeditCaretCallbackStruct() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_position() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_position(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_direction() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_direction(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_style() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_style(int v) { log.finest(""); Native.putInt(pData+8, v); }
+
+
+	String getName() {
+		return "XIMPreeditCaretCallbackStruct"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"position = " + get_position() +", ";
+		ret += ""+"direction = " + get_direction() +", ";
+		ret += ""+"style = " + get_style() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMPreeditDrawCallbackStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMPreeditDrawCallbackStruct extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMPreeditDrawCallbackStruct(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMPreeditDrawCallbackStruct() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_caret() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_caret(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_chg_first() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_chg_first(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_chg_length() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_chg_length(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public XIMText get_text(int index) { log.finest(""); return (Native.getLong(pData+12) != 0)?(new XIMText(Native.getLong(pData+12)+index*16)):(null); }
+	public long get_text() { log.finest("");return Native.getLong(pData+12); }
+	public void set_text(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+
+
+	String getName() {
+		return "XIMPreeditDrawCallbackStruct"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"caret = " + get_caret() +", ";
+		ret += ""+"chg_first = " + get_chg_first() +", ";
+		ret += ""+"chg_length = " + get_chg_length() +", ";
+		ret += ""+"text = " + get_text() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMPreeditStateNotifyCallbackStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMPreeditStateNotifyCallbackStruct extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 4; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMPreeditStateNotifyCallbackStruct(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMPreeditStateNotifyCallbackStruct() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_state() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_state(long v) { log.finest(""); Native.putLong(pData+0, v); }
+
+
+	String getName() {
+		return "XIMPreeditStateNotifyCallbackStruct"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"state = " + get_state() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMStatusDrawCallbackStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMStatusDrawCallbackStruct extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMStatusDrawCallbackStruct(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMStatusDrawCallbackStruct() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_data() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_data(long v) { log.finest(""); Native.putLong(pData+4, v); }
+
+
+	String getName() {
+		return "XIMStatusDrawCallbackStruct"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"data = " + get_data() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMStringConversionCallbackStruct.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,73 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMStringConversionCallbackStruct extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMStringConversionCallbackStruct(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMStringConversionCallbackStruct() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_position() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_position(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public int get_direction() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_direction(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public short get_operation() { log.finest("");return (Native.getShort(pData+8)); }
+	public void set_operation(short v) { log.finest(""); Native.putShort(pData+8, v); }
+	public short get_factor() { log.finest("");return (Native.getShort(pData+10)); }
+	public void set_factor(short v) { log.finest(""); Native.putShort(pData+10, v); }
+	public XIMStringConversionText get_text(int index) { log.finest(""); return (Native.getLong(pData+12) != 0)?(new XIMStringConversionText(Native.getLong(pData+12)+index*16)):(null); }
+	public long get_text() { log.finest("");return Native.getLong(pData+12); }
+	public void set_text(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+
+
+	String getName() {
+		return "XIMStringConversionCallbackStruct"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"position = " + get_position() +", ";
+		ret += ""+"direction = " + get_direction() +", ";
+		ret += ""+"operation = " + get_operation() +", ";
+		ret += ""+"factor = " + get_factor() +", ";
+		ret += ""+"text = " + get_text() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMStringConversionText.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMStringConversionText extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMStringConversionText(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMStringConversionText() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_length() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_length(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public long get_feedback(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_feedback() { log.finest("");return Native.getLong(pData+4); }
+	public void set_feedback(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+	public boolean get_encoding_is_wchar() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_encoding_is_wchar(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_string(int index) { log.finest(""); return Native.getLong(pData+12)+index*Native.getLongSize(); }
+	public long get_string() { log.finest("");return Native.getLong(pData+12); }
+	public void set_string(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+
+
+	String getName() {
+		return "XIMStringConversionText"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"length = " + get_length() +", ";
+		ret += ""+"feedback = " + get_feedback() +", ";
+		ret += ""+"encoding_is_wchar = " + get_encoding_is_wchar() +", ";
+		ret += ""+"string = " + get_string() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMStyles.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMStyles extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMStyles(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMStyles() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_count_styles() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_count_styles(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public long get_supported_styles(int index) { log.finest(""); return Native.getLong(Native.getLong(pData+4)+index*Native.getLongSize()); }
+	public long get_supported_styles() { log.finest("");return Native.getLong(pData+4); }
+	public void set_supported_styles(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XIMStyles"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"count_styles = " + get_count_styles() +", ";
+		ret += ""+"supported_styles = " + get_supported_styles() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMText.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMText extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMText(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMText() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_length() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_length(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public long get_feedback(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_feedback() { log.finest("");return Native.getLong(pData+4); }
+	public void set_feedback(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+	public boolean get_encoding_is_wchar() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_encoding_is_wchar(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_string(int index) { log.finest(""); return Native.getLong(pData+12)+index*Native.getLongSize(); }
+	public long get_string() { log.finest("");return Native.getLong(pData+12); }
+	public void set_string(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+
+
+	String getName() {
+		return "XIMText"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"length = " + get_length() +", ";
+		ret += ""+"feedback = " + get_feedback() +", ";
+		ret += ""+"encoding_is_wchar = " + get_encoding_is_wchar() +", ";
+		ret += ""+"string = " + get_string() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIMValuesList.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIMValuesList extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIMValuesList(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIMValuesList() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_count_values() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_count_values(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public long get_supported_values(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_supported_values() { log.finest("");return Native.getLong(pData+4); }
+	public void set_supported_values(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XIMValuesList"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"count_values = " + get_count_values() +", ";
+		ret += ""+"supported_values = " + get_supported_values() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XIconSize.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,75 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XIconSize extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 24; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XIconSize(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XIconSize() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_min_width() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_min_width(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_min_height() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_min_height(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_max_width() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_max_width(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_max_height() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_max_height(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_width_inc() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_width_inc(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_height_inc() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_height_inc(int v) { log.finest(""); Native.putInt(pData+20, v); }
+
+
+	String getName() {
+		return "XIconSize"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"min_width = " + get_min_width() +", ";
+		ret += ""+"min_height = " + get_min_height() +", ";
+		ret += ""+"max_width = " + get_max_width() +", ";
+		ret += ""+"max_height = " + get_max_height() +", ";
+		ret += ""+"width_inc = " + get_width_inc() +", ";
+		ret += ""+"height_inc = " + get_height_inc() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XImage.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,131 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XImage extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 88; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XImage(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XImage() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_width() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_xoffset() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_xoffset(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_format() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_format(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public byte get_data(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+16)+index*1); }
+	public long get_data() { log.finest("");return Native.getLong(pData+16); }
+	public void set_data(long v) { log.finest(""); Native.putLong(pData + 16, v); }
+	public int get_byte_order() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_byte_order(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_bitmap_unit() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_bitmap_unit(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_bitmap_bit_order() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_bitmap_bit_order(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_bitmap_pad() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_bitmap_pad(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_depth() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_depth(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_bytes_per_line() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_bytes_per_line(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_bits_per_pixel() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_bits_per_pixel(int v) { log.finest(""); Native.putInt(pData+44, v); }
+	public long get_red_mask() { log.finest("");return (Native.getLong(pData+48)); }
+	public void set_red_mask(long v) { log.finest(""); Native.putLong(pData+48, v); }
+	public long get_green_mask() { log.finest("");return (Native.getLong(pData+52)); }
+	public void set_green_mask(long v) { log.finest(""); Native.putLong(pData+52, v); }
+	public long get_blue_mask() { log.finest("");return (Native.getLong(pData+56)); }
+	public void set_blue_mask(long v) { log.finest(""); Native.putLong(pData+56, v); }
+	public long get_obdata(int index) { log.finest(""); return Native.getLong(pData+60)+index*Native.getLongSize(); }
+	public long get_obdata() { log.finest("");return Native.getLong(pData+60); }
+	public void set_obdata(long v) { log.finest(""); Native.putLong(pData + 60, v); }
+	public long get_f_create_image(int index) { log.finest(""); return Native.getLong(pData+64)+index*Native.getLongSize(); }
+	public long get_f_create_image() { log.finest("");return Native.getLong(pData+64); }
+	public void set_f_create_image(long v) { log.finest(""); Native.putLong(pData + 64, v); }
+	public long get_f_destroy_image(int index) { log.finest(""); return Native.getLong(pData+68)+index*Native.getLongSize(); }
+	public long get_f_destroy_image() { log.finest("");return Native.getLong(pData+68); }
+	public void set_f_destroy_image(long v) { log.finest(""); Native.putLong(pData + 68, v); }
+	public long get_f_get_pixel(int index) { log.finest(""); return Native.getLong(pData+72)+index*Native.getLongSize(); }
+	public long get_f_get_pixel() { log.finest("");return Native.getLong(pData+72); }
+	public void set_f_get_pixel(long v) { log.finest(""); Native.putLong(pData + 72, v); }
+	public long get_f_put_pixel(int index) { log.finest(""); return Native.getLong(pData+76)+index*Native.getLongSize(); }
+	public long get_f_put_pixel() { log.finest("");return Native.getLong(pData+76); }
+	public void set_f_put_pixel(long v) { log.finest(""); Native.putLong(pData + 76, v); }
+	public long get_f_sub_image(int index) { log.finest(""); return Native.getLong(pData+80)+index*Native.getLongSize(); }
+	public long get_f_sub_image() { log.finest("");return Native.getLong(pData+80); }
+	public void set_f_sub_image(long v) { log.finest(""); Native.putLong(pData + 80, v); }
+	public long get_f_add_pixel(int index) { log.finest(""); return Native.getLong(pData+84)+index*Native.getLongSize(); }
+	public long get_f_add_pixel() { log.finest("");return Native.getLong(pData+84); }
+	public void set_f_add_pixel(long v) { log.finest(""); Native.putLong(pData + 84, v); }
+
+
+	String getName() {
+		return "XImage"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"xoffset = " + get_xoffset() +", ";
+		ret += ""+"format = " + get_format() +", ";
+		ret += ""+"data = " + get_data() +", ";
+		ret += ""+"byte_order = " + get_byte_order() +", ";
+		ret += ""+"bitmap_unit = " + get_bitmap_unit() +", ";
+		ret += ""+"bitmap_bit_order = " + get_bitmap_bit_order() +", ";
+		ret += ""+"bitmap_pad = " + get_bitmap_pad() +", ";
+		ret += ""+"depth = " + get_depth() +", ";
+		ret += ""+"bytes_per_line = " + get_bytes_per_line() +", ";
+		ret += ""+"bits_per_pixel = " + get_bits_per_pixel() +", ";
+		ret += ""+"red_mask = " + get_red_mask() +", ";
+		ret += ""+"green_mask = " + get_green_mask() +", ";
+		ret += ""+"blue_mask = " + get_blue_mask() +", ";
+		ret += ""+"obdata = " + get_obdata() +", ";
+		ret += ""+"f_create_image = " + get_f_create_image() +", ";
+		ret += ""+"f_destroy_image = " + get_f_destroy_image() +", ";
+		ret += ""+"f_get_pixel = " + get_f_get_pixel() +", ";
+		ret += ""+"f_put_pixel = " + get_f_put_pixel() +", ";
+		ret += ""+"f_sub_image = " + get_f_sub_image() +", ";
+		ret += ""+"f_add_pixel = " + get_f_add_pixel() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XKeyEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,102 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XKeyEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 60; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XKeyEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XKeyEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_root() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_root(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_subwindow() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_subwindow(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+28)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+28, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_x_root() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_x_root(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_y_root() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_y_root(int v) { log.finest(""); Native.putInt(pData+44, v); }
+	public int get_state() { log.finest("");return (Native.getInt(pData+48)); }
+	public void set_state(int v) { log.finest(""); Native.putInt(pData+48, v); }
+	public int get_keycode() { log.finest("");return (Native.getInt(pData+52)); }
+	public void set_keycode(int v) { log.finest(""); Native.putInt(pData+52, v); }
+	public boolean get_same_screen() { log.finest("");return (Native.getBool(pData+56)); }
+	public void set_same_screen(boolean v) { log.finest(""); Native.putBool(pData+56, v); }
+
+
+	String getName() {
+		return "XKeyEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"root = " + get_root() +", ";
+		ret += ""+"subwindow = " + get_subwindow() +", ";
+		ret += ""+"time = " + get_time() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"x_root = " + get_x_root() +", ";
+		ret += ""+"y_root = " + get_y_root() +", ";
+		ret += ""+"state = " + get_state() +", ";
+		ret += ""+"keycode = " + get_keycode() +", ";
+		ret += ""+"same_screen = " + get_same_screen() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XKeyboardControl.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,81 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XKeyboardControl extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 32; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XKeyboardControl(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XKeyboardControl() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_key_click_percent() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_key_click_percent(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_bell_percent() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_bell_percent(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_bell_pitch() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_bell_pitch(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_bell_duration() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_bell_duration(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_led() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_led(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_led_mode() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_led_mode(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_key() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_key(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_auto_repeat_mode() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_auto_repeat_mode(int v) { log.finest(""); Native.putInt(pData+28, v); }
+
+
+	String getName() {
+		return "XKeyboardControl"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"key_click_percent = " + get_key_click_percent() +", ";
+		ret += ""+"bell_percent = " + get_bell_percent() +", ";
+		ret += ""+"bell_pitch = " + get_bell_pitch() +", ";
+		ret += ""+"bell_duration = " + get_bell_duration() +", ";
+		ret += ""+"led = " + get_led() +", ";
+		ret += ""+"led_mode = " + get_led_mode() +", ";
+		ret += ""+"key = " + get_key() +", ";
+		ret += ""+"auto_repeat_mode = " + get_auto_repeat_mode() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XKeyboardState.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XKeyboardState extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 56; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XKeyboardState(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XKeyboardState() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_key_click_percent() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_key_click_percent(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_bell_percent() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_bell_percent(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_bell_pitch() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_bell_pitch(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_bell_duration() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_bell_duration(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public long get_led_mask() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_led_mask(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_global_auto_repeat() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_global_auto_repeat(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public byte get_auto_repeats(int index) { log.finest("");return Native.getByte(pData + 24+index*1); }
+	public void set_auto_repeats(int index, byte v) { log.finest(""); Native.putByte(pData+24 + index*1, v); }
+	public long get_auto_repeats() { log.finest("");return pData+24; }
+
+
+	String getName() {
+		return "XKeyboardState"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"key_click_percent = " + get_key_click_percent() +", ";
+		ret += ""+"bell_percent = " + get_bell_percent() +", ";
+		ret += ""+"bell_pitch = " + get_bell_pitch() +", ";
+		ret += ""+"bell_duration = " + get_bell_duration() +", ";
+		ret += ""+"led_mask = " + get_led_mask() +", ";
+		ret += ""+"global_auto_repeat = " + get_global_auto_repeat() +", ";
+		ret += "{" + get_auto_repeats(0) + " " + get_auto_repeats(1) + " " + get_auto_repeats(2) + " " + get_auto_repeats(3) + " " + get_auto_repeats(4) + " " + get_auto_repeats(5) + " " + get_auto_repeats(6) + " " + get_auto_repeats(7) + " " + get_auto_repeats(8) + " " + get_auto_repeats(9) + " " + get_auto_repeats(10) + " " + get_auto_repeats(11) + " " + get_auto_repeats(12) + " " + get_auto_repeats(13) + " " + get_auto_repeats(14) + " " + get_auto_repeats(15) + " " + get_auto_repeats(16) + " " + get_auto_repeats(17) + " " + get_auto_repeats(18) + " " + get_auto_repeats(19) + " " + get_auto_repeats(20) + " " + get_auto_repeats(21) + " " + get_auto_repeats(22) + " " + get_auto_repeats(23) + " " + get_auto_repeats(24) + " " + get_auto_repeats(25) + " " + get_auto_repeats(26) + " " + get_auto_repeats(27) + " " + get_auto_repeats(28) + " " + get_auto_repeats(29) + " " + get_auto_repeats(30) + " " + get_auto_repeats(31) + " " + "}";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XKeymapEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,76 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XKeymapEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 52; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XKeymapEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XKeymapEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public byte get_key_vector(int index) { log.finest("");return Native.getByte(pData + 20+index*1); }
+	public void set_key_vector(int index, byte v) { log.finest(""); Native.putByte(pData+20 + index*1, v); }
+	public long get_key_vector() { log.finest("");return pData+20; }
+
+
+	String getName() {
+		return "XKeymapEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += "{" + get_key_vector(0) + " " + get_key_vector(1) + " " + get_key_vector(2) + " " + get_key_vector(3) + " " + get_key_vector(4) + " " + get_key_vector(5) + " " + get_key_vector(6) + " " + get_key_vector(7) + " " + get_key_vector(8) + " " + get_key_vector(9) + " " + get_key_vector(10) + " " + get_key_vector(11) + " " + get_key_vector(12) + " " + get_key_vector(13) + " " + get_key_vector(14) + " " + get_key_vector(15) + " " + get_key_vector(16) + " " + get_key_vector(17) + " " + get_key_vector(18) + " " + get_key_vector(19) + " " + get_key_vector(20) + " " + get_key_vector(21) + " " + get_key_vector(22) + " " + get_key_vector(23) + " " + get_key_vector(24) + " " + get_key_vector(25) + " " + get_key_vector(26) + " " + get_key_vector(27) + " " + get_key_vector(28) + " " + get_key_vector(29) + " " + get_key_vector(30) + " " + get_key_vector(31) + " " + "}";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XMapEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XMapEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XMapEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XMapEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_event() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_event(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_override_redirect() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_override_redirect(int v) { log.finest(""); Native.putInt(pData+24, v); }
+
+
+	String getName() {
+		return "XMapEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"event = " + get_event() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"override_redirect = " + get_override_redirect() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XMapRequestEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,75 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XMapRequestEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 24; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XMapRequestEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XMapRequestEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_parent() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_parent(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+
+
+	String getName() {
+		return "XMapRequestEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"parent = " + get_parent() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XMappingEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,81 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XMappingEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 32; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XMappingEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XMappingEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_request() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_request(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_first_keycode() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_first_keycode(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_count() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_count(int v) { log.finest(""); Native.putInt(pData+28, v); }
+
+
+	String getName() {
+		return "XMappingEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"request = " + get_request() +", ";
+		ret += ""+"first_keycode = " + get_first_keycode() +", ";
+		ret += ""+"count = " + get_count() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XModifierKeymap.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XModifierKeymap extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XModifierKeymap(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XModifierKeymap() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_max_keypermod() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_max_keypermod(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_modifiermap(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_modifiermap() { log.finest("");return Native.getLong(pData+4); }
+	public void set_modifiermap(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XModifierKeymap"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"max_keypermod = " + get_max_keypermod() +", ";
+		ret += ""+"modifiermap = " + get_modifiermap() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XMotionEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,102 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XMotionEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 60; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XMotionEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XMotionEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_root() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_root(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_subwindow() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_subwindow(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+28)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+28, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_x_root() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_x_root(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_y_root() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_y_root(int v) { log.finest(""); Native.putInt(pData+44, v); }
+	public int get_state() { log.finest("");return (Native.getInt(pData+48)); }
+	public void set_state(int v) { log.finest(""); Native.putInt(pData+48, v); }
+	public byte get_is_hint() { log.finest("");return (Native.getByte(pData+52)); }
+	public void set_is_hint(byte v) { log.finest(""); Native.putByte(pData+52, v); }
+	public boolean get_same_screen() { log.finest("");return (Native.getBool(pData+56)); }
+	public void set_same_screen(boolean v) { log.finest(""); Native.putBool(pData+56, v); }
+
+
+	String getName() {
+		return "XMotionEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"root = " + get_root() +", ";
+		ret += ""+"subwindow = " + get_subwindow() +", ";
+		ret += ""+"time = " + get_time() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"x_root = " + get_x_root() +", ";
+		ret += ""+"y_root = " + get_y_root() +", ";
+		ret += ""+"state = " + get_state() +", ";
+		ret += ""+"is_hint = " + get_is_hint() +", ";
+		ret += ""+"same_screen = " + get_same_screen() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XNoExposeEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XNoExposeEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XNoExposeEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XNoExposeEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_drawable() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_drawable(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_major_code() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_major_code(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_minor_code() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_minor_code(int v) { log.finest(""); Native.putInt(pData+24, v); }
+
+
+	String getName() {
+		return "XNoExposeEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"drawable = " + get_drawable() +", ";
+		ret += ""+"major_code = " + get_major_code() +", ";
+		ret += ""+"minor_code = " + get_minor_code() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XOMCharSetList.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XOMCharSetList extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XOMCharSetList(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XOMCharSetList() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_charset_count() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_charset_count(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_charset_list(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_charset_list() { log.finest("");return Native.getLong(pData+4); }
+	public void set_charset_list(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XOMCharSetList"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"charset_count = " + get_charset_count() +", ";
+		ret += ""+"charset_list = " + get_charset_list() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XOMFontInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,68 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XOMFontInfo extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XOMFontInfo(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XOMFontInfo() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_num_font() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_num_font(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_font_struct_list(int index) { log.finest(""); return Native.getLong(pData+4)+index*Native.getLongSize(); }
+	public long get_font_struct_list() { log.finest("");return Native.getLong(pData+4); }
+	public void set_font_struct_list(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+	public long get_font_name_list(int index) { log.finest(""); return Native.getLong(pData+8)+index*Native.getLongSize(); }
+	public long get_font_name_list() { log.finest("");return Native.getLong(pData+8); }
+	public void set_font_name_list(long v) { log.finest(""); Native.putLong(pData + 8, v); }
+
+
+	String getName() {
+		return "XOMFontInfo"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"num_font = " + get_num_font() +", ";
+		ret += ""+"font_struct_list = " + get_font_struct_list() +", ";
+		ret += ""+"font_name_list = " + get_font_name_list() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XOMOrientation.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,64 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XOMOrientation extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XOMOrientation(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XOMOrientation() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_num_orientation() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_num_orientation(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_orientation(int index) { log.finest(""); return Native.getInt(Native.getLong(pData+4)+index*4); }
+	public long get_orientation() { log.finest("");return Native.getLong(pData+4); }
+	public void set_orientation(long v) { log.finest(""); Native.putLong(pData + 4, v); }
+
+
+	String getName() {
+		return "XOMOrientation"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"num_orientation = " + get_num_orientation() +", ";
+		ret += ""+"orientation = " + get_orientation() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XPixmapFormatValues.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XPixmapFormatValues extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 12; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XPixmapFormatValues(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XPixmapFormatValues() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_depth() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_depth(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_bits_per_pixel() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_bits_per_pixel(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_scanline_pad() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_scanline_pad(int v) { log.finest(""); Native.putInt(pData+8, v); }
+
+
+	String getName() {
+		return "XPixmapFormatValues"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"depth = " + get_depth() +", ";
+		ret += ""+"bits_per_pixel = " + get_bits_per_pixel() +", ";
+		ret += ""+"scanline_pad = " + get_scanline_pad() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XPoint.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XPoint extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 4; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XPoint(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XPoint() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_x() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_x(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public short get_y() { log.finest("");return (Native.getShort(pData+2)); }
+	public void set_y(short v) { log.finest(""); Native.putShort(pData+2, v); }
+
+
+	String getName() {
+		return "XPoint"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XPropertyEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,81 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XPropertyEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 32; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XPropertyEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XPropertyEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_atom() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_atom(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+24)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+24, v); }
+	public int get_state() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_state(int v) { log.finest(""); Native.putInt(pData+28, v); }
+
+
+	String getName() {
+		return "XPropertyEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"atom = " + XAtom.get(get_atom()) +", ";
+		ret += ""+"time = " + get_time() +", ";
+		ret += ""+"state = " + get_state() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XRectangle.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,69 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XRectangle extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XRectangle(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XRectangle() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_x() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_x(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public short get_y() { log.finest("");return (Native.getShort(pData+2)); }
+	public void set_y(short v) { log.finest(""); Native.putShort(pData+2, v); }
+	public short get_width() { log.finest("");return (Native.getShort(pData+4)); }
+	public void set_width(short v) { log.finest(""); Native.putShort(pData+4, v); }
+	public short get_height() { log.finest("");return (Native.getShort(pData+6)); }
+	public void set_height(short v) { log.finest(""); Native.putShort(pData+6, v); }
+
+
+	String getName() {
+		return "XRectangle"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XReparentEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,87 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XReparentEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 40; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XReparentEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XReparentEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_event() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_event(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_parent() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_parent(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public boolean get_override_redirect() { log.finest("");return (Native.getBool(pData+36)); }
+	public void set_override_redirect(boolean v) { log.finest(""); Native.putBool(pData+36, v); }
+
+
+	String getName() {
+		return "XReparentEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"event = " + get_event() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"parent = " + get_parent() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"override_redirect = " + get_override_redirect() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XResizeRequestEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XResizeRequestEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XResizeRequestEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XResizeRequestEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+24, v); }
+
+
+	String getName() {
+		return "XResizeRequestEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XSegment.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,69 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XSegment extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XSegment(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XSegment() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public short get_x1() { log.finest("");return (Native.getShort(pData+0)); }
+	public void set_x1(short v) { log.finest(""); Native.putShort(pData+0, v); }
+	public short get_y1() { log.finest("");return (Native.getShort(pData+2)); }
+	public void set_y1(short v) { log.finest(""); Native.putShort(pData+2, v); }
+	public short get_x2() { log.finest("");return (Native.getShort(pData+4)); }
+	public void set_x2(short v) { log.finest(""); Native.putShort(pData+4, v); }
+	public short get_y2() { log.finest("");return (Native.getShort(pData+6)); }
+	public void set_y2(short v) { log.finest(""); Native.putShort(pData+6, v); }
+
+
+	String getName() {
+		return "XSegment"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"x1 = " + get_x1() +", ";
+		ret += ""+"y1 = " + get_y1() +", ";
+		ret += ""+"x2 = " + get_x2() +", ";
+		ret += ""+"y2 = " + get_y2() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XSelectionClearEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XSelectionClearEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XSelectionClearEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XSelectionClearEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_selection() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_selection(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+24)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+24, v); }
+
+
+	String getName() {
+		return "XSelectionClearEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"selection = " + XAtom.get(get_selection()) +", ";
+		ret += ""+"time = " + get_time() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XSelectionEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,84 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XSelectionEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 36; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XSelectionEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XSelectionEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_requestor() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_requestor(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_selection() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_selection(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_target() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_target(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_property() { log.finest("");return (Native.getLong(pData+28)); }
+	public void set_property(long v) { log.finest(""); Native.putLong(pData+28, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+32)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+32, v); }
+
+
+	String getName() {
+		return "XSelectionEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"requestor = " + get_requestor() +", ";
+		ret += ""+"selection = " + XAtom.get(get_selection()) +", ";
+		ret += ""+"target = " + XAtom.get(get_target()) +", ";
+		ret += ""+"property = " + XAtom.get(get_property()) +", ";
+		ret += ""+"time = " + get_time() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XSelectionRequestEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,87 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XSelectionRequestEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 40; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XSelectionRequestEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XSelectionRequestEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_owner() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_owner(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_requestor() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_requestor(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_selection() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_selection(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_target() { log.finest("");return (Native.getLong(pData+28)); }
+	public void set_target(long v) { log.finest(""); Native.putLong(pData+28, v); }
+	public long get_property() { log.finest("");return (Native.getLong(pData+32)); }
+	public void set_property(long v) { log.finest(""); Native.putLong(pData+32, v); }
+	public long get_time() { log.finest("");return (Native.getULong(pData+36)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+36, v); }
+
+
+	String getName() {
+		return "XSelectionRequestEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"owner = " + get_owner() +", ";
+		ret += ""+"requestor = " + get_requestor() +", ";
+		ret += ""+"selection = " + XAtom.get(get_selection()) +", ";
+		ret += ""+"target = " + XAtom.get(get_target()) +", ";
+		ret += ""+"property = " + XAtom.get(get_property()) +", ";
+		ret += ""+"time = " + get_time() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XSetWindowAttributes.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,102 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XSetWindowAttributes extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 60; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XSetWindowAttributes(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XSetWindowAttributes() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_background_pixmap() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_background_pixmap(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public long get_background_pixel() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_background_pixel(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public long get_border_pixmap() { log.finest("");return (Native.getLong(pData+8)); }
+	public void set_border_pixmap(long v) { log.finest(""); Native.putLong(pData+8, v); }
+	public long get_border_pixel() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_border_pixel(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public int get_bit_gravity() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_bit_gravity(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_win_gravity() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_win_gravity(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_backing_store() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_backing_store(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public long get_backing_planes() { log.finest("");return (Native.getLong(pData+28)); }
+	public void set_backing_planes(long v) { log.finest(""); Native.putLong(pData+28, v); }
+	public long get_backing_pixel() { log.finest("");return (Native.getLong(pData+32)); }
+	public void set_backing_pixel(long v) { log.finest(""); Native.putLong(pData+32, v); }
+	public boolean get_save_under() { log.finest("");return (Native.getBool(pData+36)); }
+	public void set_save_under(boolean v) { log.finest(""); Native.putBool(pData+36, v); }
+	public long get_event_mask() { log.finest("");return (Native.getLong(pData+40)); }
+	public void set_event_mask(long v) { log.finest(""); Native.putLong(pData+40, v); }
+	public long get_do_not_propagate_mask() { log.finest("");return (Native.getLong(pData+44)); }
+	public void set_do_not_propagate_mask(long v) { log.finest(""); Native.putLong(pData+44, v); }
+	public boolean get_override_redirect() { log.finest("");return (Native.getBool(pData+48)); }
+	public void set_override_redirect(boolean v) { log.finest(""); Native.putBool(pData+48, v); }
+	public long get_colormap() { log.finest("");return (Native.getLong(pData+52)); }
+	public void set_colormap(long v) { log.finest(""); Native.putLong(pData+52, v); }
+	public long get_cursor() { log.finest("");return (Native.getLong(pData+56)); }
+	public void set_cursor(long v) { log.finest(""); Native.putLong(pData+56, v); }
+
+
+	String getName() {
+		return "XSetWindowAttributes"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"background_pixmap = " + get_background_pixmap() +", ";
+		ret += ""+"background_pixel = " + get_background_pixel() +", ";
+		ret += ""+"border_pixmap = " + get_border_pixmap() +", ";
+		ret += ""+"border_pixel = " + get_border_pixel() +", ";
+		ret += ""+"bit_gravity = " + get_bit_gravity() +", ";
+		ret += ""+"win_gravity = " + get_win_gravity() +", ";
+		ret += ""+"backing_store = " + get_backing_store() +", ";
+		ret += ""+"backing_planes = " + get_backing_planes() +", ";
+		ret += ""+"backing_pixel = " + get_backing_pixel() +", ";
+		ret += ""+"save_under = " + get_save_under() +", ";
+		ret += ""+"event_mask = " + get_event_mask() +", ";
+		ret += ""+"do_not_propagate_mask = " + get_do_not_propagate_mask() +", ";
+		ret += ""+"override_redirect = " + get_override_redirect() +", ";
+		ret += ""+"colormap = " + get_colormap() +", ";
+		ret += ""+"cursor = " + get_cursor() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XSizeHints.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,111 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XSizeHints extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 72; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XSizeHints(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XSizeHints() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_flags() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_flags(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public int get_x() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_min_width() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_min_width(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_min_height() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_min_height(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public int get_max_width() { log.finest("");return (Native.getInt(pData+28)); }
+	public void set_max_width(int v) { log.finest(""); Native.putInt(pData+28, v); }
+	public int get_max_height() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_max_height(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_width_inc() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_width_inc(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_height_inc() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_height_inc(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_min_aspect_x() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_min_aspect_x(int v) { log.finest(""); Native.putInt(pData+44, v); }
+	public int get_min_aspect_y() { log.finest("");return (Native.getInt(pData+48)); }
+	public void set_min_aspect_y(int v) { log.finest(""); Native.putInt(pData+48, v); }
+	public int get_max_aspect_x() { log.finest("");return (Native.getInt(pData+52)); }
+	public void set_max_aspect_x(int v) { log.finest(""); Native.putInt(pData+52, v); }
+	public int get_max_aspect_y() { log.finest("");return (Native.getInt(pData+56)); }
+	public void set_max_aspect_y(int v) { log.finest(""); Native.putInt(pData+56, v); }
+	public int get_base_width() { log.finest("");return (Native.getInt(pData+60)); }
+	public void set_base_width(int v) { log.finest(""); Native.putInt(pData+60, v); }
+	public int get_base_height() { log.finest("");return (Native.getInt(pData+64)); }
+	public void set_base_height(int v) { log.finest(""); Native.putInt(pData+64, v); }
+	public int get_win_gravity() { log.finest("");return (Native.getInt(pData+68)); }
+	public void set_win_gravity(int v) { log.finest(""); Native.putInt(pData+68, v); }
+
+
+	String getName() {
+		return "XSizeHints"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"flags = " + get_flags() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"min_width = " + get_min_width() +", ";
+		ret += ""+"min_height = " + get_min_height() +", ";
+		ret += ""+"max_width = " + get_max_width() +", ";
+		ret += ""+"max_height = " + get_max_height() +", ";
+		ret += ""+"width_inc = " + get_width_inc() +", ";
+		ret += ""+"height_inc = " + get_height_inc() +", ";
+		ret += ""+"min_aspect_x = " + get_min_aspect_x() +", ";
+		ret += ""+"min_aspect_y = " + get_min_aspect_y() +", ";
+		ret += ""+"max_aspect_x = " + get_max_aspect_x() +", ";
+		ret += ""+"max_aspect_y = " + get_max_aspect_y() +", ";
+		ret += ""+"base_width = " + get_base_width() +", ";
+		ret += ""+"base_height = " + get_base_height() +", ";
+		ret += ""+"win_gravity = " + get_win_gravity() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XStandardColormap.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,87 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XStandardColormap extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 40; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XStandardColormap(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XStandardColormap() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_colormap() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_colormap(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public long get_red_max() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_red_max(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public long get_red_mult() { log.finest("");return (Native.getLong(pData+8)); }
+	public void set_red_mult(long v) { log.finest(""); Native.putLong(pData+8, v); }
+	public long get_green_max() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_green_max(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_green_mult() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_green_mult(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_blue_max() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_blue_max(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_blue_mult() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_blue_mult(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_base_pixel() { log.finest("");return (Native.getLong(pData+28)); }
+	public void set_base_pixel(long v) { log.finest(""); Native.putLong(pData+28, v); }
+	public long get_visualid() { log.finest("");return (Native.getLong(pData+32)); }
+	public void set_visualid(long v) { log.finest(""); Native.putLong(pData+32, v); }
+	public long get_killid() { log.finest("");return (Native.getLong(pData+36)); }
+	public void set_killid(long v) { log.finest(""); Native.putLong(pData+36, v); }
+
+
+	String getName() {
+		return "XStandardColormap"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"colormap = " + get_colormap() +", ";
+		ret += ""+"red_max = " + get_red_max() +", ";
+		ret += ""+"red_mult = " + get_red_mult() +", ";
+		ret += ""+"green_max = " + get_green_max() +", ";
+		ret += ""+"green_mult = " + get_green_mult() +", ";
+		ret += ""+"blue_max = " + get_blue_max() +", ";
+		ret += ""+"blue_mult = " + get_blue_mult() +", ";
+		ret += ""+"base_pixel = " + get_base_pixel() +", ";
+		ret += ""+"visualid = " + get_visualid() +", ";
+		ret += ""+"killid = " + get_killid() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XTextItem.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XTextItem extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XTextItem(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XTextItem() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_chars(int index) { log.finest(""); return Native.getLong(pData+0)+index*Native.getLongSize(); }
+	public long get_chars() { log.finest("");return Native.getLong(pData+0); }
+	public void set_chars(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public int get_nchars() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_nchars(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_delta() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_delta(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public long get_font() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_font(long v) { log.finest(""); Native.putLong(pData+12, v); }
+
+
+	String getName() {
+		return "XTextItem"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"chars = " + get_chars() +", ";
+		ret += ""+"nchars = " + get_nchars() +", ";
+		ret += ""+"delta = " + get_delta() +", ";
+		ret += ""+"font = " + get_font() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XTextItem16.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XTextItem16 extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XTextItem16(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XTextItem16() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public XChar2b get_chars(int index) { log.finest(""); return (Native.getLong(pData+0) != 0)?(new XChar2b(Native.getLong(pData+0)+index*2)):(null); }
+	public long get_chars() { log.finest("");return Native.getLong(pData+0); }
+	public void set_chars(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public int get_nchars() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_nchars(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_delta() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_delta(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public long get_font() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_font(long v) { log.finest(""); Native.putLong(pData+12, v); }
+
+
+	String getName() {
+		return "XTextItem16"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"chars = " + get_chars() +", ";
+		ret += ""+"nchars = " + get_nchars() +", ";
+		ret += ""+"delta = " + get_delta() +", ";
+		ret += ""+"font = " + get_font() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XTextProperty.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XTextProperty extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XTextProperty(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XTextProperty() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public byte get_value(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+0)+index*1); }
+	public long get_value() { log.finest("");return Native.getLong(pData+0); }
+	public void set_value(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public long get_encoding() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_encoding(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public int get_format() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_format(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public long get_nitems() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_nitems(long v) { log.finest(""); Native.putLong(pData+12, v); }
+
+
+	String getName() {
+		return "XTextProperty"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"value = " + get_value() +", ";
+		ret += ""+"encoding = " + get_encoding() +", ";
+		ret += ""+"format = " + get_format() +", ";
+		ret += ""+"nitems = " + get_nitems() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XTimeCoord.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,66 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XTimeCoord extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XTimeCoord(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XTimeCoord() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_time() { log.finest("");return (Native.getULong(pData+0)); }
+	public void set_time(long v) { log.finest(""); Native.putULong(pData+0, v); }
+	public short get_x() { log.finest("");return (Native.getShort(pData+4)); }
+	public void set_x(short v) { log.finest(""); Native.putShort(pData+4, v); }
+	public short get_y() { log.finest("");return (Native.getShort(pData+6)); }
+	public void set_y(short v) { log.finest(""); Native.putShort(pData+6, v); }
+
+
+	String getName() {
+		return "XTimeCoord"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"time = " + get_time() +", ";
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XUnmapEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XUnmapEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XUnmapEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XUnmapEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_event() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_event(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public boolean get_from_configure() { log.finest("");return (Native.getBool(pData+24)); }
+	public void set_from_configure(boolean v) { log.finest(""); Native.putBool(pData+24, v); }
+
+
+	String getName() {
+		return "XUnmapEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"event = " + get_event() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"from_configure = " + get_from_configure() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XVisibilityEvent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,75 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XVisibilityEvent extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 24; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XVisibilityEvent(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XVisibilityEvent() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_type() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_type(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public long get_serial() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_serial(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public boolean get_send_event() { log.finest("");return (Native.getBool(pData+8)); }
+	public void set_send_event(boolean v) { log.finest(""); Native.putBool(pData+8, v); }
+	public long get_display() { log.finest("");return (Native.getLong(pData+12)); }
+	public void set_display(long v) { log.finest(""); Native.putLong(pData+12, v); }
+	public long get_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_state() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_state(int v) { log.finest(""); Native.putInt(pData+20, v); }
+
+
+	String getName() {
+		return "XVisibilityEvent"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"type = " + XlibWrapper.eventToString[get_type()] +", ";
+		ret += ""+"serial = " + get_serial() +", ";
+		ret += ""+"send_event = " + get_send_event() +", ";
+		ret += ""+"display = " + get_display() +", ";
+		ret += ""+"window = " + getWindow(get_window()) + ", ";
+		ret += ""+"state = " + get_state() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XVisualInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,88 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XVisualInfo extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 40; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XVisualInfo(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XVisualInfo() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_visual(int index) { log.finest(""); return Native.getLong(pData+0)+index*Native.getLongSize(); }
+	public long get_visual() { log.finest("");return Native.getLong(pData+0); }
+	public void set_visual(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public long get_visualid() { log.finest("");return (Native.getLong(pData+4)); }
+	public void set_visualid(long v) { log.finest(""); Native.putLong(pData+4, v); }
+	public int get_screen() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_screen(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_depth() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_depth(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_class() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_class(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public long get_red_mask() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_red_mask(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public long get_green_mask() { log.finest("");return (Native.getLong(pData+24)); }
+	public void set_green_mask(long v) { log.finest(""); Native.putLong(pData+24, v); }
+	public long get_blue_mask() { log.finest("");return (Native.getLong(pData+28)); }
+	public void set_blue_mask(long v) { log.finest(""); Native.putLong(pData+28, v); }
+	public int get_colormap_size() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_colormap_size(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_bits_per_rgb() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_bits_per_rgb(int v) { log.finest(""); Native.putInt(pData+36, v); }
+
+
+	String getName() {
+		return "XVisualInfo"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"visual = " + get_visual() +", ";
+		ret += ""+"visualid = " + get_visualid() +", ";
+		ret += ""+"screen = " + get_screen() +", ";
+		ret += ""+"depth = " + get_depth() +", ";
+		ret += ""+"class = " + get_class() +", ";
+		ret += ""+"red_mask = " + get_red_mask() +", ";
+		ret += ""+"green_mask = " + get_green_mask() +", ";
+		ret += ""+"blue_mask = " + get_blue_mask() +", ";
+		ret += ""+"colormap_size = " + get_colormap_size() +", ";
+		ret += ""+"bits_per_rgb = " + get_bits_per_rgb() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XWMHints.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,85 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XWMHints extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 36; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XWMHints(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XWMHints() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_flags() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_flags(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public int get_initial_state() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_initial_state(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public long get_icon_pixmap(int index) { log.finest(""); return Native.getLong(pData+12)+index*Native.getLongSize(); }
+	public long get_icon_pixmap() { log.finest("");return Native.getLong(pData+12); }
+	public void set_icon_pixmap(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+	public long get_icon_window() { log.finest("");return (Native.getLong(pData+16)); }
+	public void set_icon_window(long v) { log.finest(""); Native.putLong(pData+16, v); }
+	public int get_icon_x() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_icon_x(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public int get_icon_y() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_icon_y(int v) { log.finest(""); Native.putInt(pData+24, v); }
+	public long get_icon_mask() { log.finest("");return (Native.getLong(pData+28)); }
+	public void set_icon_mask(long v) { log.finest(""); Native.putLong(pData+28, v); }
+	public boolean get_input() { log.finest("");return (Native.getBool(pData+4)); }
+	public void set_input(boolean v) { log.finest(""); Native.putBool(pData+4, v); }
+	public long get_window_group() { log.finest("");return (Native.getLong(pData+32)); }
+	public void set_window_group(long v) { log.finest(""); Native.putLong(pData+32, v); }
+
+
+	String getName() {
+		return "XWMHints"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"flags = " + get_flags() +", ";
+		ret += ""+"initial_state = " + get_initial_state() +", ";
+		ret += ""+"icon_pixmap = " + get_icon_pixmap() +", ";
+		ret += ""+"icon_window = " + get_icon_window() +", ";
+		ret += ""+"icon_x = " + get_icon_x() +", ";
+		ret += ""+"icon_y = " + get_icon_y() +", ";
+		ret += ""+"icon_mask = " + get_icon_mask() +", ";
+		ret += ""+"input = " + get_input() +", ";
+		ret += ""+"window_group = " + get_window_group() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XWindowAttributes.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,128 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XWindowAttributes extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 92; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XWindowAttributes(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XWindowAttributes() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_x() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_border_width() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_border_width(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public int get_depth() { log.finest("");return (Native.getInt(pData+20)); }
+	public void set_depth(int v) { log.finest(""); Native.putInt(pData+20, v); }
+	public Visual get_visual(int index) { log.finest(""); return (Native.getLong(pData+24) != 0)?(new Visual(Native.getLong(pData+24)+index*32)):(null); }
+	public long get_visual() { log.finest("");return Native.getLong(pData+24); }
+	public void set_visual(long v) { log.finest(""); Native.putLong(pData + 24, v); }
+	public long get_root() { log.finest("");return (Native.getLong(pData+28)); }
+	public void set_root(long v) { log.finest(""); Native.putLong(pData+28, v); }
+	public int get_class() { log.finest("");return (Native.getInt(pData+32)); }
+	public void set_class(int v) { log.finest(""); Native.putInt(pData+32, v); }
+	public int get_bit_gravity() { log.finest("");return (Native.getInt(pData+36)); }
+	public void set_bit_gravity(int v) { log.finest(""); Native.putInt(pData+36, v); }
+	public int get_win_gravity() { log.finest("");return (Native.getInt(pData+40)); }
+	public void set_win_gravity(int v) { log.finest(""); Native.putInt(pData+40, v); }
+	public int get_backing_store() { log.finest("");return (Native.getInt(pData+44)); }
+	public void set_backing_store(int v) { log.finest(""); Native.putInt(pData+44, v); }
+	public long get_backing_planes() { log.finest("");return (Native.getLong(pData+48)); }
+	public void set_backing_planes(long v) { log.finest(""); Native.putLong(pData+48, v); }
+	public long get_backing_pixel() { log.finest("");return (Native.getLong(pData+52)); }
+	public void set_backing_pixel(long v) { log.finest(""); Native.putLong(pData+52, v); }
+	public boolean get_save_under() { log.finest("");return (Native.getBool(pData+56)); }
+	public void set_save_under(boolean v) { log.finest(""); Native.putBool(pData+56, v); }
+	public long get_colormap() { log.finest("");return (Native.getLong(pData+60)); }
+	public void set_colormap(long v) { log.finest(""); Native.putLong(pData+60, v); }
+	public boolean get_map_installed() { log.finest("");return (Native.getBool(pData+64)); }
+	public void set_map_installed(boolean v) { log.finest(""); Native.putBool(pData+64, v); }
+	public int get_map_state() { log.finest("");return (Native.getInt(pData+68)); }
+	public void set_map_state(int v) { log.finest(""); Native.putInt(pData+68, v); }
+	public long get_all_event_masks() { log.finest("");return (Native.getLong(pData+72)); }
+	public void set_all_event_masks(long v) { log.finest(""); Native.putLong(pData+72, v); }
+	public long get_your_event_mask() { log.finest("");return (Native.getLong(pData+76)); }
+	public void set_your_event_mask(long v) { log.finest(""); Native.putLong(pData+76, v); }
+	public long get_do_not_propagate_mask() { log.finest("");return (Native.getLong(pData+80)); }
+	public void set_do_not_propagate_mask(long v) { log.finest(""); Native.putLong(pData+80, v); }
+	public boolean get_override_redirect() { log.finest("");return (Native.getBool(pData+84)); }
+	public void set_override_redirect(boolean v) { log.finest(""); Native.putBool(pData+84, v); }
+	public Screen get_screen(int index) { log.finest(""); return (Native.getLong(pData+88) != 0)?(new Screen(Native.getLong(pData+88)+index*80)):(null); }
+	public long get_screen() { log.finest("");return Native.getLong(pData+88); }
+	public void set_screen(long v) { log.finest(""); Native.putLong(pData + 88, v); }
+
+
+	String getName() {
+		return "XWindowAttributes"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"border_width = " + get_border_width() +", ";
+		ret += ""+"depth = " + get_depth() +", ";
+		ret += ""+"visual = " + get_visual() +", ";
+		ret += ""+"root = " + get_root() +", ";
+		ret += ""+"class = " + get_class() +", ";
+		ret += ""+"bit_gravity = " + get_bit_gravity() +", ";
+		ret += ""+"win_gravity = " + get_win_gravity() +", ";
+		ret += ""+"backing_store = " + get_backing_store() +", ";
+		ret += ""+"backing_planes = " + get_backing_planes() +", ";
+		ret += ""+"backing_pixel = " + get_backing_pixel() +", ";
+		ret += ""+"save_under = " + get_save_under() +", ";
+		ret += ""+"colormap = " + get_colormap() +", ";
+		ret += ""+"map_installed = " + get_map_installed() +", ";
+		ret += ""+"map_state = " + get_map_state() +", ";
+		ret += ""+"all_event_masks = " + get_all_event_masks() +", ";
+		ret += ""+"your_event_mask = " + get_your_event_mask() +", ";
+		ret += ""+"do_not_propagate_mask = " + get_do_not_propagate_mask() +", ";
+		ret += ""+"override_redirect = " + get_override_redirect() +", ";
+		ret += ""+"screen = " + get_screen() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XWindowChanges.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XWindowChanges extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 28; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XWindowChanges(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XWindowChanges() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_x() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_x(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public int get_y() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_y(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_width() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_width(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public int get_height() { log.finest("");return (Native.getInt(pData+12)); }
+	public void set_height(int v) { log.finest(""); Native.putInt(pData+12, v); }
+	public int get_border_width() { log.finest("");return (Native.getInt(pData+16)); }
+	public void set_border_width(int v) { log.finest(""); Native.putInt(pData+16, v); }
+	public long get_sibling() { log.finest("");return (Native.getLong(pData+20)); }
+	public void set_sibling(long v) { log.finest(""); Native.putLong(pData+20, v); }
+	public int get_stack_mode() { log.finest("");return (Native.getInt(pData+24)); }
+	public void set_stack_mode(int v) { log.finest(""); Native.putInt(pData+24, v); }
+
+
+	String getName() {
+		return "XWindowChanges"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"x = " + get_x() +", ";
+		ret += ""+"y = " + get_y() +", ";
+		ret += ""+"width = " + get_width() +", ";
+		ret += ""+"height = " + get_height() +", ";
+		ret += ""+"border_width = " + get_border_width() +", ";
+		ret += ""+"sibling = " + get_sibling() +", ";
+		ret += ""+"stack_mode = " + get_stack_mode() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XdbeSwapInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XdbeSwapInfo extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 8; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XdbeSwapInfo(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XdbeSwapInfo() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_swap_window() { log.finest("");return (Native.getLong(pData+0)); }
+	public void set_swap_window(long v) { log.finest(""); Native.putLong(pData+0, v); }
+	public int get_swap_action() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_swap_action(int v) { log.finest(""); Native.putInt(pData+4, v); }
+
+
+	String getName() {
+		return "XdbeSwapInfo"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"swap_window = " + get_swap_window() +", ";
+		ret += ""+"swap_action = " + get_swap_action() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XmbTextItem.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XmbTextItem extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XmbTextItem(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XmbTextItem() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public byte get_chars(int index) { log.finest(""); return Native.getByte(Native.getLong(pData+0)+index*1); }
+	public long get_chars() { log.finest("");return Native.getLong(pData+0); }
+	public void set_chars(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public int get_nchars() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_nchars(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_delta() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_delta(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public long get_font_set(int index) { log.finest(""); return Native.getLong(pData+12)+index*Native.getLongSize(); }
+	public long get_font_set() { log.finest("");return Native.getLong(pData+12); }
+	public void set_font_set(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+
+
+	String getName() {
+		return "XmbTextItem"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"chars = " + get_chars() +", ";
+		ret += ""+"nchars = " + get_nchars() +", ";
+		ret += ""+"delta = " + get_delta() +", ";
+		ret += ""+"font_set = " + get_font_set() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/XwcTextItem.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class XwcTextItem extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 16; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	XwcTextItem(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	XwcTextItem() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public long get_chars(int index) { log.finest(""); return Native.getLong(pData+0)+index*Native.getLongSize(); }
+	public long get_chars() { log.finest("");return Native.getLong(pData+0); }
+	public void set_chars(long v) { log.finest(""); Native.putLong(pData + 0, v); }
+	public int get_nchars() { log.finest("");return (Native.getInt(pData+4)); }
+	public void set_nchars(int v) { log.finest(""); Native.putInt(pData+4, v); }
+	public int get_delta() { log.finest("");return (Native.getInt(pData+8)); }
+	public void set_delta(int v) { log.finest(""); Native.putInt(pData+8, v); }
+	public long get_font_set(int index) { log.finest(""); return Native.getLong(pData+12)+index*Native.getLongSize(); }
+	public long get_font_set() { log.finest("");return Native.getLong(pData+12); }
+	public void set_font_set(long v) { log.finest(""); Native.putLong(pData + 12, v); }
+
+
+	String getName() {
+		return "XwcTextItem"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"chars = " + get_chars() +", ";
+		ret += ""+"nchars = " + get_nchars() +", ";
+		ret += ""+"delta = " + get_delta() +", ";
+		ret += ""+"font_set = " + get_font_set() +", ";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/X11/awtImageData.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !
+
+package sun.awt.X11;
+
+import sun.misc.*;
+
+import java.util.logging.*;
+public class awtImageData extends XWrapperBase { 
+	private Unsafe unsafe = XlibWrapper.unsafe; 
+	private final boolean should_free_memory;
+	public static int getSize() { return 304; }
+	public int getDataSize() { return getSize(); }
+
+	long pData;
+
+	public long getPData() { return pData; }
+
+
+	awtImageData(long addr) {
+		log.finest("Creating");
+		pData=addr;
+		should_free_memory = false;
+	}
+
+
+	awtImageData() {
+		log.finest("Creating");
+		pData = unsafe.allocateMemory(getSize());
+		should_free_memory = true;
+	}
+
+
+	public void dispose() {
+		log.finest("Disposing");
+		if (should_free_memory) {
+			log.finest("freeing memory");
+			unsafe.freeMemory(pData); 
+	}
+		}
+	public int get_Depth() { log.finest("");return (Native.getInt(pData+0)); }
+	public void set_Depth(int v) { log.finest(""); Native.putInt(pData+0, v); }
+	public XPixmapFormatValues get_wsImageFormat() { log.finest("");return new XPixmapFormatValues(pData + 4); }
+	public long get_clrdata(int index) { log.finest(""); return Native.getLong(pData+16)+index*Native.getLongSize(); }
+	public long get_clrdata() { log.finest("");return Native.getLong(pData+16); }
+	public void set_clrdata(long v) { log.finest(""); Native.putLong(pData + 16, v); }
+	public long get_convert(int index) { log.finest("");return Native.getLong(pData + 48+index*Native.getLongSize()); }
+	public void set_convert(int index, long v) { log.finest(""); Native.putLong(pData+48 + index*Native.getLongSize(), v); }
+	public long get_convert() { log.finest("");return pData+48; }
+
+
+	String getName() {
+		return "awtImageData"; 
+	}
+
+
+	String getFieldsAsString() {
+		String ret="";
+
+		ret += ""+"Depth = " + get_Depth() +", ";
+		ret += ""+"wsImageFormat = " + get_wsImageFormat() +", ";
+		ret += ""+"clrdata = " + get_clrdata() +", ";
+		ret += "{" + get_convert(0) + " " + get_convert(1) + " " + get_convert(2) + " " + get_convert(3) + " " + get_convert(4) + " " + get_convert(5) + " " + get_convert(6) + " " + get_convert(7) + " " + get_convert(8) + " " + get_convert(9) + " " + get_convert(10) + " " + get_convert(11) + " " + get_convert(12) + " " + get_convert(13) + " " + get_convert(14) + " " + get_convert(15) + " " + get_convert(16) + " " + get_convert(17) + " " + get_convert(18) + " " + get_convert(19) + " " + get_convert(20) + " " + get_convert(21) + " " + get_convert(22) + " " + get_convert(23) + " " + get_convert(24) + " " + get_convert(25) + " " + get_convert(26) + " " + get_convert(27) + " " + get_convert(28) + " " + get_convert(29) + " " + get_convert(30) + " " + get_convert(31) + " " + "}";
+		return ret;
+	}
+
+
+}
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "Input Window" },
+            { "AWT.CrosshairCursor", "Crosshair Cursor" },
+            { "AWT.DefaultCursor", "Default Cursor" },
+            { "AWT.DefaultDragCursor", "Default Drag Cursor" },
+            { "AWT.DefaultDropCursor", "Default Drop Cursor" },
+            { "AWT.DefaultNoDropCursor", "Default NoDrag Cursor" },
+            { "AWT.EResizeCursor", "East Resize Cursor" },
+            { "AWT.HandCursor", "Hand Cursor" },
+            { "AWT.HostInputMethodDisplayName", "System Input Methods" },
+            { "AWT.InconsistentDLLsWarning", "Text based operations may not work correctly due to an inconsistent set of dynamic linking libraries (DLLs) installed on your system. For more information on this problem and a suggested workaround please see the Java(TM) 2 SDK, Standard Edition Release Notes on java.sun.com." },
+            { "AWT.InputMethodCreationFailed", "Could not create {0}.  Reason: {1}" },
+            { "AWT.InputMethodLanguage.ja", "Japanese" },
+            { "AWT.InputMethodLanguage.ko", "Korean" },
+            { "AWT.InputMethodLanguage.zh", "Chinese" },
+            { "AWT.InputMethodLanguage.zh_CN", "Simplified Chinese" },
+            { "AWT.InputMethodLanguage.zh_TW", "Traditional Chinese" },
+            { "AWT.InputMethodSelectionMenu", "Select Input Method" },
+            { "AWT.Less", "Less" },
+            { "AWT.MoveCursor", "Move Cursor" },
+            { "AWT.NEResizeCursor", "Northeast Resize Cursor" },
+            { "AWT.NResizeCursor", "North Resize Cursor" },
+            { "AWT.NWResizeCursor", "Northwest Resize Cursor" },
+            { "AWT.SEResizeCursor", "Southeast Resize Cursor" },
+            { "AWT.SResizeCursor", "South Resize Cursor" },
+            { "AWT.SWResizeCursor", "Southwest Resize Cursor" },
+            { "AWT.TextCursor", "Text Cursor" },
+            { "AWT.WResizeCursor", "West Resize Cursor" },
+            { "AWT.WaitCursor", "Wait Cursor" },
+            { "AWT.accept", "Accept" },
+            { "AWT.add", "NumPad +" },
+            { "AWT.again", "Again" },
+            { "AWT.allCandidates", "All Candidates" },
+            { "AWT.alphanumeric", "Alphanumeric" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Graph" },
+            { "AWT.ampersand", "Ampersand" },
+            { "AWT.asterisk", "Asterisk" },
+            { "AWT.at", "At" },
+            { "AWT.backQuote", "Back Quote" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backspace" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Left Brace" },
+            { "AWT.braceRight", "Right Brace" },
+            { "AWT.cancel", "Cancel" },
+            { "AWT.capsLock", "Caps Lock" },
+            { "AWT.circumflex", "Circumflex" },
+            { "AWT.clear", "Clear" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Code Input" },
+            { "AWT.colon", "Colon" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Compose" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Convert" },
+            { "AWT.copy", "Copy" },
+            { "AWT.cut", "Cut" },
+            { "AWT.deadAboveDot", "Dead Above Dot" },
+            { "AWT.deadAboveRing", "Dead Above Ring" },
+            { "AWT.deadAcute", "Dead Acute" },
+            { "AWT.deadBreve", "Dead Breve" },
+            { "AWT.deadCaron", "Dead Caron" },
+            { "AWT.deadCedilla", "Dead Cedilla" },
+            { "AWT.deadCircumflex", "Dead Circumflex" },
+            { "AWT.deadDiaeresis", "Dead Diaeresis" },
+            { "AWT.deadDoubleAcute", "Dead Double Acute" },
+            { "AWT.deadGrave", "Dead Grave" },
+            { "AWT.deadIota", "Dead Iota" },
+            { "AWT.deadMacron", "Dead Macron" },
+            { "AWT.deadOgonek", "Dead Ogonek" },
+            { "AWT.deadSemivoicedSound", "Dead Semivoiced Sound" },
+            { "AWT.deadTilde", "Dead Tilde" },
+            { "AWT.deadVoicedSound", "Dead Voiced Sound" },
+            { "AWT.decimal", "NumPad ." },
+            { "AWT.delete", "Delete" },
+            { "AWT.divide", "NumPad /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Down" },
+            { "AWT.end", "End" },
+            { "AWT.enter", "Enter" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Escape" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Exclamation Mark" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "Find" },
+            { "AWT.fullWidth", "Full-Width" },
+            { "AWT.greater", "Greater" },
+            { "AWT.halfWidth", "Half-Width" },
+            { "AWT.help", "Help" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "Input Method On/Off" },
+            { "AWT.insert", "Insert" },
+            { "AWT.invertedExclamationMark", "Inverted Exclamation Mark" },
+            { "AWT.japaneseHiragana", "Japanese Hiragana" },
+            { "AWT.japaneseKatakana", "Japanese Katakana" },
+            { "AWT.japaneseRoman", "Japanese Roman" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Kana Lock" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Left" },
+            { "AWT.leftParenthesis", "Left Parenthesis" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "Mode Change" },
+            { "AWT.multiply", "NumPad *" },
+            { "AWT.noconvert", "No Convert" },
+            { "AWT.numLock", "Num Lock" },
+            { "AWT.numberSign", "Number Sign" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Paste" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page Down" },
+            { "AWT.pgup", "Page Up" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "Previous Candidate" },
+            { "AWT.printScreen", "Print Screen" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Quote" },
+            { "AWT.quoteDbl", "Double Quote" },
+            { "AWT.right", "Right" },
+            { "AWT.rightParenthesis", "Right Parenthesis" },
+            { "AWT.romanCharacters", "Roman Characters" },
+            { "AWT.scrollLock", "Scroll Lock" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "NumPad ," },
+            { "AWT.separator", "NumPad ," },
+            { "AWT.shift", "Shift" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Space" },
+            { "AWT.stop", "Stop" },
+            { "AWT.subtract", "NumPad -" },
+            { "AWT.tab", "Tab" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Underscore" },
+            { "AWT.undo", "Undo" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Up" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "on-the-spot" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "Eingabefenster" },
+            { "AWT.CrosshairCursor", "Fadenkreuzcursor" },
+            { "AWT.DefaultCursor", "Standardcursor" },
+            { "AWT.DefaultDragCursor", "Standardcursor beim Ziehen" },
+            { "AWT.DefaultDropCursor", "Standardcursor beim Ablegen" },
+            { "AWT.DefaultNoDropCursor", "Standardcursor beim Nichtziehen" },
+            { "AWT.EResizeCursor", "Skaliercursor nach rechts" },
+            { "AWT.HandCursor", "Handcursor" },
+            { "AWT.HostInputMethodDisplayName", "Systemeingabemethoden" },
+            { "AWT.InconsistentDLLsWarning", "Textbasierte Operationen arbeiten m\u00F6glicherweise nicht richtig, weil auf Ihrem System ein inkonsistenter Satz von Dynamic Linking Libraries (DLLs) installiert ist. Weitere Informationen zu diesem Problem sowie eine Empfehlung zu deren Umgehung finden Sie in den Java(TM) 2 SDK, Standard Edition Release Notes unter java.sun.com." },
+            { "AWT.InputMethodCreationFailed", "{0} konnte nicht erstellt werden.  Grund: {1}" },
+            { "AWT.InputMethodLanguage.ja", "Japanisch" },
+            { "AWT.InputMethodLanguage.ko", "Koreanisch" },
+            { "AWT.InputMethodLanguage.zh", "Chinesisch" },
+            { "AWT.InputMethodLanguage.zh_CN", "Vereinfachtes Chinesisch" },
+            { "AWT.InputMethodLanguage.zh_TW", "Traditionelles Chinesisch" },
+            { "AWT.InputMethodSelectionMenu", "Eingabemethode ausw\u00E4hlen" },
+            { "AWT.Less", "Kleiner als" },
+            { "AWT.MoveCursor", "Verschiebecursor" },
+            { "AWT.NEResizeCursor", "Skaliercursor nach oben/rechts" },
+            { "AWT.NResizeCursor", "Skaliercursor nach oben" },
+            { "AWT.NWResizeCursor", "Skaliercursor nach oben/links" },
+            { "AWT.SEResizeCursor", "Skaliercursor nach unten/rechts" },
+            { "AWT.SResizeCursor", "Skaliercursor nach unten" },
+            { "AWT.SWResizeCursor", "Skaliercursor nach unten/links" },
+            { "AWT.TextCursor", "Textcursor" },
+            { "AWT.WResizeCursor", "Skaliercursor nach links" },
+            { "AWT.WaitCursor", "Wartecursor" },
+            { "AWT.accept", "Annehmen" },
+            { "AWT.add", "Tastenblock +" },
+            { "AWT.again", "Wiederholen" },
+            { "AWT.allCandidates", "Alle Kandidaten" },
+            { "AWT.alphanumeric", "Alphanumerisch" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Gr" },
+            { "AWT.ampersand", "Kaufm\u00E4nnisches Und" },
+            { "AWT.asterisk", "Stern" },
+            { "AWT.at", "Klammeraffe" },
+            { "AWT.backQuote", "Schlie\u00DFendes Anf\u00FChrungszeichen" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "R\u00FCcktaste" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Linke geschweifte Klammer" },
+            { "AWT.braceRight", "Rechte geschweifte Klammer" },
+            { "AWT.cancel", "Abbrechen" },
+            { "AWT.capsLock", "Umschalttaste Gro\u00DF-/Kleinschreibung" },
+            { "AWT.circumflex", "Zirkumflex" },
+            { "AWT.clear", "L\u00F6schen" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Code-Eingabe" },
+            { "AWT.colon", "Doppelpunkt" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Verfassen" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Strg" },
+            { "AWT.convert", "Konvertieren" },
+            { "AWT.copy", "Kopieren" },
+            { "AWT.cut", "Ausschneiden" },
+            { "AWT.deadAboveDot", "Oberer Punkt (Dead)" },
+            { "AWT.deadAboveRing", "Oberer Ring (Dead)" },
+            { "AWT.deadAcute", "Akut (Dead)" },
+            { "AWT.deadBreve", "Breve (Dead)" },
+            { "AWT.deadCaron", "Caron (Dead)" },
+            { "AWT.deadCedilla", "Cedille (Dead)" },
+            { "AWT.deadCircumflex", "Zirkumflex (Dead)" },
+            { "AWT.deadDiaeresis", "Trema (Dead)" },
+            { "AWT.deadDoubleAcute", "Doppelakut (Dead)" },
+            { "AWT.deadGrave", "Gravis (Dead)" },
+            { "AWT.deadIota", "Iota (Dead)" },
+            { "AWT.deadMacron", "Macron (Dead)" },
+            { "AWT.deadOgonek", "Ogonek (Dead)" },
+            { "AWT.deadSemivoicedSound", "Halbstimmhaft (Dead)" },
+            { "AWT.deadTilde", "Tilde (Dead)" },
+            { "AWT.deadVoicedSound", "Stimmhaft (Dead)" },
+            { "AWT.decimal", "Tastenblock ." },
+            { "AWT.delete", "Entf" },
+            { "AWT.divide", "Tastenblock /" },
+            { "AWT.dollar", "Dollarzeichen" },
+            { "AWT.down", "Unten" },
+            { "AWT.end", "Ende" },
+            { "AWT.enter", "Eingabe" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "ESC" },
+            { "AWT.euro", "Euro-Zeichen" },
+            { "AWT.exclamationMark", "Ausrufezeichen" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Abschluss" },
+            { "AWT.find", "Suchen" },
+            { "AWT.fullWidth", "Volle Breite" },
+            { "AWT.greater", "Gr\u00F6\u00DFer als" },
+            { "AWT.halfWidth", "Halbe Breite" },
+            { "AWT.help", "Hilfe" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Pos 1" },
+            { "AWT.inputMethodOnOff", "Eingabemethode ein/aus" },
+            { "AWT.insert", "Einfg" },
+            { "AWT.invertedExclamationMark", "Umgekehrtes Ausrufezeichen" },
+            { "AWT.japaneseHiragana", "Japanisch (Hiragana)" },
+            { "AWT.japaneseKatakana", "Japanisch (Katakana)" },
+            { "AWT.japaneseRoman", "Japanisch (Latein)" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Kana Lock" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Links" },
+            { "AWT.leftParenthesis", "Linke Klammer" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "Modus\u00E4nderung" },
+            { "AWT.multiply", "Tastenblock *" },
+            { "AWT.noconvert", "Nicht konvertieren" },
+            { "AWT.numLock", "Num" },
+            { "AWT.numberSign", "Nummernzeichen" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Einf\u00FCgen" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Bild ab" },
+            { "AWT.pgup", "Bild auf" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "Vorheriger Kandidat" },
+            { "AWT.printScreen", "Druck" },
+            { "AWT.props", "Eigenschaften" },
+            { "AWT.quote", "Einfaches Anf\u00FChrungszeichen" },
+            { "AWT.quoteDbl", "Doppelte Anf\u00FChrungszeichen" },
+            { "AWT.right", "Rechts" },
+            { "AWT.rightParenthesis", "Rechte Klammer" },
+            { "AWT.romanCharacters", "Lateinische Zeichen" },
+            { "AWT.scrollLock", "Rollsperre" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "Tastenblock ," },
+            { "AWT.separator", "Tastenblock ," },
+            { "AWT.shift", "Umschalt" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Leertaste" },
+            { "AWT.stop", "Stop" },
+            { "AWT.subtract", "Tastenblock -" },
+            { "AWT.tab", "Tabulator" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Unterstrich" },
+            { "AWT.undo", "R\u00FCckg\u00E4ngig" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Oben" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "On-the-Spot" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "Ventana de entrada" },
+            { "AWT.CrosshairCursor", "Cursor de punto de mira" },
+            { "AWT.DefaultCursor", "Cursor predeterminado" },
+            { "AWT.DefaultDragCursor", "Cursor de arrastrar predeterminado" },
+            { "AWT.DefaultDropCursor", "Cursor de soltar predeterminado" },
+            { "AWT.DefaultNoDropCursor", "Cursor de no arrastrar predeterminado" },
+            { "AWT.EResizeCursor", "Cursor de cambio de tama\u00F1o este" },
+            { "AWT.HandCursor", "Cursor de mano" },
+            { "AWT.HostInputMethodDisplayName", "M\u00E9todos de entrada del sistema" },
+            { "AWT.InconsistentDLLsWarning", "Puede que las operaciones textuales no funcionen correctamente debido a un conjunto incompatible de librer\u00EDas de enlace " },
+            { "AWT.InputMethodCreationFailed", "No se ha podido crear {0}. Motivo: {1}" },
+            { "AWT.InputMethodLanguage.ja", "Japon\u00E9s" },
+            { "AWT.InputMethodLanguage.ko", "Coreano" },
+            { "AWT.InputMethodLanguage.zh", "Chino" },
+            { "AWT.InputMethodLanguage.zh_CN", "Chino simplificado" },
+            { "AWT.InputMethodLanguage.zh_TW", "Chino tradicional" },
+            { "AWT.InputMethodSelectionMenu", "Seleccionar m\u00E9todo de entrada" },
+            { "AWT.Less", "Menor que" },
+            { "AWT.MoveCursor", "Cursor de movimiento" },
+            { "AWT.NEResizeCursor", "Cursor de cambio de tama\u00F1o nordeste" },
+            { "AWT.NResizeCursor", "Cursor de cambio de tama\u00F1o norte" },
+            { "AWT.NWResizeCursor", "Cursor de cambio de tama\u00F1o noroeste" },
+            { "AWT.SEResizeCursor", "Cursor de cambio de tama\u00F1o sudeste" },
+            { "AWT.SResizeCursor", "Cursor de cambio de tama\u00F1o sur" },
+            { "AWT.SWResizeCursor", "Cursor de cambio de tama\u00F1o suroeste" },
+            { "AWT.TextCursor", "Cursor de texto" },
+            { "AWT.WResizeCursor", "Cursor de cambio de tama\u00F1o oeste" },
+            { "AWT.WaitCursor", "Cursor de espera" },
+            { "AWT.accept", "Aceptar" },
+            { "AWT.add", "+ de teclado num\u00E9rico" },
+            { "AWT.again", "Repetir" },
+            { "AWT.allCandidates", "Todos los candidatos" },
+            { "AWT.alphanumeric", "Alfanum\u00E9rico" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Gr" },
+            { "AWT.ampersand", "S\u00EDmbolo &" },
+            { "AWT.asterisk", "Asterisco" },
+            { "AWT.at", "Arroba" },
+            { "AWT.backQuote", "Abrir comilla" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Retroceso" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Abrir llave" },
+            { "AWT.braceRight", "Cerrar llave" },
+            { "AWT.cancel", "Cancelar" },
+            { "AWT.capsLock", "Bloqueo de may\u00FAsculas" },
+            { "AWT.circumflex", "Circunflejo" },
+            { "AWT.clear", "Borrar" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Entrada de c\u00F3digo" },
+            { "AWT.colon", "Dos puntos" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Componer" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Convertir" },
+            { "AWT.copy", "Copiar" },
+            { "AWT.cut", "Cortar" },
+            { "AWT.deadAboveDot", "Punto superior muerto" },
+            { "AWT.deadAboveRing", "C\u00EDrculo superior muerto" },
+            { "AWT.deadAcute", "Acento agudio muerto" },
+            { "AWT.deadBreve", "Breve muerto" },
+            { "AWT.deadCaron", "Caron muerto" },
+            { "AWT.deadCedilla", "Cedilla muerta" },
+            { "AWT.deadCircumflex", "Circunflejo muerto" },
+            { "AWT.deadDiaeresis", "Di\u00E9resis muerta" },
+            { "AWT.deadDoubleAcute", "Acento agudo doble muerto" },
+            { "AWT.deadGrave", "Acento grave muerto" },
+            { "AWT.deadIota", "Iota muerta" },
+            { "AWT.deadMacron", "Macron muerto" },
+            { "AWT.deadOgonek", "Ogonek muerto" },
+            { "AWT.deadSemivoicedSound", "Sonido semisonoro muerto" },
+            { "AWT.deadTilde", "Tilde muerto" },
+            { "AWT.deadVoicedSound", "Sonido sonoro muerto" },
+            { "AWT.decimal", ". de teclado num\u00E9rico" },
+            { "AWT.delete", "Suprimir" },
+            { "AWT.divide", "/ de teclado num\u00E9rico" },
+            { "AWT.dollar", "D\u00F3lar" },
+            { "AWT.down", "Abajo" },
+            { "AWT.end", "Fin" },
+            { "AWT.enter", "Introduzca" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Escape" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Signo de exclamaci\u00F3n izquierdo" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "Buscar" },
+            { "AWT.fullWidth", "Anchura completa" },
+            { "AWT.greater", "Mayor que" },
+            { "AWT.halfWidth", "Media anchura" },
+            { "AWT.help", "Ayuda" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Inicio" },
+            { "AWT.inputMethodOnOff", "Activar/desactivar m\u00E9todo de entrada" },
+            { "AWT.insert", "Insertar" },
+            { "AWT.invertedExclamationMark", "Signo de exclamaci\u00F3n derecho" },
+            { "AWT.japaneseHiragana", "Caracteres hiragana japoneses" },
+            { "AWT.japaneseKatakana", "Caracteres katakana japoneses" },
+            { "AWT.japaneseRoman", "Caracteres romanos japoneses" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Bloquear kana" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Izquierda" },
+            { "AWT.leftParenthesis", "Par\u00E9ntesis izquierdo" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Menos" },
+            { "AWT.modechange", "Cambio de modo" },
+            { "AWT.multiply", "* de teclado num\u00E9rico" },
+            { "AWT.noconvert", "No Convertir" },
+            { "AWT.numLock", "Bloqueo num\u00E9rico" },
+            { "AWT.numberSign", "Signo de n\u00FAmero" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Pegar" },
+            { "AWT.pause", "Pausa" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "AvP\u00E1g" },
+            { "AWT.pgup", "ReP\u00E1g" },
+            { "AWT.plus", "M\u00E1s" },
+            { "AWT.previousCandidate", "Candidato anterior" },
+            { "AWT.printScreen", "Imprimir pantalla" },
+            { "AWT.props", "Propiedades" },
+            { "AWT.quote", "Cerrar comilla" },
+            { "AWT.quoteDbl", "Dobles comillas" },
+            { "AWT.right", "Derecha" },
+            { "AWT.rightParenthesis", "Par\u00E9ntesis derecho" },
+            { "AWT.romanCharacters", "Caracteres romanos" },
+            { "AWT.scrollLock", "Bloqueo de desplazamiento" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", ", de teclado num\u00E9rico  # for backwards compatibility only" },
+            { "AWT.separator", ", de teclado num\u00E9rico" },
+            { "AWT.shift", "May\u00FAsculas" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Espacio" },
+            { "AWT.stop", "Parar" },
+            { "AWT.subtract", "- de teclado num\u00E9rico" },
+            { "AWT.tab", "Tabulador" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Subrayado" },
+            { "AWT.undo", "Deshacer" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Arriba" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "en-el-acto" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "Fen\u00EAtre d''entr\u00E9e" },
+            { "AWT.CrosshairCursor", "Pointeur r\u00E9ticulaire" },
+            { "AWT.DefaultCursor", "Pointeur par d\u00E9faut" },
+            { "AWT.DefaultDragCursor", "Pointeur de d\u00E9placement par d\u00E9faut" },
+            { "AWT.DefaultDropCursor", "Pointeur de pose par d\u00E9faut" },
+            { "AWT.DefaultNoDropCursor", "Pointeur non d\u00E9pla\u00E7ant par d\u00E9faut" },
+            { "AWT.EResizeCursor", "Pointeur de redimensionnement est" },
+            { "AWT.HandCursor", "Pointeur en forme de main" },
+            { "AWT.HostInputMethodDisplayName", "M\u00E9thodes syst\u00E8me d''entr\u00E9e" },
+            { "AWT.InconsistentDLLsWarning", "Text based operations may not work correctly due to an inconsistent set of dynamic linking libraries (DLLs) installed on your system. For more information on this problem and a suggested workaround please see the Java(TM) 2 SDK, Standard Edition Release Notes on java.sun.com." },
+            { "AWT.InputMethodCreationFailed", "Impossible de cr\u00E9er {0}.  Raison\u00A0: {1}" },
+            { "AWT.InputMethodLanguage.ja", "Japonais" },
+            { "AWT.InputMethodLanguage.ko", "Cor\u00E9en" },
+            { "AWT.InputMethodLanguage.zh", "Chinois" },
+            { "AWT.InputMethodLanguage.zh_CN", "Chinois simplifi\u00E9" },
+            { "AWT.InputMethodLanguage.zh_TW", "Chinois traditionnel" },
+            { "AWT.InputMethodSelectionMenu", "S\u00E9lectionner la m\u00E9thode d''entr\u00E9e" },
+            { "AWT.Less", "Inf\u00E9rieur \u00E0" },
+            { "AWT.MoveCursor", "Pointeur de d\u00E9placement" },
+            { "AWT.NEResizeCursor", "Pointeur de redimensionnement nord-est" },
+            { "AWT.NResizeCursor", "Pointeur de redimensionnement nord" },
+            { "AWT.NWResizeCursor", "Pointeur de redimensionnement nord-ouest" },
+            { "AWT.SEResizeCursor", "Pointeur de redimensionnement sud-est" },
+            { "AWT.SResizeCursor", "Pointeur de redimensionnement sud" },
+            { "AWT.SWResizeCursor", "Pointeur de redimensionnement sud-ouest" },
+            { "AWT.TextCursor", "Curseur de texte" },
+            { "AWT.WResizeCursor", "Pointeur de redimensionnement ouest" },
+            { "AWT.WaitCursor", "Pointeur d''attente" },
+            { "AWT.accept", "Accepter" },
+            { "AWT.add", "Pav\u00E9 num\u00E9rique +" },
+            { "AWT.again", "R\u00E9p\u00E9ter" },
+            { "AWT.allCandidates", "Tous les candidats" },
+            { "AWT.alphanumeric", "Alphanum\u00E9rique" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt graphe" },
+            { "AWT.ampersand", "Perlu\u00E8te" },
+            { "AWT.asterisk", "Ast\u00E9risque" },
+            { "AWT.at", "A commercial" },
+            { "AWT.backQuote", "Guillemet ouvrant" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Retour arri\u00E8re" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Accolade ouvrante" },
+            { "AWT.braceRight", "Accolade fermante" },
+            { "AWT.cancel", "Annuler" },
+            { "AWT.capsLock", "Verrouillage des majuscules" },
+            { "AWT.circumflex", "Circonflexe" },
+            { "AWT.clear", "Effacer" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Entr\u00E9e de code" },
+            { "AWT.colon", "Deux-points" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Composer" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Convertir" },
+            { "AWT.copy", "Copier" },
+            { "AWT.cut", "Couper" },
+            { "AWT.deadAboveDot", "Point en haut" },
+            { "AWT.deadAboveRing", "Anneau en haut" },
+            { "AWT.deadAcute", "Accent aigu" },
+            { "AWT.deadBreve", "Demi-cercle" },
+            { "AWT.deadCaron", "Caron" },
+            { "AWT.deadCedilla", "C\u00E9dille" },
+            { "AWT.deadCircumflex", "Accent circonflexe" },
+            { "AWT.deadDiaeresis", "Tr\u00E9ma" },
+            { "AWT.deadDoubleAcute", "Double accent pointu" },
+            { "AWT.deadGrave", "Accent grave" },
+            { "AWT.deadIota", "Iota" },
+            { "AWT.deadMacron", "Macron" },
+            { "AWT.deadOgonek", "Ogonek" },
+            { "AWT.deadSemivoicedSound", "Son semi-vois\u00E9" },
+            { "AWT.deadTilde", "Tilde" },
+            { "AWT.deadVoicedSound", "Son vois\u00E9" },
+            { "AWT.decimal", "Pav\u00E9 num\u00E9rique ." },
+            { "AWT.delete", "Supprimer" },
+            { "AWT.divide", "Pav\u00E9 num\u00E9rique /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Bas" },
+            { "AWT.end", "Fin" },
+            { "AWT.enter", "Entr\u00E9e" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Esc" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Point d''exclamation" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "Rechercher" },
+            { "AWT.fullWidth", "Pleine largeur" },
+            { "AWT.greater", "Sup\u00E9rieur \u00E0" },
+            { "AWT.halfWidth", "Demi-largeur" },
+            { "AWT.help", "Aide" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Origine" },
+            { "AWT.inputMethodOnOff", "Activation/d\u00E9sactivation de la m\u00E9thode d''entr\u00E9e" },
+            { "AWT.insert", "Ins\u00E9rer" },
+            { "AWT.invertedExclamationMark", "Point d''exclamation invers\u00E9" },
+            { "AWT.japaneseHiragana", "Japonais Hiragana" },
+            { "AWT.japaneseKatakana", "Japonais Katakana" },
+            { "AWT.japaneseRoman", "Japonais romain" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Verrouiller Kana" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Gauche" },
+            { "AWT.leftParenthesis", "Parenth\u00E8se ouvrante" },
+            { "AWT.meta", "M\u00E9ta" },
+            { "AWT.minus", "Moins" },
+            { "AWT.modechange", "Changement de mode" },
+            { "AWT.multiply", "Pav\u00E9 num\u00E9rique *" },
+            { "AWT.noconvert", "Ne pas convertir" },
+            { "AWT.numLock", "Verrouillage du pav\u00E9 num\u00E9rique" },
+            { "AWT.numberSign", "Signe Num\u00E9ro" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Coller" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page suivante" },
+            { "AWT.pgup", "Page pr\u00E9c\u00E9dente" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "Candidat pr\u00E9c\u00E9dent" },
+            { "AWT.printScreen", "Impression d''\u00E9cran" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Guillemet fermant" },
+            { "AWT.quoteDbl", "Guillemets" },
+            { "AWT.right", "Droite" },
+            { "AWT.rightParenthesis", "Parenth\u00E8se fermante" },
+            { "AWT.romanCharacters", "Caract\u00E8res romains" },
+            { "AWT.scrollLock", "Verrouillage du d\u00E9filement" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "Pav\u00E9 num\u00E9rique ,  # for backwards compatibility only" },
+            { "AWT.separator", "Pav\u00E9 num\u00E9rique ," },
+            { "AWT.shift", "Maj" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Espace" },
+            { "AWT.stop", "Arr\u00EAter" },
+            { "AWT.subtract", "Pav\u00E9 num\u00E9rique -" },
+            { "AWT.tab", "Tab" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Tiret de soulignement" },
+            { "AWT.undo", "Annuler" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Haut" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "sur place" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "Finestra di immissione" },
+            { "AWT.CrosshairCursor", "Puntatore a croce" },
+            { "AWT.DefaultCursor", "Cursore predefinito" },
+            { "AWT.DefaultDragCursor", "Cursore di trascinamento predefinito" },
+            { "AWT.DefaultDropCursor", "Cursore di rilasciamento predefinito" },
+            { "AWT.DefaultNoDropCursor", "Cursore NoDrag predefinito" },
+            { "AWT.EResizeCursor", "Cursore di ridimensionamento orientale" },
+            { "AWT.HandCursor", "Cursore mano" },
+            { "AWT.HostInputMethodDisplayName", "Metodi di immissione di sistema" },
+            { "AWT.InconsistentDLLsWarning", "Le operazioni sul testo possono non funzionarecorrettamente, a causa di una serie non coerente di DLL installate sul sistema.Per ulteriori informazioni su questo problema e per la soluzione suggerita,vedere le note di rilascio di Java(TM) 2 SDK, Standard Edition su java.sun.com." },
+            { "AWT.InputMethodCreationFailed", "Impossibile creare {0}.  Motivo: {1}" },
+            { "AWT.InputMethodLanguage.ja", "Giapponese" },
+            { "AWT.InputMethodLanguage.ko", "Coreano" },
+            { "AWT.InputMethodLanguage.zh", "Cinese" },
+            { "AWT.InputMethodLanguage.zh_CN", "Cinese semplificato" },
+            { "AWT.InputMethodLanguage.zh_TW", "Cinese tradizionale" },
+            { "AWT.InputMethodSelectionMenu", "Seleziona metodo di immissione" },
+            { "AWT.Less", "Minore" },
+            { "AWT.MoveCursor", "Sposta cursore" },
+            { "AWT.NEResizeCursor", "Cursore di ridimensionamento nordorientale" },
+            { "AWT.NResizeCursor", "Cursore di ridimensionamento settentrionale" },
+            { "AWT.NWResizeCursor", "Cursore di ridimensionamento nordoccidentale" },
+            { "AWT.SEResizeCursor", "Cursore di ridimensionamento sudorientale" },
+            { "AWT.SResizeCursor", "Cursore di ridimensionamento meridionale" },
+            { "AWT.SWResizeCursor", "Cursore di ridimensionamento sudoccidentale" },
+            { "AWT.TextCursor", "Cursore testo" },
+            { "AWT.WResizeCursor", "Cursore di ridimensionamento occidentale" },
+            { "AWT.WaitCursor", "Cursore attesa" },
+            { "AWT.accept", "Accetta" },
+            { "AWT.add", "TastNum +" },
+            { "AWT.again", "Ancora" },
+            { "AWT.allCandidates", "Tutti i candidati" },
+            { "AWT.alphanumeric", "Alfanumerico" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Gr" },
+            { "AWT.ampersand", "E commerciale" },
+            { "AWT.asterisk", "Asterisco" },
+            { "AWT.at", "Chiocciola" },
+            { "AWT.backQuote", "Virgolette invertite" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backspace" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Parentesi graffa aperta" },
+            { "AWT.braceRight", "Parentesi graffa chiusa" },
+            { "AWT.cancel", "Annulla" },
+            { "AWT.capsLock", "Bloc Maiusc" },
+            { "AWT.circumflex", "Circonflesso" },
+            { "AWT.clear", "Cancella" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Immissione codice" },
+            { "AWT.colon", "Due punti" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Componi" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Converti" },
+            { "AWT.copy", "Copia" },
+            { "AWT.cut", "Taglia" },
+            { "AWT.deadAboveDot", "Punto superiore non attivo" },
+            { "AWT.deadAboveRing", "Cerchio superiore non attivo" },
+            { "AWT.deadAcute", "Acuto non attivo" },
+            { "AWT.deadBreve", "Breve non attivo" },
+            { "AWT.deadCaron", "Caron non attivo" },
+            { "AWT.deadCedilla", "Cediglia non attivo" },
+            { "AWT.deadCircumflex", "Circonflesso non attivo" },
+            { "AWT.deadDiaeresis", "Dieresi non attivo" },
+            { "AWT.deadDoubleAcute", "Acuto doppio non attivo" },
+            { "AWT.deadGrave", "Grave non attivo" },
+            { "AWT.deadIota", "Iota non attivo" },
+            { "AWT.deadMacron", "Macron non attivo" },
+            { "AWT.deadOgonek", "Ogonek non attivo" },
+            { "AWT.deadSemivoicedSound", "Suono semivocalizzato non attivo" },
+            { "AWT.deadTilde", "Tilde non attivo" },
+            { "AWT.deadVoicedSound", "Suono vocalizzato non attivo" },
+            { "AWT.decimal", "TastNum ." },
+            { "AWT.delete", "Elimina" },
+            { "AWT.divide", "TastNum /" },
+            { "AWT.dollar", "Dollaro" },
+            { "AWT.down", "Gi\u00F9" },
+            { "AWT.end", "Fine" },
+            { "AWT.enter", "Invio" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Esc" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Punto esclamativo" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Finale" },
+            { "AWT.find", "Trova" },
+            { "AWT.fullWidth", "Spessore pieno" },
+            { "AWT.greater", "Maggiore" },
+            { "AWT.halfWidth", "Spessore ridotto" },
+            { "AWT.help", "?" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "Metodo immissione On/Off" },
+            { "AWT.insert", "Ins" },
+            { "AWT.invertedExclamationMark", "Punto esclamativo invertito" },
+            { "AWT.japaneseHiragana", "Hiragana giapponese" },
+            { "AWT.japaneseKatakana", "Katakana giapponese" },
+            { "AWT.japaneseRoman", "Romano Giapponese" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Blocco Kana" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Sinistra" },
+            { "AWT.leftParenthesis", "Parentesi aperta" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Meno" },
+            { "AWT.modechange", "Cambia modalit\u00E0" },
+            { "AWT.multiply", "TastNum *" },
+            { "AWT.noconvert", "Non convertire" },
+            { "AWT.numLock", "Bloc Num" },
+            { "AWT.numberSign", "Cancelletto" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Incolla" },
+            { "AWT.pause", "Pausa" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Pg Gi\u00F9" },
+            { "AWT.pgup", "Pg Su" },
+            { "AWT.plus", "Pi\u00F9" },
+            { "AWT.previousCandidate", "Candidato precedente" },
+            { "AWT.printScreen", "Stamp" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Virgolette" },
+            { "AWT.quoteDbl", "Virgolette doppie" },
+            { "AWT.right", "Destra" },
+            { "AWT.rightParenthesis", "Parentesi chiusa" },
+            { "AWT.romanCharacters", "Caratteri romani" },
+            { "AWT.scrollLock", "Bloc Scorr" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "TastNum ," },
+            { "AWT.separator", "TastNum ," },
+            { "AWT.shift", "Maiusc" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Barra spaziatrice" },
+            { "AWT.stop", "Interrompi caricamento pagina" },
+            { "AWT.subtract", "TastNum -" },
+            { "AWT.tab", "Tabulazione" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Sottolineatura" },
+            { "AWT.undo", "Annulla" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Su" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "immediato" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "\u5165\u529B\u30A6\u30A3\u30F3\u30C9\u30A6" },
+            { "AWT.CrosshairCursor", "Crosshair Cursor" },
+            { "AWT.DefaultCursor", "Default Cursor" },
+            { "AWT.DefaultDragCursor", "Default Drag Cursor" },
+            { "AWT.DefaultDropCursor", "Default Drop Cursor" },
+            { "AWT.DefaultNoDropCursor", "Default NoDrag Cursor" },
+            { "AWT.EResizeCursor", "East Resize Cursor" },
+            { "AWT.HandCursor", "Hand Cursor" },
+            { "AWT.HostInputMethodDisplayName", "\u30B7\u30B9\u30C6\u30E0\u30A4\u30F3\u30D7\u30C3\u30C8\u30E1\u30BD\u30C3\u30C9" },
+            { "AWT.InconsistentDLLsWarning", "\u30B7\u30B9\u30C6\u30E0\u306B\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3055\u308C\u3066\u3044\u308B\u4E00\u9023\u306E\u30C0\u30A4\u30CA\u30DF\u30C3\u30AF\u30EA\u30F3\u30AF\u30E9\u30A4\u30D6\u30E9\u30EA (DLL) \u306B\u77DB\u76FE\u304C\u3042\u308B\u305F\u3081\u3001\u30C6\u30AD\u30B9\u30C8\u30D9\u30FC\u30B9\u306E\u64CD\u4F5C\u304C\u6B63\u3057\u304F\u52D5\u4F5C\u3057\u307E\u305B\u3093\u3002\u3053\u306E\u554F\u984C\u306E\u8A73\u7D30\u3068\u56DE\u907F\u7B56\u306F\u3001java.sun.com \u4E0A\u306B\u3042\u308B Java(TM) 2 SDK, Standard Edition \u306E\u30EA\u30EA\u30FC\u30B9\u30CE\u30FC\u30C8\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "AWT.InputMethodCreationFailed", "{0} \u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002 \u7406\u7531: {1}" },
+            { "AWT.InputMethodLanguage.ja", "\u65E5\u672C\u8A9E" },
+            { "AWT.InputMethodLanguage.ko", "\u97D3\u56FD\u8A9E" },
+            { "AWT.InputMethodLanguage.zh", "\u4E2D\u56FD\u8A9E" },
+            { "AWT.InputMethodLanguage.zh_CN", "\u4E2D\u56FD\u8A9E\uFF08\u7C21\u4F53\u5B57\uFF09" },
+            { "AWT.InputMethodLanguage.zh_TW", "\u4E2D\u56FD\u8A9E\uFF08\u7E41\u4F53\u5B57\uFF09" },
+            { "AWT.InputMethodSelectionMenu", "\u30A4\u30F3\u30D7\u30C3\u30C8\u30E1\u30BD\u30C3\u30C9\u306E\u5207\u66FF\u3048" },
+            { "AWT.Less", "Less" },
+            { "AWT.MoveCursor", "Move Cursor" },
+            { "AWT.NEResizeCursor", "Northeast Resize Cursor" },
+            { "AWT.NResizeCursor", "North Resize Cursor" },
+            { "AWT.NWResizeCursor", "Northwest Resize Cursor" },
+            { "AWT.SEResizeCursor", "Southeast Resize Cursor" },
+            { "AWT.SResizeCursor", "South Resize Cursor" },
+            { "AWT.SWResizeCursor", "Southwest Resize Cursor" },
+            { "AWT.TextCursor", "Text Cursor" },
+            { "AWT.WResizeCursor", "West Resize Cursor" },
+            { "AWT.WaitCursor", "Wait Cursor" },
+            { "AWT.accept", "\u78BA\u5B9A" },
+            { "AWT.add", "NumPad +" },
+            { "AWT.again", "Again" },
+            { "AWT.allCandidates", "\u5168\u5019\u88DC" },
+            { "AWT.alphanumeric", "\u82F1\u6570" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Graph" },
+            { "AWT.ampersand", "Ampersand" },
+            { "AWT.asterisk", "Asterisk" },
+            { "AWT.at", "At" },
+            { "AWT.backQuote", "Back Quote" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backspace" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Left Brace" },
+            { "AWT.braceRight", "Right Brace" },
+            { "AWT.cancel", "Cancel" },
+            { "AWT.capsLock", "Caps Lock" },
+            { "AWT.circumflex", "Circumflex" },
+            { "AWT.clear", "Clear" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "\u30B3\u30FC\u30C9\u5165\u529B" },
+            { "AWT.colon", "Colon" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Compose" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "\u5909\u63DB" },
+            { "AWT.copy", "Copy" },
+            { "AWT.cut", "Cut" },
+            { "AWT.deadAboveDot", "Dead Above Dot" },
+            { "AWT.deadAboveRing", "Dead Above Ring" },
+            { "AWT.deadAcute", "Dead Acute" },
+            { "AWT.deadBreve", "Dead Breve" },
+            { "AWT.deadCaron", "Dead Caron" },
+            { "AWT.deadCedilla", "Dead Cedilla" },
+            { "AWT.deadCircumflex", "Dead Circumflex" },
+            { "AWT.deadDiaeresis", "Dead Diaeresis" },
+            { "AWT.deadDoubleAcute", "Dead Double Acute" },
+            { "AWT.deadGrave", "Dead Grave" },
+            { "AWT.deadIota", "Dead Iota" },
+            { "AWT.deadMacron", "Dead Macron" },
+            { "AWT.deadOgonek", "Dead Ogonek" },
+            { "AWT.deadSemivoicedSound", "Dead Semivoiced Sound" },
+            { "AWT.deadTilde", "Dead Tilde" },
+            { "AWT.deadVoicedSound", "Dead Voiced Sound" },
+            { "AWT.decimal", "NumPad ." },
+            { "AWT.delete", "Delete" },
+            { "AWT.divide", "NumPad /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Down" },
+            { "AWT.end", "End" },
+            { "AWT.enter", "Enter" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Escape" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Exclamation Mark" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "Find" },
+            { "AWT.fullWidth", "\u5168\u89D2" },
+            { "AWT.greater", "Greater" },
+            { "AWT.halfWidth", "\u534A\u89D2" },
+            { "AWT.help", "Help" },
+            { "AWT.hiragana", "\u3072\u3089\u304C\u306A" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "\u5165\u529B\u30E1\u30BD\u30C3\u30C9 On-Off" },
+            { "AWT.insert", "Insert" },
+            { "AWT.invertedExclamationMark", "Inverted Exclamation Mark" },
+            { "AWT.japaneseHiragana", "Japanese Hiragana" },
+            { "AWT.japaneseKatakana", "Japanese Katakana" },
+            { "AWT.japaneseRoman", "Japanese Roman" },
+            { "AWT.kana", "\u304B\u306A" },
+            { "AWT.kanaLock", "\u30AB\u30CA\u30ED\u30C3\u30AF" },
+            { "AWT.kanji", "\u6F22\u5B57" },
+            { "AWT.katakana", "\u30AB\u30BF\u30AB\u30CA" },
+            { "AWT.left", "Left" },
+            { "AWT.leftParenthesis", "Left Parenthesis" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "\u65E5\u672C\u8A9E On-Off" },
+            { "AWT.multiply", "NumPad *" },
+            { "AWT.noconvert", "\u7121\u5909\u63DB" },
+            { "AWT.numLock", "Num Lock" },
+            { "AWT.numberSign", "Number Sign" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Paste" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page Down" },
+            { "AWT.pgup", "Page Up" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "\u524D\u5019\u88DC" },
+            { "AWT.printScreen", "Print Screen" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Quote" },
+            { "AWT.quoteDbl", "Double Quote" },
+            { "AWT.right", "Right" },
+            { "AWT.rightParenthesis", "Right Parenthesis" },
+            { "AWT.romanCharacters", "\u30ED\u30FC\u30DE\u5B57" },
+            { "AWT.scrollLock", "Scroll Lock" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "NumPad ," },
+            { "AWT.separator", "NumPad ," },
+            { "AWT.shift", "Shift" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Space" },
+            { "AWT.stop", "Stop" },
+            { "AWT.subtract", "NumPad -" },
+            { "AWT.tab", "Tab" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Underscore" },
+            { "AWT.undo", "Undo" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Up" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "on-the-spot" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "\uC785\uB825 \uCC3D" },
+            { "AWT.CrosshairCursor", "\uC2ED\uC790 \uCEE4\uC11C" },
+            { "AWT.DefaultCursor", "\uAE30\uBCF8 \uCEE4\uC11C" },
+            { "AWT.DefaultDragCursor", "\uAE30\uBCF8 \uB04C\uAE30 \uCEE4\uC11C" },
+            { "AWT.DefaultDropCursor", "\uAE30\uBCF8 \uB193\uAE30 \uCEE4\uC11C" },
+            { "AWT.DefaultNoDropCursor", "\uAE30\uBCF8 \uB04C\uC9C0 \uC54A\uC74C \uCEE4\uC11C" },
+            { "AWT.EResizeCursor", "\uB3D9\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.HandCursor", "\uC190 \uCEE4\uC11C" },
+            { "AWT.HostInputMethodDisplayName", "\uC2DC\uC2A4\uD15C \uC785\uB825 \uBC29\uBC95" },
+            { "AWT.InconsistentDLLsWarning", "\uC2DC\uC2A4\uD15C\uC5D0 \uC124\uCE58\uB41C DLL(dynamic linking libraries) \uC138\uD2B8\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC73C\uBBC0\uB85C \uC791\uC5C5\uC5D0 \uAE30\uCD08\uD55C \uD14D\uC2A4\uD2B8\uAC00 \uC62C\uBC14\uB974\uAC8C \uC791\uB3D9\uD558\uC9C0 \uC54A\uC744 \uC218\uB3C4 \uC788\uC2B5\uB2C8\uB2E4. \uC774 \uBB38\uC81C\uC5D0 \uB300\uD55C \uB354 \uC790\uC138\uD55C \uC815\uBCF4\uC640 \uC81C\uC548\uB41C \uD574\uACB0 \uBC29\uBC95\uC740 java.sun.com\uC758 Java(TM) 2 SDK, Standard Edition Release Notes\uB97C \uCC38\uC870\uD558\uC2ED\uC2DC\uC624." },
+            { "AWT.InputMethodCreationFailed", "{0}\uC744(\uB97C) \uC791\uC131\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.  \uC774\uC720: {1}" },
+            { "AWT.InputMethodLanguage.ja", "\uC77C\uBCF8\uC5B4" },
+            { "AWT.InputMethodLanguage.ko", "\uD55C\uAD6D\uC5B4" },
+            { "AWT.InputMethodLanguage.zh", "\uC911\uAD6D\uC5B4" },
+            { "AWT.InputMethodLanguage.zh_CN", "\uC911\uAD6D\uC5B4 \uAC04\uCCB4" },
+            { "AWT.InputMethodLanguage.zh_TW", "\uC911\uAD6D\uC5B4 \uBC88\uCCB4" },
+            { "AWT.InputMethodSelectionMenu", "\uC785\uB825 \uBC29\uBC95 \uC120\uD0DD" },
+            { "AWT.Less", "Less" },
+            { "AWT.MoveCursor", "\uC774\uB3D9 \uCEE4\uC11C" },
+            { "AWT.NEResizeCursor", "\uBD81\uB3D9 \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.NResizeCursor", "\uBD81\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.NWResizeCursor", "\uBD81\uC11C \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.SEResizeCursor", "\uB0A8\uB3D9 \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.SResizeCursor", "\uB0A8\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.SWResizeCursor", "\uB0A8\uC11C \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.TextCursor", "\uD14D\uC2A4\uD2B8 \uCEE4\uC11C" },
+            { "AWT.WResizeCursor", "\uC11C\uCABD \uBC29\uD5A5 \uD06C\uAE30 \uC870\uC815 \uCEE4\uC11C" },
+            { "AWT.WaitCursor", "\uB300\uAE30 \uCEE4\uC11C" },
+            { "AWT.accept", "\uC801\uC6A9" },
+            { "AWT.add", "NumPad +" },
+            { "AWT.again", "\uB2E4\uC2DC" },
+            { "AWT.allCandidates", "\uBAA8\uB4E0 \uD6C4\uBCF4" },
+            { "AWT.alphanumeric", "\uC601\uC22B\uC790" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Graph" },
+            { "AWT.ampersand", "Ampersand" },
+            { "AWT.asterisk", "Asterisk" },
+            { "AWT.at", "At" },
+            { "AWT.backQuote", "Back Quote" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backspace" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Left Brace" },
+            { "AWT.braceRight", "Right Brace" },
+            { "AWT.cancel", "Cancel" },
+            { "AWT.capsLock", "Caps Lock" },
+            { "AWT.circumflex", "Circumflex" },
+            { "AWT.clear", "Clear" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "\uCF54\uB4DC \uC785\uB825" },
+            { "AWT.colon", "Colon" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "\uAD6C\uC131" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "\uBCC0\uD658" },
+            { "AWT.copy", "\uBCF5\uC0AC" },
+            { "AWT.cut", "\uC798\uB77C\uB0B4\uAE30" },
+            { "AWT.deadAboveDot", "Dead Above Dot" },
+            { "AWT.deadAboveRing", "Dead Above Ring" },
+            { "AWT.deadAcute", "Dead Acute" },
+            { "AWT.deadBreve", "Dead Breve" },
+            { "AWT.deadCaron", "Dead Caron" },
+            { "AWT.deadCedilla", "Dead Cedilla" },
+            { "AWT.deadCircumflex", "Dead Circumflex" },
+            { "AWT.deadDiaeresis", "Dead Diaeresis" },
+            { "AWT.deadDoubleAcute", "Dead Double Acute" },
+            { "AWT.deadGrave", "Dead Grave" },
+            { "AWT.deadIota", "Dead Iota" },
+            { "AWT.deadMacron", "Dead Macron" },
+            { "AWT.deadOgonek", "Dead Ogonek" },
+            { "AWT.deadSemivoicedSound", "Dead Semivoiced Sound" },
+            { "AWT.deadTilde", "Dead Tilde" },
+            { "AWT.deadVoicedSound", "Dead Voiced Sound" },
+            { "AWT.decimal", "NumPad ." },
+            { "AWT.delete", "Delete" },
+            { "AWT.divide", "NumPad /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Down" },
+            { "AWT.end", "End" },
+            { "AWT.enter", "Enter" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Escape" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Exclamation Mark" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "\uCC3E\uAE30" },
+            { "AWT.fullWidth", "Full-Width" },
+            { "AWT.greater", "Greater" },
+            { "AWT.halfWidth", "Half-Width" },
+            { "AWT.help", "Help" },
+            { "AWT.hiragana", "\uD788\uB77C\uAC00\uB098" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "\uC785\uB825 \uBA54\uC18C\uB4DC \uCF2C/\uB054" },
+            { "AWT.insert", "Insert" },
+            { "AWT.invertedExclamationMark", "Inverted Exclamation Mark" },
+            { "AWT.japaneseHiragana", "\uC77C\uBCF8\uC5B4 \uD788\uB77C\uAC00\uB098" },
+            { "AWT.japaneseKatakana", "\uC77C\uBCF8\uC5B4 \uAC00\uD0C0\uCE74\uB098" },
+            { "AWT.japaneseRoman", "\uC77C\uBCF8\uC5B4 \uB85C\uB9C8 \uBB38\uC790" },
+            { "AWT.kana", "\uAC00\uB098" },
+            { "AWT.kanaLock", "\uAC00\uB098 \uC7A0\uAE08" },
+            { "AWT.kanji", "\uAC04\uC9C0" },
+            { "AWT.katakana", "\uAC00\uD0C0\uCE74\uB098" },
+            { "AWT.left", "Left" },
+            { "AWT.leftParenthesis", "Left Parenthesis" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "\uBAA8\uB4DC \uBCC0\uACBD" },
+            { "AWT.multiply", "NumPad *" },
+            { "AWT.noconvert", "\uBCC0\uD658 \uC548\uD568" },
+            { "AWT.numLock", "Num Lock" },
+            { "AWT.numberSign", "Number Sign" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "\uBD99\uC5EC\uB123\uAE30" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page Down" },
+            { "AWT.pgup", "Page Up" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "\uC774\uC804 \uD6C4\uBCF4" },
+            { "AWT.printScreen", "Print Screen" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Quote" },
+            { "AWT.quoteDbl", "Double Quote" },
+            { "AWT.right", "Right" },
+            { "AWT.rightParenthesis", "Right Parenthesis" },
+            { "AWT.romanCharacters", "\uB85C\uB9C8 \uBB38\uC790" },
+            { "AWT.scrollLock", "Scroll Lock" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "NumPad ," },
+            { "AWT.separator", "NumPad ," },
+            { "AWT.shift", "Shift" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Space" },
+            { "AWT.stop", "\uC815\uC9C0" },
+            { "AWT.subtract", "NumPad -" },
+            { "AWT.tab", "Tab" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Underscore" },
+            { "AWT.undo", "\uC2E4\uD589 \uCDE8\uC18C" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Up" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "on-the-spot" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "Inmatningsf\u00F6nster" },
+            { "AWT.CrosshairCursor", "H\u00E5rkorsmark\u00F6r" },
+            { "AWT.DefaultCursor", "Standardmark\u00F6r" },
+            { "AWT.DefaultDragCursor", "Standarddragmark\u00F6r" },
+            { "AWT.DefaultDropCursor", "Standardsl\u00E4ppmark\u00F6r" },
+            { "AWT.DefaultNoDropCursor", "Standardmark\u00F6r (ej drag)" },
+            { "AWT.EResizeCursor", "East Resize Cursor" },
+            { "AWT.HandCursor", "Handmark\u00F6r" },
+            { "AWT.HostInputMethodDisplayName", "Systemindatametoder" },
+            { "AWT.InconsistentDLLsWarning", "Det \u00E4r m\u00F6jligt att textbaserade operationer inte fungerar korrekt p\u00E5 grund av inkonsekvent m\u00E4ngd av dynamiskt l\u00E4nkade bibliotek (DLL) som \u00E4r installerade p\u00E5 ditt system. F\u00F6r mer information om detta problem och en ett f\u00F6reslaget s\u00E4tt att arbeta runt det se Java(TM) 2 SDK, Standard Edition Release Notes p\u00E5 java.sun.com." },
+            { "AWT.InputMethodCreationFailed", "Kan inte skapa {0}.  Orsak: {1}" },
+            { "AWT.InputMethodLanguage.ja", "japanska" },
+            { "AWT.InputMethodLanguage.ko", "koreanska" },
+            { "AWT.InputMethodLanguage.zh", "kinesiska" },
+            { "AWT.InputMethodLanguage.zh_CN", "f\u00F6renklad kinesiska" },
+            { "AWT.InputMethodLanguage.zh_TW", "traditionell kinesiska" },
+            { "AWT.InputMethodSelectionMenu", "V\u00E4lj indatametod" },
+            { "AWT.Less", "Mindre" },
+            { "AWT.MoveCursor", "Flyttningsmark\u00F6r" },
+            { "AWT.NEResizeCursor", "Northeast Resize Cursor" },
+            { "AWT.NResizeCursor", "North Resize Cursor" },
+            { "AWT.NWResizeCursor", "Northwest Resize Cursor" },
+            { "AWT.SEResizeCursor", "Southeast Resize Cursor" },
+            { "AWT.SResizeCursor", "South Resize Cursor" },
+            { "AWT.SWResizeCursor", "Southwest Resize Cursor" },
+            { "AWT.TextCursor", "Textmark\u00F6r" },
+            { "AWT.WResizeCursor", "West Resize Cursor" },
+            { "AWT.WaitCursor", "V\u00E4ntemark\u00F6r" },
+            { "AWT.accept", "Acceptera" },
+            { "AWT.add", "NUM +" },
+            { "AWT.again", "Upprepa" },
+            { "AWT.allCandidates", "Alla kandidater" },
+            { "AWT.alphanumeric", "Alfanumerisk" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Graph" },
+            { "AWT.ampersand", "Et-tecken" },
+            { "AWT.asterisk", "Asterisk" },
+            { "AWT.at", "Vid" },
+            { "AWT.backQuote", "V\u00E4nster citattecken" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backsteg" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Klammerparentes" },
+            { "AWT.braceRight", "H\u00F6ger klammerparentes" },
+            { "AWT.cancel", "Avbryt" },
+            { "AWT.capsLock", "Caps Lock" },
+            { "AWT.circumflex", "Cirkumflex" },
+            { "AWT.clear", "Ta bort" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Kodindata" },
+            { "AWT.colon", "Kolon" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Skriv" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Konvertera" },
+            { "AWT.copy", "Kopiera" },
+            { "AWT.cut", "Klipp ut" },
+            { "AWT.deadAboveDot", "Dead Above Dot" },
+            { "AWT.deadAboveRing", "Dead Above Ring" },
+            { "AWT.deadAcute", "Dead Acute" },
+            { "AWT.deadBreve", "Dead Breve" },
+            { "AWT.deadCaron", "Dead Caron" },
+            { "AWT.deadCedilla", "Dead Cedilla" },
+            { "AWT.deadCircumflex", "Dead Circumflex" },
+            { "AWT.deadDiaeresis", "Dead Diaeresis" },
+            { "AWT.deadDoubleAcute", "Dead Double Acute" },
+            { "AWT.deadGrave", "Dead Grave" },
+            { "AWT.deadIota", "Dead Iota" },
+            { "AWT.deadMacron", "Dead Macron" },
+            { "AWT.deadOgonek", "Dead Ogonek" },
+            { "AWT.deadSemivoicedSound", "Dead Semivoiced Sound" },
+            { "AWT.deadTilde", "Dead Tilde" },
+            { "AWT.deadVoicedSound", "Dead Voiced Sound" },
+            { "AWT.decimal", "NUM ." },
+            { "AWT.delete", "Delete" },
+            { "AWT.divide", "NUM /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Ned\u00E5tpil" },
+            { "AWT.end", "End" },
+            { "AWT.enter", "Enter" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Esc" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Utropstecken" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Slutgiltig" },
+            { "AWT.find", "S\u00F6k" },
+            { "AWT.fullWidth", "Maximal bredd" },
+            { "AWT.greater", "St\u00F6rre" },
+            { "AWT.halfWidth", "Halv bredd" },
+            { "AWT.help", "Hj\u00E4lp" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "Indatametod p\u00E5/av" },
+            { "AWT.insert", "Insert" },
+            { "AWT.invertedExclamationMark", "Inverterat utropstecken" },
+            { "AWT.japaneseHiragana", "Japansk Hiragana" },
+            { "AWT.japaneseKatakana", "Japansk Katakana" },
+            { "AWT.japaneseRoman", "Japansk rak" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Kana-l\u00E5s" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "V\u00E4nsterpil" },
+            { "AWT.leftParenthesis", "V\u00E4nsterparentes" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "\u00C4ndring av l\u00E4ge" },
+            { "AWT.multiply", "NUM *" },
+            { "AWT.noconvert", "Ingen konvertering" },
+            { "AWT.numLock", "Num Lock" },
+            { "AWT.numberSign", "Nummertecken" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Klistra in" },
+            { "AWT.pause", "Paus" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page Down" },
+            { "AWT.pgup", "Page Up" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "F\u00F6reg\u00E5ende kandidat" },
+            { "AWT.printScreen", "Print Screen" },
+            { "AWT.props", "Egenskaper" },
+            { "AWT.quote", "Citattecken" },
+            { "AWT.quoteDbl", "Dubbelt citattecken" },
+            { "AWT.right", "H\u00F6gerpil" },
+            { "AWT.rightParenthesis", "H\u00F6gerparentes" },
+            { "AWT.romanCharacters", "Raka tecken" },
+            { "AWT.scrollLock", "Scroll Lock" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "NUM ," },
+            { "AWT.separator", "NUM ," },
+            { "AWT.shift", "Skift" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Mellanslag" },
+            { "AWT.stop", "Stopp" },
+            { "AWT.subtract", "NUM -" },
+            { "AWT.tab", "Tabb" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Understrykning" },
+            { "AWT.undo", "\u00C5ngra" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Upp\u00E5tpil" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "p\u00E5 st\u00E4llet" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "\u8F93\u5165\u7A97\u53E3" },
+            { "AWT.CrosshairCursor", "Crosshair Cursor" },
+            { "AWT.DefaultCursor", "Default Cursor" },
+            { "AWT.DefaultDragCursor", "Default Drag Cursor" },
+            { "AWT.DefaultDropCursor", "Default Drop Cursor" },
+            { "AWT.DefaultNoDropCursor", "Default NoDrag Cursor" },
+            { "AWT.EResizeCursor", "East Resize Cursor" },
+            { "AWT.HandCursor", "Hand Cursor" },
+            { "AWT.HostInputMethodDisplayName", "\u7CFB\u7EDF\u8F93\u5165\u6CD5" },
+            { "AWT.InconsistentDLLsWarning", "\u57FA\u4E8E\u6587\u672C\u7684\u64CD\u4F5C\u53EF\u80FD\u4E0D\u80FD\u6B63\u5E38\u8FD0\u884C \u56E0\u4E3A\u7CFB\u7EDF\u4E0A\u5B89\u88C5\u4E86\u4E00\u5957\u4E0D\u4E00\u81F4\u7684\u52A8\u6001\u94FE\u63A5\u5E93 (DLLs) \u3002 \u6709\u5173\u6B64\u95EE\u9898\u7684\u66F4\u591A\u4FE1\u606F\u548C\u5EFA\u8BAE\u7684\u89E3\u51B3\u65B9\u6848 \u8BF7\u53C2\u89C1 java.sun.com \u7F51\u7AD9\u4E0A\u7684 Java(TM) 2 SDK, Standard Edition \u53D1\u884C\u8BF4\u660E\u3002" },
+            { "AWT.InputMethodCreationFailed", "\u4E0D\u80FD\u521B\u5EFA {0}\u3002\u539F\u56E0\uFF1A{1}" },
+            { "AWT.InputMethodLanguage.ja", "\u65E5\u6587" },
+            { "AWT.InputMethodLanguage.ko", "\u97E9\u6587" },
+            { "AWT.InputMethodLanguage.zh", "\u4E2D\u6587" },
+            { "AWT.InputMethodLanguage.zh_CN", "\u7B80\u4F53\u4E2D\u6587" },
+            { "AWT.InputMethodLanguage.zh_TW", "\u7E41\u4F53\u4E2D\u6587" },
+            { "AWT.InputMethodSelectionMenu", "\u9009\u62E9\u8F93\u5165\u7A97\u53E3" },
+            { "AWT.Less", "Less" },
+            { "AWT.MoveCursor", "Move Cursor" },
+            { "AWT.NEResizeCursor", "Northeast Resize Cursor" },
+            { "AWT.NResizeCursor", "North Resize Cursor" },
+            { "AWT.NWResizeCursor", "Northwest Resize Cursor" },
+            { "AWT.SEResizeCursor", "Southeast Resize Cursor" },
+            { "AWT.SResizeCursor", "South Resize Cursor" },
+            { "AWT.SWResizeCursor", "Southwest Resize Cursor" },
+            { "AWT.TextCursor", "Text Cursor" },
+            { "AWT.WResizeCursor", "West Resize Cursor" },
+            { "AWT.WaitCursor", "Wait Cursor" },
+            { "AWT.accept", "Accept" },
+            { "AWT.add", "NumPad +" },
+            { "AWT.again", "Again" },
+            { "AWT.allCandidates", "All Candidates" },
+            { "AWT.alphanumeric", "Alphanumeric" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Graph" },
+            { "AWT.ampersand", "Ampersand" },
+            { "AWT.asterisk", "Asterisk" },
+            { "AWT.at", "At" },
+            { "AWT.backQuote", "Back Quote" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backspace" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Left Brace" },
+            { "AWT.braceRight", "Right Brace" },
+            { "AWT.cancel", "Cancel" },
+            { "AWT.capsLock", "Caps Lock" },
+            { "AWT.circumflex", "Circumflex" },
+            { "AWT.clear", "Clear" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Code Input" },
+            { "AWT.colon", "Colon" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Compose" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Convert" },
+            { "AWT.copy", "Copy" },
+            { "AWT.cut", "Cut" },
+            { "AWT.deadAboveDot", "Dead Above Dot" },
+            { "AWT.deadAboveRing", "Dead Above Ring" },
+            { "AWT.deadAcute", "Dead Acute" },
+            { "AWT.deadBreve", "Dead Breve" },
+            { "AWT.deadCaron", "Dead Caron" },
+            { "AWT.deadCedilla", "Dead Cedilla" },
+            { "AWT.deadCircumflex", "Dead Circumflex" },
+            { "AWT.deadDiaeresis", "Dead Diaeresis" },
+            { "AWT.deadDoubleAcute", "Dead Double Acute" },
+            { "AWT.deadGrave", "Dead Grave" },
+            { "AWT.deadIota", "Dead Iota" },
+            { "AWT.deadMacron", "Dead Macron" },
+            { "AWT.deadOgonek", "Dead Ogonek" },
+            { "AWT.deadSemivoicedSound", "Dead Semivoiced Sound" },
+            { "AWT.deadTilde", "Dead Tilde" },
+            { "AWT.deadVoicedSound", "Dead Voiced Sound" },
+            { "AWT.decimal", "NumPad ." },
+            { "AWT.delete", "Delete" },
+            { "AWT.divide", "NumPad /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Down" },
+            { "AWT.end", "End" },
+            { "AWT.enter", "Enter" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Escape" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Exclamation Mark" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "Find" },
+            { "AWT.fullWidth", "Full-Width" },
+            { "AWT.greater", "Greater" },
+            { "AWT.halfWidth", "Half-Width" },
+            { "AWT.help", "Help" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "Input Method On/Off" },
+            { "AWT.insert", "Insert" },
+            { "AWT.invertedExclamationMark", "Inverted Exclamation Mark" },
+            { "AWT.japaneseHiragana", "Japanese Hiragana" },
+            { "AWT.japaneseKatakana", "Japanese Katakana" },
+            { "AWT.japaneseRoman", "Japanese Roman" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Kana Lock" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Left" },
+            { "AWT.leftParenthesis", "Left Parenthesis" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "Mode Change" },
+            { "AWT.multiply", "NumPad *" },
+            { "AWT.noconvert", "No Convert" },
+            { "AWT.numLock", "Num Lock" },
+            { "AWT.numberSign", "Number Sign" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Paste" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page Down" },
+            { "AWT.pgup", "Page Up" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "Previous Candidate" },
+            { "AWT.printScreen", "Print Screen" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Quote" },
+            { "AWT.quoteDbl", "Double Quote" },
+            { "AWT.right", "Right" },
+            { "AWT.rightParenthesis", "Right Parenthesis" },
+            { "AWT.romanCharacters", "Roman Characters" },
+            { "AWT.scrollLock", "Scroll Lock" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "NumPad ," },
+            { "AWT.separator", "NumPad ," },
+            { "AWT.shift", "Shift" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Space" },
+            { "AWT.stop", "Stop" },
+            { "AWT.subtract", "NumPad -" },
+            { "AWT.tab", "Tab" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Underscore" },
+            { "AWT.undo", "Undo" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Up" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "below-the-spot" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "\u8F38\u5165\u8996\u7A97" },
+            { "AWT.CrosshairCursor", "Crosshair Cursor" },
+            { "AWT.DefaultCursor", "Default Cursor" },
+            { "AWT.DefaultDragCursor", "Default Drag Cursor" },
+            { "AWT.DefaultDropCursor", "Default Drop Cursor" },
+            { "AWT.DefaultNoDropCursor", "Default NoDrag Cursor" },
+            { "AWT.EResizeCursor", "East Resize Cursor" },
+            { "AWT.HandCursor", "Hand Cursor" },
+            { "AWT.HostInputMethodDisplayName", "\u7CFB\u7D71\u8F38\u5165\u6CD5" },
+            { "AWT.InconsistentDLLsWarning", "\u4EE5\u6587\u5B57\u70BA\u57FA\u790E\u7684\u4F5C\u696D\u53EF\u80FD\u7121\u6CD5\u6B63\u78BA\u904B\u4F5C \u56E0\u70BA\u60A8\u7CFB\u7D71\u4E0A\u6709\u4E00\u7D44\u52D5\u614B\u9023\u7D50\u7A0B\u5F0F\u5EAB (DLL)\u4E0D\u4E00\u81F4\u3002\u82E5\u8981\u53D6\u5F97\u6709\u95DC\u6B64\u554F\u984C\u53CA\u5EFA\u8B70\u89E3\u6C7A\u65B9\u6CD5\u7684\u5176\u4ED6\u8CC7\u8A0A\uFF0C\u8ACB\u53C3\u95B1 java.sun.com \u7DB2\u7AD9\u4E0A\u7684 Java(TM) 2 SDK, Standard Edition Release Notes" },
+            { "AWT.InputMethodCreationFailed", "\u7121\u6CD5\u5EFA\u7ACB {0}\u3002\u539F\u56E0\uFF1A {1}" },
+            { "AWT.InputMethodLanguage.ja", "\u65E5\u6587" },
+            { "AWT.InputMethodLanguage.ko", "\u97D3\u6587" },
+            { "AWT.InputMethodLanguage.zh", "\u4E2D\u6587" },
+            { "AWT.InputMethodLanguage.zh_CN", "\u7C21\u9AD4\u4E2D\u6587" },
+            { "AWT.InputMethodLanguage.zh_TW", "\u7E41\u9AD4\u4E2D\u6587" },
+            { "AWT.InputMethodSelectionMenu", "\u9078\u64C7\u8F38\u5165\u6CD5" },
+            { "AWT.Less", "Less" },
+            { "AWT.MoveCursor", "Move Cursor" },
+            { "AWT.NEResizeCursor", "Northeast Resize Cursor" },
+            { "AWT.NResizeCursor", "North Resize Cursor" },
+            { "AWT.NWResizeCursor", "Northwest Resize Cursor" },
+            { "AWT.SEResizeCursor", "Southeast Resize Cursor" },
+            { "AWT.SResizeCursor", "South Resize Cursor" },
+            { "AWT.SWResizeCursor", "Southwest Resize Cursor" },
+            { "AWT.TextCursor", "Text Cursor" },
+            { "AWT.WResizeCursor", "West Resize Cursor" },
+            { "AWT.WaitCursor", "Wait Cursor" },
+            { "AWT.accept", "Accept" },
+            { "AWT.add", "NumPad +" },
+            { "AWT.again", "Again" },
+            { "AWT.allCandidates", "All Candidates" },
+            { "AWT.alphanumeric", "Alphanumeric" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Graph" },
+            { "AWT.ampersand", "Ampersand" },
+            { "AWT.asterisk", "Asterisk" },
+            { "AWT.at", "At" },
+            { "AWT.backQuote", "Back Quote" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backspace" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Left Brace" },
+            { "AWT.braceRight", "Right Brace" },
+            { "AWT.cancel", "Cancel" },
+            { "AWT.capsLock", "Caps Lock" },
+            { "AWT.circumflex", "Circumflex" },
+            { "AWT.clear", "Clear" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Code Input" },
+            { "AWT.colon", "Colon" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Compose" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Convert" },
+            { "AWT.copy", "Copy" },
+            { "AWT.cut", "Cut" },
+            { "AWT.deadAboveDot", "Dead Above Dot" },
+            { "AWT.deadAboveRing", "Dead Above Ring" },
+            { "AWT.deadAcute", "Dead Acute" },
+            { "AWT.deadBreve", "Dead Breve" },
+            { "AWT.deadCaron", "Dead Caron" },
+            { "AWT.deadCedilla", "Dead Cedilla" },
+            { "AWT.deadCircumflex", "Dead Circumflex" },
+            { "AWT.deadDiaeresis", "Dead Diaeresis" },
+            { "AWT.deadDoubleAcute", "Dead Double Acute" },
+            { "AWT.deadGrave", "Dead Grave" },
+            { "AWT.deadIota", "Dead Iota" },
+            { "AWT.deadMacron", "Dead Macron" },
+            { "AWT.deadOgonek", "Dead Ogonek" },
+            { "AWT.deadSemivoicedSound", "Dead Semivoiced Sound" },
+            { "AWT.deadTilde", "Dead Tilde" },
+            { "AWT.deadVoicedSound", "Dead Voiced Sound" },
+            { "AWT.decimal", "NumPad ." },
+            { "AWT.delete", "Delete" },
+            { "AWT.divide", "NumPad /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Down" },
+            { "AWT.end", "End" },
+            { "AWT.enter", "Enter" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Escape" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Exclamation Mark" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "Find" },
+            { "AWT.fullWidth", "Full-Width" },
+            { "AWT.greater", "Greater" },
+            { "AWT.halfWidth", "Half-Width" },
+            { "AWT.help", "Help" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "Input Method On/Off" },
+            { "AWT.insert", "Insert" },
+            { "AWT.invertedExclamationMark", "Inverted Exclamation Mark" },
+            { "AWT.japaneseHiragana", "Japanese Hiragana" },
+            { "AWT.japaneseKatakana", "Japanese Katakana" },
+            { "AWT.japaneseRoman", "Japanese Roman" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Kana Lock" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Left" },
+            { "AWT.leftParenthesis", "Left Parenthesis" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "Mode Change" },
+            { "AWT.multiply", "NumPad *" },
+            { "AWT.noconvert", "No Convert" },
+            { "AWT.numLock", "Num Lock" },
+            { "AWT.numberSign", "Number Sign" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Paste" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page Down" },
+            { "AWT.pgup", "Page Up" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "Previous Candidate" },
+            { "AWT.printScreen", "Print Screen" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Quote" },
+            { "AWT.quoteDbl", "Double Quote" },
+            { "AWT.right", "Right" },
+            { "AWT.rightParenthesis", "Right Parenthesis" },
+            { "AWT.romanCharacters", "Roman Characters" },
+            { "AWT.scrollLock", "Scroll Lock" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "NumPad ," },
+            { "AWT.separator", "NumPad ," },
+            { "AWT.shift", "Shift" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Space" },
+            { "AWT.stop", "Stop" },
+            { "AWT.subtract", "NumPad -" },
+            { "AWT.tab", "Tab" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Underscore" },
+            { "AWT.undo", "Undo" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Up" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "on-the-spot" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/awt/resources/awt_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+package sun.awt.resources;
+
+import java.util.ListResourceBundle;
+
+public final class awt_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "AWT.CompositionWindowTitle", "\u8F38\u5165\u8996\u7A97" },
+            { "AWT.CrosshairCursor", "Crosshair Cursor" },
+            { "AWT.DefaultCursor", "Default Cursor" },
+            { "AWT.DefaultDragCursor", "Default Drag Cursor" },
+            { "AWT.DefaultDropCursor", "Default Drop Cursor" },
+            { "AWT.DefaultNoDropCursor", "Default NoDrag Cursor" },
+            { "AWT.EResizeCursor", "East Resize Cursor" },
+            { "AWT.HandCursor", "Hand Cursor" },
+            { "AWT.HostInputMethodDisplayName", "\u7CFB\u7D71\u8F38\u5165\u6CD5" },
+            { "AWT.InconsistentDLLsWarning", "\u4EE5\u6587\u5B57\u70BA\u57FA\u790E\u7684\u4F5C\u696D\u53EF\u80FD\u7121\u6CD5\u6B63\u78BA\u904B\u4F5C \u56E0\u70BA\u60A8\u7CFB\u7D71\u4E0A\u6709\u4E00\u7D44\u52D5\u614B\u9023\u7D50\u7A0B\u5F0F\u5EAB (DLL)\u4E0D\u4E00\u81F4\u3002\u82E5\u8981\u53D6\u5F97\u6709\u95DC\u6B64\u554F\u984C\u53CA\u5EFA\u8B70\u89E3\u6C7A\u65B9\u6CD5\u7684\u5176\u4ED6\u8CC7\u8A0A\uFF0C\u8ACB\u53C3\u95B1 java.sun.com \u7DB2\u7AD9\u4E0A\u7684 Java(TM) 2 SDK, Standard Edition Release Notes" },
+            { "AWT.InputMethodCreationFailed", "\u7121\u6CD5\u5EFA\u7ACB {0}\u3002\u539F\u56E0\uFF1A {1}" },
+            { "AWT.InputMethodLanguage.ja", "\u65E5\u6587" },
+            { "AWT.InputMethodLanguage.ko", "\u97D3\u6587" },
+            { "AWT.InputMethodLanguage.zh", "\u4E2D\u6587" },
+            { "AWT.InputMethodLanguage.zh_CN", "\u7C21\u9AD4\u4E2D\u6587" },
+            { "AWT.InputMethodLanguage.zh_TW", "\u7E41\u9AD4\u4E2D\u6587" },
+            { "AWT.InputMethodSelectionMenu", "\u9078\u64C7\u8F38\u5165\u6CD5" },
+            { "AWT.Less", "Less" },
+            { "AWT.MoveCursor", "Move Cursor" },
+            { "AWT.NEResizeCursor", "Northeast Resize Cursor" },
+            { "AWT.NResizeCursor", "North Resize Cursor" },
+            { "AWT.NWResizeCursor", "Northwest Resize Cursor" },
+            { "AWT.SEResizeCursor", "Southeast Resize Cursor" },
+            { "AWT.SResizeCursor", "South Resize Cursor" },
+            { "AWT.SWResizeCursor", "Southwest Resize Cursor" },
+            { "AWT.TextCursor", "Text Cursor" },
+            { "AWT.WResizeCursor", "West Resize Cursor" },
+            { "AWT.WaitCursor", "Wait Cursor" },
+            { "AWT.accept", "Accept" },
+            { "AWT.add", "NumPad +" },
+            { "AWT.again", "Again" },
+            { "AWT.allCandidates", "All Candidates" },
+            { "AWT.alphanumeric", "Alphanumeric" },
+            { "AWT.alt", "Alt" },
+            { "AWT.altGraph", "Alt Graph" },
+            { "AWT.ampersand", "Ampersand" },
+            { "AWT.asterisk", "Asterisk" },
+            { "AWT.at", "At" },
+            { "AWT.backQuote", "Back Quote" },
+            { "AWT.backSlash", "Back Slash" },
+            { "AWT.backSpace", "Backspace" },
+            { "AWT.begin", "Begin" },
+            { "AWT.braceLeft", "Left Brace" },
+            { "AWT.braceRight", "Right Brace" },
+            { "AWT.cancel", "Cancel" },
+            { "AWT.capsLock", "Caps Lock" },
+            { "AWT.circumflex", "Circumflex" },
+            { "AWT.clear", "Clear" },
+            { "AWT.closeBracket", "Close Bracket" },
+            { "AWT.codeInput", "Code Input" },
+            { "AWT.colon", "Colon" },
+            { "AWT.comma", "Comma" },
+            { "AWT.compose", "Compose" },
+            { "AWT.context", "Context Menu" },
+            { "AWT.control", "Ctrl" },
+            { "AWT.convert", "Convert" },
+            { "AWT.copy", "Copy" },
+            { "AWT.cut", "Cut" },
+            { "AWT.deadAboveDot", "Dead Above Dot" },
+            { "AWT.deadAboveRing", "Dead Above Ring" },
+            { "AWT.deadAcute", "Dead Acute" },
+            { "AWT.deadBreve", "Dead Breve" },
+            { "AWT.deadCaron", "Dead Caron" },
+            { "AWT.deadCedilla", "Dead Cedilla" },
+            { "AWT.deadCircumflex", "Dead Circumflex" },
+            { "AWT.deadDiaeresis", "Dead Diaeresis" },
+            { "AWT.deadDoubleAcute", "Dead Double Acute" },
+            { "AWT.deadGrave", "Dead Grave" },
+            { "AWT.deadIota", "Dead Iota" },
+            { "AWT.deadMacron", "Dead Macron" },
+            { "AWT.deadOgonek", "Dead Ogonek" },
+            { "AWT.deadSemivoicedSound", "Dead Semivoiced Sound" },
+            { "AWT.deadTilde", "Dead Tilde" },
+            { "AWT.deadVoicedSound", "Dead Voiced Sound" },
+            { "AWT.decimal", "NumPad ." },
+            { "AWT.delete", "Delete" },
+            { "AWT.divide", "NumPad /" },
+            { "AWT.dollar", "Dollar" },
+            { "AWT.down", "Down" },
+            { "AWT.end", "End" },
+            { "AWT.enter", "Enter" },
+            { "AWT.equals", "Equals" },
+            { "AWT.escape", "Escape" },
+            { "AWT.euro", "Euro" },
+            { "AWT.exclamationMark", "Exclamation Mark" },
+            { "AWT.f1", "F1" },
+            { "AWT.f10", "F10" },
+            { "AWT.f11", "F11" },
+            { "AWT.f12", "F12" },
+            { "AWT.f13", "F13" },
+            { "AWT.f14", "F14" },
+            { "AWT.f15", "F15" },
+            { "AWT.f16", "F16" },
+            { "AWT.f17", "F17" },
+            { "AWT.f18", "F18" },
+            { "AWT.f19", "F19" },
+            { "AWT.f2", "F2" },
+            { "AWT.f20", "F20" },
+            { "AWT.f21", "F21" },
+            { "AWT.f22", "F22" },
+            { "AWT.f23", "F23" },
+            { "AWT.f24", "F24" },
+            { "AWT.f3", "F3" },
+            { "AWT.f4", "F4" },
+            { "AWT.f5", "F5" },
+            { "AWT.f6", "F6" },
+            { "AWT.f7", "F7" },
+            { "AWT.f8", "F8" },
+            { "AWT.f9", "F9" },
+            { "AWT.final", "Final" },
+            { "AWT.find", "Find" },
+            { "AWT.fullWidth", "Full-Width" },
+            { "AWT.greater", "Greater" },
+            { "AWT.halfWidth", "Half-Width" },
+            { "AWT.help", "Help" },
+            { "AWT.hiragana", "Hiragana" },
+            { "AWT.home", "Home" },
+            { "AWT.inputMethodOnOff", "Input Method On/Off" },
+            { "AWT.insert", "Insert" },
+            { "AWT.invertedExclamationMark", "Inverted Exclamation Mark" },
+            { "AWT.japaneseHiragana", "Japanese Hiragana" },
+            { "AWT.japaneseKatakana", "Japanese Katakana" },
+            { "AWT.japaneseRoman", "Japanese Roman" },
+            { "AWT.kana", "Kana" },
+            { "AWT.kanaLock", "Kana Lock" },
+            { "AWT.kanji", "Kanji" },
+            { "AWT.katakana", "Katakana" },
+            { "AWT.left", "Left" },
+            { "AWT.leftParenthesis", "Left Parenthesis" },
+            { "AWT.meta", "Meta" },
+            { "AWT.minus", "Minus" },
+            { "AWT.modechange", "Mode Change" },
+            { "AWT.multiply", "NumPad *" },
+            { "AWT.noconvert", "No Convert" },
+            { "AWT.numLock", "Num Lock" },
+            { "AWT.numberSign", "Number Sign" },
+            { "AWT.numpad", "NumPad" },
+            { "AWT.openBracket", "Open Bracket" },
+            { "AWT.paste", "Paste" },
+            { "AWT.pause", "Pause" },
+            { "AWT.period", "Period" },
+            { "AWT.pgdn", "Page Down" },
+            { "AWT.pgup", "Page Up" },
+            { "AWT.plus", "Plus" },
+            { "AWT.previousCandidate", "Previous Candidate" },
+            { "AWT.printScreen", "Print Screen" },
+            { "AWT.props", "Props" },
+            { "AWT.quote", "Quote" },
+            { "AWT.quoteDbl", "Double Quote" },
+            { "AWT.right", "Right" },
+            { "AWT.rightParenthesis", "Right Parenthesis" },
+            { "AWT.romanCharacters", "Roman Characters" },
+            { "AWT.scrollLock", "Scroll Lock" },
+            { "AWT.semicolon", "Semicolon" },
+            { "AWT.separater", "NumPad ," },
+            { "AWT.separator", "NumPad ," },
+            { "AWT.shift", "Shift" },
+            { "AWT.slash", "Slash" },
+            { "AWT.space", "Space" },
+            { "AWT.stop", "Stop" },
+            { "AWT.subtract", "NumPad -" },
+            { "AWT.tab", "Tab" },
+            { "AWT.undefined", "Undefined" },
+            { "AWT.underscore", "Underscore" },
+            { "AWT.undo", "Undo" },
+            { "AWT.unknown", "Unknown" },
+            { "AWT.up", "Up" },
+            { "AWT.windows", "Windows" },
+            { "java.awt.def.delay", "30" },
+            { "java.awt.im.style", "on-the-spot" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "Access file not readable" },
+            { "agent.err.access.file.notfound", "Access file not found" },
+            { "agent.err.access.file.notset", "Access file is not specified but com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "Failed in reading the access file" },
+            { "agent.err.acl.file.access.notrestricted", "Password file read access must be restricted" },
+            { "agent.err.acl.file.not.readable", "SNMP ACL file not readable" },
+            { "agent.err.acl.file.notfound", "SNMP ACL file not found" },
+            { "agent.err.acl.file.notset", "No SNMP ACL file is specified but com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "Failed in reading SNMP ACL file" },
+            { "agent.err.agentclass.access.denied", "Access to premain(String) is denied" },
+            { "agent.err.agentclass.failed", "Management agent class failed " },
+            { "agent.err.agentclass.notfound", "Management agent class not found" },
+            { "agent.err.configfile.access.denied", "Access to the config file is denied" },
+            { "agent.err.configfile.closed.failed", "Failed in closing the config file" },
+            { "agent.err.configfile.failed", "Failed in reading the config file" },
+            { "agent.err.configfile.notfound", "Config file not found" },
+            { "agent.err.connector.server.io.error", "JMX connector server communication error" },
+            { "agent.err.error", "Error" },
+            { "agent.err.exception", "Exception thrown by the agent " },
+            { "agent.err.exportaddress.failed", "Export of JMX connector address to instrumentation buffer failed" },
+            { "agent.err.invalid.agentclass", "Invalid com.sun.management.agent.class property value" },
+            { "agent.err.invalid.jmxremote.port", "Invalid com.sun.management.jmxremote.port number" },
+            { "agent.err.invalid.option", "Invalid option specified" },
+            { "agent.err.invalid.snmp.port", "Invalid com.sun.management.snmp.port number" },
+            { "agent.err.invalid.snmp.trap.port", "Invalid com.sun.management.snmp.trap number" },
+            { "agent.err.password.file.access.notrestricted", "Password file read access must be restricted" },
+            { "agent.err.password.file.not.readable", "Password file not readable" },
+            { "agent.err.password.file.notfound", "Password file not found" },
+            { "agent.err.password.file.notset", "Password file is not specified but com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "Failed in reading the password file" },
+            { "agent.err.premain.notfound", "premain(String) does not exist in agent class" },
+            { "agent.err.snmp.adaptor.start.failed", "Failed to start SNMP adaptor with address" },
+            { "agent.err.snmp.mib.init.failed", "Failed to initialize SNMP MIB with error" },
+            { "agent.err.unknown.snmp.interface", "Unknown SNMP interface" },
+            { "agent.err.warning", "Warning" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "Adding target: {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "Adaptor ready." },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "SNMP Adaptor ready on: {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "Processing ACL" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "Starting Adaptor Server:" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "terminate {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "Starting JMX Connector Server:" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "No Authentication" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "Password file read access must be restricted: {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "JMX Connector ready at: {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "Zugriffsdatei kann nicht gelesen werden." },
+            { "agent.err.access.file.notfound", "Zugriffsdatei konnte nicht gefunden werden." },
+            { "agent.err.access.file.notset", "Es wurde keine Zugriffsdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist." },
+            { "agent.err.access.file.read.failed", "Zugriffsdatei konnte nicht gelesen werden." },
+            { "agent.err.acl.file.access.notrestricted", "Lesezugriff auf Passwortdatei muss eingeschr\u00E4nkt sein." },
+            { "agent.err.acl.file.not.readable", "SNMP-ACL-Datei kann nicht gelesen werden." },
+            { "agent.err.acl.file.notfound", "SNMP-ACL-Datei konnte nicht gefunden werden." },
+            { "agent.err.acl.file.notset", "Es wurde keine SNMP-ACL-Datei angegeben, obwohl com.sun.management.snmp.acl auf \"true\" gesetzt ist." },
+            { "agent.err.acl.file.read.failed", "SNMP-ACL-Datei konnte nicht gelesen werden." },
+            { "agent.err.agentclass.access.denied", "Zugriff auf premain(String) wurde verweigert." },
+            { "agent.err.agentclass.failed", "Verwaltungsagentenklasse fehlgeschlagen " },
+            { "agent.err.agentclass.notfound", "Verwaltungsagentenklasse nicht gefunden" },
+            { "agent.err.configfile.access.denied", "Zugriff auf Konfigurationsdatei wurde verweigert." },
+            { "agent.err.configfile.closed.failed", "Konfigurationsdatei konnte nicht geschlossen werden." },
+            { "agent.err.configfile.failed", "Konfigurationsdatei konnte nicht gelesen werden." },
+            { "agent.err.configfile.notfound", "Konfigurationsdatei wurde nicht gefunden." },
+            { "agent.err.connector.server.io.error", "Fehler bei der JMX-Anschlussserver-Kommunikation" },
+            { "agent.err.error", "Fehler" },
+            { "agent.err.exception", "Agent-Ausnahmefehler " },
+            { "agent.err.exportaddress.failed", "Export der JMX-Anschlussadresse an Instrumentierungspuffer schlug fehl." },
+            { "agent.err.invalid.agentclass", "Ung\u00FCltiger Eigenschaftswert f\u00FCr com.sun.management.agent.class" },
+            { "agent.err.invalid.jmxremote.port", "Ung\u00FCltige Nummer f\u00FCr com.sun.management.jmxremote.port" },
+            { "agent.err.invalid.option", "Ung\u00FCltige Option angegeben" },
+            { "agent.err.invalid.snmp.port", "Ung\u00FCltige Nummer f\u00FCr com.sun.management.snmp.port" },
+            { "agent.err.invalid.snmp.trap.port", "Ung\u00FCltige Nummer f\u00FCr com.sun.management.snmp.trap" },
+            { "agent.err.password.file.access.notrestricted", "Lesezugriff auf Passwortdatei muss eingeschr\u00E4nkt sein." },
+            { "agent.err.password.file.not.readable", "Passwortdatei kann nicht gelesen werden." },
+            { "agent.err.password.file.notfound", "Passwortdatei konnte nicht gefunden werden." },
+            { "agent.err.password.file.notset", "Es wurde keine Passwortdatei angegeben, obwohl com.sun.management.jmxremote.authenticate auf \"true\" gesetzt ist." },
+            { "agent.err.password.file.read.failed", "Passwortdatei konnte nicht gelesen werden." },
+            { "agent.err.premain.notfound", "premain(String) ist in Agentenklasse nicht vorhanden." },
+            { "agent.err.snmp.adaptor.start.failed", "Fehler beim Starten des SNMP-Adapters mit Adresse" },
+            { "agent.err.snmp.mib.init.failed", "Initialisierung von SNMP-MIB fehlgeschlagen mit Fehler" },
+            { "agent.err.unknown.snmp.interface", "Unbekannte SNMP-Schnittstelle" },
+            { "agent.err.warning", "Warnung" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "Ziel hinzuf\u00FCgen: {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "Adapter bereit." },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "SNMP-Adapter bereit unter: {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "ACL verarbeiten" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "Adapterserver starten:" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "{0} beenden" },
+            { "jmxremote.ConnectorBootstrap.initialize", "JMX-Anschlussserver starten:" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "Keine Authentifizierung" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "Lesezugriff auf Passwortdatei muss eingeschr\u00E4nkt sein. {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "JMX-Anschluss bereit unter: {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "No se puede leer el archivo de acceso" },
+            { "agent.err.access.file.notfound", "Archivo de acceso no encontrado" },
+            { "agent.err.access.file.notset", "El archivo de acceso no se ha especificado, pero com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "Error al leer el archivo de acceso" },
+            { "agent.err.acl.file.access.notrestricted", "Se debe restringir el acceso de lectura al archivo de contrase\u00F1as" },
+            { "agent.err.acl.file.not.readable", "No se puede leer el archivo ACL de SNMP" },
+            { "agent.err.acl.file.notfound", "Archivo ACL de SNMP no encontrado" },
+            { "agent.err.acl.file.notset", "No se ha especificado ning\u00FAn archivo ACL de SNMP, pero com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "Error al leer el archivo ACL de SNMP" },
+            { "agent.err.agentclass.access.denied", "Acceso denegado a premain(String)" },
+            { "agent.err.agentclass.failed", "Error de clase de agente de administraci\u00F3n " },
+            { "agent.err.agentclass.notfound", "Clase de agente de administraci\u00F3n no encontrada" },
+            { "agent.err.configfile.access.denied", "Acceso denegado al archivo de configuraci\u00F3n" },
+            { "agent.err.configfile.closed.failed", "Error al cerrar el archivo de configuraci\u00F3n" },
+            { "agent.err.configfile.failed", "Error al leer el archivo de configuraci\u00F3n" },
+            { "agent.err.configfile.notfound", "No se ha encontrado el archivo de configuraci\u00F3n" },
+            { "agent.err.connector.server.io.error", "Error de comunicaci\u00F3n con el servidor de conector JMX" },
+            { "agent.err.error", "Error" },
+            { "agent.err.exception", "Excepci\u00F3n generada por el agente " },
+            { "agent.err.exportaddress.failed", "Error de exportaci\u00F3n de la direcci\u00F3n del conector JMX al b\u00FAfer de instrumentaci\u00F3n" },
+            { "agent.err.invalid.agentclass", "Valor de propiedad com.sun.management.agent.class no v\u00E1lido" },
+            { "agent.err.invalid.jmxremote.port", "N\u00FAmero com.sun.management.jmxremote.port no v\u00E1lido" },
+            { "agent.err.invalid.option", "Opci\u00F3n especificada no v\u00E1lida" },
+            { "agent.err.invalid.snmp.port", "N\u00FAmero com.sun.management.snmp.port no v\u00E1lido" },
+            { "agent.err.invalid.snmp.trap.port", "N\u00FAmero com.sun.management.snmp.trap no v\u00E1lido" },
+            { "agent.err.password.file.access.notrestricted", "Se debe restringir el acceso de lectura al archivo de contrase\u00F1as" },
+            { "agent.err.password.file.not.readable", "No se puede leer el archivo de contrase\u00F1as" },
+            { "agent.err.password.file.notfound", "Archivo de contrase\u00F1as no encontrado" },
+            { "agent.err.password.file.notset", "El archivo de contrase\u00F1as no se ha especificado, pero com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "Error al leer el archivo de contrase\u00F1as" },
+            { "agent.err.premain.notfound", "premain(String) no existe en la clase del agente" },
+            { "agent.err.snmp.adaptor.start.failed", "No se ha podido iniciar el adaptador de SNMP con la direcci\u00F3n" },
+            { "agent.err.snmp.mib.init.failed", "No se ha podido inicializar el MIB de SNMP con error" },
+            { "agent.err.unknown.snmp.interface", "Interfaz SNMP desconocido" },
+            { "agent.err.warning", "Advertencia" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "Agregando destino: {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "Adaptador listo." },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "Adaptador SNMP listo en: {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "Procesando ACL" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "Iniciar servidor adaptador:" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "finalizar {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "Iniciando servidor de conector JMX:" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "Sin autenticaci\u00F3n" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "Se debe restringir el acceso de lectura al archivo de contrase\u00F1as: {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "Conector JMX listo en: {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "Fichier d'acc\u00E8s illisible" },
+            { "agent.err.access.file.notfound", "Fichier d'acc\u00E8s introuvable" },
+            { "agent.err.access.file.notset", "Le fichier d'acc\u00E8s n'est pas sp\u00E9cifi\u00E9 mais com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "Impossible de lire le fichier d'acc\u00E8s" },
+            { "agent.err.acl.file.access.notrestricted", "L'acc\u00E8s \u00E0 la lecture du fichier de mots de passe doit \u00EAtre limit\u00E9" },
+            { "agent.err.acl.file.not.readable", "Fichier SNMP ACL illisible" },
+            { "agent.err.acl.file.notfound", "Fichier SNMP ACL introuvable" },
+            { "agent.err.acl.file.notset", "Aucun fichier SNMP ACL n'est sp\u00E9cifi\u00E9 mais com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "Impossible de lire le fichier SNMP ACL" },
+            { "agent.err.agentclass.access.denied", "Acc\u00E8s \u00E0 premain(String) refus\u00E9" },
+            { "agent.err.agentclass.failed", "Une erreur s'est produite au niveau de la classe d'agents de gestion " },
+            { "agent.err.agentclass.notfound", "Classe d'agents de gestion introuvable" },
+            { "agent.err.configfile.access.denied", "Acc\u00E8s au fichier de configuration refus\u00E9" },
+            { "agent.err.configfile.closed.failed", "Impossible de fermer le fichier de configuration" },
+            { "agent.err.configfile.failed", "Impossible de lire le fichier de configuration" },
+            { "agent.err.configfile.notfound", "Fichier de configuration introuvable" },
+            { "agent.err.connector.server.io.error", "Erreur de communication avec le serveur du connecteur JMX" },
+            { "agent.err.error", "Erreur" },
+            { "agent.err.exception", "Exception envoy\u00E9e par l'agent " },
+            { "agent.err.exportaddress.failed", "Impossible d'exporter l'adresse du connecteur JMX dans le tampon d'instrumentation" },
+            { "agent.err.invalid.agentclass", "Valeur de propri\u00E9t\u00E9 com.sun.management.agent.class incorrecte" },
+            { "agent.err.invalid.jmxremote.port", "Num\u00E9ro com.sun.management.jmxremote.port incorrect" },
+            { "agent.err.invalid.option", "Option sp\u00E9cifi\u00E9e non valide" },
+            { "agent.err.invalid.snmp.port", "Num\u00E9ro com.sun.management.snmp.port incorrect" },
+            { "agent.err.invalid.snmp.trap.port", "Num\u00E9ro com.sun.management.snmp.trap incorrect" },
+            { "agent.err.password.file.access.notrestricted", "L'acc\u00E8s \u00E0 la lecture du fichier de mots de passe doit \u00EAtre limit\u00E9" },
+            { "agent.err.password.file.not.readable", "Fichier de mots de passe illisible" },
+            { "agent.err.password.file.notfound", "Fichier de mots de passe introuvable" },
+            { "agent.err.password.file.notset", "Le fichier de mots de passe n'est pas sp\u00E9cifi\u00E9 mais com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "Impossible de lire le fichier de mots de passe" },
+            { "agent.err.premain.notfound", "premain(String) n'existe pas dans la classe d'agents" },
+            { "agent.err.snmp.adaptor.start.failed", "Impossible de d\u00E9marrer l'adaptateur SNMP avec l'adresse" },
+            { "agent.err.snmp.mib.init.failed", "Impossible d'initialiser SNMP MIB avec l'erreur" },
+            { "agent.err.unknown.snmp.interface", "Interface SNMP inconnue" },
+            { "agent.err.warning", "Avertissement" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "Ajout de la cible : {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "Adaptateur pr\u00EAt." },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "Adaptateur SNMP pr\u00EAt sur : {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "Traitement d'ACL" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "D\u00E9marrage du serveur de l'adaptateur :" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "terminer {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "D\u00E9marrage du serveur du connecteur JMX :" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "Pas d'authentification" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "L''acc\u00E8s \u00E0 la lecture du fichier de mots de passe doit \u00EAtre limit\u00E9 : {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "Connecteur JMX pr\u00EAt \u00E0 : {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "File di accesso non leggibile" },
+            { "agent.err.access.file.notfound", "File di accesso non trovato" },
+            { "agent.err.access.file.notset", "Il file di accesso non \u00E8 specificato ma com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "Errore di lettura file di accesso" },
+            { "agent.err.acl.file.access.notrestricted", "Limitare l'accesso in lettura al file password" },
+            { "agent.err.acl.file.not.readable", "File SNMP ACL non leggibile" },
+            { "agent.err.acl.file.notfound", "File SNMP ACL non trovato" },
+            { "agent.err.acl.file.notset", "Nessun file SNMP ACL specificato ma com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "Errore di lettura file SNMP ACL" },
+            { "agent.err.agentclass.access.denied", "Accesso negato a premain(String)" },
+            { "agent.err.agentclass.failed", "Errore classe agente gestione " },
+            { "agent.err.agentclass.notfound", "Classe agente gestione non trovata" },
+            { "agent.err.configfile.access.denied", "Accesso negato al file di configurazione" },
+            { "agent.err.configfile.closed.failed", "Errore di chiusura file di configurazione" },
+            { "agent.err.configfile.failed", "Errore di lettura file di configurazione" },
+            { "agent.err.configfile.notfound", "File di configurazione non trovato" },
+            { "agent.err.connector.server.io.error", "Errore di comunicazione server del connettore JMX" },
+            { "agent.err.error", "Errore" },
+            { "agent.err.exception", "Eccezione dell'agente " },
+            { "agent.err.exportaddress.failed", "Errore di esportazione dell'indirizzo connettore JMX nel buffer strumenti" },
+            { "agent.err.invalid.agentclass", "Valore propriet\u00E0 com.sun.management.agent.class non valido" },
+            { "agent.err.invalid.jmxremote.port", "Numero com.sun.management.jmxremote.port non valido" },
+            { "agent.err.invalid.option", "Specificata opzione non valida" },
+            { "agent.err.invalid.snmp.port", "Numero com.sun.management.snmp.port non valido" },
+            { "agent.err.invalid.snmp.trap.port", "Numero com.sun.management.snmp.trap non valido" },
+            { "agent.err.password.file.access.notrestricted", "Limitare l'accesso in lettura al file password" },
+            { "agent.err.password.file.not.readable", "File password non leggibile" },
+            { "agent.err.password.file.notfound", "File password non trovato" },
+            { "agent.err.password.file.notset", "Il file password non \u00E8 specificato ma com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "Errore di lettura file password" },
+            { "agent.err.premain.notfound", "premain(String) non esiste nella classe agente" },
+            { "agent.err.snmp.adaptor.start.failed", "Impossibile avviare l'adattatore SNMP con indirizzo" },
+            { "agent.err.snmp.mib.init.failed", "Impossibile inizializzare MIB SNMP, errore" },
+            { "agent.err.unknown.snmp.interface", "Interfaccia SNMP sconosciuta" },
+            { "agent.err.warning", "Avviso" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "Aggiunta della destinazione: {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "Adattatore pronto." },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "Adattatore SNMP pronto in: {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "Elaborazione ACL" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "Avvio del server adattatore:" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "interrompere {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "Avvio del server connettore JMX:" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "Nessuna autenticazione" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "Limitare l''accesso in lettura al file password: {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "Connettore JMX pronto in: {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "\u30A2\u30AF\u30BB\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "agent.err.access.file.notfound", "\u30A2\u30AF\u30BB\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "agent.err.access.file.notset", "\u30A2\u30AF\u30BB\u30B9\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001com.sun.management.jmxremote.authenticate=true \u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "agent.err.access.file.read.failed", "\u30A2\u30AF\u30BB\u30B9\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002" },
+            { "agent.err.acl.file.access.notrestricted", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "agent.err.acl.file.not.readable", "SNMP ACL \u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "agent.err.acl.file.notfound", "SNMP ACL \u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "agent.err.acl.file.notset", "SNMP ACL \u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001com.sun.management.snmp.acl=true \u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "agent.err.acl.file.read.failed", "SNMP ACL \u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002" },
+            { "agent.err.agentclass.access.denied", "premain(String) \u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "agent.err.agentclass.failed", "\u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30AF\u30E9\u30B9\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002 " },
+            { "agent.err.agentclass.notfound", "\u7BA1\u7406\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30AF\u30E9\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "agent.err.configfile.access.denied", "\u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u3078\u306E\u30A2\u30AF\u30BB\u30B9\u304C\u62D2\u5426\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "agent.err.configfile.closed.failed", "\u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u3092\u30AF\u30ED\u30FC\u30BA\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "agent.err.configfile.failed", "\u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "agent.err.configfile.notfound", "\u69CB\u6210\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "agent.err.connector.server.io.error", "JMX \u30B3\u30CD\u30AF\u30BF\u30B5\u30FC\u30D0\u306E\u901A\u4FE1\u30A8\u30E9\u30FC" },
+            { "agent.err.error", "\u30A8\u30E9\u30FC" },
+            { "agent.err.exception", "\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u304C\u4F8B\u5916\u3092\u30B9\u30ED\u30FC\u3057\u307E\u3057\u305F\u3002 " },
+            { "agent.err.exportaddress.failed", "JMX \u30B3\u30CD\u30AF\u30BF\u30A2\u30C9\u30EC\u30B9\u306E\u8A08\u6E2C\u30D0\u30C3\u30D5\u30A1\u30FC\u3078\u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u5931\u6557\u3057\u307E\u3057\u305F" },
+            { "agent.err.invalid.agentclass", "com.sun.management.agent.class \u30D7\u30ED\u30D1\u30C6\u30A3\u306E\u5024\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "agent.err.invalid.jmxremote.port", "com.sun.management.jmxremote.port \u306E\u756A\u53F7\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "agent.err.invalid.option", "\u7121\u52B9\u306A\u5F15\u6570\u304C\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F" },
+            { "agent.err.invalid.snmp.port", "com.sun.management.snmp.port \u306E\u756A\u53F7\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "agent.err.invalid.snmp.trap.port", "com.sun.management.snmp.trap \u306E\u756A\u53F7\u304C\u4E0D\u6B63\u3067\u3059\u3002" },
+            { "agent.err.password.file.access.notrestricted", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002" },
+            { "agent.err.password.file.not.readable", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u3092\u8AAD\u307F\u53D6\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "agent.err.password.file.notfound", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "agent.err.password.file.notset", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u304C\u3001com.sun.management.jmxremote.authenticate=true \u304C\u8A2D\u5B9A\u3055\u308C\u3066\u3044\u307E\u3059\u3002" },
+            { "agent.err.password.file.read.failed", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002" },
+            { "agent.err.premain.notfound", "premain(String) \u304C\u30A8\u30FC\u30B8\u30A7\u30F3\u30C8\u30AF\u30E9\u30B9\u306B\u5B58\u5728\u3057\u307E\u305B\u3093\u3002" },
+            { "agent.err.snmp.adaptor.start.failed", "\u3053\u306E\u30A2\u30C9\u30EC\u30B9\u3067 SNMP \u30A2\u30C0\u30D7\u30BF\u3092\u958B\u59CB\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "agent.err.snmp.mib.init.failed", "\u30A8\u30E9\u30FC\u3067 SNMP MIB \u3092\u521D\u671F\u5316\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "agent.err.unknown.snmp.interface", "\u4E0D\u660E\u306A SNMP \u30A4\u30F3\u30BF\u30D5\u30A7\u30FC\u30B9\u3067\u3059\u3002" },
+            { "agent.err.warning", "\u8B66\u544A" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "\u30BF\u30FC\u30B2\u30C3\u30C8\u3092\u8FFD\u52A0\u3057\u3066\u3044\u307E\u3059: {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "\u30A2\u30C0\u30D7\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "SNMP \u30A2\u30C0\u30D7\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F: {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "ACL \u3092\u51E6\u7406\u3057\u3066\u3044\u307E\u3059" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "\u30A2\u30C0\u30D7\u30BF\u30B5\u30FC\u30D0\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059:" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "{0} \u3092\u7D42\u4E86\u3057\u307E\u3059" },
+            { "jmxremote.ConnectorBootstrap.initialize", "JMX \u30B3\u30CD\u30AF\u30BF\u30B5\u30FC\u30D0\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059:" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "\u8A8D\u8A3C\u306A\u3057" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "\u30D1\u30B9\u30EF\u30FC\u30C9\u30D5\u30A1\u30A4\u30EB\u306E\u8AAD\u307F\u53D6\u308A\u30A2\u30AF\u30BB\u30B9\u306F\u5236\u9650\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059: {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "JMX \u30B3\u30CD\u30AF\u30BF\u306E\u6E96\u5099\u304C\u3067\u304D\u307E\u3057\u305F: {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "\uC561\uC138\uC2A4 \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.access.file.notfound", "\uC561\uC138\uC2A4 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.access.file.notset", "com.sun.management.jmxremote.authenticate=true\uB97C \uC81C\uC678\uD55C \uC561\uC138\uC2A4 \uD30C\uC77C\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.access.file.read.failed", "\uC561\uC138\uC2A4 \uD30C\uC77C\uC744 \uC77D\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.acl.file.access.notrestricted", "\uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4." },
+            { "agent.err.acl.file.not.readable", "SNMP ACL \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.acl.file.notfound", "SNMP ACL \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.acl.file.notset", "\uC9C0\uC815\uB41C SNMP ACL \uD30C\uC77C\uC774 \uC5C6\uB294\uB370 com.sun.management.snmp.acl=true\uB85C \uC124\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.acl.file.read.failed", "SNMP ACL \uD30C\uC77C\uC744 \uC77D\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.agentclass.access.denied", "premain(\uBB38\uC790\uC5F4)\uC5D0 \uC561\uC138\uC2A4\uAC00 \uAC70\uBD80\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.agentclass.failed", "\uAD00\uB9AC \uC5D0\uC774\uC804\uD2B8 \uD074\uB798\uC2A4 \uC2E4\uD328 " },
+            { "agent.err.agentclass.notfound", "\uAD00\uB9AC \uC5D0\uC774\uC804\uD2B8 \uD074\uB798\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.configfile.access.denied", "\uAD6C\uC131 \uD30C\uC77C\uC5D0 \uC561\uC138\uC2A4\uAC00 \uAC70\uBD80\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.configfile.closed.failed", "\uAD6C\uC131\uD30C\uC77C\uC744 \uB2EB\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.configfile.failed", "\uAD6C\uC131 \uD30C\uC77C \uC77D\uAE30\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.configfile.notfound", "\uAD6C\uC131 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.connector.server.io.error", "JMX \uCEE4\uB125\uD130 \uC11C\uBC84 \uD1B5\uC2E0 \uC624\uB958" },
+            { "agent.err.error", "\uC624\uB958" },
+            { "agent.err.exception", "\uC5D0\uC774\uC804\uD2B8\uC5D0 \uC608\uC678 \uBC1C\uC0DD " },
+            { "agent.err.exportaddress.failed", "\uBC84\uD37C \uAD6C\uD604\uC744 \uC704\uD574 JMX \uCEE4\uB125\uD130 \uC8FC\uC18C\uB97C \uAC00\uC838\uC624\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.invalid.agentclass", "\uC798\uBABB\uB41C com.sun.management.agent.class \uC18D\uC131 \uAC12" },
+            { "agent.err.invalid.jmxremote.port", "\uC798\uBABB\uB41C com.sun.management.jmxremote.port \uBC88\uD638" },
+            { "agent.err.invalid.option", "\uC9C0\uC815\uB41C \uC635\uC158\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.invalid.snmp.port", "\uC798\uBABB\uB41C com.sun.management.snmp.port \uBC88\uD638" },
+            { "agent.err.invalid.snmp.trap.port", "\uC798\uBABB\uB41C com.sun.management.snmp.trap \uBC88\uD638" },
+            { "agent.err.password.file.access.notrestricted", "\uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4." },
+            { "agent.err.password.file.not.readable", "\uBE44\uBC00\uBC88\uD638 \uD30C\uC77C\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.password.file.notfound", "\uBE44\uBC00\uBC88\uD638 \uD30C\uC77C\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.password.file.notset", "com.sun.management.jmxremote.authenticate=true\uB97C \uC81C\uC678\uD55C \uBE44\uBC00\uBC88\uD638 \uD30C\uC77C\uC774 \uC9C0\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.password.file.read.failed", "\uBE44\uBC00\uBC88\uD638 \uD30C\uC77C\uC744 \uC77D\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.premain.notfound", "\uC5D0\uC774\uC804\uD2B8 \uD074\uB798\uC2A4\uC5D0 premain(\uBB38\uC790\uC5F4)\uC774 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.snmp.adaptor.start.failed", "\uC8FC\uC18C\uAC00 \uC788\uB294 SNMP \uC5B4\uB311\uD130\uB97C \uC2DC\uC791\uD558\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.snmp.mib.init.failed", "\uC624\uB958\uAC00 \uC788\uB294 SNMP MIB\uB97C \uCD08\uAE30\uD654\uD558\uB294 \uB370 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4." },
+            { "agent.err.unknown.snmp.interface", "\uC54C \uC218 \uC5C6\uB294 SNMP \uC778\uD130\uD398\uC774\uC2A4" },
+            { "agent.err.warning", "\uACBD\uACE0" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "\uB300\uC0C1 \uCD94\uAC00: {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "\uC5B4\uB311\uD130 \uC900\uBE44" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "\uB2E4\uC74C\uC5D0 SNMP \uC5B4\uB311\uD130 \uC900\uBE44: {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "ACL \uCC98\uB9AC" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "\uC5B4\uB311\uD130 \uC11C\uBC84 \uC2DC\uC791:" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "{0} \uC885\uB8CC" },
+            { "jmxremote.ConnectorBootstrap.initialize", "JMX \uCEE4\uB125\uD130 \uC11C\uBC84 \uC2DC\uC791:" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "\uC778\uC99D \uC5C6\uC74C" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "\uBE44\uBC00\uBC88\uD638 \uD30C\uC77C \uC77D\uAE30 \uC561\uC138\uC2A4\uB294 \uC81C\uD55C\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4. {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "\uB2E4\uC74C\uC5D0\uC11C JMX \uCEE4\uB125\uD130 \uC900\uBE44: {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "Access-filen \u00E4r inte l\u00E4sbar" },
+            { "agent.err.access.file.notfound", "Access-filen hittades inte" },
+            { "agent.err.access.file.notset", "Access-filen har inte angetts men com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "Det g\u00E5r inte att l\u00E4sa access-filen" },
+            { "agent.err.acl.file.access.notrestricted", "L\u00E4sbeh\u00F6righeten f\u00F6r filen m\u00E5ste begr\u00E4nsas" },
+            { "agent.err.acl.file.not.readable", "SNMP ACL-filen \u00E4r inte l\u00E4sbar" },
+            { "agent.err.acl.file.notfound", "SNMP ACL-filen hittades inte" },
+            { "agent.err.acl.file.notset", "Ingen SNMP ACL-fil har angetts, men com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "Det g\u00E5r inte att l\u00E4sa filen SNMP ACL" },
+            { "agent.err.agentclass.access.denied", "\u00C5tkomst till premain(String) nekad" },
+            { "agent.err.agentclass.failed", "Administrationsagentklassen misslyckades " },
+            { "agent.err.agentclass.notfound", "Administrationsagentklassen hittades inte" },
+            { "agent.err.configfile.access.denied", "\u00C5tkomst till konfigurationsfilen nekad" },
+            { "agent.err.configfile.closed.failed", "Det g\u00E5r inte att st\u00E4nga konfigurationsfilen" },
+            { "agent.err.configfile.failed", "Det g\u00E5r inte att l\u00E4sa konfigurationsfilen" },
+            { "agent.err.configfile.notfound", "Konfigurationsfilen hittades inte" },
+            { "agent.err.connector.server.io.error", "Serverkommunikationsfel f\u00F6r JMX-anslutning" },
+            { "agent.err.error", "Fel" },
+            { "agent.err.exception", "Agenten orsakade ett undantag " },
+            { "agent.err.exportaddress.failed", "Det g\u00E5r inte att exportera JMX-anslutningsadressen till instrumentbufferten" },
+            { "agent.err.invalid.agentclass", "Ogiltigt egenskapsv\u00E4rde f\u00F6r com.sun.management.agent.class" },
+            { "agent.err.invalid.jmxremote.port", "Ogiltigt com.sun.management.jmxremote.port-nummer" },
+            { "agent.err.invalid.option", "Det angivna alternativet \u00E4r ogiltigt" },
+            { "agent.err.invalid.snmp.port", "Ogiltigt com.sun.management.snmp.port-nummer" },
+            { "agent.err.invalid.snmp.trap.port", "Ogiltigt com.sun.management.snmp.trap-nummer" },
+            { "agent.err.password.file.access.notrestricted", "L\u00E4sbeh\u00F6righeten f\u00F6r filen m\u00E5ste begr\u00E4nsas" },
+            { "agent.err.password.file.not.readable", "L\u00F6senordsfilen \u00E4r inte l\u00E4sbar" },
+            { "agent.err.password.file.notfound", "Det g\u00E5r inte att hitta l\u00F6senordsfilen" },
+            { "agent.err.password.file.notset", "L\u00F6senordsfilen har inte angetts men com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "Det g\u00E5r inte att l\u00E4sa l\u00F6senordsfilen" },
+            { "agent.err.premain.notfound", "premain(String) finns inte i agentklassen" },
+            { "agent.err.snmp.adaptor.start.failed", "Det g\u00E5r inte att starta SNMP-adaptern med adressen" },
+            { "agent.err.snmp.mib.init.failed", "Det g\u00E5r inte att initiera SNMP MIB med felet" },
+            { "agent.err.unknown.snmp.interface", "Ok\u00E4nt SNMP-gr\u00E4nssnitt" },
+            { "agent.err.warning", "Varning!" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "M\u00E5l l\u00E4ggs till: {0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "Adaptern klar." },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "SNMP-adaptern redo p\u00E5: {0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "ACL bearbetas" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "Adapterservern startas:" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "avsluta {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "Startar JMX Connector-servern:" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "Ingen autentisering" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "L\u00E4sbeh\u00F6righeten f\u00F6r l\u00F6senordsfilen m\u00E5ste begr\u00E4nsas: {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "JMX Connector redo p\u00E5: {0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "\u65E0\u6CD5\u8BFB\u53D6\u8BBF\u95EE\u6587\u4EF6" },
+            { "agent.err.access.file.notfound", "\u627E\u4E0D\u5230\u8BBF\u95EE\u6587\u4EF6" },
+            { "agent.err.access.file.notset", "\u672A\u6307\u5B9A\u8BBF\u95EE\u6587\u4EF6\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "\u8BFB\u53D6\u8BBF\u95EE\u6587\u4EF6\u5931\u8D25" },
+            { "agent.err.acl.file.access.notrestricted", "\u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE" },
+            { "agent.err.acl.file.not.readable", "\u65E0\u6CD5\u8BFB\u53D6 SNMP ACL \u6587\u4EF6" },
+            { "agent.err.acl.file.notfound", "\u627E\u4E0D\u5230 SNMP ACL \u6587\u4EF6" },
+            { "agent.err.acl.file.notset", "\u672A\u6307\u5B9A SNMP ACL \u6587\u4EF6\uFF0C\u4F46 com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "\u8BFB\u53D6 SNMP ACL \u6587\u4EF6\u5931\u8D25" },
+            { "agent.err.agentclass.access.denied", "\u62D2\u7EDD\u8BBF\u95EE premain(String)" },
+            { "agent.err.agentclass.failed", "\u7BA1\u7406\u4EE3\u7406\u7C7B\u5931\u8D25 " },
+            { "agent.err.agentclass.notfound", "\u627E\u4E0D\u5230\u7BA1\u7406\u4EE3\u7406\u7C7B" },
+            { "agent.err.configfile.access.denied", "\u62D2\u7EDD\u8BBF\u95EE\u914D\u7F6E\u6587\u4EF6" },
+            { "agent.err.configfile.closed.failed", "\u5173\u95ED\u914D\u7F6E\u6587\u4EF6\u5931\u8D25" },
+            { "agent.err.configfile.failed", "\u8BFB\u53D6\u914D\u7F6E\u6587\u4EF6\u5931\u8D25" },
+            { "agent.err.configfile.notfound", "\u627E\u4E0D\u5230\u914D\u7F6E\u6587\u4EF6" },
+            { "agent.err.connector.server.io.error", "JMX \u8FDE\u63A5\u5668\u670D\u52A1\u5668\u901A\u4FE1\u9519\u8BEF" },
+            { "agent.err.error", "\u9519\u8BEF" },
+            { "agent.err.exception", "\u4EE3\u7406\u629B\u51FA\u5F02\u5E38 " },
+            { "agent.err.exportaddress.failed", "\u5C06 JMX \u8FDE\u63A5\u5668\u5730\u5740\u5BFC\u51FA\u5230\u6D4B\u8BD5\u8BBE\u5907\u7F13\u51B2\u533A\u5931\u8D25" },
+            { "agent.err.invalid.agentclass", "com.sun.management.agent.class \u5C5E\u6027\u503C\u65E0\u6548" },
+            { "agent.err.invalid.jmxremote.port", "com.sun.management.jmxremote.port \u7F16\u53F7\u65E0\u6548" },
+            { "agent.err.invalid.option", "\u6307\u5B9A\u7684\u9009\u9879\u65E0\u6548" },
+            { "agent.err.invalid.snmp.port", "com.sun.management.snmp.port \u7F16\u53F7\u65E0\u6548" },
+            { "agent.err.invalid.snmp.trap.port", "com.sun.management.snmp.trap \u7F16\u53F7\u65E0\u6548" },
+            { "agent.err.password.file.access.notrestricted", "\u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE" },
+            { "agent.err.password.file.not.readable", "\u65E0\u6CD5\u8BFB\u53D6\u53E3\u4EE4\u6587\u4EF6" },
+            { "agent.err.password.file.notfound", "\u627E\u4E0D\u5230\u53E3\u4EE4\u6587\u4EF6" },
+            { "agent.err.password.file.notset", "\u672A\u6307\u5B9A\u53E3\u4EE4\u6587\u4EF6\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "\u8BFB\u53D6\u53E3\u4EE4\u6587\u4EF6\u5931\u8D25" },
+            { "agent.err.premain.notfound", "\u4EE3\u7406\u7C7B\u4E2D\u4E0D\u5B58\u5728 premain(String)" },
+            { "agent.err.snmp.adaptor.start.failed", "\u65E0\u6CD5\u542F\u52A8\u5E26\u6709\u5730\u5740\u7684 SNMP \u9002\u914D\u5668" },
+            { "agent.err.snmp.mib.init.failed", "\u65E0\u6CD5\u521D\u59CB\u5316\u5E26\u6709\u9519\u8BEF\u7684 SNMP MIB" },
+            { "agent.err.unknown.snmp.interface", "\u672A\u77E5 SNMP \u63A5\u53E3" },
+            { "agent.err.warning", "\u8B66\u544A" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "\u6B63\u5728\u6DFB\u52A0\u76EE\u6807\uFF1A{0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "\u9002\u914D\u5668\u5C31\u7EEA\u3002" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "\u4F4D\u4E8E {0}:{1} \u7684 SNMP \u9002\u914D\u5668\u5C31\u7EEA" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "\u6B63\u5728\u5904\u7406 ACL" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "\u6B63\u5728\u542F\u52A8\u9002\u914D\u5668\u670D\u52A1\u5668\uFF1A" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "\u7EC8\u6B62 {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "\u6B63\u5728\u542F\u52A8 JMX \u8FDE\u63A5\u5668\u670D\u52A1\u5668\uFF1A" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "\u65E0\u9A8C\u8BC1" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "\u5FC5\u987B\u9650\u5236\u53E3\u4EE4\u6587\u4EF6\u8BFB\u53D6\u8BBF\u95EE\uFF1A{0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "\u4F4D\u4E8E {0} \u7684 JMX \u8FDE\u63A5\u5668\u5C31\u7EEA" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "\u5B58\u53D6\u6A94\u6848\u4E0D\u53EF\u8B80" },
+            { "agent.err.access.file.notfound", "\u627E\u4E0D\u5230\u5B58\u53D6\u6A94\u6848" },
+            { "agent.err.access.file.notset", "\u672A\u6307\u5B9A\u5B58\u53D6\u6A94\u6848\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "\u7121\u6CD5\u8B80\u53D6\u5B58\u53D6\u6A94\u6848" },
+            { "agent.err.acl.file.access.notrestricted", "\u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6" },
+            { "agent.err.acl.file.not.readable", "SNMP ACL \u6A94\u6848\u4E0D\u53EF\u8B80" },
+            { "agent.err.acl.file.notfound", "\u627E\u4E0D\u5230 SNMP ACL \u6A94\u6848" },
+            { "agent.err.acl.file.notset", "\u672A\u6307\u5B9A SNMP ACL \u6A94\u6848\uFF0C\u4F46 com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "\u7121\u6CD5\u8B80\u53D6 SNMP ACL \u6A94\u6848" },
+            { "agent.err.agentclass.access.denied", "\u5B58\u53D6 premain(String) \u906D\u5230\u62D2\u7D55" },
+            { "agent.err.agentclass.failed", "\u7BA1\u7406\u4EE3\u7406\u985E\u5225\u5931\u6557 " },
+            { "agent.err.agentclass.notfound", "\u627E\u4E0D\u5230\u7BA1\u7406\u4EE3\u7406\u7A0B\u5F0F\u985E\u5225" },
+            { "agent.err.configfile.access.denied", "\u5B58\u53D6\u914D\u7F6E\u6A94\u6848\u906D\u5230\u62D2\u7D55" },
+            { "agent.err.configfile.closed.failed", "\u7121\u6CD5\u95DC\u9589\u914D\u7F6E\u6A94\u6848" },
+            { "agent.err.configfile.failed", "\u7121\u6CD5\u8B80\u53D6\u914D\u7F6E\u6A94\u6848" },
+            { "agent.err.configfile.notfound", "\u627E\u4E0D\u5230\u914D\u7F6E\u6A94\u6848" },
+            { "agent.err.connector.server.io.error", "JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668\u901A\u8A0A\u932F\u8AA4" },
+            { "agent.err.error", "\u932F\u8AA4" },
+            { "agent.err.exception", "\u4EE3\u7406\u7A0B\u5F0F\u4E1F\u51FA\u7570\u5E38 " },
+            { "agent.err.exportaddress.failed", "\u5C07 JMX \u9023\u63A5\u5668\u4F4D\u5740\u532F\u51FA\u81F3\u8A2D\u5099\u7DE9\u885D\u5340\u5931\u6557" },
+            { "agent.err.invalid.agentclass", "com.sun.management.agent.class \u7279\u6027\u503C\u7121\u6548" },
+            { "agent.err.invalid.jmxremote.port", "com.sun.management.jmxremote.port \u7DE8\u865F\u7121\u6548" },
+            { "agent.err.invalid.option", "\u6307\u5B9A\u7684\u9078\u9805\u7121\u6548" },
+            { "agent.err.invalid.snmp.port", "com.sun.management.snmp.port \u7DE8\u865F\u7121\u6548" },
+            { "agent.err.invalid.snmp.trap.port", "com.sun.management.snmp.trap \u7DE8\u865F\u7121\u6548" },
+            { "agent.err.password.file.access.notrestricted", "\u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6" },
+            { "agent.err.password.file.not.readable", "\u5BC6\u78BC\u6A94\u6848\u4E0D\u53EF\u8B80" },
+            { "agent.err.password.file.notfound", "\u627E\u4E0D\u5230\u5BC6\u78BC\u6A94\u6848" },
+            { "agent.err.password.file.notset", "\u672A\u6307\u5B9A\u5BC6\u78BC\u6A94\u6848\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "\u7121\u6CD5\u8B80\u53D6\u5BC6\u78BC\u6A94\u6848" },
+            { "agent.err.premain.notfound", "\u4EE3\u7406\u7A0B\u5F0F\u985E\u5225\u4E2D\u4E0D\u5B58\u5728 premain(String)" },
+            { "agent.err.snmp.adaptor.start.failed", "\u7121\u6CD5\u4F7F\u7528\u4F4D\u5740\u555F\u52D5 SNMP \u914D\u63A5\u5361" },
+            { "agent.err.snmp.mib.init.failed", "\u7121\u6CD5\u521D\u59CB\u5316 SNMP MIB\uFF0C\u51FA\u73FE\u932F\u8AA4" },
+            { "agent.err.unknown.snmp.interface", "\u4E0D\u660E\u7684 SNMP \u4ECB\u9762" },
+            { "agent.err.warning", "\u8B66\u544A" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "\u6B63\u5728\u589E\u52A0\u76EE\u6A19\uFE30{0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "\u914D\u63A5\u5361\u5C31\u7DD2\u3002" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "SNMP \u914D\u63A5\u5361\u5C31\u7DD2\uFF0C\u4F4D\u65BC\uFE30{0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "\u6B63\u5728\u8655\u7406 ACL" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "\u6B63\u5728\u555F\u52D5\u914D\u63A5\u5361\u4F3A\u670D\u5668\uFE30" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "\u7D42\u6B62 {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "\u6B63\u5728\u555F\u52D5 JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668\uFE30" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "\u7121\u8A8D\u8B49" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "\u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6\uFE30{0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "JMX \u9023\u63A5\u5668\u5C31\u7DD2\uFF0C\u4F4D\u65BC\uFE30{0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/management/resources/agent_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+package sun.management.resources;
+
+import java.util.ListResourceBundle;
+
+public final class agent_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "agent.err.access.file.not.readable", "\u5B58\u53D6\u6A94\u6848\u4E0D\u53EF\u8B80" },
+            { "agent.err.access.file.notfound", "\u627E\u4E0D\u5230\u5B58\u53D6\u6A94\u6848" },
+            { "agent.err.access.file.notset", "\u672A\u6307\u5B9A\u5B58\u53D6\u6A94\u6848\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.access.file.read.failed", "\u7121\u6CD5\u8B80\u53D6\u5B58\u53D6\u6A94\u6848" },
+            { "agent.err.acl.file.access.notrestricted", "\u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6" },
+            { "agent.err.acl.file.not.readable", "SNMP ACL \u6A94\u6848\u4E0D\u53EF\u8B80" },
+            { "agent.err.acl.file.notfound", "\u627E\u4E0D\u5230 SNMP ACL \u6A94\u6848" },
+            { "agent.err.acl.file.notset", "\u672A\u6307\u5B9A SNMP ACL \u6A94\u6848\uFF0C\u4F46 com.sun.management.snmp.acl=true" },
+            { "agent.err.acl.file.read.failed", "\u7121\u6CD5\u8B80\u53D6 SNMP ACL \u6A94\u6848" },
+            { "agent.err.agentclass.access.denied", "\u5B58\u53D6 premain(String) \u906D\u5230\u62D2\u7D55" },
+            { "agent.err.agentclass.failed", "\u7BA1\u7406\u4EE3\u7406\u985E\u5225\u5931\u6557 " },
+            { "agent.err.agentclass.notfound", "\u627E\u4E0D\u5230\u7BA1\u7406\u4EE3\u7406\u7A0B\u5F0F\u985E\u5225" },
+            { "agent.err.configfile.access.denied", "\u5B58\u53D6\u914D\u7F6E\u6A94\u6848\u906D\u5230\u62D2\u7D55" },
+            { "agent.err.configfile.closed.failed", "\u7121\u6CD5\u95DC\u9589\u914D\u7F6E\u6A94\u6848" },
+            { "agent.err.configfile.failed", "\u7121\u6CD5\u8B80\u53D6\u914D\u7F6E\u6A94\u6848" },
+            { "agent.err.configfile.notfound", "\u627E\u4E0D\u5230\u914D\u7F6E\u6A94\u6848" },
+            { "agent.err.connector.server.io.error", "JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668\u901A\u8A0A\u932F\u8AA4" },
+            { "agent.err.error", "\u932F\u8AA4" },
+            { "agent.err.exception", "\u4EE3\u7406\u7A0B\u5F0F\u4E1F\u51FA\u7570\u5E38 " },
+            { "agent.err.exportaddress.failed", "\u5C07 JMX \u9023\u63A5\u5668\u4F4D\u5740\u532F\u51FA\u81F3\u8A2D\u5099\u7DE9\u885D\u5340\u5931\u6557" },
+            { "agent.err.invalid.agentclass", "com.sun.management.agent.class \u7279\u6027\u503C\u7121\u6548" },
+            { "agent.err.invalid.jmxremote.port", "com.sun.management.jmxremote.port \u7DE8\u865F\u7121\u6548" },
+            { "agent.err.invalid.option", "\u6307\u5B9A\u7684\u9078\u9805\u7121\u6548" },
+            { "agent.err.invalid.snmp.port", "com.sun.management.snmp.port \u7DE8\u865F\u7121\u6548" },
+            { "agent.err.invalid.snmp.trap.port", "com.sun.management.snmp.trap \u7DE8\u865F\u7121\u6548" },
+            { "agent.err.password.file.access.notrestricted", "\u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6" },
+            { "agent.err.password.file.not.readable", "\u5BC6\u78BC\u6A94\u6848\u4E0D\u53EF\u8B80" },
+            { "agent.err.password.file.notfound", "\u627E\u4E0D\u5230\u5BC6\u78BC\u6A94\u6848" },
+            { "agent.err.password.file.notset", "\u672A\u6307\u5B9A\u5BC6\u78BC\u6A94\u6848\uFF0C\u4F46 com.sun.management.jmxremote.authenticate=true" },
+            { "agent.err.password.file.read.failed", "\u7121\u6CD5\u8B80\u53D6\u5BC6\u78BC\u6A94\u6848" },
+            { "agent.err.premain.notfound", "\u4EE3\u7406\u7A0B\u5F0F\u985E\u5225\u4E2D\u4E0D\u5B58\u5728 premain(String)" },
+            { "agent.err.snmp.adaptor.start.failed", "\u7121\u6CD5\u4F7F\u7528\u4F4D\u5740\u555F\u52D5 SNMP \u914D\u63A5\u5361" },
+            { "agent.err.snmp.mib.init.failed", "\u7121\u6CD5\u521D\u59CB\u5316 SNMP MIB\uFF0C\u51FA\u73FE\u932F\u8AA4" },
+            { "agent.err.unknown.snmp.interface", "\u4E0D\u660E\u7684 SNMP \u4ECB\u9762" },
+            { "agent.err.warning", "\u8B66\u544A" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.adding", "\u6B63\u5728\u589E\u52A0\u76EE\u6A19\uFE30{0}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize1", "\u914D\u63A5\u5361\u5C31\u7DD2\u3002" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.initialize2", "SNMP \u914D\u63A5\u5361\u5C31\u7DD2\uFF0C\u4F4D\u65BC\uFE30{0}:{1}" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.processing", "\u6B63\u5728\u8655\u7406 ACL" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.starting", "\u6B63\u5728\u555F\u52D5\u914D\u63A5\u5361\u4F3A\u670D\u5668\uFE30" },
+            { "jmxremote.AdaptorBootstrap.getTargetList.terminate", "\u7D42\u6B62 {0}" },
+            { "jmxremote.ConnectorBootstrap.initialize", "\u6B63\u5728\u555F\u52D5 JMX \u9023\u63A5\u5668\u4F3A\u670D\u5668\uFE30" },
+            { "jmxremote.ConnectorBootstrap.initialize.noAuthentication", "\u7121\u8A8D\u8B49" },
+            { "jmxremote.ConnectorBootstrap.initialize.password.readonly", "\u5FC5\u9808\u9650\u5236\u5BC6\u78BC\u6A94\u6848\u8B80\u53D6\u5B58\u53D6\uFE30{0}" },
+            { "jmxremote.ConnectorBootstrap.initialize.ready", "JMX \u9023\u63A5\u5668\u5C31\u7DD2\uFF0C\u4F4D\u65BC\uFE30{0}" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/misc/Version.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,317 @@
+/*
+ * Copyright 1999-2007 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 sun.misc;
+import java.io.PrintStream;
+
+public class Version {
+
+
+    private static final String launcher_name =
+	"openjdk";
+
+    private static final String java_version =
+	"1.7.0-internal";
+	
+    private static final String java_runtime_name =
+	"OpenJDK Runtime Environment";
+
+    private static final String java_runtime_version =
+	"1.7.0-internal-root_25_may_2007_15_53-b00";
+
+    static {
+	init();
+    }
+
+    public static void init() {
+	System.setProperty("java.version", java_version);
+	System.setProperty("java.runtime.version", java_runtime_version);
+	System.setProperty("java.runtime.name", java_runtime_name);
+    }
+
+    private static boolean versionsInitialized = false;
+    private static int jvm_major_version = 0;
+    private static int jvm_minor_version = 0;
+    private static int jvm_micro_version = 0;
+    private static int jvm_update_version = 0;
+    private static int jvm_build_number = 0;
+    private static String jvm_special_version = null;
+    private static int jdk_major_version = 0;
+    private static int jdk_minor_version = 0;
+    private static int jdk_micro_version = 0;
+    private static int jdk_update_version = 0;
+    private static int jdk_build_number = 0;
+    private static String jdk_special_version = null;
+
+    /**
+     * In case you were wondering this method is called by java -version.
+     * Sad that it prints to stderr; would be nicer if default printed on
+     * stdout.
+     */
+    public static void print() {
+	print(System.err);
+    }
+
+    /**
+     * Give a stream, it will print version info on it.
+     */
+    public static void print(PrintStream ps) {
+	/* First line: platform version. */
+	ps.println(launcher_name + " version \"" + java_version + "\"");
+
+	/* Second line: runtime version (ie, libraries). */
+	ps.println(java_runtime_name + " (build " +
+			   java_runtime_version + ")");
+
+	/* Third line: JVM information. */
+	String java_vm_name    = System.getProperty("java.vm.name");
+	String java_vm_version = System.getProperty("java.vm.version");
+	String java_vm_info    = System.getProperty("java.vm.info");
+	ps.println(java_vm_name + " (build " + java_vm_version + ", " +
+		   java_vm_info + ")");
+    }
+
+    /**
+     * Returns the major version of the running JVM if it's 1.6 or newer
+     * or any RE VM build. It will return 0 if it's an internal 1.5 or
+     * 1.4.x build.
+     *
+     * @since 1.6
+     */
+    public static synchronized int jvmMajorVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jvm_major_version;
+    }
+
+    /**
+     * Returns the minor version of the running JVM if it's 1.6 or newer
+     * or any RE VM build. It will return 0 if it's an internal 1.5 or
+     * 1.4.x build.
+     * @since 1.6
+     */
+    public static synchronized int jvmMinorVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jvm_minor_version;
+    }
+
+
+    /**
+     * Returns the micro version of the running JVM if it's 1.6 or newer
+     * or any RE VM build. It will return 0 if it's an internal 1.5 or
+     * 1.4.x build.
+     * @since 1.6
+     */
+    public static synchronized int jvmMicroVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jvm_micro_version;
+    }
+
+    /**
+     * Returns the update release version of the running JVM if it's
+     * a RE build. It will return 0 if it's an internal build.
+     * @since 1.6
+     */
+    public static synchronized int jvmUpdateVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jvm_update_version;
+    }
+
+    public static synchronized String jvmSpecialVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        if (jvm_special_version == null) {
+            jvm_special_version = getJvmSpecialVersion();
+        }
+        return jvm_special_version;
+    }
+    public static native String getJvmSpecialVersion();
+
+    /**
+     * Returns the build number of the running JVM if it's a RE build
+     * It will return 0 if it's an internal build.
+     * @since 1.6
+     */
+    public static synchronized int jvmBuildNumber() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jvm_build_number;
+    }
+
+    /**
+     * Returns the major version of the running JDK.
+     *
+     * @since 1.6
+     */
+    public static synchronized int jdkMajorVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jdk_major_version;
+    }
+
+    /**
+     * Returns the minor version of the running JDK.
+     * @since 1.6
+     */
+    public static synchronized int jdkMinorVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jdk_minor_version;
+    }
+
+    /**
+     * Returns the micro version of the running JDK.
+     * @since 1.6
+     */
+    public static synchronized int jdkMicroVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jdk_micro_version;
+    }
+
+    /**
+     * Returns the update release version of the running JDK if it's
+     * a RE build. It will return 0 if it's an internal build.
+     * @since 1.6
+     */
+    public static synchronized int jdkUpdateVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jdk_update_version;
+    }
+
+    public static synchronized String jdkSpecialVersion() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        if (jdk_special_version == null) {
+            jdk_special_version = getJdkSpecialVersion();
+        }
+        return jdk_special_version;
+    }
+    public static native String getJdkSpecialVersion();
+
+    /**
+     * Returns the build number of the running JDK if it's a RE build
+     * It will return 0 if it's an internal build.
+     * @since 1.6
+     */
+    public static synchronized int jdkBuildNumber() {
+        if (!versionsInitialized) {
+            initVersions();
+        }
+        return jdk_build_number;
+    }
+
+    // true if JVM exports the version info including the capabilities
+    private static boolean jvmVersionInfoAvailable;
+    private static synchronized void initVersions() {
+        if (versionsInitialized) {
+            return;
+        }
+        jvmVersionInfoAvailable = getJvmVersionInfo();
+        if (!jvmVersionInfoAvailable) {
+            // parse java.vm.version for older JVM before the 
+            // new JVM_GetVersionInfo is added.
+            // valid format of the version string is:
+            // n.n.n[_uu[c]][-<identifer>]-bxx
+	    CharSequence cs = System.getProperty("java.vm.version");
+            if (cs.length() >= 5 && 
+                Character.isDigit(cs.charAt(0)) && cs.charAt(1) == '.' && 
+                Character.isDigit(cs.charAt(2)) && cs.charAt(3) == '.' &&
+                Character.isDigit(cs.charAt(4))) {
+                jvm_major_version = Character.digit(cs.charAt(0), 10); 
+                jvm_minor_version = Character.digit(cs.charAt(2), 10);
+                jvm_micro_version = Character.digit(cs.charAt(4), 10);
+                cs = cs.subSequence(5, cs.length());
+                if (cs.charAt(0) == '_' && cs.length() >= 3 &&
+                    Character.isDigit(cs.charAt(1)) && 
+                    Character.isDigit(cs.charAt(2))) {
+                    int nextChar = 3;
+                    try {
+                        String uu = cs.subSequence(1, 3).toString(); 
+                        jvm_update_version = Integer.valueOf(uu).intValue();
+                        if (cs.length() >= 4) {
+                            char c = cs.charAt(3);
+                            if (c >= 'a' && c <= 'z') { 
+                                jvm_special_version = Character.toString(c);
+                                nextChar++;
+                            }
+                        }
+                    } catch (NumberFormatException e) {
+                        // not conforming to the naming convention
+                        return;
+                    }
+                    cs = cs.subSequence(nextChar, cs.length());
+                }
+                if (cs.charAt(0) == '-') {
+                    // skip the first character
+                    // valid format: <identifier>-bxx or bxx
+                    // non-product VM will have -debug|-release appended
+                    cs = cs.subSequence(1, cs.length());
+                    String[] res = cs.toString().split("-");
+                    for (String s : res) {
+                        if (s.charAt(0) == 'b' && s.length() == 3 && 
+                            Character.isDigit(s.charAt(1)) && 
+                            Character.isDigit(s.charAt(2))) {
+                            jvm_build_number = 
+                                Integer.valueOf(s.substring(1, 3)).intValue();
+                            break;
+                        } 
+                    } 
+                }
+            }
+        }
+        getJdkVersionInfo();
+        versionsInitialized = true;
+    }
+
+    // Gets the JVM version info if available and sets the jvm_*_version fields
+    // and its capabilities.
+    //
+    // Return false if not available which implies an old VM (Tiger or before).
+    private static native boolean getJvmVersionInfo();
+    private static native void getJdkVersionInfo();
+
+}
+
+// Help Emacs a little because this file doesn't end in .java.
+//
+// Local Variables: ***
+// mode: java ***
+// End: ***
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/nio/cs/StandardCharsets.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,680 @@
+/*
+ * @(#)StandardCharsets.java	1.30 06/01/20
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package sun.nio.cs;
+
+import java.nio.charset.*;
+
+
+public class StandardCharsets
+    extends FastCharsetProvider
+{
+
+    static final String[] aliases_US_ASCII = new String[] {
+        "iso-ir-6",
+        "ANSI_X3.4-1986",
+        "ISO_646.irv:1991",
+        "ASCII",
+        "ISO646-US",
+        "us",
+        "IBM367",
+        "cp367",
+        "csASCII",
+        "default",
+        "646",
+        "iso_646.irv:1983",
+        "ANSI_X3.4-1968",
+        "ascii7",
+    };
+
+    static final String[] aliases_UTF_8 = new String[] {
+        "UTF8",
+        "unicode-1-1-utf-8",
+    };
+
+    static final String[] aliases_UTF_16 = new String[] {
+        "UTF_16",
+        "utf16",
+        "unicode",
+        "UnicodeBig",
+    };
+
+    static final String[] aliases_UTF_16BE = new String[] {
+        "UTF_16BE",
+        "ISO-10646-UCS-2",
+        "X-UTF-16BE",
+        "UnicodeBigUnmarked",
+    };
+
+    static final String[] aliases_UTF_16LE = new String[] {
+        "UTF_16LE",
+        "X-UTF-16LE",
+        "UnicodeLittleUnmarked",
+    };
+
+    static final String[] aliases_UTF_16LE_BOM = new String[] {
+        "UnicodeLittle",
+    };
+
+    static final String[] aliases_UTF_32 = new String[] {
+        "UTF_32",
+        "UTF32",
+    };
+
+    static final String[] aliases_UTF_32LE = new String[] {
+        "UTF_32LE",
+        "X-UTF-32LE",
+    };
+
+    static final String[] aliases_UTF_32BE = new String[] {
+        "UTF_32BE",
+        "X-UTF-32BE",
+    };
+
+    static final String[] aliases_UTF_32LE_BOM = new String[] {
+        "UTF_32LE_BOM",
+        "UTF-32LE-BOM",
+    };
+
+    static final String[] aliases_UTF_32BE_BOM = new String[] {
+        "UTF_32BE_BOM",
+        "UTF-32BE-BOM",
+    };
+
+    static final String[] aliases_ISO_8859_1 = new String[] {
+        "iso-ir-100",
+        "ISO_8859-1",
+        "latin1",
+        "l1",
+        "IBM819",
+        "cp819",
+        "csISOLatin1",
+        "819",
+        "IBM-819",
+        "ISO8859_1",
+        "ISO_8859-1:1987",
+        "ISO_8859_1",
+        "8859_1",
+        "ISO8859-1",
+    };
+
+    static final String[] aliases_ISO_8859_2 = new String[] {
+        "iso8859_2",
+        "8859_2",
+        "iso-ir-101",
+        "ISO_8859-2",
+        "ISO_8859-2:1987",
+        "ISO8859-2",
+        "latin2",
+        "l2",
+        "ibm912",
+        "ibm-912",
+        "cp912",
+        "912",
+        "csISOLatin2",
+    };
+
+    static final String[] aliases_ISO_8859_4 = new String[] {
+        "iso8859_4",
+        "iso8859-4",
+        "8859_4",
+        "iso-ir-110",
+        "ISO_8859-4",
+        "ISO_8859-4:1988",
+        "latin4",
+        "l4",
+        "ibm914",
+        "ibm-914",
+        "cp914",
+        "914",
+        "csISOLatin4",
+    };
+
+    static final String[] aliases_ISO_8859_5 = new String[] {
+        "iso8859_5",
+        "8859_5",
+        "iso-ir-144",
+        "ISO_8859-5",
+        "ISO_8859-5:1988",
+        "ISO8859-5",
+        "cyrillic",
+        "ibm915",
+        "ibm-915",
+        "cp915",
+        "915",
+        "csISOLatinCyrillic",
+    };
+
+    static final String[] aliases_ISO_8859_7 = new String[] {
+        "iso8859_7",
+        "8859_7",
+        "iso-ir-126",
+        "ISO_8859-7",
+        "ISO_8859-7:1987",
+        "ELOT_928",
+        "ECMA-118",
+        "greek",
+        "greek8",
+        "csISOLatinGreek",
+        "sun_eu_greek",
+        "ibm813",
+        "ibm-813",
+        "813",
+        "cp813",
+        "iso8859-7",
+    };
+
+    static final String[] aliases_ISO_8859_9 = new String[] {
+        "iso8859_9",
+        "8859_9",
+        "iso-ir-148",
+        "ISO_8859-9",
+        "ISO_8859-9:1989",
+        "ISO8859-9",
+        "latin5",
+        "l5",
+        "ibm920",
+        "ibm-920",
+        "920",
+        "cp920",
+        "csISOLatin5",
+    };
+
+    static final String[] aliases_ISO_8859_13 = new String[] {
+        "iso8859_13",
+        "8859_13",
+        "iso_8859-13",
+        "ISO8859-13",
+    };
+
+    static final String[] aliases_ISO_8859_15 = new String[] {
+        "ISO_8859-15",
+        "8859_15",
+        "ISO-8859-15",
+        "ISO8859_15",
+        "ISO8859-15",
+        "IBM923",
+        "IBM-923",
+        "cp923",
+        "923",
+        "LATIN0",
+        "LATIN9",
+        "L9",
+        "csISOlatin0",
+        "csISOlatin9",
+        "ISO8859_15_FDIS",
+    };
+
+    static final String[] aliases_KOI8_R = new String[] {
+        "koi8_r",
+        "koi8",
+        "cskoi8r",
+    };
+
+    static final String[] aliases_KOI8_U = new String[] {
+        "koi8_u",
+    };
+
+    static final String[] aliases_MS1250 = new String[] {
+        "cp1250",
+        "cp5346",
+    };
+
+    static final String[] aliases_MS1251 = new String[] {
+        "cp1251",
+        "cp5347",
+        "ansi-1251",
+    };
+
+    static final String[] aliases_MS1252 = new String[] {
+        "cp1252",
+        "cp5348",
+    };
+
+    static final String[] aliases_MS1253 = new String[] {
+        "cp1253",
+        "cp5349",
+    };
+
+    static final String[] aliases_MS1254 = new String[] {
+        "cp1254",
+        "cp5350",
+    };
+
+    static final String[] aliases_MS1257 = new String[] {
+        "cp1257",
+        "cp5353",
+    };
+
+    static final String[] aliases_IBM437 = new String[] {
+        "cp437",
+        "ibm437",
+        "ibm-437",
+        "437",
+        "cspc8codepage437",
+        "windows-437",
+    };
+
+    static final String[] aliases_IBM737 = new String[] {
+        "cp737",
+        "ibm737",
+        "ibm-737",
+        "737",
+    };
+
+    static final String[] aliases_IBM775 = new String[] {
+        "cp775",
+        "ibm775",
+        "ibm-775",
+        "775",
+    };
+
+    static final String[] aliases_IBM850 = new String[] {
+        "cp850",
+        "ibm-850",
+        "ibm850",
+        "850",
+        "cspc850multilingual",
+    };
+
+    static final String[] aliases_IBM852 = new String[] {
+        "cp852",
+        "ibm852",
+        "ibm-852",
+        "852",
+        "csPCp852",
+    };
+
+    static final String[] aliases_IBM855 = new String[] {
+        "cp855",
+        "ibm-855",
+        "ibm855",
+        "855",
+        "cspcp855",
+    };
+
+    static final String[] aliases_IBM857 = new String[] {
+        "cp857",
+        "ibm857",
+        "ibm-857",
+        "857",
+        "csIBM857",
+    };
+
+    static final String[] aliases_IBM858 = new String[] {
+        "cp858",
+        "ccsid00858",
+        "cp00858",
+        "858",
+    };
+
+    static final String[] aliases_IBM862 = new String[] {
+        "cp862",
+        "ibm862",
+        "ibm-862",
+        "862",
+        "csIBM862",
+        "cspc862latinhebrew",
+    };
+
+    static final String[] aliases_IBM866 = new String[] {
+        "cp866",
+        "ibm866",
+        "ibm-866",
+        "866",
+        "csIBM866",
+    };
+
+    static final String[] aliases_IBM874 = new String[] {
+        "cp874",
+        "ibm874",
+        "ibm-874",
+        "874",
+    };
+
+    private static final class Aliases
+        extends sun.util.PreHashedMap<String>
+    {
+
+        private static final int ROWS = 1024;
+        private static final int SIZE = 208;
+        private static final int SHIFT = 0;
+        private static final int MASK = 0x3ff;
+
+        private Aliases() {
+            super(ROWS, SIZE, SHIFT, MASK);
+        }
+
+        protected void init(Object[] ht) {
+            ht[1] = new Object[] { "csisolatin0", "iso-8859-15" };
+            ht[2] = new Object[] { "csisolatin1", "iso-8859-1" };
+            ht[3] = new Object[] { "csisolatin2", "iso-8859-2" };
+            ht[5] = new Object[] { "csisolatin4", "iso-8859-4" };
+            ht[6] = new Object[] { "csisolatin5", "iso-8859-9" };
+            ht[10] = new Object[] { "csisolatin9", "iso-8859-15" };
+            ht[19] = new Object[] { "unicodelittle", "x-utf-16le-bom" };
+            ht[24] = new Object[] { "iso646-us", "us-ascii" };
+            ht[25] = new Object[] { "iso_8859-7:1987", "iso-8859-7" };
+            ht[26] = new Object[] { "912", "iso-8859-2" };
+            ht[28] = new Object[] { "914", "iso-8859-4" };
+            ht[29] = new Object[] { "915", "iso-8859-5" };
+            ht[55] = new Object[] { "920", "iso-8859-9" };
+            ht[58] = new Object[] { "923", "iso-8859-15" };
+            ht[86] = new Object[] { "csisolatincyrillic", "iso-8859-5",
+                         new Object[] { "8859_1", "iso-8859-1" } };
+            ht[87] = new Object[] { "8859_2", "iso-8859-2" };
+            ht[89] = new Object[] { "8859_4", "iso-8859-4" };
+            ht[90] = new Object[] { "813", "iso-8859-7",
+                         new Object[] { "8859_5", "iso-8859-5" } };
+            ht[92] = new Object[] { "8859_7", "iso-8859-7" };
+            ht[94] = new Object[] { "8859_9", "iso-8859-9" };
+            ht[95] = new Object[] { "iso_8859-1:1987", "iso-8859-1" };
+            ht[96] = new Object[] { "819", "iso-8859-1" };
+            ht[106] = new Object[] { "unicode-1-1-utf-8", "utf-8" };
+            ht[121] = new Object[] { "x-utf-16le", "utf-16le" };
+            ht[125] = new Object[] { "ecma-118", "iso-8859-7" };
+            ht[134] = new Object[] { "koi8_r", "koi8-r" };
+            ht[137] = new Object[] { "koi8_u", "koi8-u" };
+            ht[141] = new Object[] { "cp912", "iso-8859-2" };
+            ht[143] = new Object[] { "cp914", "iso-8859-4" };
+            ht[144] = new Object[] { "cp915", "iso-8859-5" };
+            ht[170] = new Object[] { "cp920", "iso-8859-9" };
+            ht[173] = new Object[] { "cp923", "iso-8859-15" };
+            ht[177] = new Object[] { "utf_32le_bom", "x-utf-32le-bom" };
+            ht[192] = new Object[] { "utf_16be", "utf-16be" };
+            ht[199] = new Object[] { "cspc8codepage437", "ibm437",
+                         new Object[] { "ansi-1251", "windows-1251" } };
+            ht[205] = new Object[] { "cp813", "iso-8859-7" };
+            ht[211] = new Object[] { "850", "ibm850",
+                         new Object[] { "cp819", "iso-8859-1" } };
+            ht[213] = new Object[] { "852", "ibm852" };
+            ht[216] = new Object[] { "855", "ibm855" };
+            ht[218] = new Object[] { "857", "ibm857",
+                         new Object[] { "iso-ir-6", "us-ascii" } };
+            ht[219] = new Object[] { "858", "ibm00858",
+                         new Object[] { "737", "x-ibm737" } };
+            ht[225] = new Object[] { "csascii", "us-ascii" };
+            ht[244] = new Object[] { "862", "ibm862" };
+            ht[248] = new Object[] { "866", "ibm866" };
+            ht[253] = new Object[] { "x-utf-32be", "utf-32be" };
+            ht[254] = new Object[] { "iso_8859-2:1987", "iso-8859-2" };
+            ht[259] = new Object[] { "unicodebig", "utf-16" };
+            ht[269] = new Object[] { "iso8859_15_fdis", "iso-8859-15" };
+            ht[277] = new Object[] { "874", "x-ibm874" };
+            ht[280] = new Object[] { "unicodelittleunmarked", "utf-16le" };
+            ht[283] = new Object[] { "iso8859_1", "iso-8859-1" };
+            ht[284] = new Object[] { "iso8859_2", "iso-8859-2" };
+            ht[286] = new Object[] { "iso8859_4", "iso-8859-4" };
+            ht[287] = new Object[] { "iso8859_5", "iso-8859-5" };
+            ht[289] = new Object[] { "iso8859_7", "iso-8859-7" };
+            ht[291] = new Object[] { "iso8859_9", "iso-8859-9" };
+            ht[294] = new Object[] { "ibm912", "iso-8859-2" };
+            ht[296] = new Object[] { "ibm914", "iso-8859-4" };
+            ht[297] = new Object[] { "ibm915", "iso-8859-5" };
+            ht[305] = new Object[] { "iso_8859-13", "iso-8859-13" };
+            ht[307] = new Object[] { "iso_8859-15", "iso-8859-15" };
+            ht[312] = new Object[] { "greek8", "iso-8859-7",
+                         new Object[] { "646", "us-ascii" } };
+            ht[321] = new Object[] { "ibm-912", "iso-8859-2" };
+            ht[323] = new Object[] { "ibm920", "iso-8859-9",
+                         new Object[] { "ibm-914", "iso-8859-4" } };
+            ht[324] = new Object[] { "ibm-915", "iso-8859-5" };
+            ht[325] = new Object[] { "l1", "iso-8859-1" };
+            ht[326] = new Object[] { "cp850", "ibm850",
+                         new Object[] { "ibm923", "iso-8859-15",
+                             new Object[] { "l2", "iso-8859-2" } } };
+            ht[327] = new Object[] { "cyrillic", "iso-8859-5" };
+            ht[328] = new Object[] { "cp852", "ibm852",
+                         new Object[] { "l4", "iso-8859-4" } };
+            ht[329] = new Object[] { "l5", "iso-8859-9" };
+            ht[331] = new Object[] { "cp855", "ibm855" };
+            ht[333] = new Object[] { "cp857", "ibm857",
+                         new Object[] { "l9", "iso-8859-15" } };
+            ht[334] = new Object[] { "cp858", "ibm00858",
+                         new Object[] { "cp737", "x-ibm737" } };
+            ht[336] = new Object[] { "iso_8859_1", "iso-8859-1" };
+            ht[339] = new Object[] { "koi8", "koi8-r" };
+            ht[341] = new Object[] { "775", "ibm775" };
+            ht[345] = new Object[] { "iso_8859-9:1989", "iso-8859-9" };
+            ht[350] = new Object[] { "ibm-920", "iso-8859-9" };
+            ht[353] = new Object[] { "ibm-923", "iso-8859-15" };
+            ht[358] = new Object[] { "ibm813", "iso-8859-7" };
+            ht[359] = new Object[] { "cp862", "ibm862" };
+            ht[363] = new Object[] { "cp866", "ibm866" };
+            ht[364] = new Object[] { "ibm819", "iso-8859-1" };
+            ht[378] = new Object[] { "ansi_x3.4-1968", "us-ascii" };
+            ht[385] = new Object[] { "ibm-813", "iso-8859-7" };
+            ht[391] = new Object[] { "ibm-819", "iso-8859-1" };
+            ht[392] = new Object[] { "cp874", "x-ibm874" };
+            ht[405] = new Object[] { "iso-ir-100", "iso-8859-1" };
+            ht[406] = new Object[] { "iso-ir-101", "iso-8859-2" };
+            ht[408] = new Object[] { "437", "ibm437" };
+            ht[421] = new Object[] { "iso-8859-15", "iso-8859-15" };
+            ht[428] = new Object[] { "latin0", "iso-8859-15" };
+            ht[429] = new Object[] { "latin1", "iso-8859-1" };
+            ht[430] = new Object[] { "latin2", "iso-8859-2" };
+            ht[432] = new Object[] { "latin4", "iso-8859-4" };
+            ht[433] = new Object[] { "latin5", "iso-8859-9" };
+            ht[436] = new Object[] { "iso-ir-110", "iso-8859-4" };
+            ht[437] = new Object[] { "latin9", "iso-8859-15" };
+            ht[438] = new Object[] { "ansi_x3.4-1986", "us-ascii" };
+            ht[443] = new Object[] { "utf-32be-bom", "x-utf-32be-bom" };
+            ht[456] = new Object[] { "cp775", "ibm775" };
+            ht[473] = new Object[] { "iso-ir-126", "iso-8859-7" };
+            ht[479] = new Object[] { "ibm850", "ibm850" };
+            ht[481] = new Object[] { "ibm852", "ibm852" };
+            ht[484] = new Object[] { "ibm855", "ibm855" };
+            ht[486] = new Object[] { "ibm857", "ibm857" };
+            ht[487] = new Object[] { "ibm737", "x-ibm737" };
+            ht[502] = new Object[] { "utf_16le", "utf-16le" };
+            ht[506] = new Object[] { "ibm-850", "ibm850" };
+            ht[508] = new Object[] { "ibm-852", "ibm852" };
+            ht[511] = new Object[] { "ibm-855", "ibm855" };
+            ht[512] = new Object[] { "ibm862", "ibm862" };
+            ht[513] = new Object[] { "ibm-857", "ibm857" };
+            ht[514] = new Object[] { "ibm-737", "x-ibm737" };
+            ht[516] = new Object[] { "ibm866", "ibm866" };
+            ht[520] = new Object[] { "unicodebigunmarked", "utf-16be" };
+            ht[523] = new Object[] { "cp437", "ibm437" };
+            ht[524] = new Object[] { "utf16", "utf-16" };
+            ht[533] = new Object[] { "iso-ir-144", "iso-8859-5" };
+            ht[537] = new Object[] { "iso-ir-148", "iso-8859-9" };
+            ht[539] = new Object[] { "ibm-862", "ibm862" };
+            ht[543] = new Object[] { "ibm-866", "ibm866" };
+            ht[545] = new Object[] { "ibm874", "x-ibm874" };
+            ht[563] = new Object[] { "x-utf-32le", "utf-32le" };
+            ht[572] = new Object[] { "ibm-874", "x-ibm874" };
+            ht[573] = new Object[] { "iso_8859-4:1988", "iso-8859-4" };
+            ht[577] = new Object[] { "default", "us-ascii" };
+            ht[582] = new Object[] { "utf32", "utf-32" };
+            ht[588] = new Object[] { "elot_928", "iso-8859-7" };
+            ht[593] = new Object[] { "csisolatingreek", "iso-8859-7" };
+            ht[598] = new Object[] { "csibm857", "ibm857" };
+            ht[609] = new Object[] { "ibm775", "ibm775" };
+            ht[617] = new Object[] { "cp1250", "windows-1250" };
+            ht[618] = new Object[] { "cp1251", "windows-1251" };
+            ht[619] = new Object[] { "cp1252", "windows-1252" };
+            ht[620] = new Object[] { "cp1253", "windows-1253" };
+            ht[621] = new Object[] { "cp1254", "windows-1254" };
+            ht[624] = new Object[] { "csibm862", "ibm862",
+                         new Object[] { "cp1257", "windows-1257" } };
+            ht[628] = new Object[] { "csibm866", "ibm866" };
+            ht[632] = new Object[] { "iso8859_13", "iso-8859-13" };
+            ht[634] = new Object[] { "iso8859_15", "iso-8859-15",
+                         new Object[] { "utf_32be", "utf-32be" } };
+            ht[635] = new Object[] { "utf_32be_bom", "x-utf-32be-bom" };
+            ht[636] = new Object[] { "ibm-775", "ibm775" };
+            ht[654] = new Object[] { "cp00858", "ibm00858" };
+            ht[669] = new Object[] { "8859_13", "iso-8859-13" };
+            ht[670] = new Object[] { "us", "us-ascii" };
+            ht[671] = new Object[] { "8859_15", "iso-8859-15" };
+            ht[676] = new Object[] { "ibm437", "ibm437" };
+            ht[679] = new Object[] { "cp367", "us-ascii" };
+            ht[686] = new Object[] { "iso-10646-ucs-2", "utf-16be" };
+            ht[703] = new Object[] { "ibm-437", "ibm437" };
+            ht[710] = new Object[] { "iso8859-13", "iso-8859-13" };
+            ht[712] = new Object[] { "iso8859-15", "iso-8859-15" };
+            ht[732] = new Object[] { "iso_8859-5:1988", "iso-8859-5" };
+            ht[733] = new Object[] { "unicode", "utf-16" };
+            ht[768] = new Object[] { "greek", "iso-8859-7" };
+            ht[774] = new Object[] { "ascii7", "us-ascii" };
+            ht[781] = new Object[] { "iso8859-1", "iso-8859-1" };
+            ht[782] = new Object[] { "iso8859-2", "iso-8859-2" };
+            ht[783] = new Object[] { "cskoi8r", "koi8-r" };
+            ht[784] = new Object[] { "iso8859-4", "iso-8859-4" };
+            ht[785] = new Object[] { "iso8859-5", "iso-8859-5" };
+            ht[787] = new Object[] { "iso8859-7", "iso-8859-7" };
+            ht[789] = new Object[] { "iso8859-9", "iso-8859-9" };
+            ht[813] = new Object[] { "ccsid00858", "ibm00858" };
+            ht[818] = new Object[] { "cspc862latinhebrew", "ibm862" };
+            ht[832] = new Object[] { "ibm367", "us-ascii" };
+            ht[834] = new Object[] { "iso_8859-1", "iso-8859-1" };
+            ht[835] = new Object[] { "iso_8859-2", "iso-8859-2",
+                         new Object[] { "x-utf-16be", "utf-16be" } };
+            ht[836] = new Object[] { "sun_eu_greek", "iso-8859-7" };
+            ht[837] = new Object[] { "iso_8859-4", "iso-8859-4" };
+            ht[838] = new Object[] { "iso_8859-5", "iso-8859-5" };
+            ht[840] = new Object[] { "cspcp852", "ibm852",
+                         new Object[] { "iso_8859-7", "iso-8859-7" } };
+            ht[842] = new Object[] { "iso_8859-9", "iso-8859-9" };
+            ht[843] = new Object[] { "cspcp855", "ibm855" };
+            ht[846] = new Object[] { "windows-437", "ibm437" };
+            ht[849] = new Object[] { "ascii", "us-ascii" };
+            ht[881] = new Object[] { "utf8", "utf-8" };
+            ht[896] = new Object[] { "iso_646.irv:1983", "us-ascii" };
+            ht[909] = new Object[] { "cp5346", "windows-1250" };
+            ht[910] = new Object[] { "cp5347", "windows-1251" };
+            ht[911] = new Object[] { "cp5348", "windows-1252" };
+            ht[912] = new Object[] { "cp5349", "windows-1253" };
+            ht[925] = new Object[] { "iso_646.irv:1991", "us-ascii" };
+            ht[934] = new Object[] { "cp5350", "windows-1254" };
+            ht[937] = new Object[] { "cp5353", "windows-1257" };
+            ht[944] = new Object[] { "utf_32le", "utf-32le" };
+            ht[957] = new Object[] { "utf_16", "utf-16" };
+            ht[993] = new Object[] { "cspc850multilingual", "ibm850" };
+            ht[1009] = new Object[] { "utf-32le-bom", "x-utf-32le-bom" };
+            ht[1015] = new Object[] { "utf_32", "utf-32" };
+        }
+
+    }
+
+    private static final class Classes
+        extends sun.util.PreHashedMap<String>
+    {
+
+        private static final int ROWS = 32;
+        private static final int SIZE = 38;
+        private static final int SHIFT = 1;
+        private static final int MASK = 0x1f;
+
+        private Classes() {
+            super(ROWS, SIZE, SHIFT, MASK);
+        }
+
+        protected void init(Object[] ht) {
+            ht[0] = new Object[] { "ibm862", "IBM862" };
+            ht[2] = new Object[] { "ibm866", "IBM866",
+                         new Object[] { "utf-32", "UTF_32",
+                             new Object[] { "utf-16le", "UTF_16LE" } } };
+            ht[3] = new Object[] { "windows-1251", "MS1251",
+                         new Object[] { "windows-1250", "MS1250" } };
+            ht[4] = new Object[] { "windows-1253", "MS1253",
+                         new Object[] { "windows-1252", "MS1252",
+                             new Object[] { "utf-32be", "UTF_32BE" } } };
+            ht[5] = new Object[] { "windows-1254", "MS1254",
+                         new Object[] { "utf-16", "UTF_16" } };
+            ht[6] = new Object[] { "windows-1257", "MS1257" };
+            ht[7] = new Object[] { "utf-16be", "UTF_16BE" };
+            ht[8] = new Object[] { "iso-8859-2", "ISO_8859_2",
+                         new Object[] { "iso-8859-1", "ISO_8859_1" } };
+            ht[9] = new Object[] { "iso-8859-4", "ISO_8859_4",
+                         new Object[] { "utf-8", "UTF_8" } };
+            ht[10] = new Object[] { "iso-8859-5", "ISO_8859_5" };
+            ht[11] = new Object[] { "x-ibm874", "IBM874",
+                         new Object[] { "iso-8859-7", "ISO_8859_7" } };
+            ht[12] = new Object[] { "iso-8859-9", "ISO_8859_9" };
+            ht[14] = new Object[] { "x-ibm737", "IBM737" };
+            ht[15] = new Object[] { "ibm850", "IBM850" };
+            ht[16] = new Object[] { "ibm852", "IBM852",
+                         new Object[] { "ibm775", "IBM775" } };
+            ht[17] = new Object[] { "iso-8859-13", "ISO_8859_13",
+                         new Object[] { "us-ascii", "US_ASCII" } };
+            ht[18] = new Object[] { "ibm855", "IBM855",
+                         new Object[] { "ibm437", "IBM437",
+                             new Object[] { "iso-8859-15", "ISO_8859_15" } } };
+            ht[19] = new Object[] { "ibm00858", "IBM858",
+                         new Object[] { "ibm857", "IBM857",
+                             new Object[] { "x-utf-32le-bom", "UTF_32LE_BOM" } } };
+            ht[22] = new Object[] { "x-utf-16le-bom", "UTF_16LE_BOM" };
+            ht[24] = new Object[] { "x-utf-32be-bom", "UTF_32BE_BOM" };
+            ht[28] = new Object[] { "koi8-r", "KOI8_R" };
+            ht[29] = new Object[] { "koi8-u", "KOI8_U" };
+            ht[31] = new Object[] { "utf-32le", "UTF_32LE" };
+        }
+
+    }
+
+    private static final class Cache
+        extends sun.util.PreHashedMap<Charset>
+    {
+
+        private static final int ROWS = 32;
+        private static final int SIZE = 38;
+        private static final int SHIFT = 1;
+        private static final int MASK = 0x1f;
+
+        private Cache() {
+            super(ROWS, SIZE, SHIFT, MASK);
+        }
+
+        protected void init(Object[] ht) {
+            ht[0] = new Object[] { "ibm862", null };
+            ht[2] = new Object[] { "ibm866", null,
+                         new Object[] { "utf-32", null,
+                             new Object[] { "utf-16le", null } } };
+            ht[3] = new Object[] { "windows-1251", null,
+                         new Object[] { "windows-1250", null } };
+            ht[4] = new Object[] { "windows-1253", null,
+                         new Object[] { "windows-1252", null,
+                             new Object[] { "utf-32be", null } } };
+            ht[5] = new Object[] { "windows-1254", null,
+                         new Object[] { "utf-16", null } };
+            ht[6] = new Object[] { "windows-1257", null };
+            ht[7] = new Object[] { "utf-16be", null };
+            ht[8] = new Object[] { "iso-8859-2", null,
+                         new Object[] { "iso-8859-1", null } };
+            ht[9] = new Object[] { "iso-8859-4", null,
+                         new Object[] { "utf-8", null } };
+            ht[10] = new Object[] { "iso-8859-5", null };
+            ht[11] = new Object[] { "x-ibm874", null,
+                         new Object[] { "iso-8859-7", null } };
+            ht[12] = new Object[] { "iso-8859-9", null };
+            ht[14] = new Object[] { "x-ibm737", null };
+            ht[15] = new Object[] { "ibm850", null };
+            ht[16] = new Object[] { "ibm852", null,
+                         new Object[] { "ibm775", null } };
+            ht[17] = new Object[] { "iso-8859-13", null,
+                         new Object[] { "us-ascii", null } };
+            ht[18] = new Object[] { "ibm855", null,
+                         new Object[] { "ibm437", null,
+                             new Object[] { "iso-8859-15", null } } };
+            ht[19] = new Object[] { "ibm00858", null,
+                         new Object[] { "ibm857", null,
+                             new Object[] { "x-utf-32le-bom", null } } };
+            ht[22] = new Object[] { "x-utf-16le-bom", null };
+            ht[24] = new Object[] { "x-utf-32be-bom", null };
+            ht[28] = new Object[] { "koi8-r", null };
+            ht[29] = new Object[] { "koi8-u", null };
+            ht[31] = new Object[] { "utf-32le", null };
+        }
+
+    }
+
+    public StandardCharsets() {
+        super("sun.nio.cs", new Aliases(), new Classes(), new Cache());
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "Automatic Feeder" },
+            { "Cassette", "Cassette" },
+            { "Form-Source", "Form Source" },
+            { "Large-Format", "Large Format" },
+            { "Manual-Envelope", "Manual Envelope" },
+            { "Small-Format", "Small Format" },
+            { "Tractor-Feeder", "Tractor Feeder" },
+            { "a", "Engineering A" },
+            { "accepting-jobs", "Accepting jobs" },
+            { "auto-select", "Automatically Select" },
+            { "b", "Engineering B" },
+            { "border.chromaticity", "Color Appearance" },
+            { "border.copies", "Copies" },
+            { "border.jobattributes", "Job Attributes" },
+            { "border.margins", "Margins" },
+            { "border.media", "Media" },
+            { "border.orientation", "Orientation" },
+            { "border.printrange", "Print Range" },
+            { "border.printservice", "Print Service" },
+            { "border.quality", "Quality" },
+            { "border.sides", "Sides" },
+            { "bottom", "Bottom" },
+            { "button.cancel", "Cancel" },
+            { "button.ok", "OK" },
+            { "button.print", "Print" },
+            { "button.properties", "Properties..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "Engineering C" },
+            { "checkbox.collate", "Collate" },
+            { "checkbox.collate.mnemonic", "C" },
+            { "checkbox.jobsheets", "Banner Page" },
+            { "checkbox.jobsheets.mnemonic", "B" },
+            { "checkbox.printtofile", "Print To File" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "Engineering D" },
+            { "dialog.noprintermsg", "No print service found." },
+            { "dialog.overwrite", "This file already exists.  Would you like to overwrite the existing file?" },
+            { "dialog.owtitle", "Print To File" },
+            { "dialog.printtitle", "Print" },
+            { "dialog.printtofile", "Print To File" },
+            { "dialog.pstitle", "Page Setup" },
+            { "dialog.writeerror", "Cannot write to file:" },
+            { "e", "Engineering E" },
+            { "envelope", "Envelope" },
+            { "error.destination", "Invalid filename; please try again" },
+            { "error.pagerange", "Invalid page range; please re-enter values (e.g. 1-3,5,7-10)" },
+            { "executive", "Executive" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Invitation Envelope" },
+            { "invoice", "Invoice" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO Designated Long" },
+            { "italian-envelope", "Italy Envelope" },
+            { "italy-envelope", "Italy Envelope" },
+            { "japanese-postcard", "Postcard (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "bottom" },
+            { "label.bottommargin.mnemonic", "B" },
+            { "label.inches", "(in)" },
+            { "label.info", "Info:" },
+            { "label.jobname", "Job Name:" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "left" },
+            { "label.leftmargin.mnemonic", "F" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "Number of copies:" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "Priority:" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "Name:" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "Type:" },
+            { "label.rangeto", "To" },
+            { "label.rightmargin", "right" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "Size:" },
+            { "label.size.mnemonic", "Z" },
+            { "label.source", "Source:" },
+            { "label.source.mnemonic", "C" },
+            { "label.status", "Status:" },
+            { "label.topmargin", "top" },
+            { "label.topmargin.mnemonic", "T" },
+            { "label.username", "User Name:" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "Large Capacity" },
+            { "ledger", "Ledger" },
+            { "main", "Main" },
+            { "manual", "Manual" },
+            { "middle", "Middle" },
+            { "monarch-envelope", "Monarch Envelope" },
+            { "na-10x13-envelope", "10x15 Envelope" },
+            { "na-10x14-envelope", "10x15 Envelope" },
+            { "na-10x15-envelope", "10x15 Envelope" },
+            { "na-5x7", "5\" x 7\" Paper" },
+            { "na-6x9-envelope", "6x9 Envelope" },
+            { "na-7x9-envelope", "6x7 Envelope" },
+            { "na-8x10", "8\" x 10\" Paper" },
+            { "na-9x11-envelope", "9x11 Envelope" },
+            { "na-9x12-envelope", "9x12 Envelope" },
+            { "na-legal", "Legal" },
+            { "na-letter", "Letter" },
+            { "na-number-10-envelope", "No. 10 Envelope" },
+            { "na-number-11-envelope", "No. 11 Envelope" },
+            { "na-number-12-envelope", "No. 12 Envelope" },
+            { "na-number-14-envelope", "No. 14 Envelope" },
+            { "na-number-9-envelope", "No. 9 Envelope" },
+            { "not-accepting-jobs", "Not accepting jobs" },
+            { "oufuko-postcard", "Double Postcard (JIS)" },
+            { "personal-envelope", "Personal Envelope" },
+            { "quarto", "Quarto" },
+            { "radiobutton.color", "Color" },
+            { "radiobutton.color.mnemonic", "C" },
+            { "radiobutton.draftq", "Draft" },
+            { "radiobutton.draftq.mnemonic", "F" },
+            { "radiobutton.duplex", "Duplex" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "High" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "Landscape" },
+            { "radiobutton.landscape.mnemonic", "L" },
+            { "radiobutton.monochrome", "Monochrome" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "Normal" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "One Side" },
+            { "radiobutton.oneside.mnemonic", "O" },
+            { "radiobutton.portrait", "Portrait" },
+            { "radiobutton.portrait.mnemonic", "P" },
+            { "radiobutton.rangeall", "All" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "Pages" },
+            { "radiobutton.rangepages.mnemonic", "E" },
+            { "radiobutton.revlandscape", "Reverse Landscape" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "Reverse Portrait" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "Tumble" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "Side" },
+            { "tab.appearance", "Appearance" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "General" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "Page Setup" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "Tabloid" },
+            { "top", "Top" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "Automatische Zuf\u00FChrung" },
+            { "Cassette", "Kassette" },
+            { "Form-Source", "Formularquelle" },
+            { "Large-Format", "Gro\u00DFformat" },
+            { "Manual-Envelope", "Manuelle Umschlagzuf\u00FChrung" },
+            { "Small-Format", "Kleinformat" },
+            { "Tractor-Feeder", "Endlospapiereinzug" },
+            { "a", "Millimeterpapier A" },
+            { "accepting-jobs", "Jobs werden angenommen." },
+            { "auto-select", "Automatische Auswahl" },
+            { "b", "Millimeterpapier B" },
+            { "border.chromaticity", "Farbdarstellung" },
+            { "border.copies", "Kopien" },
+            { "border.jobattributes", "Job-Attribute" },
+            { "border.margins", "R\u00E4nder" },
+            { "border.media", "Medien" },
+            { "border.orientation", "Ausrichtung" },
+            { "border.printrange", "Druckbereich" },
+            { "border.printservice", "Druckdienst" },
+            { "border.quality", "Qualit\u00E4t" },
+            { "border.sides", "Seiten" },
+            { "bottom", "Unten" },
+            { "button.cancel", "Abbrechen" },
+            { "button.ok", "OK" },
+            { "button.print", "Drucken" },
+            { "button.properties", "Eigenschaften..." },
+            { "button.properties.mnemonic", "E" },
+            { "c", "Millimeterpapier C" },
+            { "checkbox.collate", "Sortieren" },
+            { "checkbox.collate.mnemonic", "R" },
+            { "checkbox.jobsheets", "Deckblatt" },
+            { "checkbox.jobsheets.mnemonic", "B" },
+            { "checkbox.printtofile", "Ausgabe in Datei umleiten" },
+            { "checkbox.printtofile.mnemonic", "D" },
+            { "d", "Millimeterpapier D" },
+            { "dialog.noprintermsg", "Kein Druckdienst gefunden" },
+            { "dialog.overwrite", "Diese Datei existiert bereits. M\u00F6chten Sie die vorhandene Datei \u00FCberschreiben?" },
+            { "dialog.owtitle", "Ausgabe in Datei umleiten" },
+            { "dialog.printtitle", "Drucken" },
+            { "dialog.printtofile", "Ausgabe in Datei umleiten" },
+            { "dialog.pstitle", "Seite einrichten" },
+            { "dialog.writeerror", "Schreiben in Datei nicht m\u00F6glich:" },
+            { "e", "Millimeterpapier E" },
+            { "envelope", "Umschlag" },
+            { "error.destination", "Ung\u00FCltiger Dateiname. Bitte versuchen Sie es noch einmal." },
+            { "error.pagerange", "Ung\u00FCltiger Seitenbereich. Bitte geben Sie die Werte noch einmal ein (z. B. 1-3,5,7-10)." },
+            { "executive", "Executive" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Einladungsumschlag" },
+            { "invoice", "Rechnung" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO-bestimmte L\u00E4nge" },
+            { "italian-envelope", "Italy-Umschlag" },
+            { "italy-envelope", "Italy-Umschlag" },
+            { "japanese-postcard", "Postkarte (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "unten" },
+            { "label.bottommargin.mnemonic", "N" },
+            { "label.inches", "(in)" },
+            { "label.info", "Info:" },
+            { "label.jobname", "Job-Name:" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "links" },
+            { "label.leftmargin.mnemonic", "L" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "Anzahl der Kopien:" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "Priorit\u00E4t:" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "Name:" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "Typ:" },
+            { "label.rangeto", "Bis" },
+            { "label.rightmargin", "rechts" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "Gr\u00F6\u00DFe:" },
+            { "label.size.mnemonic", "E" },
+            { "label.source", "Quelle:" },
+            { "label.source.mnemonic", "U" },
+            { "label.status", "Status:" },
+            { "label.topmargin", "oben" },
+            { "label.topmargin.mnemonic", "O" },
+            { "label.username", "Benutzername:" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "Hohe Kapazit\u00E4t" },
+            { "ledger", "Ledger" },
+            { "main", "Haupt" },
+            { "manual", "Manuell" },
+            { "middle", "Mitte" },
+            { "monarch-envelope", "Monarch-Umschlag" },
+            { "na-10x13-envelope", "10x13-Umschlag" },
+            { "na-10x14-envelope", "10x14-Umschlag" },
+            { "na-10x15-envelope", "10x15-Umschlag" },
+            { "na-5x7", "5\" x 7\"-Papier" },
+            { "na-6x9-envelope", "6x9-Umschlag" },
+            { "na-7x9-envelope", "6x7-Umschlag" },
+            { "na-8x10", "8\" x 10\"-Papier" },
+            { "na-9x11-envelope", "9x11-Umschlag" },
+            { "na-9x12-envelope", "9x12-Umschlag" },
+            { "na-legal", "Legal" },
+            { "na-letter", "Letter" },
+            { "na-number-10-envelope", "Umschlag Nr. 10" },
+            { "na-number-11-envelope", "Umschlag Nr. 11" },
+            { "na-number-12-envelope", "Umschlag Nr. 12" },
+            { "na-number-14-envelope", "Umschlag Nr. 14" },
+            { "na-number-9-envelope", "Umschlag Nr. 9" },
+            { "not-accepting-jobs", "Es werden keine Jobs angenommen." },
+            { "oufuko-postcard", "Doppelte Postkarte (JIS)" },
+            { "personal-envelope", "Pers\u00F6nlicher Umschlag" },
+            { "quarto", "Quarto" },
+            { "radiobutton.color", "Farbe" },
+            { "radiobutton.color.mnemonic", "F" },
+            { "radiobutton.draftq", "Entwurf" },
+            { "radiobutton.draftq.mnemonic", "T" },
+            { "radiobutton.duplex", "Duplex" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "Hoch" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "Querformat" },
+            { "radiobutton.landscape.mnemonic", "Q" },
+            { "radiobutton.monochrome", "Schwarzwei\u00DF" },
+            { "radiobutton.monochrome.mnemonic", "W" },
+            { "radiobutton.normalq", "Normal" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "Einseitig" },
+            { "radiobutton.oneside.mnemonic", "E" },
+            { "radiobutton.portrait", "Hochformat" },
+            { "radiobutton.portrait.mnemonic", "H" },
+            { "radiobutton.rangeall", "Alle" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "Seiten" },
+            { "radiobutton.rangepages.mnemonic", "T" },
+            { "radiobutton.revlandscape", "Umgekehrtes Querformat" },
+            { "radiobutton.revlandscape.mnemonic", "M" },
+            { "radiobutton.revportrait", "Umgekehrtes Hochformat" },
+            { "radiobutton.revportrait.mnemonic", "K" },
+            { "radiobutton.tumble", "Kalenderdruck" },
+            { "radiobutton.tumble.mnemonic", "K" },
+            { "side", "Seite" },
+            { "tab.appearance", "Aussehen" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "Allgemein" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "Seite einrichten" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "Tabloid" },
+            { "top", "Oben" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "Alimentador autom\u00E1tico" },
+            { "Cassette", "Casete" },
+            { "Form-Source", "Origen de formulario" },
+            { "Large-Format", "Formato grande" },
+            { "Manual-Envelope", "Sobre manual" },
+            { "Small-Format", "Formato peque\u00F1o" },
+            { "Tractor-Feeder", "Alimentador de arrastre" },
+            { "a", "Ingenier\u00EDa A" },
+            { "accepting-jobs", "Aceptando trabajos" },
+            { "auto-select", "Seleccionar autom\u00E1ticamente" },
+            { "b", "Ingenier\u00EDa B" },
+            { "border.chromaticity", "Aspecto del color" },
+            { "border.copies", "Copias" },
+            { "border.jobattributes", "Atributos del trabajo" },
+            { "border.margins", "M\u00E1rgenes" },
+            { "border.media", "Soporte" },
+            { "border.orientation", "Orientaci\u00F3n" },
+            { "border.printrange", "Rango de impresi\u00F3n" },
+            { "border.printservice", "Servicio de impresi\u00F3n" },
+            { "border.quality", "Calidad" },
+            { "border.sides", "Caras" },
+            { "bottom", "Abajo" },
+            { "button.cancel", "Cancelar" },
+            { "button.ok", "Aceptar" },
+            { "button.print", "Imprimir" },
+            { "button.properties", "Propiedades..." },
+            { "button.properties.mnemonic", "P" },
+            { "c", "Ingenier\u00EDa C" },
+            { "checkbox.collate", "Intercalar" },
+            { "checkbox.collate.mnemonic", "I" },
+            { "checkbox.jobsheets", "P\u00E1gina de car\u00E1tula" },
+            { "checkbox.jobsheets.mnemonic", "r" },
+            { "checkbox.printtofile", "Imprimir en archivo" },
+            { "checkbox.printtofile.mnemonic", "m" },
+            { "d", "Ingenier\u00EDa D" },
+            { "dialog.noprintermsg", "No se ha encontrado el servicio de impresi\u00F3n." },
+            { "dialog.overwrite", "Este archivo ya existe.  \u00BFDesea sobrescribirlo?" },
+            { "dialog.owtitle", "Imprimir en archivo" },
+            { "dialog.printtitle", "Imprimir" },
+            { "dialog.printtofile", "Imprimir en archivo" },
+            { "dialog.pstitle", "Configurar p\u00E1gina" },
+            { "dialog.writeerror", "No se puede escribir en el archivo:" },
+            { "e", "Ingenier\u00EDa E" },
+            { "envelope", "Sobre" },
+            { "error.destination", "Nombre de archivo no v\u00E1lido; int\u00E9ntelo de nuevo." },
+            { "error.pagerange", "Rango de p\u00E1ginas no v\u00E1lido; vuelva a introducir los valores (por ejemplo, 1-3, 5, 7-10)" },
+            { "executive", "Executive" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Sobre de invitaci\u00F3n" },
+            { "invoice", "Factura" },
+            { "iso-2a0", "2A0 (ISO/DIN y JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN y JIS)" },
+            { "iso-a0", "A0 (ISO/DIN y JIS)" },
+            { "iso-a1", "A1 (ISO/DIN y JIS)" },
+            { "iso-a10", "A10 (ISO/DIN y JIS)" },
+            { "iso-a2", "A2 (ISO/DIN y JIS)" },
+            { "iso-a3", "A3 (ISO/DIN y JIS)" },
+            { "iso-a4", "A4 (ISO/DIN y JIS)" },
+            { "iso-a5", "A5 (ISO/DIN y JIS)" },
+            { "iso-a6", "A6 (ISO/DIN y JIS)" },
+            { "iso-a7", "A7 (ISO/DIN y JIS)" },
+            { "iso-a8", "A8 (ISO/DIN y JIS)" },
+            { "iso-a9", "A9 (ISO/DIN y JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "Largo designado ISO" },
+            { "italian-envelope", "Sobre italiano" },
+            { "italy-envelope", "Sobre italiano" },
+            { "japanese-postcard", "Postal (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "inferior" },
+            { "label.bottommargin.mnemonic", "I" },
+            { "label.inches", "(pulg.)" },
+            { "label.info", "Informaci\u00F3n:" },
+            { "label.jobname", "Nombre del trabajo:" },
+            { "label.jobname.mnemonic", "t" },
+            { "label.leftmargin", "izquierdo" },
+            { "label.leftmargin.mnemonic", "Z" },
+            { "label.millimetres", "(mm.)" },
+            { "label.numcopies", "N\u00FAmero de copias:" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "Prioridad:" },
+            { "label.priority.mnemonic", "P" },
+            { "label.psname", "Nombre:" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "Escriba:" },
+            { "label.rangeto", "A" },
+            { "label.rightmargin", "derecho" },
+            { "label.rightmargin.mnemonic", "D" },
+            { "label.size", "Tama\u00F1o:" },
+            { "label.size.mnemonic", "T" },
+            { "label.source", "Origen:" },
+            { "label.source.mnemonic", "O" },
+            { "label.status", "Estado:" },
+            { "label.topmargin", "superior" },
+            { "label.topmargin.mnemonic", "S" },
+            { "label.username", "Nombre de usuario:" },
+            { "label.username.mnemonic", "S" },
+            { "large-capacity", "Gran capacidad" },
+            { "ledger", "Libro mayor" },
+            { "main", "Principal" },
+            { "manual", "Manual" },
+            { "middle", "Centro" },
+            { "monarch-envelope", "Sobre Monarch" },
+            { "na-10x13-envelope", "Sobre 10x15" },
+            { "na-10x14-envelope", "Sobre 10x15" },
+            { "na-10x15-envelope", "Sobre 10x15" },
+            { "na-5x7", "Papel 5\" x 7\"" },
+            { "na-6x9-envelope", "Sobre 6x9" },
+            { "na-7x9-envelope", "Sobre 6x7" },
+            { "na-8x10", "Papel 8\" x 10\"" },
+            { "na-9x11-envelope", "Sobre 9x11" },
+            { "na-9x12-envelope", "Sobre 9x12" },
+            { "na-legal", "Legal" },
+            { "na-letter", "Carta" },
+            { "na-number-10-envelope", "Sobre N.\u00BA 10" },
+            { "na-number-11-envelope", "Sobre N.\u00BA 11" },
+            { "na-number-12-envelope", "Sobre N.\u00BA 12" },
+            { "na-number-14-envelope", "Sobre N.\u00BA 14" },
+            { "na-number-9-envelope", "Sobre N.\u00BA 9" },
+            { "not-accepting-jobs", "No aceptando trabajos" },
+            { "oufuko-postcard", "Postal doble (JIS)" },
+            { "personal-envelope", "Sobre personal" },
+            { "quarto", "Cuarto" },
+            { "radiobutton.color", "Color" },
+            { "radiobutton.color.mnemonic", "O" },
+            { "radiobutton.draftq", "Borrador" },
+            { "radiobutton.draftq.mnemonic", "B" },
+            { "radiobutton.duplex", "D\u00FAplex" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "Alta" },
+            { "radiobutton.highq.mnemonic", "L" },
+            { "radiobutton.landscape", "Horizontal" },
+            { "radiobutton.landscape.mnemonic", "H" },
+            { "radiobutton.monochrome", "Monocromo" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "Normal" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "Una cara" },
+            { "radiobutton.oneside.mnemonic", "U" },
+            { "radiobutton.portrait", "Vertical" },
+            { "radiobutton.portrait.mnemonic", "V" },
+            { "radiobutton.rangeall", "Todo" },
+            { "radiobutton.rangeall.mnemonic", "T" },
+            { "radiobutton.rangepages", "P\u00E1ginas" },
+            { "radiobutton.rangepages.mnemonic", "P" },
+            { "radiobutton.revlandscape", "Horizontal inverso" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "Vertical inverso" },
+            { "radiobutton.revportrait.mnemonic", "R" },
+            { "radiobutton.tumble", "Voltear" },
+            { "radiobutton.tumble.mnemonic", "V" },
+            { "side", "Cara" },
+            { "tab.appearance", "Aspecto" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "General" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "Configurar p\u00E1gina" },
+            { "tab.pagesetup.vkMnemonic", "67" },
+            { "tabloid", "Tabloide" },
+            { "top", "Arriba" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "Alimentation automatique" },
+            { "Cassette", "Cassette" },
+            { "Form-Source", "Source du formulaire" },
+            { "Large-Format", "Grand format" },
+            { "Manual-Envelope", "Enveloppe" },
+            { "Small-Format", "Petit format" },
+            { "Tractor-Feeder", "Alimentation en continu" },
+            { "a", "Ing\u00E9nierie A" },
+            { "accepting-jobs", "Accepter les t\u00E2ches" },
+            { "auto-select", "S\u00E9lection automatique" },
+            { "b", "Ing\u00E9nierie B" },
+            { "border.chromaticity", "Couleur" },
+            { "border.copies", "Copies" },
+            { "border.jobattributes", "Attributs de t\u00E2che" },
+            { "border.margins", "Marges" },
+            { "border.media", "Support" },
+            { "border.orientation", "Orientation" },
+            { "border.printrange", "\u00C9tendue d'impression" },
+            { "border.printservice", "Service d'impression" },
+            { "border.quality", "Qualit\u00E9" },
+            { "border.sides", "C\u00F4t\u00E9s" },
+            { "bottom", "Bas" },
+            { "button.cancel", "Annuler" },
+            { "button.ok", "OK" },
+            { "button.print", "Imprimer" },
+            { "button.properties", "Propri\u00E9t\u00E9s..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "Ing\u00E9nierie C" },
+            { "checkbox.collate", "Interclasser" },
+            { "checkbox.collate.mnemonic", "L" },
+            { "checkbox.jobsheets", "Page de garde" },
+            { "checkbox.jobsheets.mnemonic", "P" },
+            { "checkbox.printtofile", "Imprimer dans un fichier" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "Ing\u00E9nierie D" },
+            { "dialog.noprintermsg", "Service d'impression introuvable" },
+            { "dialog.overwrite", "Ce fichier existe d\u00E9j\u00E0. Remplacer le fichier existant ?" },
+            { "dialog.owtitle", "Imprimer dans un fichier" },
+            { "dialog.printtitle", "Imprimer" },
+            { "dialog.printtofile", "Imprimer dans un fichier" },
+            { "dialog.pstitle", "Mise en page" },
+            { "dialog.writeerror", "Impossible d'enregistrer dans le fichier :" },
+            { "e", "Ing\u00E9nierie E" },
+            { "envelope", "Enveloppe" },
+            { "error.destination", "Nom de fichier non valide ; recommencez" },
+            { "error.pagerange", "Etendue de pages non valide ; sp\u00E9cifiez les valeurs de nouveau (p. ex., 1-3,5,7-10)" },
+            { "executive", "Administratif" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Enveloppe invitation" },
+            { "invoice", "Facture" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)1 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "Long ISO" },
+            { "italian-envelope", "Enveloppe Italie" },
+            { "italy-envelope", "Enveloppe Italie" },
+            { "japanese-postcard", "Carte postale (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)3 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "inf\u00E9rieure" },
+            { "label.bottommargin.mnemonic", "F" },
+            { "label.inches", "(in)" },
+            { "label.info", "Info :" },
+            { "label.jobname", "Nom de t\u00E2che :" },
+            { "label.jobname.mnemonic", "C" },
+            { "label.leftmargin", "gauche" },
+            { "label.leftmargin.mnemonic", "E" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "Nombre de copies :" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "Priorit\u00E9 :" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "Nom :" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "Type :" },
+            { "label.rangeto", "Pour" },
+            { "label.rightmargin", "droite" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "Taille :" },
+            { "label.size.mnemonic", "T" },
+            { "label.source", "Source :" },
+            { "label.source.mnemonic", "C" },
+            { "label.status", "\u00C9tat :" },
+            { "label.topmargin", "sup\u00E9rieure" },
+            { "label.topmargin.mnemonic", "U" },
+            { "label.username", "Nom d'utilisateur :" },
+            { "label.username.mnemonic", "O" },
+            { "large-capacity", "Grande capacit\u00E9" },
+            { "ledger", "Fiche" },
+            { "main", "Principal" },
+            { "manual", "Manuel" },
+            { "middle", "Centre" },
+            { "monarch-envelope", "Enveloppe Monarch" },
+            { "na-10x13-envelope", "Enveloppe 10x15" },
+            { "na-10x14-envelope", "Enveloppe 10x15" },
+            { "na-10x15-envelope", "Enveloppe 10x15" },
+            { "na-5x7", "Papier 5 x 7 po" },
+            { "na-6x9-envelope", "Enveloppe 6x9" },
+            { "na-7x9-envelope", "Enveloppe 6x7" },
+            { "na-8x10", "Papier 8 x 10 po" },
+            { "na-9x11-envelope", "Enveloppe 9x11" },
+            { "na-9x12-envelope", "Enveloppe 9x12" },
+            { "na-legal", "L\u00E9gal" },
+            { "na-letter", "Lettre" },
+            { "na-number-10-envelope", "Enveloppe no 10" },
+            { "na-number-11-envelope", "Enveloppe no 11" },
+            { "na-number-12-envelope", "Enveloppe no 12" },
+            { "na-number-14-envelope", "Enveloppe no 14" },
+            { "na-number-9-envelope", "Enveloppe no 9" },
+            { "not-accepting-jobs", "Refuser les t\u00E2ches" },
+            { "oufuko-postcard", "Carte postale (JIS)" },
+            { "personal-envelope", "Enveloppe personnelle" },
+            { "quarto", "Quarto" },
+            { "radiobutton.color", "Couleur" },
+            { "radiobutton.color.mnemonic", "L" },
+            { "radiobutton.draftq", "Brouillon" },
+            { "radiobutton.draftq.mnemonic", "B" },
+            { "radiobutton.duplex", "Duplex" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "Haut" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "Paysage" },
+            { "radiobutton.landscape.mnemonic", "P" },
+            { "radiobutton.monochrome", "Monochrome" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "Normal" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "Un c\u00F4t\u00E9" },
+            { "radiobutton.oneside.mnemonic", "U" },
+            { "radiobutton.portrait", "Portrait" },
+            { "radiobutton.portrait.mnemonic", "O" },
+            { "radiobutton.rangeall", "Tout" },
+            { "radiobutton.rangeall.mnemonic", "T" },
+            { "radiobutton.rangepages", "Pages" },
+            { "radiobutton.rangepages.mnemonic", "P" },
+            { "radiobutton.revlandscape", "Paysage invers\u00E9" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "Portrait invers\u00E9" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "Culbuter" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "C\u00F4t\u00E9" },
+            { "tab.appearance", "Apparence" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "G\u00E9n\u00E9ral" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "Mise en page" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "Tablo\u00EFd" },
+            { "top", "Haut" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "Alimentazione automatica" },
+            { "Cassette", "Cassetta" },
+            { "Form-Source", "Origine modulo" },
+            { "Large-Format", "Formato grande" },
+            { "Manual-Envelope", "Busta manuale" },
+            { "Small-Format", "Formato piccolo" },
+            { "Tractor-Feeder", "Alimentazione continua" },
+            { "a", "Engineering A" },
+            { "accepting-jobs", "Accettazione processo" },
+            { "auto-select", "Seleziona automaticamente" },
+            { "b", "Engineering B" },
+            { "border.chromaticity", "Aspetto colore" },
+            { "border.copies", "Copie" },
+            { "border.jobattributes", "Attributi processo" },
+            { "border.margins", "Margini" },
+            { "border.media", "Supporti" },
+            { "border.orientation", "Orientamento" },
+            { "border.printrange", "Intervallo di stampa" },
+            { "border.printservice", "Servizio di stampa" },
+            { "border.quality", "Qualit\u00E0" },
+            { "border.sides", "Lati" },
+            { "bottom", "Basso" },
+            { "button.cancel", "Annulla" },
+            { "button.ok", "OK" },
+            { "button.print", "Stampa" },
+            { "button.properties", "Propriet\u00E0..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "Engineering C" },
+            { "checkbox.collate", "Fascicola" },
+            { "checkbox.collate.mnemonic", "L" },
+            { "checkbox.jobsheets", "Pagina banner" },
+            { "checkbox.jobsheets.mnemonic", "P" },
+            { "checkbox.printtofile", "Stampa su file" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "Engineering D" },
+            { "dialog.noprintermsg", "Nessun servizio di stampa trovato" },
+            { "dialog.overwrite", "Il file esiste gi\u00E0. Sovrascrivere il file esistente?" },
+            { "dialog.owtitle", "Stampa su file" },
+            { "dialog.printtitle", "Stampa" },
+            { "dialog.printtofile", "Stampa su file" },
+            { "dialog.pstitle", "Imposta pagina" },
+            { "dialog.writeerror", "Impossibile scrivere nel file:" },
+            { "e", "Engineering E" },
+            { "envelope", "Busta" },
+            { "error.destination", "Nome file non valido; riprovare" },
+            { "error.pagerange", "Intervallo pagine non valido; immettere nuovamente i valori (ad es. 1-3,5,7-10)" },
+            { "executive", "Executive" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Busta invito" },
+            { "invoice", "Fattura" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "Lunghezza ISO" },
+            { "italian-envelope", "Busta Italia" },
+            { "italy-envelope", "Busta Italia" },
+            { "japanese-postcard", "Cartolina giapponese (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "basso" },
+            { "label.bottommargin.mnemonic", "B" },
+            { "label.inches", "(in)" },
+            { "label.info", "Informazioni:" },
+            { "label.jobname", "Nome processo:" },
+            { "label.jobname.mnemonic", "M" },
+            { "label.leftmargin", "sinistra" },
+            { "label.leftmargin.mnemonic", "T" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "Numero di copie:" },
+            { "label.numcopies.mnemonic", "U" },
+            { "label.priority", "Priorit\u00E0:" },
+            { "label.priority.mnemonic", "I" },
+            { "label.psname", "Nome:" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "Tipo:" },
+            { "label.rangeto", "A" },
+            { "label.rightmargin", "destra" },
+            { "label.rightmargin.mnemonic", "E" },
+            { "label.size", "Dimensioni:" },
+            { "label.size.mnemonic", "D" },
+            { "label.source", "Sorgente:" },
+            { "label.source.mnemonic", "R" },
+            { "label.status", "Stato:" },
+            { "label.topmargin", "alto" },
+            { "label.topmargin.mnemonic", "L" },
+            { "label.username", "Nome utente:" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "Grande capacit\u00E0" },
+            { "ledger", "Ledger" },
+            { "main", "Principale" },
+            { "manual", "Manuale" },
+            { "middle", "Medio" },
+            { "monarch-envelope", "Busta Monarch" },
+            { "na-10x13-envelope", "Busta 10x13" },
+            { "na-10x14-envelope", "Busta 10x14" },
+            { "na-10x15-envelope", "Busta 10x15" },
+            { "na-5x7", "Foglio 5\" x 7\"" },
+            { "na-6x9-envelope", "Busta 6x9" },
+            { "na-7x9-envelope", "Busta 6x7" },
+            { "na-8x10", "Foglio 8\" x 10\"" },
+            { "na-9x11-envelope", "Busta 9x11" },
+            { "na-9x12-envelope", "Busta 9x12" },
+            { "na-legal", "Legale" },
+            { "na-letter", "Lettera" },
+            { "na-number-10-envelope", "Busta n. 10" },
+            { "na-number-11-envelope", "Busta n. 11" },
+            { "na-number-12-envelope", "Busta n. 12" },
+            { "na-number-14-envelope", "Busta n. 14" },
+            { "na-number-9-envelope", "Busta n. 9" },
+            { "not-accepting-jobs", "Rifiuto processo" },
+            { "oufuko-postcard", "Cartolina giapponese doppia (JIS)" },
+            { "personal-envelope", "Busta personalizzata" },
+            { "quarto", "Quarto" },
+            { "radiobutton.color", "Colore" },
+            { "radiobutton.color.mnemonic", "C" },
+            { "radiobutton.draftq", "Bozza" },
+            { "radiobutton.draftq.mnemonic", "B" },
+            { "radiobutton.duplex", "Fronte retro" },
+            { "radiobutton.duplex.mnemonic", "R" },
+            { "radiobutton.highq", "Alta" },
+            { "radiobutton.highq.mnemonic", "L" },
+            { "radiobutton.landscape", "Orizzontale" },
+            { "radiobutton.landscape.mnemonic", "O" },
+            { "radiobutton.monochrome", "Monocromatica" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "Normale" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "Un lato" },
+            { "radiobutton.oneside.mnemonic", "O" },
+            { "radiobutton.portrait", "Verticale" },
+            { "radiobutton.portrait.mnemonic", "V" },
+            { "radiobutton.rangeall", "Tutto" },
+            { "radiobutton.rangeall.mnemonic", "T" },
+            { "radiobutton.rangepages", "Pagine" },
+            { "radiobutton.rangepages.mnemonic", "P" },
+            { "radiobutton.revlandscape", "Orizzontale invertito" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "Verticale invertito" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "Testa a piede" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "Laterale" },
+            { "tab.appearance", "Aspetto" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "Generale" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "Imposta pagina" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "Tabloid" },
+            { "top", "Alto" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "\u81EA\u52D5\u30D5\u30A3\u30FC\u30C0" },
+            { "Cassette", "\u30AB\u30BB\u30C3\u30C8" },
+            { "Form-Source", "\u30D5\u30A9\u30FC\u30E0\u30BD\u30FC\u30B9" },
+            { "Large-Format", "\u30E9\u30FC\u30B8\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8" },
+            { "Manual-Envelope", "\u30DE\u30CB\u30E5\u30A2\u30EB\u5C01\u7B52" },
+            { "Small-Format", "\u30B9\u30E2\u30FC\u30EB\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8" },
+            { "Tractor-Feeder", "\u30C8\u30E9\u30AF\u30BF\u30D5\u30A3\u30FC\u30C0" },
+            { "a", "\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0 A" },
+            { "accepting-jobs", "\u30B8\u30E7\u30D6\u3092\u53D7\u3051\u4ED8\u3051\u3066\u3044\u307E\u3059\u3002" },
+            { "auto-select", "\u81EA\u52D5\u9078\u629E" },
+            { "b", "\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0 B" },
+            { "border.chromaticity", "\u8272\u306E\u8868\u73FE" },
+            { "border.copies", "\u5370\u5237\u90E8\u6570" },
+            { "border.jobattributes", "\u30B8\u30E7\u30D6\u306E\u5C5E\u6027" },
+            { "border.margins", "\u30DE\u30FC\u30B8\u30F3" },
+            { "border.media", "\u30E1\u30C7\u30A3\u30A2" },
+            { "border.orientation", "\u7528\u7D19\u306E\u5411\u304D" },
+            { "border.printrange", "\u5370\u5237\u7BC4\u56F2" },
+            { "border.printservice", "\u5370\u5237\u30B5\u30FC\u30D3\u30B9" },
+            { "border.quality", "\u54C1\u8CEA" },
+            { "border.sides", "\u9762" },
+            { "bottom", "\u4E0B\u90E8" },
+            { "button.cancel", "\u53D6\u6D88\u3057" },
+            { "button.ok", "\u4E86\u89E3" },
+            { "button.print", "\u5370\u5237" },
+            { "button.properties", "\u30D7\u30ED\u30D1\u30C6\u30A3(R)..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0 C" },
+            { "checkbox.collate", "\u4E01\u5408\u3044(C)" },
+            { "checkbox.collate.mnemonic", "C" },
+            { "checkbox.jobsheets", "\u30D0\u30CA\u30FC\u30DA\u30FC\u30B8(B)" },
+            { "checkbox.jobsheets.mnemonic", "B" },
+            { "checkbox.printtofile", "\u30D5\u30A1\u30A4\u30EB\u306B\u51FA\u529B(F)" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0 D" },
+            { "dialog.noprintermsg", "\u5370\u5237\u30B5\u30FC\u30D3\u30B9\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002" },
+            { "dialog.overwrite", "\u3053\u306E\u30D5\u30A1\u30A4\u30EB\u306F\u3059\u3067\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u65E2\u5B58\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B?" },
+            { "dialog.owtitle", "\u30D5\u30A1\u30A4\u30EB\u306B\u51FA\u529B" },
+            { "dialog.printtitle", "\u5370\u5237" },
+            { "dialog.printtofile", "\u30D5\u30A1\u30A4\u30EB\u306B\u51FA\u529B" },
+            { "dialog.pstitle", "\u30DA\u30FC\u30B8\u8A2D\u5B9A" },
+            { "dialog.writeerror", "\u30D5\u30A1\u30A4\u30EB\u306B\u66F8\u304D\u8FBC\u3081\u307E\u305B\u3093:" },
+            { "e", "\u30A8\u30F3\u30B8\u30CB\u30A2\u30EA\u30F3\u30B0 E" },
+            { "envelope", "\u5C01\u7B52" },
+            { "error.destination", "\u7121\u52B9\u306A\u30D5\u30A1\u30A4\u30EB\u540D; \u30D5\u30A1\u30A4\u30EB\u540D\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002" },
+            { "error.pagerange", "\u7121\u52B9\u306A\u30DA\u30FC\u30B8\u7BC4\u56F2; \u5024\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044 (\u4F8B\u30011-3,5,7-10)\u3002" },
+            { "executive", "\u30A8\u30B0\u30BC\u30AF\u30C6\u30A3\u30D6" },
+            { "folio", "\u30D5\u30A9\u30EA\u30AA" },
+            { "invite-envelope", "\u62DB\u5F85\u5C01\u7B52" },
+            { "invoice", "\u30A4\u30F3\u30DC\u30A4\u30B9" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO DL (\u9577\u5BF8)" },
+            { "italian-envelope", "\u30A4\u30BF\u30EA\u30A2\u5C01\u7B52" },
+            { "italy-envelope", "\u30A4\u30BF\u30EA\u30A2\u5C01\u7B52" },
+            { "japanese-postcard", "\u306F\u304C\u304D (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "\u4E0B(B)" },
+            { "label.bottommargin.mnemonic", "B" },
+            { "label.inches", "(in)" },
+            { "label.info", "\u60C5\u5831:" },
+            { "label.jobname", "\u30B8\u30E7\u30D6\u540D(J):" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "\u5DE6(F)" },
+            { "label.leftmargin.mnemonic", "F" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "\u5370\u5237\u90E8\u6570(O):" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "\u512A\u5148\u9806\u4F4D(R):" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "\u540D\u524D(N):" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "\u30BF\u30A4\u30D7:" },
+            { "label.rangeto", "\u5370\u5237\u7BC4\u56F2" },
+            { "label.rightmargin", "\u53F3(R)" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "\u30B5\u30A4\u30BA(Z):" },
+            { "label.size.mnemonic", "Z" },
+            { "label.source", "\u30BD\u30FC\u30B9(C):" },
+            { "label.source.mnemonic", "C" },
+            { "label.status", "\u72B6\u614B:" },
+            { "label.topmargin", "\u4E0A(T)" },
+            { "label.topmargin.mnemonic", "T" },
+            { "label.username", "\u30E6\u30FC\u30B6\u540D(U):" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "\u5927\u5BB9\u91CF" },
+            { "ledger", "\u30EC\u30C3\u30B8\u30E3\u30FC" },
+            { "main", "\u30E1\u30A4\u30F3" },
+            { "manual", "\u30DE\u30CB\u30E5\u30A2\u30EB" },
+            { "middle", "\u4E2D\u9593" },
+            { "monarch-envelope", "\u30E2\u30CA\u30FC\u30AF\u5C01\u7B52" },
+            { "na-10x13-envelope", "10x15 \u5C01\u7B52" },
+            { "na-10x14-envelope", "10x15 \u5C01\u7B52" },
+            { "na-10x15-envelope", "10x15 \u5C01\u7B52" },
+            { "na-5x7", "5\" x 7\" \u7528\u7D19" },
+            { "na-6x9-envelope", "6x9 \u5C01\u7B52" },
+            { "na-7x9-envelope", "6x7 \u5C01\u7B52" },
+            { "na-8x10", "8\" x 10\" \u7528\u7D19" },
+            { "na-9x11-envelope", "9x11 \u5C01\u7B52" },
+            { "na-9x12-envelope", "9x12 \u5C01\u7B52" },
+            { "na-legal", "\u30EA\u30FC\u30AC\u30EB" },
+            { "na-letter", "\u30EC\u30BF\u30FC" },
+            { "na-number-10-envelope", "No. 10 \u5C01\u7B52" },
+            { "na-number-11-envelope", "No. 11 \u5C01\u7B52" },
+            { "na-number-12-envelope", "No. 12 \u5C01\u7B52" },
+            { "na-number-14-envelope", "No. 14 \u5C01\u7B52" },
+            { "na-number-9-envelope", "No. 9 \u5C01\u7B52" },
+            { "not-accepting-jobs", "\u30B8\u30E7\u30D6\u3092\u53D7\u3051\u4ED8\u3051\u307E\u305B\u3093\u3002" },
+            { "oufuko-postcard", "\u5F80\u5FA9\u306F\u304C\u304D (JIS)" },
+            { "personal-envelope", "\u500B\u4EBA\u7528\u5C01\u7B52" },
+            { "quarto", "\u30AF\u30A9\u30FC\u30C8" },
+            { "radiobutton.color", "\u30AB\u30E9\u30FC(C)" },
+            { "radiobutton.color.mnemonic", "C" },
+            { "radiobutton.draftq", "\u30C9\u30E9\u30D5\u30C8(F)" },
+            { "radiobutton.draftq.mnemonic", "F" },
+            { "radiobutton.duplex", "\u4E21\u9762(D)" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "\u9AD8\u54C1\u8CEA(H)" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "\u30E9\u30F3\u30C9\u30B9\u30B1\u30FC\u30D7 (\u6A2A)(L)" },
+            { "radiobutton.landscape.mnemonic", "L" },
+            { "radiobutton.monochrome", "\u30E2\u30CE\u30AF\u30ED(M)" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "\u6A19\u6E96(N)" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "\u7247\u9762(O)" },
+            { "radiobutton.oneside.mnemonic", "O" },
+            { "radiobutton.portrait", "\u30DD\u30FC\u30C8\u30EC\u30A4\u30C8 (\u7E26)(P)" },
+            { "radiobutton.portrait.mnemonic", "P" },
+            { "radiobutton.rangeall", "\u3059\u3079\u3066(L)" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "\u30DA\u30FC\u30B8(E)" },
+            { "radiobutton.rangepages.mnemonic", "E" },
+            { "radiobutton.revlandscape", "\u30E9\u30F3\u30C9\u30B9\u30B1\u30FC\u30D7 (\u53CD\u8EE2)(N)" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "\u30DD\u30FC\u30C8\u30EC\u30A4\u30C8 (\u53CD\u8EE2)(I)" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "\u53CD\u8EE2(T)" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "\u9762" },
+            { "tab.appearance", "\u5916\u89B3(A)" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "\u4E00\u822C(G)" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "\u30DA\u30FC\u30B8\u8A2D\u5B9A(S)" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "\u30BF\u30D6\u30ED\u30A4\u30C9" },
+            { "top", "\u4E0A\u90E8" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "\uC790\uB3D9 \uACF5\uAE09\uAE30" },
+            { "Cassette", "\uCE74\uC138\uD2B8" },
+            { "Form-Source", "\uC591\uC2DD \uC18C\uC2A4" },
+            { "Large-Format", "\uD070 \uD615\uC2DD" },
+            { "Manual-Envelope", "\uC218\uB3D9 \uBD09\uD22C" },
+            { "Small-Format", "\uC791\uC740 \uD615\uC2DD" },
+            { "Tractor-Feeder", "\uD2B8\uB799\uD130 \uACF5\uAE09\uAE30" },
+            { "a", "\uACF5\uD559 A" },
+            { "accepting-jobs", "\uC791\uC5C5 \uC218\uB77D" },
+            { "auto-select", "\uC790\uB3D9 \uC120\uD0DD" },
+            { "b", "\uACF5\uD559 B" },
+            { "border.chromaticity", "\uC0C9\uC0C1 \uBAA8\uC591" },
+            { "border.copies", "\uBCF5\uC0AC" },
+            { "border.jobattributes", "\uC791\uC5C5 \uC18D\uC131" },
+            { "border.margins", "\uB9C8\uC9C4" },
+            { "border.media", "\uBBF8\uB514\uC5B4" },
+            { "border.orientation", "\uBC29\uD5A5" },
+            { "border.printrange", "\uC778\uC1C4 \uBC94\uC704" },
+            { "border.printservice", "\uC778\uC1C4 \uC11C\uBE44\uC2A4" },
+            { "border.quality", "\uD488\uC9C8" },
+            { "border.sides", "\uCE21\uBA74" },
+            { "bottom", "\uC544\uB798" },
+            { "button.cancel", "\uCDE8\uC18C" },
+            { "button.ok", "\uD655\uC778" },
+            { "button.print", "\uC778\uC1C4" },
+            { "button.properties", "\uB4F1\uB85D \uC815\uBCF4(R)..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "\uACF5\uD559 C" },
+            { "checkbox.collate", "\uC870\uD569(C)" },
+            { "checkbox.collate.mnemonic", "C" },
+            { "checkbox.jobsheets", "\uBC30\uB108 \uD398\uC774\uC9C0(B)" },
+            { "checkbox.jobsheets.mnemonic", "B" },
+            { "checkbox.printtofile", "\uD30C\uC77C\uB85C \uC778\uC1C4(F)" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "\uACF5\uD559 D" },
+            { "dialog.noprintermsg", "\uC778\uC1C4 \uC11C\uBE44\uC2A4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "dialog.overwrite", "\uC774 \uD30C\uC77C\uC740 \uC774\uBBF8 \uC788\uC2B5\uB2C8\uB2E4. \uAE30\uC874 \uD30C\uC77C\uC744 \uACB9\uCCD0\uC4F0\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?" },
+            { "dialog.owtitle", "\uD30C\uC77C\uB85C \uC778\uC1C4" },
+            { "dialog.printtitle", "\uC778\uC1C4" },
+            { "dialog.printtofile", "\uD30C\uC77C\uB85C \uC778\uC1C4" },
+            { "dialog.pstitle", "\uD398\uC774\uC9C0 \uC124\uC815" },
+            { "dialog.writeerror", "\uD30C\uC77C\uC5D0 \uC4F8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "e", "\uACF5\uD559 E" },
+            { "envelope", "\uBD09\uD22C" },
+            { "error.destination", "\uC798\uBABB\uB41C \uD30C\uC77C \uC774\uB984. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624." },
+            { "error.pagerange", "\uC798\uBABB\uB41C \uD398\uC774\uC9C0 \uBC94\uC704; \uAC12\uC744 \uB2E4\uC2DC \uC785\uB825\uD558\uC2ED\uC2DC\uC624(\uC608: 1-3,5,7-10)" },
+            { "executive", "Executive" },
+            { "folio", "\uD3F4\uB9AC\uC624" },
+            { "invite-envelope", "\uCD08\uCCAD\uC7A5 \uBD09\uD22C" },
+            { "invoice", "\uC1A1\uC7A5" },
+            { "iso-2a0", "2A0 (ISO/DIN \uBC0F JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a0", "A0 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a1", "A1 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a10", "A10 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a2", "A2 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a3", "A3 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a4", "A4 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a5", "A5 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a6", "A6 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a7", "A7 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a8", "A8 (ISO/DIN \uBC0F JIS)" },
+            { "iso-a9", "A9 (ISO/DIN \uBC0F JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO \uC9C0\uC815 \uAE38\uC774" },
+            { "italian-envelope", "\uC774\uD0C8\uB9AC\uC544 \uBD09\uD22C" },
+            { "italy-envelope", "\uC774\uD0C8\uB9AC\uC544 \uBD09\uD22C" },
+            { "japanese-postcard", "\uC5FD\uC11C(JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "=\uB9E8 \uC544\uB798(B)" },
+            { "label.bottommargin.mnemonic", "B" },
+            { "label.inches", "(in)" },
+            { "label.info", "\uC815\uBCF4:" },
+            { "label.jobname", "\uC791\uC5C5 \uC774\uB984(J):" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "\uC67C\uCABD(F)" },
+            { "label.leftmargin.mnemonic", "F" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "\uBCF5\uC0AC \uB9E4\uC218(O):" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "\uC6B0\uC120 \uC21C\uC704(R):" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "\uC774\uB984(N):" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "\uC885\uB958:" },
+            { "label.rangeto", "\uAE4C\uC9C0" },
+            { "label.rightmargin", "\uC624\uB978\uCABD(R)" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "\uD06C\uAE30(Z):" },
+            { "label.size.mnemonic", "Z" },
+            { "label.source", "\uC18C\uC2A4(C):" },
+            { "label.source.mnemonic", "C" },
+            { "label.status", "\uC0C1\uD0DC:" },
+            { "label.topmargin", "\uB9E8 \uC704(T)" },
+            { "label.topmargin.mnemonic", "T" },
+            { "label.username", "\uC0AC\uC6A9\uC790 \uC774\uB984(U):" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "\uD070 \uC6A9\uB7C9" },
+            { "ledger", "\uC6D0\uC7A5" },
+            { "main", "\uC8FC" },
+            { "manual", "\uC218\uB3D9" },
+            { "middle", "\uC911\uAC04" },
+            { "monarch-envelope", "Monarch \uBD09\uD22C" },
+            { "na-10x13-envelope", "10x15 \uBD09\uD22C" },
+            { "na-10x14-envelope", "10x15 \uBD09\uD22C" },
+            { "na-10x15-envelope", "10x15 \uBD09\uD22C" },
+            { "na-5x7", "5\" x 7\" \uC6A9\uC9C0" },
+            { "na-6x9-envelope", "6x9 \uBD09\uD22C" },
+            { "na-7x9-envelope", "6x7 \uBD09\uD22C" },
+            { "na-8x10", "8\" x 10\" \uC6A9\uC9C0" },
+            { "na-9x11-envelope", "9x11 \uBD09\uD22C" },
+            { "na-9x12-envelope", "9x12 \uBD09\uD22C" },
+            { "na-legal", "Legal" },
+            { "na-letter", "Letter" },
+            { "na-number-10-envelope", "No. 10 \uBD09\uD22C" },
+            { "na-number-11-envelope", "No. 11 \uBD09\uD22C" },
+            { "na-number-12-envelope", "No. 12 \uBD09\uD22C" },
+            { "na-number-14-envelope", "No. 14 \uBD09\uD22C" },
+            { "na-number-9-envelope", "No. 9 \uBD09\uD22C" },
+            { "not-accepting-jobs", "\uC791\uC5C5 \uC218\uB77D \uC548 \uD568" },
+            { "oufuko-postcard", "\uC774\uC911 \uC5FD\uC11C(JIS)" },
+            { "personal-envelope", "\uAC1C\uC778 \uBD09\uD22C" },
+            { "quarto", "\uCFFC\uD2B8\uB85C" },
+            { "radiobutton.color", "\uC0C9\uC0C1(C)" },
+            { "radiobutton.color.mnemonic", "C" },
+            { "radiobutton.draftq", "\uCD08\uC548(F)" },
+            { "radiobutton.draftq.mnemonic", "F" },
+            { "radiobutton.duplex", "\uC591\uBA74(D)" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "\uB192\uC74C(H)" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "\uAC00\uB85C(L)" },
+            { "radiobutton.landscape.mnemonic", "L" },
+            { "radiobutton.monochrome", "\uB2E8\uC0C9(M)" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "\uC77C\uBC18(N)" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "\uD55C\uBA74(O)" },
+            { "radiobutton.oneside.mnemonic", "O" },
+            { "radiobutton.portrait", "\uC138\uB85C(P)" },
+            { "radiobutton.portrait.mnemonic", "P" },
+            { "radiobutton.rangeall", "\uBAA8\uB450(L)" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "\uD398\uC774\uC9C0(E)" },
+            { "radiobutton.rangepages.mnemonic", "E" },
+            { "radiobutton.revlandscape", "\uC5ED\uC21C \uAC00\uB85C(N)" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "\uC5ED\uC21C \uC138\uB85C(I)" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "\uB07C\uC6CC\uB123\uAE30(T)" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "\uCE21\uBA74" },
+            { "tab.appearance", "\uBAA8\uC591(A)" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "\uC77C\uBC18(G)" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "\uD398\uC774\uC9C0 \uC124\uC815(S)" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "\uD0C0\uBE14\uB85C\uC774\uB4DC" },
+            { "top", "\uC704" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "Automatisk matning" },
+            { "Cassette", "Kassett" },
+            { "Form-Source", "Formul\u00E4rk\u00E4lla" },
+            { "Large-Format", "Stort format" },
+            { "Manual-Envelope", "Manuell kuvertmatning" },
+            { "Small-Format", "Litet format" },
+            { "Tractor-Feeder", "Traktormatning" },
+            { "a", "Engineering A" },
+            { "accepting-jobs", "Acceptera jobb" },
+            { "auto-select", "V\u00E4lj automatiskt" },
+            { "b", "Engineering B" },
+            { "border.chromaticity", "F\u00E4rgutseende" },
+            { "border.copies", "Antal kopior" },
+            { "border.jobattributes", "Jobbattribut" },
+            { "border.margins", "Marginaler" },
+            { "border.media", "Medier" },
+            { "border.orientation", "Riktning" },
+            { "border.printrange", "Utskriftsomr\u00E5de" },
+            { "border.printservice", "Skrivarhantering" },
+            { "border.quality", "Kvalitet" },
+            { "border.sides", "Sidor" },
+            { "bottom", "Underst" },
+            { "button.cancel", "Avbryt" },
+            { "button.ok", "OK" },
+            { "button.print", "Skriv ut" },
+            { "button.properties", "Egenskaper..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "Engineering C" },
+            { "checkbox.collate", "Sortera" },
+            { "checkbox.collate.mnemonic", "T" },
+            { "checkbox.jobsheets", "Titelsida" },
+            { "checkbox.jobsheets.mnemonic", "I" },
+            { "checkbox.printtofile", "Skriv till fil" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "Engineering D" },
+            { "dialog.noprintermsg", "Det gick inte att hitta n\u00E5gon utskriftstj\u00E4nst." },
+            { "dialog.overwrite", "Denna fil finns redan.  Vill du skriva \u00F6ver den befintliga filen?" },
+            { "dialog.owtitle", "Skriv till fil" },
+            { "dialog.printtitle", "Skriv ut" },
+            { "dialog.printtofile", "Skriv till fil" },
+            { "dialog.pstitle", "Utskriftsformat" },
+            { "dialog.writeerror", "Det g\u00E5r inte att skriva till filen:" },
+            { "e", "Engineering E" },
+            { "envelope", "Kuvert" },
+            { "error.destination", "Ogiltigt filnamn. F\u00F6rs\u00F6k p\u00E5 nytt." },
+            { "error.pagerange", "Ogiltigt sidintervall. Skriv in v\u00E4rdena p\u00E5 nytt (t ex 1-3,5,7-10)" },
+            { "executive", "Executive" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Invitation-kuvert" },
+            { "invoice", "Faktura" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO-designerad Long" },
+            { "italian-envelope", "Italy-kuvert" },
+            { "italy-envelope", "Italy-kuvert" },
+            { "japanese-postcard", "Postcard (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "slut" },
+            { "label.bottommargin.mnemonic", "T" },
+            { "label.inches", "(inch)" },
+            { "label.info", "Information:" },
+            { "label.jobname", "Jobbnamn:" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "v\u00E4nster" },
+            { "label.leftmargin.mnemonic", "V" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "Antal kopior:" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "Prioritet:" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "Namn:" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "Typ:" },
+            { "label.rangeto", "Till" },
+            { "label.rightmargin", "h\u00F6ger" },
+            { "label.rightmargin.mnemonic", "H" },
+            { "label.size", "Storlek:" },
+            { "label.size.mnemonic", "O" },
+            { "label.source", "K\u00E4lla:" },
+            { "label.source.mnemonic", "K" },
+            { "label.status", "Status:" },
+            { "label.topmargin", "start" },
+            { "label.topmargin.mnemonic", "R" },
+            { "label.username", "Anv\u00E4ndarnamn:" },
+            { "label.username.mnemonic", "V" },
+            { "large-capacity", "H\u00F6g kapacitet" },
+            { "ledger", "Ledger" },
+            { "main", "Huvud" },
+            { "manual", "Manuellt" },
+            { "middle", "Mitten" },
+            { "monarch-envelope", "Monarch-kuvert" },
+            { "na-10x13-envelope", "10x13-kuvert" },
+            { "na-10x14-envelope", "10x14-kuvert" },
+            { "na-10x15-envelope", "10x15-kuvert" },
+            { "na-5x7", "5x7 tums papper" },
+            { "na-6x9-envelope", "6x9-kuvert" },
+            { "na-7x9-envelope", "7x9-kuvert" },
+            { "na-8x10", "8x10 tums papper" },
+            { "na-9x11-envelope", "9x11-kuvert" },
+            { "na-9x12-envelope", "9x12-kuvert" },
+            { "na-legal", "Legal" },
+            { "na-letter", "Letter" },
+            { "na-number-10-envelope", "No. 10-kuvert" },
+            { "na-number-11-envelope", "No. 11-kuvert" },
+            { "na-number-12-envelope", "No. 12-kuvert" },
+            { "na-number-14-envelope", "No. 14-kuvert" },
+            { "na-number-9-envelope", "No. 9-kuvert" },
+            { "not-accepting-jobs", "Inte acceptera jobb" },
+            { "oufuko-postcard", "Double Postcard (JIS)" },
+            { "personal-envelope", "egen kuvertstorlek" },
+            { "quarto", "Quarto" },
+            { "radiobutton.color", "F\u00E4rg" },
+            { "radiobutton.color.mnemonic", "F" },
+            { "radiobutton.draftq", "Utkast" },
+            { "radiobutton.draftq.mnemonic", "K" },
+            { "radiobutton.duplex", "Duplex" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "H\u00F6g" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "Liggande" },
+            { "radiobutton.landscape.mnemonic", "L" },
+            { "radiobutton.monochrome", "Monokrom" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "Normal" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "En sida" },
+            { "radiobutton.oneside.mnemonic", "E" },
+            { "radiobutton.portrait", "St\u00E5ende" },
+            { "radiobutton.portrait.mnemonic", "D" },
+            { "radiobutton.rangeall", "Alla" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "Sidor" },
+            { "radiobutton.rangepages.mnemonic", "D" },
+            { "radiobutton.revlandscape", "Omv\u00E4nt liggande" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "Omv\u00E4nt st\u00E5ende" },
+            { "radiobutton.revportrait.mnemonic", "M" },
+            { "radiobutton.tumble", "Tumble" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "Sida" },
+            { "tab.appearance", "Utseende" },
+            { "tab.appearance.vkMnemonic", "85" },
+            { "tab.general", "Allm\u00E4nt" },
+            { "tab.general.vkMnemonic", "65" },
+            { "tab.pagesetup", "Utskriftsformat" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "Tabloid" },
+            { "top", "\u00D6verst" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "\u81EA\u52A8\u9001\u7EB8\u5668" },
+            { "Cassette", "\u7EB8\u76D2" },
+            { "Form-Source", "\u8868\u683C\u6765\u6E90" },
+            { "Large-Format", "\u5927\u53F7\u7248\u5F0F" },
+            { "Manual-Envelope", "\u624B\u52A8\u4FE1\u5C01" },
+            { "Small-Format", "\u5C0F\u53F7\u7248\u5F0F" },
+            { "Tractor-Feeder", "\u7275\u5F15\u5F0F\u9001\u7EB8\u5668" },
+            { "a", "\u5DE5\u7A0B A" },
+            { "accepting-jobs", "\u63A5\u53D7\u4EFB\u52A1" },
+            { "auto-select", "\u81EA\u52A8\u9009\u5B9A" },
+            { "b", "\u5DE5\u7A0B B" },
+            { "border.chromaticity", "\u8272\u5F69\u5916\u89C2" },
+            { "border.copies", "\u4EFD\u6570" },
+            { "border.jobattributes", "\u4EFB\u52A1\u5C5E\u6027" },
+            { "border.margins", "\u8FB9\u8DDD" },
+            { "border.media", "\u5A92\u4F53" },
+            { "border.orientation", "\u65B9\u5411" },
+            { "border.printrange", "\u6253\u5370\u533A\u57DF" },
+            { "border.printservice", "\u6253\u5370\u670D\u52A1" },
+            { "border.quality", "\u8D28\u91CF" },
+            { "border.sides", "\u8FB9" },
+            { "bottom", "\u4E0B" },
+            { "button.cancel", "\u53D6\u6D88" },
+            { "button.ok", "\u786E\u5B9A" },
+            { "button.print", "\u6253\u5370" },
+            { "button.properties", "\u5C5E\u6027(R)..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "\u5DE5\u7A0B C" },
+            { "checkbox.collate", "\u6BD4\u8F83(C)" },
+            { "checkbox.collate.mnemonic", "C" },
+            { "checkbox.jobsheets", "\u6807\u9898\u9875(B)" },
+            { "checkbox.jobsheets.mnemonic", "B" },
+            { "checkbox.printtofile", "\u6253\u5370\u5230\u6587\u4EF6(F)" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "\u5DE5\u7A0B D" },
+            { "dialog.noprintermsg", "\u672A\u627E\u5230\u6253\u5370\u670D\u52A1\u3002" },
+            { "dialog.overwrite", "\u8FD9\u4E2A\u6587\u4EF6\u5DF2\u7ECF\u5B58\u5728\u3002\u662F\u5426\u8981\u66FF\u6362\u5DF2\u6709\u7684\u6587\u4EF6\uFF1F" },
+            { "dialog.owtitle", "\u6253\u5370\u5230\u6587\u4EF6" },
+            { "dialog.printtitle", "\u6253\u5370" },
+            { "dialog.printtofile", "\u6253\u5370\u5230\u6587\u4EF6" },
+            { "dialog.pstitle", "\u9875\u9762\u8BBE\u7F6E" },
+            { "dialog.writeerror", "\u65E0\u6CD5\u5199\u5165\u6587\u4EF6:" },
+            { "e", "\u5DE5\u7A0B E" },
+            { "envelope", "\u4FE1\u5C01" },
+            { "error.destination", "\u65E0\u6548\u7684\u6587\u4EF6\u540D\uFF1B\u8BF7\u91CD\u8BD5" },
+            { "error.pagerange", "\u65E0\u6548\u7684\u9875\u9762\u8303\u56F4\uFF1B\u8BF7\u91CD\u65B0\u8F93\u5165\u6570\u503C (e.g. 1-3,5,7-10)" },
+            { "executive", "\u6267\u884C\u7A0B\u5E8F" },
+            { "folio", "\u5BF9\u5F00\u9875" },
+            { "invite-envelope", "\u9080\u8BF7\u51FD\u4FE1\u5C01" },
+            { "invoice", "\u53D1\u7968" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO \u6307\u5B9A\u957F\u5EA6" },
+            { "italian-envelope", "\u610F\u5927\u5229\u4FE1\u5C01" },
+            { "italy-envelope", "\u610F\u5927\u5229\u4FE1\u5C01" },
+            { "japanese-postcard", "\u660E\u4FE1\u7247 (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "\u5E95\u8FB9\u8DDD(B)" },
+            { "label.bottommargin.mnemonic", "B" },
+            { "label.inches", "(in)" },
+            { "label.info", "\u4FE1\u606F\uFF1A" },
+            { "label.jobname", "\u4EFB\u52A1\u540D\u79F0(J)\uFF1A" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "\u5DE6\u8FB9\u8DDD(F)" },
+            { "label.leftmargin.mnemonic", "F" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "\u6253\u5370\u4EFD\u6570(O)\uFF1A" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "\u4F18\u5148\u7EA7(R)\uFF1A" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "\u540D\u79F0(N)\uFF1A" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "\u7C7B\u578B\uFF1A" },
+            { "label.rangeto", "\u81F3" },
+            { "label.rightmargin", "\u53F3\u8FB9\u8DDD(R)" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "\u5927\u5C0F(Z)\uFF1A" },
+            { "label.size.mnemonic", "Z" },
+            { "label.source", "\u6765\u6E90(C)\uFF1A" },
+            { "label.source.mnemonic", "C" },
+            { "label.status", "\u72B6\u6001\uFF1A" },
+            { "label.topmargin", "\u9876\u8FB9\u8DDD(T)" },
+            { "label.topmargin.mnemonic", "T" },
+            { "label.username", "\u7528\u6237\u540D(U)\uFF1A" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "\u5927\u5BB9\u91CF" },
+            { "ledger", "\u5E10\u76EE" },
+            { "main", "\u4E3B" },
+            { "manual", "\u624B\u52A8" },
+            { "middle", "\u4E2D" },
+            { "monarch-envelope", "Monarch \u4FE1\u5C01" },
+            { "na-10x13-envelope", "10x15 \u4FE1\u5C01" },
+            { "na-10x14-envelope", "10x15 \u4FE1\u5C01" },
+            { "na-10x15-envelope", "10x15 \u4FE1\u5C01" },
+            { "na-5x7", "5\" x 7\" \u7EB8\u5F20" },
+            { "na-6x9-envelope", "6x9 \u4FE1\u5C01" },
+            { "na-7x9-envelope", "6x7 \u4FE1\u5C01" },
+            { "na-8x10", "8\" x 10\" \u7EB8\u5F20" },
+            { "na-9x11-envelope", "9x11 \u4FE1\u5C01" },
+            { "na-9x12-envelope", "9x12 \u4FE1\u5C01" },
+            { "na-legal", "\u6CD5\u5F8B\u6587\u4E66" },
+            { "na-letter", "\u4FE1" },
+            { "na-number-10-envelope", "10 \u53F7\u4FE1\u5C01" },
+            { "na-number-11-envelope", "11 \u53F7\u4FE1\u5C01" },
+            { "na-number-12-envelope", "12 \u53F7\u4FE1\u5C01" },
+            { "na-number-14-envelope", "14 \u53F7\u4FE1\u5C01" },
+            { "na-number-9-envelope", "9 \u53F7\u4FE1\u5C01" },
+            { "not-accepting-jobs", "\u4E0D\u63A5\u53D7\u4EFB\u52A1" },
+            { "oufuko-postcard", "\u53CC\u9762\u540D\u4FE1\u7247 (JIS)" },
+            { "personal-envelope", "\u4E2A\u4EBA\u4FE1\u5C01" },
+            { "quarto", "\u56DB\u5F00\u9875" },
+            { "radiobutton.color", "\u8272\u5F69(C)" },
+            { "radiobutton.color.mnemonic", "C" },
+            { "radiobutton.draftq", "\u8349\u56FE(F)" },
+            { "radiobutton.draftq.mnemonic", "F" },
+            { "radiobutton.duplex", "\u53CC\u9762\u6253\u5370(D)" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "\u9AD8(H)" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "\u6A2A\u5411(L)" },
+            { "radiobutton.landscape.mnemonic", "L" },
+            { "radiobutton.monochrome", "\u5355\u8272(M)" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "\u6B63\u5E38(N)" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "\u5355\u9762(O)" },
+            { "radiobutton.oneside.mnemonic", "O" },
+            { "radiobutton.portrait", "\u7EB5\u5411(P)" },
+            { "radiobutton.portrait.mnemonic", "P" },
+            { "radiobutton.rangeall", "\u5168\u90E8(L)" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "\u9875\u7801\u8303\u56F4(E)" },
+            { "radiobutton.rangepages.mnemonic", "E" },
+            { "radiobutton.revlandscape", "\u6A2A\u5411\u53CD\u9762\u6253\u5370(N)" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "\u7EB5\u5411\u53CD\u9762\u6253\u5370(I)" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "\u7FFB\u8F6C(T)" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "\u8FB9" },
+            { "tab.appearance", "\u5916\u89C2(A)" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "\u5E38\u89C4(G)" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "\u9875\u9762\u8BBE\u7F6E(S)" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "\u5C0F\u62A5" },
+            { "top", "\u4E0A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "\u81EA\u52D5\u994B\u7D19\u5668" },
+            { "Cassette", "\u5361\u5F0F\u78C1\u5E36\u6A5F" },
+            { "Form-Source", "\u8868\u683C\u4F86\u6E90" },
+            { "Large-Format", "\u5927\u683C\u5F0F" },
+            { "Manual-Envelope", "\u624B\u9001\u5C01\u5957" },
+            { "Small-Format", "\u5C0F\u683C\u5F0F" },
+            { "Tractor-Feeder", "\u62D6\u66F3\u994B\u7D19\u5668" },
+            { "a", "\u5DE5\u7A0B A" },
+            { "accepting-jobs", "\u63A5\u53D7\u7684\u5DE5\u4F5C" },
+            { "auto-select", "\u81EA\u52D5\u9078\u53D6" },
+            { "b", "\u5DE5\u7A0B B" },
+            { "border.chromaticity", "\u8272\u5F69\u5916\u89C0" },
+            { "border.copies", "\u4EFD\u6578" },
+            { "border.jobattributes", "\u5DE5\u4F5C\u5C6C\u6027" },
+            { "border.margins", "\u908A\u8DDD" },
+            { "border.media", "\u5A92\u9AD4" },
+            { "border.orientation", "\u65B9\u5411" },
+            { "border.printrange", "\u5217\u5370\u7BC4\u570D" },
+            { "border.printservice", "\u5217\u5370\u670D\u52D9" },
+            { "border.quality", "\u54C1\u8CEA" },
+            { "border.sides", "\u908A" },
+            { "bottom", "\u4E0B" },
+            { "button.cancel", "\u53D6\u6D88" },
+            { "button.ok", "\u78BA\u5B9A" },
+            { "button.print", "\u5217\u5370" },
+            { "button.properties", "\u5C6C\u6027(R)..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "\u5DE5\u7A0B C" },
+            { "checkbox.collate", "\u7406\u5E8F(C)" },
+            { "checkbox.collate.mnemonic", "C" },
+            { "checkbox.jobsheets", "\u6A19\u984C\u9801(B)" },
+            { "checkbox.jobsheets.mnemonic", "B" },
+            { "checkbox.printtofile", "\u5217\u5370\u81F3\u6A94\u6848(F)" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "\u5DE5\u7A0B D" },
+            { "dialog.noprintermsg", "\u627E\u4E0D\u5230\u5217\u5370\u670D\u52D9\u3002" },
+            { "dialog.overwrite", "\u9019\u500B\u6A94\u6848\u5DF2\u7D93\u5B58\u5728\u3002\u60A8\u8981\u8986\u5BEB\u5DF2\u5B58\u5728\u7684\u6A94\u6848\u55CE\uFF1F" },
+            { "dialog.owtitle", "\u5217\u5370\u81F3\u6A94\u6848" },
+            { "dialog.printtitle", "\u5217\u5370" },
+            { "dialog.printtofile", "\u5217\u5370\u81F3\u6A94\u6848" },
+            { "dialog.pstitle", "\u9801\u9762\u8A2D\u5B9A" },
+            { "dialog.writeerror", "\u7121\u6CD5\u5BEB\u5165\u81F3\u6A94\u6848\uFE30" },
+            { "e", "\u5DE5\u7A0B E" },
+            { "envelope", "\u5C01\u5957" },
+            { "error.destination", "\u7121\u6548\u7684\u6A94\u540D\uFF1B\u8ACB\u518D\u8A66\u4E00\u6B21" },
+            { "error.pagerange", "\u7121\u6548\u7684\u9801\u9762\u7BC4\u570D\uFF1B\u8ACB\u91CD\u65B0\u8F38\u5165\u6578\u503C (e.g. 1-3,5,7-10)" },
+            { "executive", "Executive" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Invitation Envelope" },
+            { "invoice", "Invoice" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO Designated Long" },
+            { "italian-envelope", "Italy Envelope" },
+            { "italy-envelope", "Italy Envelope" },
+            { "japanese-postcard", "Postcard (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "\u5E95\u90E8\u908A\u8DDD(B)" },
+            { "label.bottommargin.mnemonic", "B" },
+            { "label.inches", "(in)" },
+            { "label.info", "\u8CC7\u8A0A\uFF1A" },
+            { "label.jobname", "\u5DE5\u4F5C\u540D\u7A31(J)\uFF1A" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "\u5DE6\u908A\u8DDD(F)" },
+            { "label.leftmargin.mnemonic", "F" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "\u5217\u5370\u4EFD\u6578(O)\uFF1A" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "\u512A\u5148\u6B0A(R)\uFF1A" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "\u540D\u7A31(N)\uFF1A" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "\u985E\u578B\uFF1A" },
+            { "label.rangeto", "\u81F3" },
+            { "label.rightmargin", "\u53F3\u908A\u8DDD(R)" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "\u5927\u5C0F(Z)\uFF1A" },
+            { "label.size.mnemonic", "Z" },
+            { "label.source", "\u4F86\u6E90(C)\uFF1A" },
+            { "label.source.mnemonic", "C" },
+            { "label.status", "\u72C0\u614B\uFF1A" },
+            { "label.topmargin", "\u9802\u7AEF\u908A\u8DDD(T)" },
+            { "label.topmargin.mnemonic", "T" },
+            { "label.username", "\u4F7F\u7528\u8005\u540D\u7A31(U)\uFF1A" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "\u5927\u5BB9\u91CF" },
+            { "ledger", "Ledger" },
+            { "main", "\u4E3B" },
+            { "manual", "\u624B\u9001" },
+            { "middle", "\u4E2D" },
+            { "monarch-envelope", "Monarch Envelope" },
+            { "na-10x13-envelope", "10x15 Envelope" },
+            { "na-10x14-envelope", "10x15 Envelope" },
+            { "na-10x15-envelope", "10x15 Envelope" },
+            { "na-5x7", "5\" x 7\" Paper" },
+            { "na-6x9-envelope", "6x9 Envelope" },
+            { "na-7x9-envelope", "6x7 Envelope" },
+            { "na-8x10", "8\" x 10\" Paper" },
+            { "na-9x11-envelope", "9x11 Envelope" },
+            { "na-9x12-envelope", "9x12 Envelope" },
+            { "na-legal", "Legal" },
+            { "na-letter", "Letter" },
+            { "na-number-10-envelope", "No. 10 Envelope" },
+            { "na-number-11-envelope", "No. 11 Envelope" },
+            { "na-number-12-envelope", "No. 12 Envelope" },
+            { "na-number-14-envelope", "No. 14 Envelope" },
+            { "na-number-9-envelope", "No. 9 Envelope" },
+            { "not-accepting-jobs", "\u4E0D\u63A5\u53D7\u7684\u5DE5\u4F5C" },
+            { "oufuko-postcard", "Double Postcard (JIS)" },
+            { "personal-envelope", "Personal Envelope" },
+            { "quarto", "Quarto" },
+            { "radiobutton.color", "\u8272\u5F69(C)" },
+            { "radiobutton.color.mnemonic", "C" },
+            { "radiobutton.draftq", "\u8349\u5716(F)" },
+            { "radiobutton.draftq.mnemonic", "F" },
+            { "radiobutton.duplex", "\u96D9\u9762\u5217\u5370(D)" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "\u9AD8(H)" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "\u6A6B\u5411(L)" },
+            { "radiobutton.landscape.mnemonic", "L" },
+            { "radiobutton.monochrome", "\u55AE\u8272(M)" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "\u6B63\u5E38(N)" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "\u55AE\u9762(O)" },
+            { "radiobutton.oneside.mnemonic", "O" },
+            { "radiobutton.portrait", "\u76F4\u5411(P)" },
+            { "radiobutton.portrait.mnemonic", "P" },
+            { "radiobutton.rangeall", "\u5168\u90E8(L)" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "\u9801\u9762(E)" },
+            { "radiobutton.rangepages.mnemonic", "E" },
+            { "radiobutton.revlandscape", "\u53CD\u5411\u6A6B\u5370(N)" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "\u53CD\u5411\u76F4\u5370(I)" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "\u7FFB\u8F49(T)" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "\u908A" },
+            { "tab.appearance", "\u5916\u89C0(A)" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "\u4E00\u822C(G)" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "\u9801\u9762\u8A2D\u5B9A(S)" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "Tabloid" },
+            { "top", "\u4E0A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/print/resources/serviceui_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,201 @@
+package sun.print.resources;
+
+import java.util.ListResourceBundle;
+
+public final class serviceui_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "Automatic-Feeder", "\u81EA\u52D5\u994B\u7D19\u5668" },
+            { "Cassette", "\u5361\u5F0F\u78C1\u5E36\u6A5F" },
+            { "Form-Source", "\u8868\u683C\u4F86\u6E90" },
+            { "Large-Format", "\u5927\u683C\u5F0F" },
+            { "Manual-Envelope", "\u624B\u9001\u5C01\u5957" },
+            { "Small-Format", "\u5C0F\u683C\u5F0F" },
+            { "Tractor-Feeder", "\u62D6\u66F3\u994B\u7D19\u5668" },
+            { "a", "\u5DE5\u7A0B A" },
+            { "accepting-jobs", "\u63A5\u53D7\u7684\u5DE5\u4F5C" },
+            { "auto-select", "\u81EA\u52D5\u9078\u53D6" },
+            { "b", "\u5DE5\u7A0B B" },
+            { "border.chromaticity", "\u8272\u5F69\u5916\u89C0" },
+            { "border.copies", "\u4EFD\u6578" },
+            { "border.jobattributes", "\u5DE5\u4F5C\u5C6C\u6027" },
+            { "border.margins", "\u908A\u8DDD" },
+            { "border.media", "\u5A92\u9AD4" },
+            { "border.orientation", "\u65B9\u5411" },
+            { "border.printrange", "\u5217\u5370\u7BC4\u570D" },
+            { "border.printservice", "\u5217\u5370\u670D\u52D9" },
+            { "border.quality", "\u54C1\u8CEA" },
+            { "border.sides", "\u908A" },
+            { "bottom", "\u4E0B" },
+            { "button.cancel", "\u53D6\u6D88" },
+            { "button.ok", "\u78BA\u5B9A" },
+            { "button.print", "\u5217\u5370" },
+            { "button.properties", "\u5C6C\u6027(R)..." },
+            { "button.properties.mnemonic", "R" },
+            { "c", "\u5DE5\u7A0B C" },
+            { "checkbox.collate", "\u7406\u5E8F(C)" },
+            { "checkbox.collate.mnemonic", "C" },
+            { "checkbox.jobsheets", "\u6A19\u984C\u9801(B)" },
+            { "checkbox.jobsheets.mnemonic", "B" },
+            { "checkbox.printtofile", "\u5217\u5370\u81F3\u6A94\u6848(F)" },
+            { "checkbox.printtofile.mnemonic", "F" },
+            { "d", "\u5DE5\u7A0B D" },
+            { "dialog.noprintermsg", "\u627E\u4E0D\u5230\u5217\u5370\u670D\u52D9\u3002" },
+            { "dialog.overwrite", "\u9019\u500B\u6A94\u6848\u5DF2\u7D93\u5B58\u5728\u3002\u60A8\u8981\u8986\u5BEB\u5DF2\u5B58\u5728\u7684\u6A94\u6848\u55CE\uFF1F" },
+            { "dialog.owtitle", "\u5217\u5370\u81F3\u6A94\u6848" },
+            { "dialog.printtitle", "\u5217\u5370" },
+            { "dialog.printtofile", "\u5217\u5370\u81F3\u6A94\u6848" },
+            { "dialog.pstitle", "\u9801\u9762\u8A2D\u5B9A" },
+            { "dialog.writeerror", "\u7121\u6CD5\u5BEB\u5165\u81F3\u6A94\u6848\uFE30" },
+            { "e", "\u5DE5\u7A0B E" },
+            { "envelope", "\u5C01\u5957" },
+            { "error.destination", "\u7121\u6548\u7684\u6A94\u540D\uFF1B\u8ACB\u518D\u8A66\u4E00\u6B21" },
+            { "error.pagerange", "\u7121\u6548\u7684\u9801\u9762\u7BC4\u570D\uFF1B\u8ACB\u91CD\u65B0\u8F38\u5165\u6578\u503C (e.g. 1-3,5,7-10)" },
+            { "executive", "Executive" },
+            { "folio", "Folio" },
+            { "invite-envelope", "Invitation Envelope" },
+            { "invoice", "Invoice" },
+            { "iso-2a0", "2A0 (ISO/DIN & JIS)" },
+            { "iso-4a0", "4A0 (ISO/DIN & JIS)" },
+            { "iso-a0", "A0 (ISO/DIN & JIS)" },
+            { "iso-a1", "A1 (ISO/DIN & JIS)" },
+            { "iso-a10", "A10 (ISO/DIN & JIS)" },
+            { "iso-a2", "A2 (ISO/DIN & JIS)" },
+            { "iso-a3", "A3 (ISO/DIN & JIS)" },
+            { "iso-a4", "A4 (ISO/DIN & JIS)" },
+            { "iso-a5", "A5 (ISO/DIN & JIS)" },
+            { "iso-a6", "A6 (ISO/DIN & JIS)" },
+            { "iso-a7", "A7 (ISO/DIN & JIS)" },
+            { "iso-a8", "A8 (ISO/DIN & JIS)" },
+            { "iso-a9", "A9 (ISO/DIN & JIS)" },
+            { "iso-b0", "B0 (ISO/DIN)" },
+            { "iso-b1", "B1 (ISO/DIN)" },
+            { "iso-b10", "B10 (ISO/DIN)" },
+            { "iso-b2", "B2 (ISO/DIN)" },
+            { "iso-b3", "B3 (ISO/DIN)" },
+            { "iso-b4", "B4 (ISO/DIN)" },
+            { "iso-b5", "B5 (ISO/DIN)" },
+            { "iso-b6", "B6 (ISO/DIN)" },
+            { "iso-b7", "B7 (ISO/DIN)" },
+            { "iso-b8", "B8 (ISO/DIN)" },
+            { "iso-b9", "B9 (ISO/DIN)" },
+            { "iso-c0", "C0 (ISO/DIN)" },
+            { "iso-c1", "C1 (ISO/DIN)" },
+            { "iso-c10", "C10 (ISO/DIN)" },
+            { "iso-c2", "C2 (ISO/DIN)" },
+            { "iso-c3", "C3 (ISO/DIN)" },
+            { "iso-c4", "C4 (ISO/DIN)" },
+            { "iso-c5", "C5 (ISO/DIN)" },
+            { "iso-c6", "C6 (ISO/DIN)" },
+            { "iso-c7", "C7 (ISO/DIN)" },
+            { "iso-c8", "C8 (ISO/DIN)" },
+            { "iso-c9", "C9 (ISO/DIN)" },
+            { "iso-designated-long", "ISO Designated Long" },
+            { "italian-envelope", "Italy Envelope" },
+            { "italy-envelope", "Italy Envelope" },
+            { "japanese-postcard", "Postcard (JIS)" },
+            { "jis-b0", "B0 (JIS)" },
+            { "jis-b1", "B1 (JIS)" },
+            { "jis-b10", "B10 (JIS)" },
+            { "jis-b2", "B2 (JIS)" },
+            { "jis-b3", "B3 (JIS)" },
+            { "jis-b4", "B4 (JIS)" },
+            { "jis-b5", "B5 (JIS)" },
+            { "jis-b6", "B6 (JIS)" },
+            { "jis-b7", "B7 (JIS)" },
+            { "jis-b8", "B8 (JIS)" },
+            { "jis-b9", "B9 (JIS)" },
+            { "label.bottommargin", "\u5E95\u90E8\u908A\u8DDD(B)" },
+            { "label.bottommargin.mnemonic", "B" },
+            { "label.inches", "(in)" },
+            { "label.info", "\u8CC7\u8A0A\uFF1A" },
+            { "label.jobname", "\u5DE5\u4F5C\u540D\u7A31(J)\uFF1A" },
+            { "label.jobname.mnemonic", "J" },
+            { "label.leftmargin", "\u5DE6\u908A\u8DDD(F)" },
+            { "label.leftmargin.mnemonic", "F" },
+            { "label.millimetres", "(mm)" },
+            { "label.numcopies", "\u5217\u5370\u4EFD\u6578(O)\uFF1A" },
+            { "label.numcopies.mnemonic", "O" },
+            { "label.priority", "\u512A\u5148\u6B0A(R)\uFF1A" },
+            { "label.priority.mnemonic", "R" },
+            { "label.psname", "\u540D\u7A31(N)\uFF1A" },
+            { "label.psname.mnemonic", "N" },
+            { "label.pstype", "\u985E\u578B\uFF1A" },
+            { "label.rangeto", "\u81F3" },
+            { "label.rightmargin", "\u53F3\u908A\u8DDD(R)" },
+            { "label.rightmargin.mnemonic", "R" },
+            { "label.size", "\u5927\u5C0F(Z)\uFF1A" },
+            { "label.size.mnemonic", "Z" },
+            { "label.source", "\u4F86\u6E90(C)\uFF1A" },
+            { "label.source.mnemonic", "C" },
+            { "label.status", "\u72C0\u614B\uFF1A" },
+            { "label.topmargin", "\u9802\u7AEF\u908A\u8DDD(T)" },
+            { "label.topmargin.mnemonic", "T" },
+            { "label.username", "\u4F7F\u7528\u8005\u540D\u7A31(U)\uFF1A" },
+            { "label.username.mnemonic", "U" },
+            { "large-capacity", "\u5927\u5BB9\u91CF" },
+            { "ledger", "Ledger" },
+            { "main", "\u4E3B" },
+            { "manual", "\u624B\u9001" },
+            { "middle", "\u4E2D" },
+            { "monarch-envelope", "Monarch Envelope" },
+            { "na-10x13-envelope", "10x15 Envelope" },
+            { "na-10x14-envelope", "10x15 Envelope" },
+            { "na-10x15-envelope", "10x15 Envelope" },
+            { "na-5x7", "5\" x 7\" Paper" },
+            { "na-6x9-envelope", "6x9 Envelope" },
+            { "na-7x9-envelope", "6x7 Envelope" },
+            { "na-8x10", "8\" x 10\" Paper" },
+            { "na-9x11-envelope", "9x11 Envelope" },
+            { "na-9x12-envelope", "9x12 Envelope" },
+            { "na-legal", "Legal" },
+            { "na-letter", "Letter" },
+            { "na-number-10-envelope", "No. 10 Envelope" },
+            { "na-number-11-envelope", "No. 11 Envelope" },
+            { "na-number-12-envelope", "No. 12 Envelope" },
+            { "na-number-14-envelope", "No. 14 Envelope" },
+            { "na-number-9-envelope", "No. 9 Envelope" },
+            { "not-accepting-jobs", "\u4E0D\u63A5\u53D7\u7684\u5DE5\u4F5C" },
+            { "oufuko-postcard", "Double Postcard (JIS)" },
+            { "personal-envelope", "Personal Envelope" },
+            { "quarto", "Quarto" },
+            { "radiobutton.color", "\u8272\u5F69(C)" },
+            { "radiobutton.color.mnemonic", "C" },
+            { "radiobutton.draftq", "\u8349\u5716(F)" },
+            { "radiobutton.draftq.mnemonic", "F" },
+            { "radiobutton.duplex", "\u96D9\u9762\u5217\u5370(D)" },
+            { "radiobutton.duplex.mnemonic", "D" },
+            { "radiobutton.highq", "\u9AD8(H)" },
+            { "radiobutton.highq.mnemonic", "H" },
+            { "radiobutton.landscape", "\u6A6B\u5411(L)" },
+            { "radiobutton.landscape.mnemonic", "L" },
+            { "radiobutton.monochrome", "\u55AE\u8272(M)" },
+            { "radiobutton.monochrome.mnemonic", "M" },
+            { "radiobutton.normalq", "\u6B63\u5E38(N)" },
+            { "radiobutton.normalq.mnemonic", "N" },
+            { "radiobutton.oneside", "\u55AE\u9762(O)" },
+            { "radiobutton.oneside.mnemonic", "O" },
+            { "radiobutton.portrait", "\u76F4\u5411(P)" },
+            { "radiobutton.portrait.mnemonic", "P" },
+            { "radiobutton.rangeall", "\u5168\u90E8(L)" },
+            { "radiobutton.rangeall.mnemonic", "L" },
+            { "radiobutton.rangepages", "\u9801\u9762(E)" },
+            { "radiobutton.rangepages.mnemonic", "E" },
+            { "radiobutton.revlandscape", "\u53CD\u5411\u6A6B\u5370(N)" },
+            { "radiobutton.revlandscape.mnemonic", "N" },
+            { "radiobutton.revportrait", "\u53CD\u5411\u76F4\u5370(I)" },
+            { "radiobutton.revportrait.mnemonic", "I" },
+            { "radiobutton.tumble", "\u7FFB\u8F49(T)" },
+            { "radiobutton.tumble.mnemonic", "T" },
+            { "side", "\u908A" },
+            { "tab.appearance", "\u5916\u89C0(A)" },
+            { "tab.appearance.vkMnemonic", "65" },
+            { "tab.general", "\u4E00\u822C(G)" },
+            { "tab.general.vkMnemonic", "71" },
+            { "tab.pagesetup", "\u9801\u9762\u8A2D\u5B9A(S)" },
+            { "tab.pagesetup.vkMnemonic", "83" },
+            { "tabloid", "Tabloid" },
+            { "top", "\u4E0A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "'c' flag requires manifest or input files to be specified!" },
+            { "error.bad.eflag", "'e' flag and manifest with the 'Main-Class' attribute cannot be specified \ntogether!" },
+            { "error.bad.option", "One of options -{ctxu} must be specified." },
+            { "error.bad.uflag", "'u' flag requires manifest, 'e' flag or input files to be specified!" },
+            { "error.cant.open", "can''t open: {0} " },
+            { "error.create.dir", "{0} : could not create directory" },
+            { "error.illegal.option", "Illegal option: {0}" },
+            { "error.incorrect.length", "incorrect length while processing: {0}" },
+            { "error.nosuch.fileordir", "{0} : no such file or directory" },
+            { "error.write.file", "Error in writing existing jar file" },
+            { "out.added.manifest", "added manifest" },
+            { "out.adding", "adding: {0}" },
+            { "out.create", "  created: {0}" },
+            { "out.deflated", "(deflated {0}%)" },
+            { "out.extracted", "extracted: {0}" },
+            { "out.ignore.entry", "ignoring entry {0}" },
+            { "out.inflated", " inflated: {0}" },
+            { "out.size", "(in = {0}) (out= {1})" },
+            { "out.stored", "(stored 0%)" },
+            { "out.update.manifest", "updated manifest" },
+            { "usage", "Usage: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\nOptions:\n    -c  create new archive\n    -t  list table of contents for archive\n    -x  extract named (or all) files from archive\n    -u  update existing archive\n    -v  generate verbose output on standard output\n    -f  specify archive file name\n    -m  include manifest information from specified manifest file\n    -e  specify application entry point for stand-alone application \n        bundled into an executable jar file\n    -0  store only; use no ZIP compression\n    -M  do not create a manifest file for the entries\n    -i  generate index information for the specified jar files\n    -C  change to the specified directory and include the following file\nIf any file is a directory then it is processed recursively.\nThe manifest file name, the archive file name and the entry point name are\nspecified in the same order as the 'm', 'f' and 'e' flags.\n\nExample 1: to archive two class files into an archive called classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nExample 2: use an existing manifest file 'mymanifest' and archive all the\n           files in the foo/ directory into 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "Flag 'c' erfordert Angabe von Manifest oder Eingabedateien!" },
+            { "error.bad.eflag", "Flag 'e' und Manifest mit dem Attribut 'Main-Class' k\u00F6nnen nicht zusammen angegeben\nwerden." },
+            { "error.bad.option", "Eine der Optionen -{ctxu} muss angegeben werden." },
+            { "error.bad.uflag", "Flag 'u' erfordert Angabe von Manifest, Flag 'e' oder Eingabedateien!" },
+            { "error.cant.open", "\u00D6ffnen nicht m\u00F6glich: {0} " },
+            { "error.create.dir", "{0} : Verzeichnis konnte nicht erstellt werden." },
+            { "error.illegal.option", "Unzul\u00E4ssige Option: {0}" },
+            { "error.incorrect.length", "Falsche L\u00E4nge bei der Verarbeitung von: {0}" },
+            { "error.nosuch.fileordir", "{0} : Datei oder Verzeichnis existiert nicht." },
+            { "error.write.file", "Fehler beim Schreiben in vorhandener JAR-Datei." },
+            { "out.added.manifest", "Manifest wurde hinzugef\u00FCgt." },
+            { "out.adding", "Hinzuf\u00FCgen von: {0}" },
+            { "out.create", "     erstellt: {0}" },
+            { "out.deflated", " (komprimiert {0} %)" },
+            { "out.extracted", "   extrahiert: {0}" },
+            { "out.ignore.entry", "Eintrag {0} wird ignoriert." },
+            { "out.inflated", "dekomprimiert: {0}" },
+            { "out.size", " (ein = {0}) (aus = {1})" },
+            { "out.stored", " (gespeichert 0 %)" },
+            { "out.update.manifest", "Manifest wurde aktualisiert." },
+            { "usage", "Syntax: jar {ctxui}[vfm0Me] [jar-Datei] [Manifest-Datei] [Einstiegspunkt] [-C Verzeichnis] Dateien ...\nOptionen:\n    -c  Neues Archiv erstellen\n    -t  Inhaltsverzeichnis f\u00FCr Archiv auflisten\n    -x  Genannte (oder alle) Dateien aus Archiv extrahieren\n    -u  Vorhandenes Archiv aktualisieren\n    -v  Ausf\u00FChrliche Ausgabe f\u00FCr Standardausgabe erzeugen\n    -f  Namen der Archivdatei angeben\n    -m  Manifest-Information von angegebener Manifest-Datei einschlie\u00DFen\n    -e  Geben Sie einen Anwendungs-Einstiegspunkt f\u00FCr die \n        in einer ausf\u00FChrbaren jar-Datei geb\u00FCndelte eigenst\u00E4ndige Anwendung an.\n    -0  Nur speichern (keine ZIP-Komprimierung)\n    -M  Keine Manifest-Datei f\u00FCr die Eintr\u00E4ge erstellen\n    -i  Index-Information f\u00FCr angegebene jar-Dateien erstellen\n    -C  Zum angegebenen Verzeichnis wechseln und folgende Datei einschlie\u00DFen\nFalls eine Datei ein Verzeichnis ist, wird es rekursiv verarbeitet.\nDer Name der Manifest-Datei, der Name der Archivdatei und der Name des Einstiegspunkts werden \nin derselben Reihenfolge wie die Flags 'm', 'f' und 'e' angegeben.\n\nBeispiel 1: So archivieren Sie zwei Klassendateien in ein Archiv mit Namen classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nBeispiel 2: Verwenden der vorhandenen Manifest-Datei 'mymanifest' und archivieren\n           aller Dateien im Verzeichnis foo/ in 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "La marca 'c' necesita la especificaci\u00F3n de archivos de manifiesto o de entrada." },
+            { "error.bad.eflag", "la marca 'e' y el manifiesto con el atributo 'Main-Class' no pueden especificarse \na la vez." },
+            { "error.bad.option", "Se debe especificar una de las opciones -{ctxu}." },
+            { "error.bad.uflag", "La marca 'u' necesita la especificaci\u00F3n de archivos de manifiesto, de entrada o marca 'e'." },
+            { "error.cant.open", "no es posible abrir: {0} " },
+            { "error.create.dir", "{0} : no fue posible crear el directorio" },
+            { "error.illegal.option", "Opci\u00F3n no permitida: {0}" },
+            { "error.incorrect.length", "longitud incorrecta al procesar: {0}" },
+            { "error.nosuch.fileordir", "{0} : no existe tal archivo o directorio." },
+            { "error.write.file", "Error al escribir un archivo jar existente" },
+            { "out.added.manifest", "manifest agregado" },
+            { "out.adding", "agregando: {0}" },
+            { "out.create", "  creado: {0}" },
+            { "out.deflated", " (desinflado {0}%)" },
+            { "out.extracted", "extra\u00EDdo: {0}" },
+            { "out.ignore.entry", "ignorando entrada {0}" },
+            { "out.inflated", " inflado: {0}" },
+            { "out.size", " (entrada = {0}) (salida = {1})" },
+            { "out.stored", " (almacenado 0%)" },
+            { "out.update.manifest", "manifest actualizado" },
+            { "usage", "Uso: jar {ctxui}[vfm0Me] [archivo-jar] [archivo-manifiesto] [punto-entrada] [-C dir] archivos...\nOpciones:\n    -c  crear archivo de almacenamiento\n    -t  crear la tabla de contenido del archivo de almacenamiento\n    -x  extraer el archivo mencionado (o todos) del archivo de almacenamiento\n    -u  actualizar archivo de almacenamiento existente\n    -v  generar salida detallada de los datos de salida est\u00E1ndar\n    -f  especificar nombre del archivo de almacenamiento\n    -m  incluir informaci\u00F3n de un archivo de manifiesto especificado\n    -e  especificar punto de entrada de la aplicaci\u00F3n para aplicaci\u00F3n aut\u00F3noma \n        que se incluye dentro de un archivo jar ejecutable\n    -0  s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n    -M  no crear un archivo de manifiesto para las entradas\n    -i  generar informaci\u00F3n de \u00EDndice para los archivos jar especificados\n    -C  cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo coincide tambi\u00E9n con un directorio, ambos se procesar\u00E1n.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que las marcas 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar dos archivos de clases en un archivo de almacenamiento llamado classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto ya creado, 'mymanifest', y archive todos los\n           archivos del directorio foo/ en 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "L'indicateur c requiert la sp\u00E9cification d'un fichier manifeste ou d'un fichier d'entr\u00E9e." },
+            { "error.bad.eflag", "L'indicateur e et le fichier manifeste portant l'attribut Main-Class ne peuvent pas \u00EAtre sp\u00E9cifi\u00E9s \nensemble !" },
+            { "error.bad.option", "Une des options -{ctxu} doit \u00EAtre sp\u00E9cifi\u00E9e." },
+            { "error.bad.uflag", "L'indicateur u requiert la sp\u00E9cification d'un fichier manifeste, d'un fichier d'entr\u00E9e ou d'un indicateur e." },
+            { "error.cant.open", "impossible d''ouvrir : {0} " },
+            { "error.create.dir", "{0} : impossible de cr\u00E9er le r\u00E9pertoire" },
+            { "error.illegal.option", "Option incorrecte : {0}" },
+            { "error.incorrect.length", "Longueur incorrecte lors du traitement de : {0}" },
+            { "error.nosuch.fileordir", "{0} : fichier ou r\u00E9pertoire introuvable" },
+            { "error.write.file", "Erreur lors de l'\u00E9criture d'un fichier jar existant" },
+            { "out.added.manifest", "manifest ajout\u00E9" },
+            { "out.adding", "ajout : {0}" },
+            { "out.create", "       cr\u00E9\u00E9e: {0}" },
+            { "out.deflated", " ({0}% compress\u00E9s)" },
+            { "out.extracted", "    extraite: {0}" },
+            { "out.ignore.entry", "entr\u00E9e {0} ignor\u00E9e" },
+            { "out.inflated", "d\u00E9compress\u00E9e: {0}" },
+            { "out.size", " (entr\u00E9e = {0}) (sortie = {1})" },
+            { "out.stored", " (0% stock\u00E9)" },
+            { "out.update.manifest", "manifest mis \u00E0 jour" },
+            { "usage", "Utilisation : jar {ctxui}[vfm0Me] [fichier-jar] [fichier-manifeste] [point-entr\u00E9e] [-C r\u00E9p] fichiers...\nOptions :\n    -c  cr\u00E9e une nouvelle archive\n    -t  affiche la table des mati\u00E8res de l'archive\n    -x  extrait les fichiers nomm\u00E9s (ou tous les fichiers) de l'archive\n    -u  met \u00E0 jour l'archive existante\n    -v  g\u00E9n\u00E8re une version d\u00E9taill\u00E9e d'une sortie standard\n    -f  sp\u00E9cifie le nom du fichier archive\n    -m  inclut les informations de manifeste \u00E0 partir du fichier de manifeste sp\u00E9cifi\u00E9\n    -e  sp\u00E9cifie le point d'entr\u00E9e d'une application en mode autonome \n        int\u00E9gr\u00E9e \u00E0 un fichier JAR ex\u00E9cutable\n    -0  stockage uniquement, pas de compression ZIP\n    -M  ne cr\u00E9e pas de fichier manifeste pour les entr\u00E9es\n    -i  g\u00E9n\u00E8re les informations d'index des fichiers jar sp\u00E9cifi\u00E9s\n    -C  passe au r\u00E9pertoire sp\u00E9cifi\u00E9 et inclut le fichier suivant\nSi l'un des fichiers est un r\u00E9pertoire, celui-ci est trait\u00E9 r\u00E9cursivement.\nLes noms du fichier manifeste, du fichier archive et du point d'entr\u00E9e sont\nsp\u00E9cifi\u00E9s dans le m\u00EAme ordre que celui des indicateurs m, f et e.\n\nExemple 1 : pour archiver deux fichiers de classe dans une archive intitul\u00E9e classes.jar : \n       jar cvf classes.jar Foo.class Bar.class \nExemple 2 : pour utiliser un fichier manifeste existant 'monmanifeste', puis archiver tous les\n           fichiers du r\u00E9pertoire foo/ dans 'classes.jar' : \n       jar cvfm classes.jar monmanifeste -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "Per il flag 'c' \u00E8 necessario specificare file manifesto o di input." },
+            { "error.bad.eflag", "Il flag 'e' e il manifesto con l'attributo 'Main-Class' non possono essere specificati\ninsieme." },
+            { "error.bad.option", "\u00C8 necessario specificare una delle opzioni -{ctxu}." },
+            { "error.bad.uflag", "Per il flag 'u' \u00E8 necessario specificare il flag 'e' oppure file manifesto o di input." },
+            { "error.cant.open", "impossibile aprire: {0} " },
+            { "error.create.dir", "{0} : impossibile creare la directory" },
+            { "error.illegal.option", "Opzione non valida: {0}" },
+            { "error.incorrect.length", "lunghezza non valida durante l''elaborazione: {0}" },
+            { "error.nosuch.fileordir", "{0} : impossibile trovare il file o la directory" },
+            { "error.write.file", "Errore durante la scrittura del file jar esistente" },
+            { "out.added.manifest", "aggiunto manifesto" },
+            { "out.adding", "aggiunta in corso di: {0}" },
+            { "out.create", "     creato: {0}" },
+            { "out.deflated", " (compresso {0}%)" },
+            { "out.extracted", "   estratto: {0}" },
+            { "out.ignore.entry", "la voce {0} sar\u00E0 ignorata" },
+            { "out.inflated", "decompresso: {0}" },
+            { "out.size", " (in = {0}) (out = {1})" },
+            { "out.stored", " (archiviato 0%)" },
+            { "out.update.manifest", "aggiornato manifesto" },
+            { "usage", "Utilizzo: jar {ctxui}[vfm0Me] [file-jar] [file-manifesto] [punto di ingresso] [-C dir] file ...\nOpzioni:\n    -c  crea un nuovo archivio\n    -t  visualizza l'indice dell'archivio\n    -x  estrae i file con nome (o tutti i file) dall'archivio\n    -u  aggiorna l'archivio esistente\n    -v  genera output commentato dall'output standard\n    -f  specifica il nome file dell'archivio\n    -m  include informazioni manifesto dal file manifesto specificato\n    -e  specifica il punto di ingresso per l'applicazione stand-alone \n        inclusa nel file jar eseguibile\n    -0  solo memorizzazione; senza compressione ZIP\n    -M  consente di non creare un file manifesto per le voci\n    -i  genera informazioni sull'indice per i file jar specificati\n    -C  imposta la directory specificata e include il file seguente\nSe un file \u00E8 una directory, verr\u00E0 elaborato in modo ricorsivo.\nIl nome del file manifesto, del file di archivio e del punto di ingresso devono\nessere specificati nello stesso ordine dei flag 'm', 'f' ed 'e'.\n\nEsempio 1: archiviazione di due file di classe in un archivio con il nome classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nEsempio 2: utilizzo del file manifesto esistente 'mymanifest' e archiviazione di tutti i\n           file della directory foo/ in 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "\u30D5\u30E9\u30B0 'c' \u3067\u306F\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304B\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "error.bad.eflag", "'e' \u30D5\u30E9\u30B0\u3068 'Main-Class' \u5C5E\u6027\u3092\u6301\u3064\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u306F\u540C\u6642\u306B\u6307\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002" },
+            { "error.bad.option", "\u30AA\u30D7\u30B7\u30E7\u30F3 -{ctxu} \u306E\u3046\u3061\u306E 1 \u3064\u3092\u6307\u5B9A\u3057\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002" },
+            { "error.bad.uflag", "\u30D5\u30E9\u30B0 'u' \u3067\u306F\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304B 'e' \u30D5\u30E9\u30B0\u3001\u307E\u305F\u306F\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u6307\u5B9A\u304C\u5FC5\u8981\u3067\u3059\u3002" },
+            { "error.cant.open", "{0} \u3092\u958B\u304F\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002 " },
+            { "error.create.dir", "\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA {0} \u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002" },
+            { "error.illegal.option", "\u4E0D\u6B63\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}" },
+            { "error.incorrect.length", "{0} \u306E\u51E6\u7406\u4E2D\u306B\u4E0D\u6B63\u306A\u9577\u3055\u304C\u3042\u308A\u307E\u3057\u305F\u3002" },
+            { "error.nosuch.fileordir", "{0} \u3068\u3044\u3046\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306F\u3042\u308A\u307E\u305B\u3093\u3002" },
+            { "error.write.file", "\u65E2\u5B58 jar \u30D5\u30A1\u30A4\u30EB\u306E\u66F8\u304D\u8FBC\u307F\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002" },
+            { "out.added.manifest", "\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u8FFD\u52A0\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "out.adding", "{0} \u3092\u8FFD\u52A0\u4E2D\u3067\u3059\u3002" },
+            { "out.create", "  {0} \u304C\u4F5C\u6210\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "out.deflated", "({0}% \u53CE\u7E2E\u3055\u308C\u307E\u3057\u305F)" },
+            { "out.extracted", "{0} \u304C\u62BD\u51FA\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "out.ignore.entry", "\u30A8\u30F3\u30C8\u30EA {0} \u3092\u7121\u8996\u3057\u307E\u3059\u3002" },
+            { "out.inflated", " {0} \u304C\u5C55\u958B\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "out.size", "(\u5165 = {0}) (\u51FA = {1})" },
+            { "out.stored", "(0% \u683C\u7D0D\u3055\u308C\u307E\u3057\u305F)" },
+            { "out.update.manifest", "\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u304C\u66F4\u65B0\u3055\u308C\u307E\u3057\u305F\u3002" },
+            { "usage", "\u4F7F\u3044\u65B9: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u30AA\u30D7\u30B7\u30E7\u30F3:\n    -c  \u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u65B0\u898F\u4F5C\u6210\u3059\u308B\n    -t  \u30A2\u30FC\u30AB\u30A4\u30D6\u306E\u5185\u5BB9\u3092\u4E00\u89A7\u8868\u793A\u3059\u308B\n    -x  \u6307\u5B9A\u306E (\u307E\u305F\u306F\u3059\u3079\u3066\u306E) \u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u304B\u3089\u62BD\u51FA\u3059\u308B\n    -u  \u65E2\u5B58\u30A2\u30FC\u30AB\u30A4\u30D6\u3092\u66F4\u65B0\u3059\u308B\n    -v  \u6A19\u6E96\u51FA\u529B\u306B\u8A73\u7D30\u306A\u51FA\u529B\u3092\u751F\u6210\u3059\u308B\n    -f  \u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A1\u30A4\u30EB\u540D\u3092\u6307\u5B9A\u3059\u308B\n    -m  \u6307\u5B9A\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u60C5\u5831\u3092\u53D6\u308A\u8FBC\u3080\n    -e  \u5B9F\u884C\u53EF\u80FD jar \u30D5\u30A1\u30A4\u30EB\u306B\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B9\u30BF\u30F3\u30C9\u30A2\u30ED\u30F3\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u306E\n        \u30A8\u30F3\u30C8\u30EA\u30DD\u30A4\u30F3\u30C8\u3092\u6307\u5B9A\u3059\u308B\n    -0  \u683C\u7D0D\u306E\u307F\u3002ZIP \u5727\u7E2E\u3092\u4F7F\u7528\u3057\u306A\u3044\n    -M  \u30A8\u30F3\u30C8\u30EA\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u3057\u306A\u3044\n    -i  \u6307\u5B9A\u306E jar \u30D5\u30A1\u30A4\u30EB\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u60C5\u5831\u3092\u751F\u6210\u3059\u308B\n    -C  \u6307\u5B9A\u306E\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306B\u5909\u66F4\u3057\u3001\u4EE5\u4E0B\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u53D6\u308A\u8FBC\u3080\n\u30D5\u30A1\u30A4\u30EB\u304C\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u5834\u5408\u306F\u518D\u5E30\u7684\u306B\u51E6\u7406\u3055\u308C\u307E\u3059\u3002\n\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB\u540D\u3001\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A1\u30A4\u30EB\u540D\u304A\u3088\u3073\u30A8\u30F3\u30C8\u30EA\u30DD\u30A4\u30F3\u30C8\u540D\u306F\u3001\n\u30D5\u30E9\u30B0 'm'\u3001'f'\u3001'e' \u306E\u6307\u5B9A\u3068\u540C\u3058\u9806\u756A\u3067\u6307\u5B9A\u3057\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002\n\n\u4F8B 1: 2 \u3064\u306E\u30AF\u30E9\u30B9\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30FC\u30AB\u30A4\u30D6 classes.jar \u306B\u4FDD\u5B58\u3059\u308B:\n       jar cvf classes.jar Foo.class Bar.class \n\u4F8B 2: \u65E2\u5B58\u306E\u30DE\u30CB\u30D5\u30A7\u30B9\u30C8\u30D5\u30A1\u30A4\u30EB 'mymanifest' \u3092\u4F7F\u7528\u3057\u3001foo/ \u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\n      \u5168\u30D5\u30A1\u30A4\u30EB\u3092 'classes.jar' \u306B\u30A2\u30FC\u30AB\u30A4\u30D6\u3059\u308B:\n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "'c' \uD50C\uB798\uADF8\uB97C \uC9C0\uC815\uD558\uB824\uBA74 manifest \uB610\uB294 \uC785\uB825 \uD30C\uC77C\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!" },
+            { "error.bad.eflag", "'\uAE30\uBCF8 \uD074\uB798\uC2A4' \uC18D\uC131\uC744 \uD3EC\uD568\uD55C 'e' \uD50C\uB798\uADF8 \uBC0F manifest\uB97C \uD568\uAED8 \uC9C0\uC815\uD560 \uC218\n\uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "error.bad.option", "\uC635\uC158 -{ctxu} \uC911 \uD558\uB098\uAC00 \uC9C0\uC815\uB418\uC5B4\uC57C \uD569\uB2C8\uB2E4." },
+            { "error.bad.uflag", "'u' \uD50C\uB798\uADF8\uB97C \uC9C0\uC815\uD558\uB824\uBA74 manifest, 'e' \uD50C\uB798\uADF8 \uB610\uB294 \uC785\uB825 \uD30C\uC77C\uC774 \uD544\uC694\uD569\uB2C8\uB2E4!" },
+            { "error.cant.open", "{0}\uC744(\uB97C) \uC5F4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. " },
+            { "error.create.dir", "{0} : \uB514\uB809\uD1A0\uB9AC\uB97C \uB9CC\uB4E4 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "error.illegal.option", "{0} \uC635\uC158\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "error.incorrect.length", "{0} \uCC98\uB9AC \uC911 \uAE38\uC774\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "error.nosuch.fileordir", "{0} : \uC9C0\uC815\uD55C \uD30C\uC77C \uB610\uB294 \uB514\uB809\uD1A0\uB9AC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." },
+            { "error.write.file", "\uAE30\uC874\uC758 jar \uD30C\uC77C\uC5D0 \uC4F0\uB294 \uC911 \uC624\uB958 \uBC1C\uC0DD" },
+            { "out.added.manifest", "\uCD94\uAC00\uB41C manifest" },
+            { "out.adding", "\uCD94\uAC00 \uC911: {0}" },
+            { "out.create", "  {0}\uC774(\uAC00) \uC791\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "out.deflated", "({0}%\uAC00 \uAC10\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4.)" },
+            { "out.extracted", "{0}\uC774(\uAC00) \uCD94\uCD9C\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "out.ignore.entry", "\uC785\uB825 \uD56D\uBAA9 {0} \uBB34\uC2DC \uC911" },
+            { "out.inflated", " {0}\uC774(\uAC00) \uC99D\uAC00\uB418\uC5C8\uC2B5\uB2C8\uB2E4." },
+            { "out.size", "(\uB0B4\uBD80 = {0}) (\uC678\uBD80= {1})" },
+            { "out.stored", "(0%\uAC00 \uC800\uC7A5\uB418\uC5C8\uC2B5\uB2C8\uB2E4.)" },
+            { "out.update.manifest", "\uC5C5\uB370\uC774\uD2B8\uB41C manifest" },
+            { "usage", "\uC0AC\uC6A9\uBC95: jar {ctxui}[vfm0Me] [jar \uD30C\uC77C] [manifest \uD30C\uC77C] [\uC2DC\uC791 \uC9C0\uC810] [-C \uB514\uB809\uD1A0\uB9AC] \uD30C\uC77C ...\n\uC635\uC158:\n    -c  \uC0C8 \uC544\uCE74\uC774\uBE0C \uB9CC\uB4E4\uAE30\n    -t  \uC544\uCE74\uC774\uBE0C\uC5D0 \uB300\uD55C \uB0B4\uC6A9 \uBAA9\uB85D \uD14C\uC774\uBE14\n    -x  \uBA85\uBA85\uB41C(\uB610\uB294 \uBAA8\uB4E0) \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uC5D0\uC11C \uCD94\uCD9C\n    -u  \uAE30\uC874 \uC544\uCE74\uC774\uBE0C \uC5C5\uB370\uC774\uD2B8\n    -v  \uD45C\uC900 \uCD9C\uB825\uC5D0 \uC138\uBD80 \uC815\uBCF4 \uD45C\uC2DC \uCD9C\uB825 \uC0DD\uC131\n    -f  \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984 \uC9C0\uC815\n    -m  \uC9C0\uC815\uD55C \uB9E4\uB2C8\uD398\uC2A4\uD2B8 \uD30C\uC77C\uB85C\uBD80\uD130 \uB9E4\uB2C8\uD398\uC2A4\uD2B8 \uC815\uBCF4 \uD3EC\uD568\n    -e  jar \uC2E4\uD589 \uD30C\uC77C\uC5D0 \uBC88\uB4E4\uB85C \uC81C\uACF5\uB41C \uB3C5\uB9BD \uC2E4\uD589\uD615 \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8\uC758 \n        \uC751\uC6A9 \uD504\uB85C\uADF8\uB7A8 \uC2DC\uC791 \uC9C0\uC810 \uC9C0\uC815\n    -0  \uC800\uC7A5 \uC804\uC6A9, ZIP \uC555\uCD95 \uC0AC\uC6A9 \uC548 \uD568\n    -M  \uD56D\uBAA9\uC5D0 \uB300\uD574 \uB9E4\uB2C8\uD398\uC2A4\uD2B8 \uD30C\uC77C\uC744 \uB9CC\uB4E4\uC9C0 \uC54A\uC74C\n    -i  \uC9C0\uC815\uD55C jar \uD30C\uC77C\uC5D0 \uB300\uD55C \uC0C9\uC778 \uC815\uBCF4 \uC0DD\uC131\n    -C  \uC9C0\uC815\uD55C \uB514\uB809\uD1A0\uB9AC\uB85C \uBCC0\uACBD\uD558\uACE0 \uB2E4\uC74C \uD30C\uC77C \uD3EC\uD568\n\uC5B4\uB5A4 \uD30C\uC77C\uC774 \uB514\uB809\uD1A0\uB9AC\uBA74 \uC7AC\uADC0\uC801\uC73C\uB85C \uCC98\uB9AC\uB429\uB2C8\uB2E4.\n\uB9E4\uB2C8\uD398\uC2A4\uD2B8 \uD30C\uC77C \uC774\uB984, \uC544\uCE74\uC774\uBE0C \uD30C\uC77C \uC774\uB984 \uBC0F \uC2DC\uC791 \uC9C0\uC810 \uC774\uB984\uC740\n'm', 'f' \uBC0F 'e' \uD50C\uB798\uADF8\uC640 \uB3D9\uC77C\uD55C \uC21C\uC11C\uB85C \uC9C0\uC815\uB429\uB2C8\uB2E4.\n\n\uC608 1: classes.jar\uB77C\uB294 \uC544\uCE74\uC774\uBE0C\uC5D0 \uB450 \uD074\uB798\uC2A4 \uD30C\uC77C\uC744 \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n       jar cvf classes.jar Foo.class Bar.class \n\uC608 2: \uAE30\uC874\uC758 \uB9E4\uB2C8\uD398\uC2A4\uD2B8 \uD30C\uC77C 'mymanifest'\uB97C \uC0AC\uC6A9\uD558\uC5EC\n           foo/ \uB514\uB809\uD1A0\uB9AC\uC758 \uBAA8\uB4E0 \uD30C\uC77C\uC744 'classes.jar'\uB85C \uC544\uCE74\uC774\uBE0C\uD558\uB294 \uBC29\uBC95: \n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "f\u00F6r c-flaggan m\u00E5ste manifest- eller indatafiler anges." },
+            { "error.bad.eflag", "e-flaggan och manifest med attributet Main-Class kan inte anges \ntillsammans." },
+            { "error.bad.option", "Ett av alternativen -{ctxu} m\u00E5ste anges." },
+            { "error.bad.uflag", "f\u00F6r u-flaggan m\u00E5ste manifest-, e-flagg- eller indatafiler anges." },
+            { "error.cant.open", "kan inte \u00F6ppna: {0} " },
+            { "error.create.dir", "{0} : Det gick inte att skapa n\u00E5gon katalog." },
+            { "error.illegal.option", "Ogiltigt alternativ: {0}" },
+            { "error.incorrect.length", "ogiltig l\u00E4ngd vid bearbetning: {0}" },
+            { "error.nosuch.fileordir", "{0} : Det finns ingen s\u00E5dan fil eller katalog." },
+            { "error.write.file", "Det uppstod ett fel vid skrivning till befintlig jar-fil." },
+            { "out.added.manifest", "extra manifestfil" },
+            { "out.adding", "l\u00E4gger till: {0}" },
+            { "out.create", "    skapad: {0}" },
+            { "out.deflated", " ({0}% komprimerat)" },
+            { "out.extracted", "extraherat: {0}" },
+            { "out.ignore.entry", "ignorerar posten {0}" },
+            { "out.inflated", "expanderat: {0}" },
+            { "out.size", " (in = {0}) (ut = {1})" },
+            { "out.stored", " (0% lagrat)" },
+            { "out.update.manifest", "uppdaterad manifestfil" },
+            { "usage", "Anv\u00E4ndning: jar-filer {ctxui}[vfm0Me] [jar-fil] [manifestfil] [startpunkt] [-C-katalog] files ...\nAlternativ:\n    -c  skapa nytt arkiv\n    -t  lista inneh\u00E5llsf\u00F6rteckning f\u00F6r arkiv\n    -x  extrahera specifika (eller alla) filer fr\u00E5n arkiv\n    -u  uppdatera befintligt arkiv\n    -v  generera ytterligare text f\u00F6r standardtext\n    -f  ange arkivfilens namn\n    -m  ta med manifestinformation fr\u00E5n angiven manifestfil\n    -e  ange programstartpunkt f\u00F6r frist\u00E5ende program \n        som medf\u00F6ljer i en k\u00F6rbar jar-fil\n    -0  lagra endast (ingen zip-komprimering)\n    -M  skapa inte n\u00E5gon manifestfil f\u00F6r posterna\n    -i  generera indexinformation f\u00F6r de angivna jar-filerna\n    -C  \u00E4ndra till den angivna katalogen och ta med f\u00F6ljande fil\nOm en fil \u00E4r en katalog bearbetas den rekursivt.\nNamnen p\u00E5 manifestfilen, arkivfilen och startpunkten anges i samma\nordning som m-, f- och e-flaggorna.\n\nExempel 1: S\u00E5 h\u00E4r arkiverar du tv\u00E5 klassfiler i ett arkiv vid namn classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nExempel 2: Anv\u00E4nd en befintlig manifestfil (mymanifest) och arkivera alla\n           filer fr\u00E5n katalogen foo/ i classes.jar: \n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "'c' \u6807\u5FD7\u8981\u6C42\u6307\u5B9A\u6E05\u5355\u6216\u8F93\u5165\u6587\u4EF6\uFF01" },
+            { "error.bad.eflag", "\u4E0D\u80FD\u540C\u65F6\u6307\u5B9A 'e' \u6807\u5FD7\u548C\u5177\u6709 'Main-Class' \u5C5E\u6027\u7684\n\u6E05\u5355\uFF01" },
+            { "error.bad.option", "\u5FC5\u987B\u6307\u5B9A {ctxu} \u4E2D\u7684\u4EFB\u4E00\u9009\u9879\u3002" },
+            { "error.bad.uflag", "'u' \u6807\u5FD7\u8981\u6C42\u6307\u5B9A\u6E05\u5355\u3001'e' \u6807\u5FD7\u6216\u8F93\u5165\u6587\u4EF6\uFF01" },
+            { "error.cant.open", "\u4E0D\u80FD\u6253\u5F00\uFF1A{0} " },
+            { "error.create.dir", "\u4E0D\u80FD\u521B\u5EFA\u76EE\u5F55\uFF1A{0}" },
+            { "error.illegal.option", "\u975E\u6CD5\u9009\u9879\uFF1A{0}" },
+            { "error.incorrect.length", "\u5904\u7406\u65F6\u9047\u5230\u4E0D\u6B63\u786E\u7684\u957F\u5EA6\uFF1A{0}" },
+            { "error.nosuch.fileordir", "\u6CA1\u6709\u8FD9\u4E2A\u6587\u4EF6\u6216\u76EE\u5F55\uFF1A{0}" },
+            { "error.write.file", "\u5199\u5B58\u5728\u7684jar\u6587\u4EF6\u65F6\u9519\u8BEF" },
+            { "out.added.manifest", "\u6807\u660E\u6E05\u5355(manifest)" },
+            { "out.adding", "\u589E\u52A0\uFF1A{0}" },
+            { "out.create", "  \u521B\u5EFA\uFF1A{0}" },
+            { "out.deflated", "(\u538B\u7F29\u4E86 {0}%)" },
+            { "out.extracted", "\u5C55\u5F00\uFF1A{0}" },
+            { "out.ignore.entry", "\u5FFD\u7565\u9879 {0}" },
+            { "out.inflated", "  \u89E3\u538B {0}" },
+            { "out.size", "(\u8BFB\u5165= {0}) (\u5199\u51FA= {1})" },
+            { "out.stored", "(\u5B58\u50A8\u4E86 0%)" },
+            { "out.update.manifest", "\u66F4\u65B0\u6E05\u5355(manifest)" },
+            { "usage", "\u7528\u6CD5: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...\n\u9009\u9879\u5305\u62EC\uFF1A\n    -c  \u521B\u5EFA\u65B0\u7684\u5F52\u6863\u6587\u4EF6\n    -t  \u5217\u51FA\u5F52\u6863\u76EE\u5F55\n    -x  \u89E3\u538B\u7F29\u5DF2\u5F52\u6863\u7684\u6307\u5B9A\uFF08\u6216\u6240\u6709\uFF09\u6587\u4EF6\n    -u  \u66F4\u65B0\u73B0\u6709\u7684\u5F52\u6863\u6587\u4EF6\n    -v  \u5728\u6807\u51C6\u8F93\u51FA\u4E2D\u751F\u6210\u8BE6\u7EC6\u8F93\u51FA\n    -f  \u6307\u5B9A\u5F52\u6863\u6587\u4EF6\u540D\n    -m  \u5305\u542B\u6307\u5B9A\u6E05\u5355\u6587\u4EF6\u4E2D\u7684\u6E05\u5355\u4FE1\u606F\n    -e  \u4E3A\u6346\u7ED1\u5230\u53EF\u6267\u884C jar \u6587\u4EF6\u7684\u72EC\u7ACB\u5E94\u7528\u7A0B\u5E8F\n        \u6307\u5B9A\u5E94\u7528\u7A0B\u5E8F\u5165\u53E3\u70B9\n    -0  \u4EC5\u5B58\u50A8\uFF1B\u4E0D\u4F7F\u7528\u4EFB\u4F55 ZIP \u538B\u7F29\n    -M  \u4E0D\u521B\u5EFA\u6761\u76EE\u7684\u6E05\u5355\u6587\u4EF6\n    -i  \u4E3A\u6307\u5B9A\u7684 jar \u6587\u4EF6\u751F\u6210\u7D22\u5F15\u4FE1\u606F\n    -C  \u66F4\u6539\u4E3A\u6307\u5B9A\u7684\u76EE\u5F55\u5E76\u5305\u542B\u5176\u4E2D\u7684\u6587\u4EF6\n\u5982\u679C\u6709\u4EFB\u4F55\u76EE\u5F55\u6587\u4EF6\uFF0C\u5219\u5BF9\u5176\u8FDB\u884C\u9012\u5F52\u5904\u7406\u3002\n\u6E05\u5355\u6587\u4EF6\u540D\u3001\u5F52\u6863\u6587\u4EF6\u540D\u548C\u5165\u53E3\u70B9\u540D\u7684\u6307\u5B9A\u987A\u5E8F\n\u4E0E \"m\"\u3001\"f\" \u548C \"e\" \u6807\u5FD7\u7684\u6307\u5B9A\u987A\u5E8F\u76F8\u540C\u3002\n\n\u793A\u4F8B 1\uFF1A\u5C06\u4E24\u4E2A\u7C7B\u6587\u4EF6\u5F52\u6863\u5230\u4E00\u4E2A\u540D\u4E3A classes.jar \u7684\u5F52\u6863\u6587\u4EF6\u4E2D\uFF1A\n       jar cvf classes.jar Foo.class Bar.class \n\u793A\u4F8B 2\uFF1A\u4F7F\u7528\u73B0\u6709\u7684\u6E05\u5355\u6587\u4EF6 \"mymanifest\" \u5E76\n           \u5C06 foo/ \u76EE\u5F55\u4E2D\u7684\u6240\u6709\u6587\u4EF6\u5F52\u6863\u5230 \"classes.jar\" \u4E2D\uFF1A\n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "'c' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u6E05\u55AE\u6A94\u6848\u6216\u8F38\u5165\u6A94\u6848\uFE57" },
+            { "error.bad.eflag", "\u7121\u6CD5\u540C\u6642\u6307\u5B9A 'e' \u65D7\u6A19\u548C\u5177\u6709 'Main-Class' \u5C6C\u6027\u7684\n\u6E05\u55AE\uFF01" },
+            { "error.bad.option", "\u5176\u4E2D\u4E00\u500B\u9078\u9805 -{ctxu} \u5FC5\u9808\u52A0\u4EE5\u6307\u5B9A\u3002" },
+            { "error.bad.uflag", "'u' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u6E05\u55AE\u6A94\u6848\u3001'e' \u65D7\u6A19\u6A94\u6848\u6216\u8F38\u5165\u6A94\u6848\uFE57" },
+            { "error.cant.open", "\u7121\u6CD5\u958B\u555F\uFE30{0} " },
+            { "error.create.dir", "{0}\uFE30\u7121\u6CD5\u5EFA\u7ACB\u76EE\u9304" },
+            { "error.illegal.option", "\u975E\u6CD5\u7684\u9078\u9805\uFE30{0}" },
+            { "error.incorrect.length", "\u8655\u7406\uFE30{0} \u6642\u9577\u5EA6\u4E0D\u6B63\u78BA" },
+            { "error.nosuch.fileordir", "{0}\uFE30\u6C92\u6709\u9019\u985E\u6A94\u6848\u6216\u76EE\u9304" },
+            { "error.write.file", "\u5BEB\u5165\u73FE\u6709\u7684 jar \u6A94\u6848\u6642\u767C\u751F\u932F\u8AA4" },
+            { "out.added.manifest", "\u65B0\u589E manifest" },
+            { "out.adding", "\u65B0\u589E\uFE30{0}" },
+            { "out.create", "\u5EFA\u7ACB\uFE30{0}" },
+            { "out.deflated", "(\u58D3\u7E2E {0}%)" },
+            { "out.extracted", "\u64F7\u53D6\uFE30{0}" },
+            { "out.ignore.entry", "\u5FFD\u7565\u9805\u76EE {0}" },
+            { "out.inflated", "\u64F4\u5C55\uFE30{0}" },
+            { "out.size", " (\u8B80={0})(\u5BEB={1})" },
+            { "out.stored", "(\u5132\u5B58 0%)" },
+            { "out.update.manifest", "\u66F4\u65B0 manifest" },
+            { "usage", "\u7528\u6CD5\uFF1Ajar {ctxui}[vfm0Me] [jar \u6A94\u6848] [\u6E05\u55AE\u6A94\u6848] [\u9032\u5165\u9EDE] [-C \u76EE\u9304] \u6A94\u6848 ...\n\u9078\u9805\uFF1A\n    -c  \u5EFA\u7ACB\u65B0\u7684\u6B78\u6A94\n    -t  \u5217\u51FA\u6B78\u6A94\u7684\u76EE\u9304\n    -x  \u5F9E\u6B78\u6A94\u4E2D\u64F7\u53D6\u5DF2\u547D\u540D\u7684 (\u6216\u6240\u6709) \u6A94\u6848\n    -u  \u66F4\u65B0\u73FE\u6709\u6B78\u6A94\n    -v  \u5728\u6A19\u6E96\u8F38\u51FA\u4E2D\u7522\u751F\u8A73\u7D30\u8F38\u51FA\n    -f  \u6307\u5B9A\u6B78\u6A94\u6A94\u6848\u540D\u7A31\n    -m  \u5305\u542B\u6307\u5B9A\u6E05\u55AE\u6A94\u6848\u4E2D\u7684\u6E05\u55AE\u8CC7\u8A0A\n    -e  \u70BA\u7368\u7ACB\u61C9\u7528\u7A0B\u5F0F\u6307\u5B9A\u61C9\u7528\u7A0B\u5F0F\u9032\u5165\u9EDE\n        \u5DF2\u96A8\u9644\u65BC\u53EF\u57F7\u884C jar \u6A94\u6848\u4E2D\n    -0  \u50C5\u5132\u5B58\uFF1B\u4E0D\u4F7F\u7528 ZIP \u58D3\u7E2E\u65B9\u5F0F\n    -M  \u4E0D\u70BA\u9805\u76EE\u5EFA\u7ACB\u6E05\u55AE\u6A94\u6848\n    -i  \u70BA\u6307\u5B9A\u7684 jar \u6A94\u6848\u7522\u751F\u7D22\u5F15\u8CC7\u8A0A\n    -C  \u8B8A\u66F4\u81F3\u6307\u5B9A\u76EE\u9304\u4E26\u5305\u542B\u5F8C\u9762\u6240\u5217\u7684\u6A94\u6848\n\u5982\u679C\u6709\u4EFB\u4F55\u6A94\u6848\u662F\u76EE\u9304\uFF0C\u5247\u6703\u5C0D\u5176\u9032\u884C\u905E\u8FF4\u8655\u7406\u3002\n\u6E05\u55AE\u6A94\u6848\u540D\u7A31\u3001\u6B78\u6A94\u6A94\u6848\u540D\u7A31\u548C\u9032\u5165\u9EDE\u540D\u7A31\n\u7684\u6307\u5B9A\u9806\u5E8F\u8207\u6307\u5B9A 'm' \u65D7\u6A19\u3001'f' \u65D7\u6A19\u548C 'e' \u65D7\u6A19\u7684\u9806\u5E8F\u76F8\u540C\u3002\n\n\u7BC4\u4F8B 1\uFF1A\u5C07\u5169\u500B\u985E\u5225\u6A94\u6848\u6B78\u6A94\u81F3\u540D\u70BA classes.jar \u7684\u6B78\u6A94\u4E2D\uFF1A\n       jar cvf classes.jar Foo.class Bar.class\n\u7BC4\u4F8B 2\uFF1A\u4F7F\u7528\u73FE\u6709\u6E05\u55AE\u6A94\u6848 'mymanifest' \u4E26\u5C07\n           foo/ \u76EE\u9304\u4E2D\u7684\u6240\u6709\u6A94\u6848\u6B78\u6A94\u81F3 'classes.jar' \u4E2D\uFF1A\n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jar/resources/jar_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,31 @@
+package sun.tools.jar.resources;
+
+import java.util.ListResourceBundle;
+
+public final class jar_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "error.bad.cflag", "'c' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u6E05\u55AE\u6A94\u6848\u6216\u8F38\u5165\u6A94\u6848\uFE57" },
+            { "error.bad.eflag", "\u7121\u6CD5\u540C\u6642\u6307\u5B9A 'e' \u65D7\u6A19\u548C\u5177\u6709 'Main-Class' \u5C6C\u6027\u7684\n\u6E05\u55AE\uFF01" },
+            { "error.bad.option", "\u5176\u4E2D\u4E00\u500B\u9078\u9805 -{ctxu} \u5FC5\u9808\u52A0\u4EE5\u6307\u5B9A\u3002" },
+            { "error.bad.uflag", "'u' \u65D7\u6A19\u8981\u6C42\u6307\u5B9A\u6E05\u55AE\u6A94\u6848\u3001'e' \u65D7\u6A19\u6A94\u6848\u6216\u8F38\u5165\u6A94\u6848\uFE57" },
+            { "error.cant.open", "\u7121\u6CD5\u958B\u555F\uFE30{0} " },
+            { "error.create.dir", "{0}\uFE30\u7121\u6CD5\u5EFA\u7ACB\u76EE\u9304" },
+            { "error.illegal.option", "\u975E\u6CD5\u7684\u9078\u9805\uFE30{0}" },
+            { "error.incorrect.length", "\u8655\u7406\uFE30{0} \u6642\u9577\u5EA6\u4E0D\u6B63\u78BA" },
+            { "error.nosuch.fileordir", "{0}\uFE30\u6C92\u6709\u9019\u985E\u6A94\u6848\u6216\u76EE\u9304" },
+            { "error.write.file", "\u5BEB\u5165\u73FE\u6709\u7684 jar \u6A94\u6848\u6642\u767C\u751F\u932F\u8AA4" },
+            { "out.added.manifest", "\u65B0\u589E manifest" },
+            { "out.adding", "\u65B0\u589E\uFE30{0}" },
+            { "out.create", "\u5EFA\u7ACB\uFE30{0}" },
+            { "out.deflated", "(\u58D3\u7E2E {0}%)" },
+            { "out.extracted", "\u64F7\u53D6\uFE30{0}" },
+            { "out.ignore.entry", "\u5FFD\u7565\u9805\u76EE {0}" },
+            { "out.inflated", "\u64F4\u5C55\uFE30{0}" },
+            { "out.size", " (\u8B80={0})(\u5BEB={1})" },
+            { "out.stored", "(\u5132\u5B58 0%)" },
+            { "out.update.manifest", "\u66F4\u65B0 manifest" },
+            { "usage", "\u7528\u6CD5\uFF1Ajar {ctxui}[vfm0Me] [jar \u6A94\u6848] [\u6E05\u55AE\u6A94\u6848] [\u9032\u5165\u9EDE] [-C \u76EE\u9304] \u6A94\u6848 ...\n\u9078\u9805\uFF1A\n    -c  \u5EFA\u7ACB\u65B0\u7684\u6B78\u6A94\n    -t  \u5217\u51FA\u6B78\u6A94\u7684\u76EE\u9304\n    -x  \u5F9E\u6B78\u6A94\u4E2D\u64F7\u53D6\u5DF2\u547D\u540D\u7684 (\u6216\u6240\u6709) \u6A94\u6848\n    -u  \u66F4\u65B0\u73FE\u6709\u6B78\u6A94\n    -v  \u5728\u6A19\u6E96\u8F38\u51FA\u4E2D\u7522\u751F\u8A73\u7D30\u8F38\u51FA\n    -f  \u6307\u5B9A\u6B78\u6A94\u6A94\u6848\u540D\u7A31\n    -m  \u5305\u542B\u6307\u5B9A\u6E05\u55AE\u6A94\u6848\u4E2D\u7684\u6E05\u55AE\u8CC7\u8A0A\n    -e  \u70BA\u7368\u7ACB\u61C9\u7528\u7A0B\u5F0F\u6307\u5B9A\u61C9\u7528\u7A0B\u5F0F\u9032\u5165\u9EDE\n        \u5DF2\u96A8\u9644\u65BC\u53EF\u57F7\u884C jar \u6A94\u6848\u4E2D\n    -0  \u50C5\u5132\u5B58\uFF1B\u4E0D\u4F7F\u7528 ZIP \u58D3\u7E2E\u65B9\u5F0F\n    -M  \u4E0D\u70BA\u9805\u76EE\u5EFA\u7ACB\u6E05\u55AE\u6A94\u6848\n    -i  \u70BA\u6307\u5B9A\u7684 jar \u6A94\u6848\u7522\u751F\u7D22\u5F15\u8CC7\u8A0A\n    -C  \u8B8A\u66F4\u81F3\u6307\u5B9A\u76EE\u9304\u4E26\u5305\u542B\u5F8C\u9762\u6240\u5217\u7684\u6A94\u6848\n\u5982\u679C\u6709\u4EFB\u4F55\u6A94\u6848\u662F\u76EE\u9304\uFF0C\u5247\u6703\u5C0D\u5176\u9032\u884C\u905E\u8FF4\u8655\u7406\u3002\n\u6E05\u55AE\u6A94\u6848\u540D\u7A31\u3001\u6B78\u6A94\u6A94\u6848\u540D\u7A31\u548C\u9032\u5165\u9EDE\u540D\u7A31\n\u7684\u6307\u5B9A\u9806\u5E8F\u8207\u6307\u5B9A 'm' \u65D7\u6A19\u3001'f' \u65D7\u6A19\u548C 'e' \u65D7\u6A19\u7684\u9806\u5E8F\u76F8\u540C\u3002\n\n\u7BC4\u4F8B 1\uFF1A\u5C07\u5169\u500B\u985E\u5225\u6A94\u6848\u6B78\u6A94\u81F3\u540D\u70BA classes.jar \u7684\u6B78\u6A94\u4E2D\uFF1A\n       jar cvf classes.jar Foo.class Bar.class\n\u7BC4\u4F8B 2\uFF1A\u4F7F\u7528\u73FE\u6709\u6E05\u55AE\u6A94\u6848 'mymanifest' \u4E26\u5C07\n           foo/ \u76EE\u9304\u4E2D\u7684\u6240\u6709\u6A94\u6848\u6B78\u6A94\u81F3 'classes.jar' \u4E2D\uFF1A\n       jar cvfm classes.jar mymanifest -C foo/ .\n" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/tools/jconsole/Version.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2004-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 sun.tools.jconsole;
+
+import java.io.PrintStream;
+
+public class Version {
+    private static final String jconsole_version =
+        "1.7.0-internal-root_25_may_2007_16_33-b00";
+
+    public static void print(PrintStream ps) {
+        printFullVersion(ps);
+
+        ps.println(Resources.getText("Name and Build",
+                                     System.getProperty("java.runtime.name"), 
+                                     System.getProperty("java.runtime.version")));
+
+        ps.println(Resources.getText("Name Build and Mode",
+                                     System.getProperty("java.vm.name"),
+                                     System.getProperty("java.vm.version"),
+                                     System.getProperty("java.vm.info"))); 
+
+    }
+
+    public static void printFullVersion(PrintStream ps) {
+        ps.println(Resources.getText("JConsole version", jconsole_version));
+    }
+
+    static String getVersion() {
+        return jconsole_version;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/CoreResourceBundleControl.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+package sun.util;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.ResourceBundle.Control;
+
+/*
+ * This is a convenient class for loading some of internal resources faster
+ * if they are built with Resources.gmk defined in J2SE workspace. Also,
+ * they have to be in class file format.
+ *
+ * "LOCALE_LIST" will be replaced at built time by a list of locales we 
+ * defined in Defs.gmk. We want to exclude these locales from search to 
+ * gain better performance. For example, since we know if the resource
+ * is built with Resources.gmk, they are not going to provide basename_en.class
+ * & basename_en_US.class resources, in that case, continuing searching them
+ * is expensive. By excluding them from the candidate locale list, these
+ * resources won't be searched.
+ * 
+ * @since 1.6.
+ */
+public class CoreResourceBundleControl extends ResourceBundle.Control {
+    /* the candidate locale list to search */
+    private final Collection<Locale> excludedJDKLocales;
+    /* singlton instance of the resource bundle control. */
+    private static CoreResourceBundleControl resourceBundleControlInstance = 
+	new CoreResourceBundleControl();
+
+    protected CoreResourceBundleControl() {
+	excludedJDKLocales = Arrays.asList(	Locale.GERMANY,	Locale.ENGLISH,	Locale.US, new Locale("es", "ES"),	Locale.FRANCE,	Locale.ITALY,	Locale.JAPAN,	Locale.KOREA, new Locale("sv", "SE"),	Locale.CHINESE);
+    }
+
+    /*
+     * This method is to provide a customized ResourceBundle.Control to speed
+     * up the search of resources in JDK.
+     *
+     * @return the instance of resource bundle control.
+     */
+    public static CoreResourceBundleControl getRBControlInstance() {
+	return resourceBundleControlInstance;
+    }
+ 
+    /*
+     * @returns a list of candidate locales to search from.
+     * @exception NullPointerException if baseName or locale is null.
+     */
+    @Override  
+    public List<Locale> getCandidateLocales(String baseName, Locale locale) {
+	List<Locale> candidates = super.getCandidateLocales(baseName, locale);
+	candidates.removeAll(excludedJDKLocales);
+	return candidates;
+    }
+
+    /*
+     * @ returns TTL_DONT_CACHE so that ResourceBundle instance won't be cached.
+     * User of this CoreResourceBundleControl should probably maintain a hard reference
+     * to the ResourceBundle object themselves.
+     */
+    @Override
+    public long getTimeToLive(String baseName, Locale locale) {
+	return ResourceBundle.Control.TTL_DONT_CACHE;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/LocaleDataMetaInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2005 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.
+ */
+
+// -- This file was mechanically generated: Do not edit! -- //
+
+/*
+ * This class contains a map which records the locale list string for
+ * each resource in sun.util.resources & sun.text.resources.
+ * It is used to avoid loading non-existent localized resources so that
+ * jar files won't be opened unnecessary to look up them.
+ *
+ * @since 1.6
+ */
+package sun.util;
+
+import java.util.HashMap;
+
+
+public class LocaleDataMetaInfo {
+
+    private static final HashMap<String, String> resourceNameToLocales = 
+	new HashMap<String, String>(6);
+
+
+    static {
+	/* During JDK build time, #XXX_YYY# will be replaced by a string contain all the locales
+	   supported by the resource. 
+
+	   Don't remove the space character between " and #. That is put there purposely so that
+	   look up locale string such as "en" could be based on if it contains " en ".
+	*/
+	resourceNameToLocales.put("sun.text.resources.FormatData",
+				  "  be be_BY bg bg_BG ca ca_ES cs cs_CZ da da_DK de de_AT de_CH de_DE de_LU el el_CY el_GR en en_AU en_CA en_GB en_IE en_IN en_MT en_NZ en_PH en_SG en_US en_ZA es es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et et_EE fi fi_FI fr fr_BE fr_CA fr_CH fr_FR fr_LU ga ga_IE hr hr_HR hu hu_HU in in_ID is is_IS it it_CH it_IT lt lt_LT lv lv_LV mk mk_MK ms ms_MY mt mt_MT nl nl_BE nl_NL no no_NO no_NO_NY pl pl_PL pt pt_BR pt_PT ro ro_RO ru ru_RU sk sk_SK sl sl_SI sq sq_AL sr sr_BA sr_CS sr_ME sr_RS sv sv_SE tr tr_TR uk uk_UA |  ar ar_AE ar_BH ar_DZ ar_EG ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE hi_IN iw iw_IL ja ja_JP ja_JP_JP ko ko_KR th th_TH th_TH_TH vi vi_VN zh zh_CN zh_HK zh_SG zh_TW ");
+
+	resourceNameToLocales.put("sun.text.resources.CollationData",
+				  "  be bg ca cs da de el en es et fi fr hr hu is it lt lv mk nl no pl pt ro ru sk sl sq sr sv tr uk |  ar hi iw ja ko th vi zh zh_HK zh_TW ");
+
+	resourceNameToLocales.put("sun.util.resources.TimeZoneNames",
+				  "  de en en_CA en_GB en_IE es fr it sv |  hi ja ko zh_CN zh_HK zh_TW ");
+
+	resourceNameToLocales.put("sun.util.resources.LocaleNames",
+				  "  be bg ca cs da de el el_CY en en_MT en_PH en_SG es es_US et fi fr ga hr hu in is it lt lv mk ms mt nl no pl pt pt_BR pt_PT ro ru sk sl sq sr sv tr uk |  ar hi iw ja ko th vi zh zh_HK zh_SG zh_TW ");
+
+	resourceNameToLocales.put("sun.util.resources.CurrencyNames",
+				  "  be_BY bg_BG ca_ES cs_CZ da_DK de_AT de_CH de_DE de_GR de_LU el_CY el_GR en_AU en_CA en_GB en_IE en_IN en_MT en_NZ en_PH en_SG en_US en_ZA es_AR es_BO es_CL es_CO es_CR es_DO es_EC es_ES es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_PY es_SV es_US es_UY es_VE et_EE fi_FI fr_BE fr_CA fr_CH fr_FR fr_LU ga_IE hr_HR hu_HU in_ID is_IS it_CH it_IT lt_LT lv_LV mk_MK ms_MY mt_MT nl_BE nl_NL no_NO pl_PL pt_BR pt_PT ro_RO ru_RU sk_SK sl_SI sq_AL sr_BA sr_CS sr_ME sv_SE tr_TR uk_UA |  ar_AE ar_BH ar_DZ ar_EG ar_IQ ar_JO ar_KW ar_LB ar_LY ar_MA ar_OM ar_QA ar_SA ar_SD ar_SY ar_TN ar_YE hi_IN iw_IL ja_JP ko_KR th_TH vi_VN zh_CN zh_HK zh_SG zh_TW ");
+	
+	resourceNameToLocales.put("sun.util.resources.CalendarData",
+				  "  be bg ca cs da de el el_CY en en_GB en_IE en_MT es es_ES es_US et fi fr fr_CA hr hu in_ID is it lt lv mk ms_MY mt mt_MT nl no pl pt pt_PT ro ru sk sl sq sr sv tr uk |  ar hi iw ja ko th vi zh ");
+    }
+
+    /* 
+     * @param resourceName the resource name 
+     * @return the supported locale string for the passed in resource.
+     */
+    public static String getSupportedLocaleString(String resourceName) {
+	
+	return resourceNameToLocales.get(resourceName);
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "ALL" },
+            { "CONFIG", "CONFIG" },
+            { "FINE", "FINE" },
+            { "FINER", "FINER" },
+            { "FINEST", "FINEST" },
+            { "INFO", "INFO" },
+            { "OFF", "OFF" },
+            { "SEVERE", "SEVERE" },
+            { "WARNING", "WARNING" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_de.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_de extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "ALLE" },
+            { "CONFIG", "KONFIG" },
+            { "FINE", "FEIN" },
+            { "FINER", "FEINER" },
+            { "FINEST", "AM FEINSTEN" },
+            { "INFO", "INFO" },
+            { "OFF", "OFF" },
+            { "SEVERE", "SCHWERWIEGEND" },
+            { "WARNING", "WARNUNG" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_es.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_es extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "TODO" },
+            { "CONFIG", "CONFIG" },
+            { "FINE", "FINA" },
+            { "FINER", "M\u00C1S FINA" },
+            { "FINEST", "LA M\u00C1S FINA" },
+            { "INFO", "INFO" },
+            { "OFF", "APAGADO" },
+            { "SEVERE", "GRAVE" },
+            { "WARNING", "ADVERTENCIA" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_fr.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_fr extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "TOUS" },
+            { "CONFIG", "CONFIG" },
+            { "FINE", "FIN" },
+            { "FINER", "PLUS FIN" },
+            { "FINEST", "LE PLUS FIN" },
+            { "INFO", "INFO" },
+            { "OFF", "AUCUN" },
+            { "SEVERE", "GRAVE" },
+            { "WARNING", "ATTENTION" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_it.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_it extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "TUTTO" },
+            { "CONFIG", "CONFIG" },
+            { "FINE", "FINE" },
+            { "FINER", "MOLTO FINE" },
+            { "FINEST", "FINISSIMO" },
+            { "INFO", "INFO" },
+            { "OFF", "OFF" },
+            { "SEVERE", "GRAVE" },
+            { "WARNING", "AVVERTENZA" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_ja.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_ja extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "\u3059\u3079\u3066" },
+            { "CONFIG", "\u8A2D\u5B9A" },
+            { "FINE", "\u8A73\u7D30\u30EC\u30D9\u30EB (\u4F4E)" },
+            { "FINER", "\u8A73\u7D30\u30EC\u30D9\u30EB (\u4E2D)" },
+            { "FINEST", "\u8A73\u7D30\u30EC\u30D9\u30EB (\u9AD8)" },
+            { "INFO", "\u60C5\u5831" },
+            { "OFF", "\u30AA\u30D5" },
+            { "SEVERE", "\u81F4\u547D\u7684" },
+            { "WARNING", "\u8B66\u544A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_ko.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_ko extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "\uBAA8\uB450" },
+            { "CONFIG", "\uAD6C\uC131" },
+            { "FINE", "\uC790\uC138\uD788" },
+            { "FINER", "\uB354 \uC790\uC138\uD788" },
+            { "FINEST", "\uC544\uC8FC \uC790\uC138\uD788" },
+            { "INFO", "\uC815\uBCF4" },
+            { "OFF", "\uC124\uC815\uD574\uC81C" },
+            { "SEVERE", "\uC2EC\uAC01" },
+            { "WARNING", "\uACBD\uACE0" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_sv.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_sv extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "ALLA" },
+            { "CONFIG", "KONFIG" },
+            { "FINE", "FIN" },
+            { "FINER", "FINARE" },
+            { "FINEST", "FINAST" },
+            { "INFO", "INFO" },
+            { "OFF", "AV" },
+            { "SEVERE", "ALLVARLIG" },
+            { "WARNING", "VARNING" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_zh_CN.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_zh_CN extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "\u5168\u90E8" },
+            { "CONFIG", "\u914D\u7F6E" },
+            { "FINE", "\u826F\u597D" },
+            { "FINER", "\u8F83\u597D" },
+            { "FINEST", "\u6700\u597D" },
+            { "INFO", "\u4FE1\u606F" },
+            { "OFF", "\u5173\u95ED" },
+            { "SEVERE", "\u4E25\u91CD" },
+            { "WARNING", "\u8B66\u544A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_zh_HK.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_zh_HK extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "\u6240\u6709" },
+            { "CONFIG", "\u914D\u7F6E" },
+            { "FINE", "\u7D30\u7DFB" },
+            { "FINER", "\u66F4\u7D30\u7DFB" },
+            { "FINEST", "\u6700\u7D30\u7DFB" },
+            { "INFO", "\u8CC7\u8A0A" },
+            { "OFF", "\u95DC\u9589" },
+            { "SEVERE", "\u56B4\u91CD\u7684" },
+            { "WARNING", "\u8B66\u544A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/generated/sun/util/logging/resources/logging_zh_TW.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,19 @@
+package sun.util.logging.resources;
+
+import java.util.ListResourceBundle;
+
+public final class logging_zh_TW extends ListResourceBundle {
+    protected final Object[][] getContents() {
+        return new Object[][] {
+            { "ALL", "\u6240\u6709" },
+            { "CONFIG", "\u914D\u7F6E" },
+            { "FINE", "\u7D30\u7DFB" },
+            { "FINER", "\u66F4\u7D30\u7DFB" },
+            { "FINEST", "\u6700\u7D30\u7DFB" },
+            { "INFO", "\u8CC7\u8A0A" },
+            { "OFF", "\u95DC\u9589" },
+            { "SEVERE", "\u56B4\u91CD\u7684" },
+            { "WARNING", "\u8B66\u544A" },
+        };
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icedtea-copy-plugs.patch	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,162 @@
+diff -ru openjdk/j2se/make/common/Release.gmk openjdk/j2se/make/common/Release.gmk
+--- openjdk/j2se/make/common/Release.gmk	2007-05-25 15:13:23.000000000 -0400
++++ openjdk/j2se/make/common/Release.gmk	2007-05-30 12:06:47.000000000 -0400
+@@ -273,6 +273,7 @@
+ 
+ 
+ CLOSED_CLASSES =  \
++gnu \
+ sun/dc \
+ java/awt/color/CMMException.class \
+ java/awt/color/ColorSpace.class \
+@@ -309,28 +310,18 @@
+ com/sun/jmx/snmp/SnmpDataTypeEnums.class \
+ com/sun/jmx/snmp/SnmpDefinitions.class \
+ com/sun/jmx/snmp/SnmpOid.class \
+-com/sun/jmx/snmp/SnmpOidDatabase.class \
+-com/sun/jmx/snmp/SnmpOidDatabaseSupport.class \
+ com/sun/jmx/snmp/SnmpOidRecord.class \
+ com/sun/jmx/snmp/SnmpOidTable.class \
+ com/sun/jmx/snmp/SnmpOidTableSupport.class \
+ com/sun/jmx/snmp/SnmpParameters.class \
+ com/sun/jmx/snmp/SnmpPduPacket.class \
+ com/sun/jmx/snmp/SnmpPeer.class \
++com/sun/jmx/snmp/SnmpSession.class \
+ com/sun/jmx/snmp/SnmpTimeticks.class \
+ com/sun/jmx/snmp/SnmpVarBind.class \
+ com/sun/jmx/snmp/SnmpVarBindList.class \
+-com/sun/jmx/snmp/Timestamp.class \
+ com/sun/jmx/snmp/daemon/SendQ.class \
+ com/sun/jmx/snmp/daemon/SnmpInformRequest.class \
+-com/sun/jmx/snmp/daemon/SnmpQManager.class \
+-com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \
+-com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \
+-com/sun/jmx/snmp/daemon/SnmpSendServer.class \
+-com/sun/jmx/snmp/daemon/SnmpSession.class \
+-com/sun/jmx/snmp/daemon/SnmpSocket.class \
+-com/sun/jmx/snmp/daemon/SnmpTimerServer.class \
+-com/sun/jmx/snmp/daemon/WaitQ.class \
+ com/sun/media/sound
+ 
+ ABSJAR = $(ABS_BINDIR)/jar
+diff -ru openjdk/j2se/make/java/awt/Makefile openjdk/j2se/make/java/awt/Makefile
+--- openjdk/j2se/make/java/awt/Makefile	2007-05-25 15:13:24.000000000 -0400
++++ openjdk/j2se/make/java/awt/Makefile	2007-05-25 15:23:16.000000000 -0400
+@@ -35,6 +35,7 @@
+ 
+ ifdef OPENJDK
+ CLOSED_AWT_CLASSES =  \
++gnu \
+ java/awt/color/CMMException.class \
+ java/awt/color/ColorSpace.class \
+ java/awt/color/ICC_ColorSpace.class \
+diff -ru openjdk/j2se/make/java/redist/Makefile openjdk/j2se/make/java/redist/Makefile
+--- openjdk/j2se/make/java/redist/Makefile	2007-05-25 15:13:24.000000000 -0400
++++ openjdk/j2se/make/java/redist/Makefile	2007-05-30 12:07:39.000000000 -0400
+@@ -308,6 +308,7 @@
+ # that a local clobber and remake works.
+ CLOSED_CLASSES =  \
+ sun/dc \
++gnu \
+ java/awt/color/CMMException.class \
+ java/awt/color/ColorSpace.class \
+ java/awt/color/ICC_ColorSpace.class \
+@@ -343,28 +344,18 @@
+ com/sun/jmx/snmp/SnmpDataTypeEnums.class \
+ com/sun/jmx/snmp/SnmpDefinitions.class \
+ com/sun/jmx/snmp/SnmpOid.class \
+-com/sun/jmx/snmp/SnmpOidDatabase.class \
+-com/sun/jmx/snmp/SnmpOidDatabaseSupport.class \
+ com/sun/jmx/snmp/SnmpOidRecord.class \
+ com/sun/jmx/snmp/SnmpOidTable.class \
+ com/sun/jmx/snmp/SnmpOidTableSupport.class \
+ com/sun/jmx/snmp/SnmpParameters.class \
+ com/sun/jmx/snmp/SnmpPduPacket.class \
+ com/sun/jmx/snmp/SnmpPeer.class \
++com/sun/jmx/snmp/SnmpSession.class \
+ com/sun/jmx/snmp/SnmpTimeticks.class \
+ com/sun/jmx/snmp/SnmpVarBind.class \
+ com/sun/jmx/snmp/SnmpVarBindList.class \
+-com/sun/jmx/snmp/Timestamp.class \
+ com/sun/jmx/snmp/daemon/SendQ.class \
+ com/sun/jmx/snmp/daemon/SnmpInformRequest.class \
+-com/sun/jmx/snmp/daemon/SnmpQManager.class \
+-com/sun/jmx/snmp/daemon/SnmpRequestCounter.class \
+-com/sun/jmx/snmp/daemon/SnmpResponseHandler.class \
+-com/sun/jmx/snmp/daemon/SnmpSendServer.class \
+-com/sun/jmx/snmp/daemon/SnmpSession.class \
+-com/sun/jmx/snmp/daemon/SnmpSocket.class \
+-com/sun/jmx/snmp/daemon/SnmpTimerServer.class \
+-com/sun/jmx/snmp/daemon/WaitQ.class \
+ com/sun/media/sound
+ build: openjdkredist
+ openjdkredist:
+diff -ru openjdk/j2se/make/tools/sharing/classlist.linux openjdk/j2se/make/tools/sharing/classlist.linux
+--- openjdk/j2se/make/tools/sharing/classlist.linux	2007-05-25 15:13:23.000000000 -0400
++++ openjdk/j2se/make/tools/sharing/classlist.linux	2007-05-25 15:24:08.000000000 -0400
+@@ -638,7 +638,6 @@
+ sun/awt/color/ProfileDeferralInfo
+ sun/awt/color/ProfileDeferralMgr
+ java/awt/color/ICC_ProfileRGB
+-java/awt/color/ICC_Profile$1
+ sun/awt/color/ProfileActivator
+ java/awt/color/ICC_ColorSpace
+ sun/java2d/pipe/NullPipe
+diff -ru openjdk/j2se/make/tools/sharing/classlist.solaris openjdk/j2se/make/tools/sharing/classlist.solaris
+--- openjdk/j2se/make/tools/sharing/classlist.solaris	2007-05-25 15:13:23.000000000 -0400
++++ openjdk/j2se/make/tools/sharing/classlist.solaris	2007-05-25 15:24:17.000000000 -0400
+@@ -512,7 +512,6 @@
+ sun/awt/color/ProfileDeferralInfo
+ sun/awt/color/ProfileDeferralMgr
+ java/awt/color/ICC_ProfileRGB
+-java/awt/color/ICC_Profile$1
+ sun/awt/color/ProfileActivator
+ java/awt/color/ICC_ColorSpace
+ sun/java2d/pipe/NullPipe
+diff -ru openjdk/j2se/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java openjdk/j2se/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java
+--- openjdk/j2se/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2007-05-25 15:13:00.000000000 -0400
++++ openjdk/j2se/src/share/classes/com/sun/jmx/mbeanserver/OpenConverter.java	2007-05-30 11:04:58.000000000 -0400
+@@ -1152,7 +1152,7 @@
+             Set<BitSet> getterIndexSets = newSet();
+             for (Constructor constr : annotatedConstrList) {
+                 String[] propertyNames =
+-                    constr.getAnnotation(propertyNamesClass).value();
++                    ((ConstructorProperties)constr.getAnnotation(propertyNamesClass)).value();
+ 
+                 Type[] paramTypes = constr.getGenericParameterTypes();
+                 if (paramTypes.length != propertyNames.length) {
+diff -ru openjdk/j2se/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServer.java openjdk/j2se/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServer.java
+--- openjdk/j2se/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServer.java	2007-05-25 15:13:00.000000000 -0400
++++ openjdk/j2se/src/share/classes/com/sun/jmx/snmp/daemon/SnmpAdaptorServer.java	2007-05-29 16:46:51.000000000 -0400
+@@ -65,6 +65,7 @@
+ import com.sun.jmx.snmp.InetAddressAcl;
+ import com.sun.jmx.snmp.SnmpPeer;
+ import com.sun.jmx.snmp.SnmpParameters;
++import com.sun.jmx.snmp.SnmpSession;
+ // SNMP Runtime imports
+ //
+ import com.sun.jmx.snmp.SnmpPduFactoryBER;
+diff -ru openjdk/j2se/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java openjdk/j2se/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java
+--- openjdk/j2se/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java	2007-05-25 15:13:00.000000000 -0400
++++ openjdk/j2se/src/share/classes/com/sun/jmx/snmp/SnmpPduTrap.java	2007-05-30 10:58:09.000000000 -0400
+@@ -78,6 +78,9 @@
+      */
+     public long            timeStamp ;
+ 
++    // TODO: IcedTea: I am a stub.
++    static public int trapAuthenticationFailure = 0;
++
+ 
+ 
+     /**
+diff -ru openjdk/j2se/src/share/classes/com/sun/script/javascript/JavaAdapter.java openjdk/j2se/src/share/classes/com/sun/script/javascript/JavaAdapter.java
+--- openjdk/j2se/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2007-05-25 15:13:00.000000000 -0400
++++ openjdk/j2se/src/share/classes/com/sun/script/javascript/JavaAdapter.java	2007-05-29 16:44:40.000000000 -0400
+@@ -27,6 +27,7 @@
+ 
+ import javax.script.Invocable;
+ import sun.org.mozilla.javascript.internal.*;
++import javax.script.Wrapper;
+ 
+ /**
+  * This class implements Rhino-like JavaAdapter to help implement a Java
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icedtea-ecj-bootstrap.patch	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,352 @@
+diff -urN openjdk.orig/hotspot/build/linux/Makefile openjdk/hotspot/build/linux/Makefile
+--- openjdk.orig/hotspot/build/linux/Makefile	2007-05-06 05:01:26.000000000 -0400
++++ openjdk/hotspot/build/linux/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -241,28 +241,24 @@
+ 
+ $(TARGETS_C2):  $(SUBDIRS_C2)
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_TIERED):  $(SUBDIRS_TIERED)
+ 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_C1):  $(SUBDIRS_C1)
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_CORE):  $(SUBDIRS_CORE)
+ 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+diff -urN openjdk.orig/hotspot/build/linux/makefiles/jvmti.make openjdk/hotspot/build/linux/makefiles/jvmti.make
+--- openjdk.orig/hotspot/build/linux/makefiles/jvmti.make	2007-05-06 05:01:26.000000000 -0400
++++ openjdk/hotspot/build/linux/makefiles/jvmti.make	2007-06-07 03:05:28.000000000 -0400
+@@ -57,7 +57,7 @@
+ 
+ JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
+ 
+-XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiGen
++XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) $(ENDORSED) -classpath $(JvmtiOutDir) jvmtiGen
+ 
+ .PHONY: all jvmtidocs clean cleanall
+ 
+diff -urN openjdk.orig/hotspot/build/linux/makefiles/rules.make openjdk/hotspot/build/linux/makefiles/rules.make
+--- openjdk.orig/hotspot/build/linux/makefiles/rules.make	2007-05-06 05:01:27.000000000 -0400
++++ openjdk/hotspot/build/linux/makefiles/rules.make	2007-06-07 03:05:28.000000000 -0400
+@@ -77,7 +77,7 @@
+ RUN.JAVAP = $(ALT_BOOTDIR)/bin/javap
+ RUN.JAVAH = $(ALT_BOOTDIR)/bin/javah
+ RUN.JAR   = $(ALT_BOOTDIR)/bin/jar
+-COMPILE.JAVAC = $(ALT_BOOTDIR)/bin/javac
++COMPILE.JAVAC = $(ALT_BOOTDIR)/bin/javac $(BOOTCLASSPATH_RT_LIBGCJ)
+ COMPILE.RMIC = $(ALT_BOOTDIR)/bin/rmic
+ BOOT_JAVA_HOME = $(ALT_BOOTDIR)
+ 
+diff -urN openjdk.orig/j2se/make/common/Release.gmk openjdk/j2se/make/common/Release.gmk
+--- openjdk.orig/j2se/make/common/Release.gmk	2007-06-07 02:58:55.000000000 -0400
++++ openjdk/j2se/make/common/Release.gmk	2007-06-07 03:05:28.000000000 -0400
+@@ -1069,17 +1069,17 @@
+ 	        $(JAR_JFLAGS)
+ 	@$(java-vm-cleanup)
+ 	$(CP) $(LIBDIR)/tools.jar $(JDK_IMAGE_DIR)/lib/tools.jar
+-	@#
+-	@# lib/ct.sym
+-	@#
+-	$(JAVAC) -XDprocess.packages -proc:only \
+-	    -processor com.sun.tools.javac.sym.CreateSymbols \
+-	    -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
+-	    -Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
+-	    $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
+-	$(JAR) c0f $(LIBDIR)/ct.sym -C $(OUTPUTDIR)/symbols META-INF $(JAR_JFLAGS)
+-	@$(java-vm-cleanup)
+-	$(CP) $(LIBDIR)/ct.sym $(JDK_IMAGE_DIR)/lib/ct.sym
++# 	@#
++# 	@# lib/ct.sym
++# 	@#
++# 	$(JAVAC) -XDprocess.packages -proc:only \
++# 	    -processor com.sun.tools.javac.sym.CreateSymbols \
++# 	    -Acom.sun.tools.javac.sym.Jar=$(RT_JAR) \
++# 	    -Acom.sun.tools.javac.sym.Dest=$(OUTPUTDIR)/symbols/META-INF/sym/rt.jar \
++# 	    $(CORE_PKGS) $(NON_CORE_PKGS) $(EXCLUDE_PROPWARN_PKGS)
++# 	$(JAR) c0f $(LIBDIR)/ct.sym -C $(OUTPUTDIR)/symbols META-INF $(JAR_JFLAGS)
++# 	@$(java-vm-cleanup)
++# 	$(CP) $(LIBDIR)/ct.sym $(JDK_IMAGE_DIR)/lib/ct.sym
+ 	@#
+ 	@# CORBA supported orb.idl and ir.idl should be copied to lib
+ 	@#
+diff -urN openjdk.orig/j2se/make/common/Rules.gmk openjdk/j2se/make/common/Rules.gmk
+--- openjdk.orig/j2se/make/common/Rules.gmk	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/common/Rules.gmk	2007-06-07 03:05:28.000000000 -0400
+@@ -420,10 +420,12 @@
+ $(CLASSHDR_DOTFILE): $(CLASSES_export)
+ 	$(prep-target)
+ 	@$(ECHO) "# Running javah:"
+-	$(JAVAH_CMD) $(JAVAHFLAGS) -bootclasspath $(CLASSDESTDIR) \
++	$(JAVAH_CMD) $(JAVAHFLAGS) -bootclasspath $(CLASSDESTDIR):$(ICEDTEA_RT) \
+ 		-d $(CLASSHDRDIR)/ \
+ 		$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
+ 	@$(java-vm-cleanup)
++	-mv $(ICEDTEA_BUILD_DIR)/tmp/java/java.lang/java/CClassHeaders/java_lang_ClassLoader\$$NativeLibrary.h \
++	  $(ICEDTEA_BUILD_DIR)/tmp/java/java.lang/java/CClassHeaders/java_lang_ClassLoader_NativeLibrary.h
+ 	@$(TOUCH) $@
+ 
+ classheaders.clean:
+diff -urN openjdk.orig/j2se/make/java/applet/Makefile openjdk/j2se/make/java/applet/Makefile
+--- openjdk.orig/j2se/make/java/applet/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/java/applet/Makefile	2007-06-07 03:32:57.000000000 -0400
+@@ -27,6 +27,7 @@
+ PACKAGE = java.applet
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ #
+ # Files
+diff -urN openjdk.orig/j2se/make/java/awt/Makefile openjdk/j2se/make/java/awt/Makefile
+--- openjdk.orig/j2se/make/java/awt/Makefile	2007-06-07 02:58:55.000000000 -0400
++++ openjdk/j2se/make/java/awt/Makefile	2007-06-07 03:32:32.000000000 -0400
+@@ -77,6 +77,7 @@
+ .PHONY: copy-closed-src-classes
+ endif
+ 
++JAVAC_BCP = $(ICEDTEA_RT)
+ build: sources properties cursors
+ 
+ #
+diff -urN openjdk.orig/j2se/make/java/beans/Makefile openjdk/j2se/make/java/beans/Makefile
+--- openjdk.orig/j2se/make/java/beans/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/java/beans/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -31,6 +31,7 @@
+ PACKAGE = java.beans
+ PRODUCT = java
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ #
+ # Files to compile.
+diff -urN openjdk.orig/j2se/make/java/management/Makefile openjdk/j2se/make/java/management/Makefile
+--- openjdk.orig/j2se/make/java/management/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/java/management/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -28,6 +28,7 @@
+ LIBRARY = management
+ PRODUCT = java
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ MGMT_SRC  = $(SHARE_SRC)/classes/java/lang/management
+ SMGMT_SRC = $(SHARE_SRC)/classes/sun/management
+diff -urN openjdk.orig/j2se/make/java/text/Makefile openjdk/j2se/make/java/text/Makefile
+--- openjdk.orig/j2se/make/java/text/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/java/text/Makefile	2007-06-07 03:31:41.000000000 -0400
+@@ -80,19 +80,19 @@
+ 
+ $(BUILDER_CLASS): $(BUILDER)
+ 	$(prep-target)
+-	$(JAVAC_BOOT) -d $(GENBIDOUT) -sourcepath $(GENBIDSRC) $(BUILDER)
++	$(JAVAC_BOOT) -d $(GENBIDOUT) $(BOOTCLASSPATH_CLS_RT) -sourcepath $(GENBIDSRC) $(BUILDER)
+ 	@$(java-vm-cleanup)
+ 
+ $(BIRULES_CLASS): $(BIRULES)
+ 	$(prep-target)
+ 	$(JAVAC_BOOT) -d $(GENBIDOUT) \
+-		-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIRULES)
++		-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BOOTCLASSPATH_CLS_RT) $(BIRULES)
+ 	@$(java-vm-cleanup)
+ 
+ $(BIINFO_CLASS): $(BIINFO)
+ 	$(prep-target)
+ 	$(JAVAC_BOOT) -d $(GENBIDOUT) \
+-		-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIINFO)
++		-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BOOTCLASSPATH_CLS_RT) $(BIINFO)
+ 	@$(java-vm-cleanup)
+ 
+ $(BIFILES): $(BUILDER_CLASS) $(BIRULES_CLASS) $(BIINFO_CLASS) $(UNICODE)
+@@ -102,6 +102,7 @@
+ 		-o $(CLASSBINDIR)/sun/text/resources -spec $(UNICODE)
+ 	@$(java-vm-cleanup)
+ 
++JAVAC_BCP = $(ICEDTEA_RT)
+ bifiles: $(BIFILES) $(CLASSBINDIR)/sun/text/resources/unorm.icu $(CLASSBINDIR)/sun/text/resources/uprops.icu
+ 
+ build: bifiles
+diff -urN openjdk.orig/j2se/make/javax/accessibility/Makefile openjdk/j2se/make/javax/accessibility/Makefile
+--- openjdk.orig/j2se/make/javax/accessibility/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/accessibility/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -27,6 +27,7 @@
+ PACKAGE = java.accessibility
+ PRODUCT = java
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ #
+ # Files
+diff -urN openjdk.orig/j2se/make/javax/activation/Makefile openjdk/j2se/make/javax/activation/Makefile
+--- openjdk.orig/j2se/make/javax/activation/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/activation/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -31,6 +31,7 @@
+ PACKAGE = javax.activation
+ PRODUCT = jaf
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ #
+ # Files to compile
+diff -urN openjdk.orig/j2se/make/javax/imageio/Makefile openjdk/j2se/make/javax/imageio/Makefile
+--- openjdk.orig/j2se/make/javax/imageio/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/imageio/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -31,6 +31,7 @@
+ PACKAGE = javax.imageio
+ PRODUCT = jiio
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ #
+ # Files to compile
+diff -urN openjdk.orig/j2se/make/javax/naming/Makefile openjdk/j2se/make/javax/naming/Makefile
+--- openjdk.orig/j2se/make/javax/naming/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/naming/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -31,6 +31,7 @@
+ PACKAGE = javax.naming
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_JCE):$(ICEDTEA_RT)
+ 
+ #
+ # Files to compile
+diff -urN openjdk.orig/j2se/make/javax/print/Makefile openjdk/j2se/make/javax/print/Makefile
+--- openjdk.orig/j2se/make/javax/print/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/print/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -31,6 +31,7 @@
+ PACKAGE = javax.print
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_JCE):$(ICEDTEA_RT)
+ 
+ #
+ # Files to compile
+diff -urN openjdk.orig/j2se/make/javax/security/Makefile openjdk/j2se/make/javax/security/Makefile
+--- openjdk.orig/j2se/make/javax/security/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/security/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -27,6 +27,7 @@
+ PACKAGE = javax.security
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_JCE):$(ICEDTEA_RT)
+ 
+ #
+ # Files to compile
+diff -urN openjdk.orig/j2se/make/javax/swing/Makefile openjdk/j2se/make/javax/swing/Makefile
+--- openjdk.orig/j2se/make/javax/swing/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/swing/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -28,6 +28,7 @@
+ PRODUCT   = com
+ SWING_SRC = $(SHARE_SRC)/classes/javax/swing
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ #
+ # Files
+diff -urN openjdk.orig/j2se/make/javax/swing/plaf/Makefile openjdk/j2se/make/javax/swing/plaf/Makefile
+--- openjdk.orig/j2se/make/javax/swing/plaf/Makefile	2007-05-06 05:03:47.000000000 -0400
++++ openjdk/j2se/make/javax/swing/plaf/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -28,6 +28,7 @@
+ PRODUCT   = com
+ SWING_SRC = $(SHARE_SRC)/classes/javax/swing
+ include $(BUILDDIR)/common/Defs.gmk
++JAVAC_BCP = $(ICEDTEA_RT)
+ 
+ #
+ # Files
+diff -urN openjdk.orig/j2se/make/mkdemo/jfc/DemoSwing.gmk openjdk/j2se/make/mkdemo/jfc/DemoSwing.gmk
+--- openjdk.orig/j2se/make/mkdemo/jfc/DemoSwing.gmk	2007-05-06 05:03:48.000000000 -0400
++++ openjdk/j2se/make/mkdemo/jfc/DemoSwing.gmk	2007-06-07 03:17:20.000000000 -0400
+@@ -108,7 +108,7 @@
+ .compile.classlist:
+ 	if [ -s $(TEMPDIR)/.classes.list ] ; \
+ 	then $(JAVAC) $(OTHER_JAVACFLAGS) \
+-        $(DEMO_JAVAC_ARGS) $(LANGUAGE_VERSION)  -d $(DEMODST_CLASS) -classpath $(DEMO_CP) \
++        $(DEMO_JAVAC_ARGS) $(BOOTCLASSPATH_CLS_RT) $(LANGUAGE_VERSION)  -d $(DEMODST_CLASS) -classpath $(DEMO_CP) \
+ 	    $(shell if [ -s $(TEMPDIR)/.classes.list ] ; then $(CAT) $(TEMPDIR)/.classes.list; fi ) ; \
+ 	fi
+ 	@$(java-vm-cleanup)
+diff -urN openjdk.orig/j2se/make/mkdemo/management/Demo.gmk openjdk/j2se/make/mkdemo/management/Demo.gmk
+--- openjdk.orig/j2se/make/mkdemo/management/Demo.gmk	2007-05-06 05:03:48.000000000 -0400
++++ openjdk/j2se/make/mkdemo/management/Demo.gmk	2007-06-07 03:05:28.000000000 -0400
+@@ -65,7 +65,7 @@
+ 	$(RM) $(JAR_FILE)
+ 	$(RM) -r $(CLASSES_DIR)
+ 	$(MKDIR) -p $(CLASSES_DIR)
+-	$(JAVAC) -d $(CLASSES_DIR) $(JAVA_SOURCES)
++	$(JAVAC) $(BOOTCLASSPATH_CLS) -d $(CLASSES_DIR) $(JAVA_SOURCES)
+ 	$(ECHO) "Main-Class: $(MAIN_CLASS_NAME)" > $(CLASSES_DIR)/manifest
+ 
+ $(CLASSES_DIR)/META-INF/services/%: $(SRCDIR)/META-INF/services/%
+diff -urN openjdk.orig/j2se/make/sun/awt/Makefile openjdk/j2se/make/sun/awt/Makefile
+--- openjdk.orig/j2se/make/sun/awt/Makefile	2007-05-06 05:03:48.000000000 -0400
++++ openjdk/j2se/make/sun/awt/Makefile	2007-06-07 03:05:28.000000000 -0400
+@@ -475,7 +475,7 @@
+ 	$(prep-target)
+ 	$(RM) -r $(TEMPDIR)/CompileFontConfig
+ 	$(MKDIR) -p $(TEMPDIR)/CompileFontConfig
+-	$(JAVAC) -d $(TEMPDIR)/CompileFontConfig $(BUILDDIR)/tools/CompileFontConfig/CompileFontConfig.java
++	$(JAVAC) -d $(TEMPDIR)/CompileFontConfig $(BOOTCLASSPATH_CLS) $(BUILDDIR)/tools/CompileFontConfig/CompileFontConfig.java
+ 	$(JAVA) -classpath $(TEMPDIR)/CompileFontConfig CompileFontConfig $< $(@)
+ 	$(CHMOD) 444 $(@)
+ 	@$(java-vm-cleanup)
+diff -urN openjdk.orig/j2se/make/sun/text/Makefile openjdk/j2se/make/sun/text/Makefile
+--- openjdk.orig/j2se/make/sun/text/Makefile	2007-05-06 05:03:51.000000000 -0400
++++ openjdk/j2se/make/sun/text/Makefile	2007-06-07 03:11:41.000000000 -0400
+@@ -90,7 +90,7 @@
+                 $(GENBIDOUT)/SupplementaryCharacterData.class
+ 
+ $(BUILDER_CLASS): $(GENBIDOUT) $(BUILDER)
+-	$(JAVAC_BOOT) -d $(GENBIDOUT) -sourcepath $(GENBIDSRC) $(BUILDER)
++	$(JAVAC_BOOT) $(BOOTCLASSPATH_CLS) -d $(GENBIDOUT) -sourcepath $(GENBIDSRC) $(BUILDER)
+ 	@$(java-vm-cleanup)
+ 
+ $(GENBIDOUT):
+@@ -98,13 +98,13 @@
+ 
+ $(BIRULES_CLASS): $(GENBIDOUT)/sun/text/resources $(BIRULES)
+ 	$(RM) $@
+-	$(JAVAC_BOOT) -d $(GENBIDOUT) \
++	$(JAVAC_BOOT) $(BOOTCLASSPATH_CLS) -d $(GENBIDOUT)  \
+ 		-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIRULES)
+ 	@$(java-vm-cleanup)
+ 
+ $(BIINFO_CLASS): $(GENBIDOUT)/sun/text/resources $(BIINFO)
+ 	$(RM) $@
+-	$(JAVAC_BOOT) -d $(GENBIDOUT) \
++	$(JAVAC_BOOT) $(BOOTCLASSPATH_CLS) -d $(GENBIDOUT) \
+ 		-sourcepath $(SHARE_SRC)/classes/sun/text/resources $(BIINFO)
+ 	@$(java-vm-cleanup)
+ 
+diff -urN openjdk.orig/j2se/make/sun/xawt/Makefile openjdk/j2se/make/sun/xawt/Makefile
+--- openjdk.orig/j2se/make/sun/xawt/Makefile	2007-05-06 05:03:51.000000000 -0400
++++ openjdk/j2se/make/sun/xawt/Makefile	2007-06-07 03:09:35.000000000 -0400
+@@ -283,13 +283,11 @@
+ 	    $(RM) $$classname; \
+ 	    $(ECHO) "package sun.awt.X11; public class XAWTIcon32_$$name {" >> $$classname; \
+ 	    $(ECHO) "public static int[] $$name = { " >> $$classname;  \
+-	    $(CAT) $$i | $(JAVA_BOOT) -classpath ${CLASSBINDIR}  -Dawt.toolkit=sun.awt.motif.MToolkit -Djava.awt.headless=true sun.awt.X11.ToBin >> $$classname; \
+ 	    $(ECHO) "}; }" >> $$classname;  \
+             classname=$(GEN_DIR)/XAWTIcon64_$$name.java; \
+ 	    $(RM) $$classname; \
+ 	    $(ECHO) "package sun.awt.X11; public class XAWTIcon64_$$name {" >> $$classname; \
+ 	    $(ECHO) "public static long[] $$name = { " >> $$classname;  \
+-	    $(CAT) $$i | $(JAVA_BOOT) -classpath ${CLASSBINDIR}  -Dawt.toolkit=sun.awt.motif.MToolkit -Djava.awt.headless=true sun.awt.X11.ToBin >> $$classname; \
+ 	    $(ECHO) "}; }" >> $$classname;  \
+ 	done
+ 	$(TOUCH) $@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/icedtea-lesstif.patch	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,15 @@
+--- openjdk/j2se/make/common/shared/Sanity.gmk.orig	2007-06-04 21:00:49.000000000 -0400
++++ openjdk/j2se/make/common/shared/Sanity.gmk	2007-06-04 21:00:53.000000000 -0400
+@@ -838,10 +838,10 @@
+ 	fi
+     endif  
+   endif  
+-	@if [ ! -r $(MOTIF_INCLUDE)/Xm/AccColorT.h ]; then \
++	@if [ ! -r $(MOTIF_INCLUDE)/Xm/AtomMgr.h ]; then \
+ 	  $(ECHO) "ERROR: You do not have access to valid Motif 2.1 header files. \n" \
+ 	    "      Please check your access to (for example) \n" \
+-	    "          $(MOTIF_INCLUDE)/Xm/AccColorT.h \n" \
++	    "          $(MOTIF_INCLUDE)/Xm/AtomMgr.h \n" \
+ 	    "      and/or check your value of ALT_MOTIF_DIR. \n" \
+ 	    "" >> $(ERROR_FILE) ; \
+ 	fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/install-sh	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,507 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2006-10-14.15
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" ""	$nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+posix_glob=
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chmodcmd=$chmodprog
+chowncmd=
+chgrpcmd=
+stripcmd=
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=
+dst=
+dir_arg=
+dstarg=
+no_target_directory=
+
+usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+-c         (ignored)
+-d         create directories instead of installing files.
+-g GROUP   $chgrpprog installed files to GROUP.
+-m MODE    $chmodprog installed files to MODE.
+-o USER    $chownprog installed files to USER.
+-s         $stripprog installed files.
+-t DIRECTORY  install into DIRECTORY.
+-T         report an error if DSTFILE is a directory.
+--help     display this help and exit.
+--version  display version info and exit.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) shift
+        continue;;
+
+    -d) dir_arg=true
+        shift
+        continue;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+        shift
+        shift
+        continue;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+        shift
+        shift
+	case $mode in
+	  *' '* | *'	'* | *'
+'*	  | *'*'* | *'?'* | *'['*)
+	    echo "$0: invalid mode: $mode" >&2
+	    exit 1;;
+	esac
+        continue;;
+
+    -o) chowncmd="$chownprog $2"
+        shift
+        shift
+        continue;;
+
+    -s) stripcmd=$stripprog
+        shift
+        continue;;
+
+    -t) dstarg=$2
+	shift
+	shift
+	continue;;
+
+    -T) no_target_directory=true
+	shift
+	continue;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)	shift
+	break;;
+
+    -*)	echo "$0: invalid option: $1" >&2
+	exit 1;;
+
+    *)  break;;
+  esac
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dstarg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dstarg"
+      shift # fnord
+    fi
+    shift # arg
+    dstarg=$arg
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+	u_plus_rw=
+      else
+	u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src ;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dstarg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dstarg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst ;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+	echo "$0: $dstarg: Is a directory" >&2
+	exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+	(dirname "$dst") 2>/dev/null ||
+	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	     X"$dst" : 'X\(//\)[^/]' \| \
+	     X"$dst" : 'X\(//\)$' \| \
+	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+	echo X"$dst" |
+	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)[^/].*/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\/\)$/{
+		   s//\1/
+		   q
+		 }
+		 /^X\(\/\).*/{
+		   s//\1/
+		   q
+		 }
+		 s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+	# Create intermediate dirs using mode 755 as modified by the umask.
+	# This is like FreeBSD 'install' as of 1997-10-28.
+	umask=`umask`
+	case $stripcmd.$umask in
+	  # Optimize common cases.
+	  *[2367][2367]) mkdir_umask=$umask;;
+	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+	  *[0-7])
+	    mkdir_umask=`expr $umask + 22 \
+	      - $umask % 100 % 40 + $umask % 20 \
+	      - $umask % 10 % 4 + $umask % 2
+	    `;;
+	  *) mkdir_umask=$umask,go-w;;
+	esac
+
+	# With -d, create the new directory with the user-specified mode.
+	# Otherwise, rely on $mkdir_umask.
+	if test -n "$dir_arg"; then
+	  mkdir_mode=-m$mode
+	else
+	  mkdir_mode=
+	fi
+
+	posix_mkdir=false
+	case $umask in
+	  *[123567][0-7][0-7])
+	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
+	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+	    ;;
+	  *)
+	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+	    if (umask $mkdir_umask &&
+		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+	    then
+	      if test -z "$dir_arg" || {
+		   # Check for POSIX incompatibilities with -m.
+		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+		   # other-writeable bit of parent directory when it shouldn't.
+		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
+		   case $ls_ld_tmpdir in
+		     d????-?r-*) different_mode=700;;
+		     d????-?--*) different_mode=755;;
+		     *) false;;
+		   esac &&
+		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+		   }
+		 }
+	      then posix_mkdir=:
+	      fi
+	      rmdir "$tmpdir/d" "$tmpdir"
+	    else
+	      # Remove any dirs left behind by ancient mkdir implementations.
+	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+	    fi
+	    trap '' 0;;
+	esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+	umask $mkdir_umask &&
+	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+	/*) prefix=/ ;;
+	-*) prefix=./ ;;
+	*)  prefix= ;;
+      esac
+
+      case $posix_glob in
+        '')
+	  if (set -f) 2>/dev/null; then
+	    posix_glob=true
+	  else
+	    posix_glob=false
+	  fi ;;
+      esac
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob && set -f
+      set fnord $dstdir
+      shift
+      $posix_glob && set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+	test -z "$d" && continue
+
+	prefix=$prefix$d
+	if test -d "$prefix"; then
+	  prefixes=
+	else
+	  if $posix_mkdir; then
+	    (umask=$mkdir_umask &&
+	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+	    # Don't fail if two instances are running concurrently.
+	    test -d "$prefix" || exit 1
+	  else
+	    case $prefix in
+	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+	      *) qprefix=$prefix;;
+	    esac
+	    prefixes="$prefixes '$qprefix'"
+	  fi
+	fi
+	prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+	# Don't fail if two instances are running concurrently.
+	(umask $mkdir_umask &&
+	 eval "\$doit_exec \$mkdirprog $prefixes") ||
+	  test -d "$dstdir" || exit 1
+	obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
+      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
+      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
+      && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # Now rename the file to the real destination.
+    { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
+      || {
+	   # The rename failed, perhaps because mv can't rename something else
+	   # to itself, or perhaps because mv is so ancient that it does not
+	   # support -f.
+
+	   # Now remove or move aside any old file at destination location.
+	   # We try this two ways since rm can't unlink itself on some
+	   # systems and the destination file might be busy for other
+	   # reasons.  In this case, the final cleanup might fail but the new
+	   # file should still install successfully.
+	   {
+	     if test -f "$dst"; then
+	       $doit $rmcmd -f "$dst" 2>/dev/null \
+	       || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
+		     && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
+	       || {
+		 echo "$0: cannot unlink or rename $dst" >&2
+		 (exit 1); exit 1
+	       }
+	     else
+	       :
+	     fi
+	   } &&
+
+	   # Now rename the file to the real destination.
+	   $doit $mvcmd "$dsttmp" "$dst"
+	 }
+    } || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javac.in	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# Work around ecj's inability to handle duplicate command-line
+# options.
+
+NEW_ARGS="$@"
+
+if echo "$@" | grep -q '\-source\ .*\-source\ '
+then
+  NEW_ARGS=`echo $NEW_ARGS | sed -e 's/-source\ *1\.[3456]//1'`
+fi
+
+if echo "$@" | grep -q '\-d\ .*\-d\ '
+then
+  NEW_ARGS=`echo $NEW_ARGS | sed -e 's/-d\ *[^\ ]*//1'`
+fi
+
+if echo "$@" | grep -q '\-encoding\ .*\-encoding\ '
+then
+  NEW_ARGS=`echo $NEW_ARGS | sed -e 's/-encoding\ *[^\ ]*//1'`
+fi
+
+CLASSPATH=@ECJ_JAR@${CLASSPATH:+:}$CLASSPATH \
+  @JAVA@ org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $NEW_ARGS
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javap.in	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exit 0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/Component.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,175 @@
+/* Component.java -- a component log level.
+   Copyright (C) 2005, 2006  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under terms
+of your choice, provided that you also meet, for each linked independent
+module, the terms and conditions of the license of that module.  An
+independent module is a module which is not derived from or based on
+this library.  If you modify this library, you may extend this exception
+to your version of the library, but you are not obligated to do so.  If
+you do not wish to do so, delete this exception statement from your
+version.  */
+
+
+package gnu.classpath.debug;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.logging.Level;
+
+public final class Component extends Level
+{
+
+  /*
+   * HOW TO ADD NEW COMPONENTS:
+   *
+   * If you want to add a new, simple component, that you will use in
+   * logging statements, simply create a new class variable that
+   * instantiates this class, and choose an appropriate string name
+   * and a integer constant not used by any other component level.
+   *
+   * For example, if my component had to do with 'frobbing', I would
+   * add this entry below:
+   *
+   *   private static final Component FROBBING = new Component ("FROBBING", 7);
+   *
+   * Then, I would update the component 'EVERYTHING' to have and end
+   * index ONE GREATER THAN the index of the new component.
+   *
+   * ADDING NEW COMPONENT CLASSES:
+   *
+   * A "component class" is a run of more than one component, which can
+   * be enabled all at once. EVERYTHING and SSL are examples of component
+   * classes. To add a new class, create a new component with a start index
+   * equal to the index of the first member component, and with an end
+   * index equal to the index of the last member component plus one.
+   */
+
+  /**
+   * Signifies that everything should be logged. This should be used to
+   * enable or disable levels only; logging code should not use it.
+   */
+  public static final Component EVERYTHING = new Component ("*", 0, 11);
+
+  /**
+   * Signifies that all SSL related messages should be logged. This should
+   * be used to enable or disable levels only; logging code should not use
+   * it.
+   */
+  public static final Component SSL = new Component ("SSL", 0, 5);
+
+  /**
+   * Traces the progression of an SSL handshake.
+   */
+  public static final Component SSL_HANDSHAKE = new Component ("SSL HANDSHAKE", 0);
+
+  /**
+   * Traces record layer messages during SSL communications.
+   */
+  public static final Component SSL_RECORD_LAYER = new Component ("SSL RECORD LAYER", 1);
+
+  /**
+   * Trace details about the SSL key exchange.
+   */
+  public static final Component SSL_KEY_EXCHANGE = new Component ("SSL KEY EXCHANGE", 2);
+  
+  /**
+   * Trace running of delegated tasks.
+   */
+  public static final Component SSL_DELEGATED_TASK = new Component ("SSL DELEGATED TASK", 3);
+
+  /* Index 4 reserved for future use by SSL components. */
+
+  /**
+   * Trace the operation of cryptographic primitives.
+   */
+  public static final Component CRYPTO = new Component ("CRYPTO", 5);
+
+  /**
+   * Trace the parsing of X.509 certificates and related objects.
+   */
+  public static final Component X509 = new Component ("X.509", 6);
+
+  /**
+   * Trace access control policies, including the parsing of
+   * java.policy files.
+   */
+  public static final Component POLICY = new Component ("POLICY", 7);
+  
+  /**
+   * Trace ipp implementation.
+   */
+  public static final Component IPP = new Component ("IPP", 10);
+
+  private final int startIndex;
+  private final int endIndex;
+
+  private Component (final String name, final int bitIndex)
+  {
+    this (name, bitIndex, bitIndex + 1);
+  }
+
+  private Component (final String name, final int startIndex, final int endIndex)
+  {
+    super (name, Level.FINE.intValue ());
+    this.startIndex = startIndex;
+    this.endIndex = endIndex;
+  }
+
+  /**
+   * Return the component for the given name.
+   *
+   * @param name The name of the component to get.
+   * @return The named component, or null if there is no such component.
+   */
+  public static Component forName (final String name)
+  {
+    try
+      {
+	Field f = Component.class.getField (name.toUpperCase ());
+	if (!Modifier.isStatic (f.getModifiers ())
+	    || Component.class.isAssignableFrom (f.getClass ()))
+	  return null;
+	return (Component) f.get (null);
+      }
+    catch (Throwable _)
+      {
+	return null;
+      }
+  }
+
+  public int startIndex ()
+  {
+    return startIndex;
+  }
+
+  public int endIndex ()
+  {
+    return endIndex;
+  }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/PreciseFilter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,105 @@
+/* PreciseFilter.java -- filter log messages by precise level.
+   Copyright (C) 2005  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under terms
+of your choice, provided that you also meet, for each linked independent
+module, the terms and conditions of the license of that module.  An
+independent module is a module which is not derived from or based on
+this library.  If you modify this library, you may extend this exception
+to your version of the library, but you are not obligated to do so.  If
+you do not wish to do so, delete this exception statement from your
+version.  */
+
+
+package gnu.classpath.debug;
+
+import java.util.BitSet;
+import java.util.logging.Filter;
+import java.util.logging.LogRecord;
+
+public final class PreciseFilter implements Filter
+{
+
+  /**
+   * The singleton filter instance.
+   */
+  public static final PreciseFilter GLOBAL = new PreciseFilter ();
+
+  private final BitSet enabled;
+
+  private PreciseFilter ()
+  {
+    enabled = new BitSet ();
+  }
+
+  /**
+   * Disable logging of a component.
+   *
+   * @param component The component to disable logging for.
+   * @throws NullPointerException If component is null.
+   */
+  public void disable (final Component component)
+  {
+    enabled.clear (component.startIndex (), component.endIndex ());
+  }
+
+  /**
+   * Enable logging of a component.
+   *
+   * @param component The component to enable logging for.
+   * @throws NullPointerException If component is null.
+   */
+  public void enable (final Component component)
+  {
+    enabled.set (component.startIndex (), component.endIndex ());
+  }
+
+  /**
+   * Tell if a component is enabled for logging.
+   *
+   * @param component The component to test.
+   * @return True iff the specified component is enabled for logging.
+   * @throws NullPointerException If component is null.
+   */
+  public boolean isEnabled (final Component component)
+  {
+    return (enabled.get (component.startIndex ()));
+  }
+
+  public boolean isLoggable (final LogRecord record)
+  {
+    try
+      {
+	return isEnabled ((Component) record.getLevel ());
+      }
+    catch (ClassCastException cce)
+      {
+	return true;
+      }
+  }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/Simple1LineFormatter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,161 @@
+/* Simple1LineFormatter.java -- A simple 1-line logging formatter
+   Copyright (C) 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.classpath.debug;
+
+import gnu.java.security.action.GetPropertyAction;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.security.AccessController;
+import java.text.DateFormat;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.logging.Formatter;
+import java.util.logging.LogRecord;
+
+/**
+ * A simple 1-line formatter to use instead of the 2-line SimpleFormatter used
+ * by default in the JDK logging handlers.
+ * <p>
+ * The fixed format of this formatter is as follows:
+ * <p>
+ * <ol>
+ *   <li>Date: As a yyyy-MM-dd string.</li>
+ *   <li>Time: As a HH:mm:ss.SSSS Z string.</li>
+ *   <li>Thread identifier, right-justified, and framed in an 11-digit field.</li>
+ *   <li>Class name, without its package name, left-justified, and framed in a
+ *   32-character field.</li>
+ *   <li>Method name, left-justified, and framed in a 32-character field.</li>
+ *   <li>Level name, left-justified, and framed in a 6-character field.</li>
+ *   <li>User message and arguments.</li>
+ *   <li>Platform-dependent line-separator.</li>
+ *   <li>Optionally, if the log-record contains a thrown exception, that
+ *   exception's stack trace is appended to the output.</li>
+ * </ol>
+ * <p>
+ * Here is an example of the output generated by this formatter:
+ * <p>
+ * <pre>
+ * 2006-02-27 21:59:12.0881 +1100 -1343151280 EncodedKeyFactory                engineGeneratePublic()           FINER - ENTRY java.security.spec.X509EncodedKeySpec@b00d7fc0
+ * 2006-02-27 21:59:12.0887 +1100 -1343151280 EncodedKeyFactory                engineGeneratePublic()           FINE  - Exception in DSSPublicKey.valueOf(). Ignore
+ * java.security.InvalidParameterException: Unexpected OID: 1.2.840.113549.1.1.1
+ *    at gnu.java.security.key.dss.DSSKeyPairX509Codec.decodePublicKey (DSSKeyPairX509Codec.java:205)
+ *    at gnu.java.security.key.dss.DSSPublicKey.valueOf (DSSPublicKey.java:136)
+ *    at gnu.java.security.jce.sig.EncodedKeyFactory.engineGeneratePublic (EncodedKeyFactory.java:218)
+ *    at java.security.KeyFactory.generatePublic (KeyFactory.java:219)
+ *    at gnu.java.security.x509.X509Certificate.parse (X509Certificate.java:657)
+ *    at gnu.java.security.x509.X509Certificate.<init> (X509Certificate.java:163)
+ *    ...
+ * 2006-02-27 21:59:12.0895 +1100 -1343151280 RSAKeyPairX509Codec              decodePublicKey()                FINER - ENTRY [B@b00d7fd0
+ * 2006-02-27 21:59:12.0897 +1100 -1343151280 RSAKeyPairX509Codec              decodePublicKey()                FINER - RETURN gnu.java.security.key.rsa.GnuRSAPublicKey@b00fb940
+ * </pre>
+ */
+public class Simple1LineFormatter
+    extends Formatter
+{
+  private static final String DAT_PATTERN = "yyyy-MM-dd HH:mm:ss.SSSS Z ";
+  private static final String THREAD_PATTERN = " #########0;-#########0";
+  private static final String SPACES_32 = "                                ";
+  private static final String SPACES_6 = "      ";
+  private static final String LS = (String) AccessController.doPrivileged
+    (new GetPropertyAction("line.separator"));
+  private DateFormat dateFormat;
+  private NumberFormat threadFormat;
+
+  // default 0-arguments constructor
+
+  public String format(LogRecord record)
+  {
+    if (dateFormat == null)
+      dateFormat = new SimpleDateFormat(DAT_PATTERN);
+
+    if (threadFormat == null)
+      threadFormat = new DecimalFormat(THREAD_PATTERN);
+
+    StringBuilder sb = new StringBuilder(180)
+        .append(dateFormat.format(new Date(record.getMillis())))
+        .append(threadFormat.format(record.getThreadID()))
+        .append(" ");
+    String s = record.getSourceClassName();
+    if (s == null)
+      sb.append(SPACES_32);
+    else
+      {
+        s = s.trim();
+        int i = s.lastIndexOf(".");
+        if (i != - 1)
+          s = s.substring(i + 1);
+
+        s = (s + SPACES_32).substring(0, 32);
+      }
+
+    sb.append(s).append(" ");
+    s = record.getSourceMethodName();
+    if (s == null)
+      sb.append(SPACES_32);
+    else
+      {
+        s = s.trim();
+        if (s.endsWith("()"))
+          s = (s.trim() + SPACES_32).substring(0, 32);
+        else
+          s = (s.trim() + "()" + SPACES_32).substring(0, 32);
+      }
+
+    sb.append(s).append(" ");
+    s = String.valueOf(record.getLevel());
+    if (s == null)
+      sb.append(SPACES_6);
+    else
+      s = (s.trim() + SPACES_6).substring(0, 6);
+
+    sb.append(s).append(" - ").append(formatMessage(record)).append(LS);
+    Throwable cause = record.getThrown();
+    if (cause != null)
+      {
+        StringWriter sw = new StringWriter();
+        cause.printStackTrace(new PrintWriter(sw, true));
+        sb.append(sw.toString());
+      }
+
+    return sb.toString();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/SystemLogger.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,102 @@
+/* SystemLogger.java -- Classpath's system debugging logger.
+   Copyright (C) 2005  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under terms
+of your choice, provided that you also meet, for each linked independent
+module, the terms and conditions of the license of that module.  An
+independent module is a module which is not derived from or based on
+this library.  If you modify this library, you may extend this exception
+to your version of the library, but you are not obligated to do so.  If
+you do not wish to do so, delete this exception statement from your
+version.  */
+
+
+package gnu.classpath.debug;
+
+import gnu.java.security.action.GetPropertyAction;
+
+import java.security.AccessController;
+import java.util.StringTokenizer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+public final class SystemLogger extends Logger
+{
+  public static final SystemLogger SYSTEM = new SystemLogger();
+
+  static
+  {
+    SYSTEM.setFilter (PreciseFilter.GLOBAL);
+    String defaults = (String) AccessController.doPrivileged
+      (new GetPropertyAction("gnu.classpath.debug.components"));
+
+    if (defaults != null)
+      {
+        StringTokenizer tok = new StringTokenizer (defaults, ",");
+        while (tok.hasMoreTokens ())
+          {
+            Component c = Component.forName (tok.nextToken ());
+            if (c != null)
+              PreciseFilter.GLOBAL.enable (c);
+            SYSTEM.log (Level.INFO, "enabled: {0}", c);
+          }
+      }
+  }
+
+  /**
+   * Fetch the system logger instance. The logger returned is meant for debug
+   * and diagnostic logging for Classpath internals.
+   *
+   * @return The system logger.
+   */
+  public static SystemLogger getSystemLogger()
+  {
+    // XXX Check some permission here?
+    return SYSTEM;
+  }
+  
+  /**
+   * Keep only one instance of the system logger.
+   */
+  private SystemLogger()
+  {
+    super("gnu.classpath", null);
+  }
+  
+  /**
+   * Variable-arguments log method.
+   * 
+   * @param level The level to log to.
+   * @param format The format string.
+   * @param args The arguments.
+   */
+  public void logv(Level level, String format, Object... args)
+  {
+    log(level, format, args);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/TeeInputStream.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,98 @@
+/* TeeInputStream.java
+   Copyright (C) 2006  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under terms
+of your choice, provided that you also meet, for each linked independent
+module, the terms and conditions of the license of that module.  An
+independent module is a module which is not derived from or based on
+this library.  If you modify this library, you may extend this exception
+to your version of the library, but you are not obligated to do so.  If
+you do not wish to do so, delete this exception statement from your
+version.  */
+
+package gnu.classpath.debug;
+
+import java.io.*;
+
+/**
+ * An input stream that copies all its input to a byte sink.
+ *
+ * @author Chris Burdess
+ */
+public class TeeInputStream
+  extends InputStream
+{
+
+  private final InputStream in;
+  private final OutputStream out;
+
+  /**
+   * Constructs a tee input stream.
+   * @param in the underlying input stream
+   * @param out the output sink
+   */
+  public TeeInputStream(InputStream in, OutputStream out)
+  {
+    this.in = in;
+    this.out = out;
+  }
+
+  public int read()
+    throws IOException
+  {
+    int ret = in.read();
+    out.write(ret);
+    out.flush();
+    return ret;
+  }
+
+  public int read(byte[] b, int off, int len)
+    throws IOException
+  {
+    int ret = in.read(b, off, len);
+    if (ret != -1)
+      {
+        out.write(b, off, ret);
+        out.flush();
+      }
+    return ret;
+  }
+
+  public void close()
+    throws IOException
+  {
+    in.close();
+    out.close();
+  }
+
+  public final boolean markSupported()
+  {
+    return false;
+  }
+  
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/TeeOutputStream.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,93 @@
+/* TeeOutputStream.java
+   Copyright (C) 2006  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under terms
+of your choice, provided that you also meet, for each linked independent
+module, the terms and conditions of the license of that module.  An
+independent module is a module which is not derived from or based on
+this library.  If you modify this library, you may extend this exception
+to your version of the library, but you are not obligated to do so.  If
+you do not wish to do so, delete this exception statement from your
+version.  */
+
+package gnu.classpath.debug;
+
+import java.io.*;
+
+/**
+ * An output stream that copies all its output to an additional byte sink.
+ *
+ * @author Chris Burdess
+ */
+public class TeeOutputStream
+  extends OutputStream
+{
+
+  private final OutputStream out;
+  private final OutputStream sink;
+
+  /**
+   * Constructs a tee output stream.
+   * @param out the underlying output stream
+   * @param sink the output sink
+   */
+  public TeeOutputStream(OutputStream out, OutputStream sink)
+  {
+    this.out = out;
+    this.sink = sink;
+  }
+
+  public void write(int c)
+    throws IOException
+  {
+    out.write(c);
+    sink.write(c);
+  }
+
+  public void write(byte[] b, int off, int len)
+    throws IOException
+  {
+    out.write(b, off, len);
+    sink.write(b, off, len);
+  }
+
+  public void flush()
+    throws IOException
+  {
+    out.flush();
+    sink.flush();
+  }
+
+  public void close()
+    throws IOException
+  {
+    out.close();
+    sink.close();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/TeeReader.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,98 @@
+/* TeeReader.java
+   Copyright (C) 2006  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under terms
+of your choice, provided that you also meet, for each linked independent
+module, the terms and conditions of the license of that module.  An
+independent module is a module which is not derived from or based on
+this library.  If you modify this library, you may extend this exception
+to your version of the library, but you are not obligated to do so.  If
+you do not wish to do so, delete this exception statement from your
+version.  */
+
+package gnu.classpath.debug;
+
+import java.io.*;
+
+/**
+ * A reader that copies all characters read to an output sink.
+ *
+ * @author Chris Burdess
+ */
+public class TeeReader
+  extends Reader
+{
+
+  private final Reader in;
+  private final Writer out;
+
+  /**
+   * Constructs a tee reader.
+   * @param in the input
+   * @param out the output sink
+   */
+  public TeeReader(Reader in, Writer out)
+  {
+    this.in = in;
+    this.out = out;
+  }
+
+  public int read()
+    throws IOException
+  {
+    int ret = in.read();
+    out.write(ret);
+    out.flush();
+    return ret;
+  }
+
+  public int read(char[] b, int off, int len)
+    throws IOException
+  {
+    int ret = in.read(b, off, len);
+    if (ret != -1)
+      {
+        out.write(b, off, ret);
+        out.flush();
+      }
+    return ret;
+  }
+
+  public void close()
+    throws IOException
+  {
+    in.close();
+    out.close();
+  }
+
+  public final boolean markSupported()
+  {
+    return false;
+  }
+  
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/classpath/debug/TeeWriter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,93 @@
+/* TeeWriter.java
+   Copyright (C) 2006  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under terms
+of your choice, provided that you also meet, for each linked independent
+module, the terms and conditions of the license of that module.  An
+independent module is a module which is not derived from or based on
+this library.  If you modify this library, you may extend this exception
+to your version of the library, but you are not obligated to do so.  If
+you do not wish to do so, delete this exception statement from your
+version.  */
+
+package gnu.classpath.debug;
+
+import java.io.*;
+
+/**
+ * A writer that copies all its output to an additional character sink.
+ *
+ * @author Chris Burdess
+ */
+public class TeeWriter
+  extends Writer
+{
+
+  private final Writer out;
+  private final Writer sink;
+
+  /**
+   * Constructs a tee writer.
+   * @param out the underlying writer
+   * @param sink the output sink
+   */
+  public TeeWriter(Writer out, Writer sink)
+  {
+    this.out = out;
+    this.sink = sink;
+  }
+
+  public void write(int c)
+    throws IOException
+  {
+    out.write(c);
+    sink.write(c);
+  }
+
+  public void write(char[] b, int off, int len)
+    throws IOException
+  {
+    out.write(b, off, len);
+    sink.write(b, off, len);
+  }
+
+  public void flush()
+    throws IOException
+  {
+    out.flush();
+    sink.flush();
+  }
+
+  public void close()
+    throws IOException
+  {
+    out.close();
+    sink.close();
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/Configuration.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+/* Configuration.java --
+   Copyright (C) 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+ 
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.security;
+
+/**
+ * This file defines compile-time constants that can be accessed by
+ * our crypto code. All crypto code should use and define such
+ * constants here instead of using the gnu.classpath.Configuration class.
+ */
+public interface Configuration
+{
+
+  /**
+   * The value of DEBUG is substituted according to whether the
+   * "--enable-debug" argument was passed to configure. Code
+   * which is made conditional based on the value of this flag - typically 
+   * code that generates debugging output - will be removed by the optimizer 
+   * in a non-debug build.
+   */
+  boolean DEBUG = false;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/Engine.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,280 @@
+/* Engine -- generic getInstance method.
+   Copyright (C) 2003, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.security;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import java.security.NoSuchAlgorithmException;
+import java.security.Provider;
+import java.util.Enumeration;
+
+/**
+ * Generic implementation of the getInstance methods in the various
+ * engine classes in java.security.
+ * <p>
+ * These classes ({@link java.security.Signature} for example) can be
+ * thought of as the "chrome, upholstery, and steering wheel", and the SPI
+ * (service provider interface, e.g. {@link java.security.SignatureSpi})
+ * classes can be thought of as the "engine" -- providing the actual
+ * functionality of whatever cryptographic algorithm the instance
+ * represents.
+ *
+ * @see Provider
+ * @author Casey Marshall 
+ */
+public final class Engine
+{
+
+  // Constants.
+  // ------------------------------------------------------------------------
+
+  /** Prefix for aliases. */
+  private static final String ALG_ALIAS = "Alg.Alias.";
+
+  /** Maximum number of aliases to try. */
+  private static final int MAX_ALIASES = 5;
+
+  /** Argument list for no-argument constructors. */
+  private static final Object[] NO_ARGS = new Object[0];
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /** This class cannot be instantiated. */
+  private Engine() { }
+
+  /**
+   * Return the implementation for <i>algorithm</i> for service <i>service</i>
+   * from <i>provider</i>. The service is e.g. "Signature", and the algorithm
+   * "DSA".
+   * 
+   * @param service The service name.
+   * @param algorithm The name of the algorithm to get.
+   * @param provider The provider to get the implementation from.
+   * @return The engine class for the specified algorithm; the object returned
+   *         is typically a subclass of the SPI class for that service, but
+   *         callers should check that this is so.
+   * @throws NoSuchAlgorithmException If the implementation cannot be found or
+   *           cannot be instantiated.
+   * @throws InvocationTargetException If the SPI class's constructor throws an
+   *           exception.
+   * @throws IllegalArgumentException If any of the three arguments is null.
+   */
+  public static Object getInstance(String service, String algorithm,
+                                   Provider provider)
+      throws InvocationTargetException, NoSuchAlgorithmException
+  {
+    return getInstance(service, algorithm, provider, NO_ARGS);
+  }
+
+  /**
+   * Return the implementation for <i>algorithm</i> for service <i>service</i>
+   * from <i>provider</i>, passing <i>initArgs</i> to the SPI class's
+   * constructor (which cannot be null; pass a zero-length array if the SPI
+   * takes no arguments). The service is e.g. "Signature", and the algorithm
+   * "DSA".
+   * 
+   * @param service The service name.
+   * @param algorithm The name of the algorithm to get.
+   * @param provider The provider to get the implementation from.
+   * @param initArgs The arguments to pass to the SPI class's constructor
+   *          (cannot be null).
+   * @return The engine class for the specified algorithm; the object returned
+   *         is typically a subclass of the SPI class for that service, but
+   *         callers should check that this is so.
+   * @throws NoSuchAlgorithmException If the implementation cannot be found or
+   *           cannot be instantiated.
+   * @throws InvocationTargetException If the SPI class's constructor throws an
+   *           exception.
+   * @throws IllegalArgumentException If any of the four arguments is
+   *           <code>null</code> or if either <code>service</code>, or
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static Object getInstance(String service, String algorithm,
+                                   Provider provider, Object[] initArgs)
+      throws InvocationTargetException, NoSuchAlgorithmException
+  {
+    if (service == null)
+      throw new IllegalArgumentException("service MUST NOT be null");
+    service = service.trim();
+    if (service.length() == 0)
+      throw new IllegalArgumentException("service MUST NOT be empty");
+    if (algorithm == null)
+      throw new IllegalArgumentException("algorithm MUST NOT be null");
+    algorithm = algorithm.trim();
+    if (algorithm.length() == 0)
+      throw new IllegalArgumentException("algorithm MUST NOT be empty");
+    if (provider == null)
+      throw new IllegalArgumentException("provider MUST NOT be null");
+    if (initArgs == null)
+      throw new IllegalArgumentException("Constructor's parameters MUST NOT be null");
+
+    Enumeration enumer = provider.propertyNames();
+    String key;
+    String alias;
+    int count = 0;
+    boolean algorithmFound = false;
+    StringBuilder sb = new StringBuilder();
+    while (enumer.hasMoreElements())
+      {
+        key = (String) enumer.nextElement();
+        if (key.equalsIgnoreCase(service + "." + algorithm))
+          {
+            // remove the service portion from the key
+            algorithm = key.substring(service.length() + 1); 
+            algorithmFound = true;
+            break;
+          }
+        else if (key.equalsIgnoreCase(ALG_ALIAS + service + "." + algorithm))
+          {
+            alias = (String) provider.getProperty(key);
+            if (! algorithm.equalsIgnoreCase(alias)) // does not refer to itself
+              {
+                algorithm = alias;
+                if (count++ > MAX_ALIASES)
+                  {
+                    sb.append("Algorithm [").append(algorithm)
+                        .append("] of type [").append(service)
+                        .append("] from provider [").append(provider)
+                        .append("] has too many aliases");
+                    throw new NoSuchAlgorithmException(sb.toString());
+                  }
+                // need to reset enumeration to now look for the alias
+                enumer = provider.propertyNames();
+              }
+          }
+      }
+
+    if (! algorithmFound)
+      {
+        sb.append("Algorithm [").append(algorithm).append("] of type [")
+            .append(service).append("] from provider [")
+            .append(provider).append("] is not found");
+        throw new NoSuchAlgorithmException(sb.toString());
+      }
+
+    // Find and instantiate the implementation
+    Class clazz = null;
+    ClassLoader loader = provider.getClass().getClassLoader();
+    Constructor constructor = null;
+    String className = provider.getProperty(service + "." + algorithm);
+    sb.append("Class [").append(className).append("] for algorithm [")
+        .append(algorithm).append("] of type [").append(service)
+        .append("] from provider [").append(provider).append("] ");
+    Throwable cause = null;
+    try
+      {
+        if (loader != null)
+          clazz = loader.loadClass(className);
+        else
+          clazz = Class.forName(className);
+        constructor = getCompatibleConstructor(clazz, initArgs);
+        return constructor.newInstance(initArgs);
+      }
+    catch (ClassNotFoundException x)
+      {
+        sb.append("cannot not be found");
+        cause = x;
+      }
+    catch (IllegalAccessException x)
+      {
+        sb.append("cannot be accessed");
+        cause = x;
+      }
+    catch (InstantiationException x)
+      {
+        sb.append("cannot be instantiated");
+        cause = x;
+      }
+    catch (ExceptionInInitializerError x)
+      {
+        sb.append("cannot be initialized");
+        cause = x;
+      }
+    catch (SecurityException x)
+      {
+        sb.append("caused a security violation");
+        cause = x;
+      }
+    catch (NoSuchMethodException x)
+      {
+        sb.append("does not have/expose an appropriate constructor");
+        cause = x;
+      }
+
+    NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString());
+    x.initCause(cause);
+    throw x;
+  }
+
+  /**
+   * Find a constructor in the given class that can take the specified
+   * argument list, allowing any of which to be null.
+   *
+   * @param clazz    The class from which to get the constructor.
+   * @param initArgs The argument list to be passed to the constructor.
+   * @return The constructor.
+   * @throws NoSuchMethodException If no constructor of the given class
+   *         can take the specified argument array.
+   */
+  private static Constructor getCompatibleConstructor(Class clazz,
+                                                      Object[] initArgs)
+    throws NoSuchMethodException
+  {
+    Constructor[] c = clazz.getConstructors();
+    outer:for (int i = 0; i < c.length; i++)
+      {
+        Class[] argTypes = c[i].getParameterTypes();
+        if (argTypes.length != initArgs.length)
+          continue;
+        for (int j = 0; j < argTypes.length; j++)
+          {
+            if (initArgs[j] != null &&
+                !argTypes[j].isAssignableFrom(initArgs[j].getClass()))
+              continue outer;
+          }
+        // If we reach this point, we know this constructor (c[i]) has
+        // the same number of parameters as the target parameter list,
+        // and all our parameters are either (1) null, or (2) assignable
+        // to the target parameter type.
+        return c[i];
+      }
+    throw new NoSuchMethodException();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/OID.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,510 @@
+/* OID.java -- numeric representation of an object identifier
+   Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security;
+
+import gnu.java.security.der.DEREncodingException;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.StringTokenizer;
+
+/**
+ * This immutable class represents an object identifier, or OID.
+ *
+ * <p>OIDs are represented as a series of hierarchical tokens, each of
+ * which is usually represented as a single, unsigned integer. The
+ * hierarchy works so that later tokens are considered within the group
+ * of earlier tokens. Thus, the OID for the Serpent block cipher,
+ * 1.3.6.1.4.1.11591.13.2, is maintained by the GNU project, whose OID
+ * is 1.3.6.1.4.1.11591 (which is, in turn, part of bigger, more general
+ * bodies; the topmost, 1, stands for the OIDs assigned by the
+ * International Standards Organization, ISO).
+ *
+ * <p>OIDs can be represented in a variety of ways, including the
+ * dotted-decimal form we use here.
+ *
+ * <p>OIDs may be relative, in which case the first two elements of the
+ * OID are omitted.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class OID implements Cloneable, Comparable, java.io.Serializable
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  /* Serial version id for serialization. */
+  static final long serialVersionUID = 5722492029044597779L;
+  
+  /**
+   * The numeric ID structure.
+   */
+  private int[] components;
+
+  /**
+   * The string representation of this OID, in dotted-decimal format.
+   */
+  private transient String strRep;
+
+  /**
+   * The DER encoding of this OID.
+   */
+  private transient byte[] der;
+
+  /**
+   * Whether or not this OID is relative.
+   */
+  private boolean relative;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new OID from the given byte array. The argument (which can
+   * neither be null nor zero-length) is copied to prevent subsequent
+   * modification.
+   *
+   * @param components The numeric IDs.
+   * @throws IllegalArgumentException If <i>components</i> is null or empty.
+   */
+  public OID(int[] components)
+  {
+    this(components, false);
+  }
+
+  /**
+   * Create a new OID from the given byte array. The argument (which can
+   * neither be null nor zero-length) is copied to prevent subsequent
+   * modification.
+   *
+   * @param components The numeric IDs.
+   * @param relative The relative flag.
+   * @throws IllegalArgumentException If <i>components</i> is null or empty.
+   */
+  public OID(int[] components, boolean relative)
+  {
+    if (components == null || components.length == 0)
+      throw new IllegalArgumentException();
+    this.components = (int[]) components.clone();
+    this.relative = relative;
+  }
+
+  /**
+   * Create a new OID from the given dotted-decimal representation.
+   *
+   * @param strRep The string representation of the OID.
+   * @throws IllegalArgumentException If the string does not contain at
+   * least one integer.
+   * @throws NumberFormatException If the string does not contain only
+   * numbers and periods ('.').
+   */
+  public OID(String strRep)
+  {
+    this(strRep, false);
+  }
+
+  /**
+   * Create a new OID from the given dotted-decimal representation.
+   *
+   * @param strRep The string representation of the OID.
+   * @param relative The relative flag.
+   * @throws IllegalArgumentException If the string does not contain at
+   * least one integer.
+   * @throws NumberFormatException If the string does not contain only
+   * numbers and periods ('.').
+   */
+  public OID(String strRep, boolean relative)
+  {
+    this.relative = relative;
+    this.strRep = strRep;
+    components = fromString(strRep);
+  }
+
+  /**
+   * Construct a new OID from the DER bytes in an input stream. This method
+   * does not read the tag or the length field from the input stream, so
+   * the caller must supply the number of octets in this OID's encoded
+   * form.
+   *
+   * @param derIn The DER input stream.
+   * @param len   The number of bytes in the encoded form.
+   * @throws IOException If an error occurs reading the OID.
+   */
+  public OID(InputStream derIn, int len) throws IOException
+  {
+    this(derIn, len, false);
+  }
+
+  /**
+   * Construct a new OID from the DER bytes in an input stream. This method
+   * does not read the tag or the length field from the input stream, so
+   * the caller must supply the number of octets in this OID's encoded
+   * form.
+   *
+   * @param derIn The DER input stream.
+   * @param len   The number of bytes in the encoded form.
+   * @param relative The relative flag.
+   * @throws IOException If an error occurs reading the OID.
+   */
+  public OID(InputStream derIn, int len, boolean relative) throws IOException
+  {
+    der = new byte[len];
+    derIn.read(der);
+    this.relative = relative;
+    try
+      {
+        components = fromDER(der, relative);
+      }
+    catch (ArrayIndexOutOfBoundsException aioobe)
+      {
+        aioobe.printStackTrace();
+        throw aioobe;
+      }
+  }
+
+  /**
+   * Construct a new OID from the given DER bytes.
+   *
+   * @param encoded The DER encoded OID.
+   * @throws IOException If an error occurs reading the OID.
+   */
+  public OID(byte[] encoded) throws IOException
+  {
+    this(encoded, false);
+  }
+
+  /**
+   * Construct a new OID from the given DER bytes.
+   *
+   * @param encoded The encoded relative OID.
+   * @param relative The relative flag.
+   */
+  public OID(byte[] encoded, boolean relative) throws IOException
+  {
+    der = (byte[]) encoded.clone();
+    this.relative = relative;
+    try
+      {
+        components = fromDER(der, relative);
+      }
+    catch (ArrayIndexOutOfBoundsException aioobe)
+      {
+        aioobe.printStackTrace();
+        throw aioobe;
+      }
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return the numeric IDs of this OID. The value returned is copied to
+   * prevent modification.
+   *
+   * @return The IDs in a new integer array.
+   */
+  public int[] getIDs()
+  {
+    return (int[]) components.clone();
+  }
+
+  /**
+   * Get the DER encoding of this OID, minus the tag and length fields.
+   *
+   * @return The DER bytes.
+   */
+  public byte[] getDER()
+  {
+    if (der == null)
+      {
+        ByteArrayOutputStream bout = new ByteArrayOutputStream();
+        int i = 0;
+        if (!relative)
+          {
+            int b = components[i++] * 40 + (components.length > 1
+              ? components[i++] : 0);
+            encodeSubID(bout, b);
+          }
+        for ( ; i < components.length; i++)
+          encodeSubID(bout, components[i]);
+        der = bout.toByteArray();
+      }
+    return (byte[]) der.clone();
+  }
+
+  /**
+   * Get the parent OID of this OID. That is, if this OID is "1.2.3.4",
+   * then the parent OID will be "1.2.3". If this OID is a top-level
+   * OID, this method returns null.
+   *
+   * @return The parent OID, or null.
+   */
+  public OID getParent()
+  {
+    if (components.length == 1)
+      return null;
+    int[] parent = new int[components.length - 1];
+    System.arraycopy(components, 0, parent, 0, parent.length);
+    return new OID(parent);
+  }
+
+  public OID getChild(int id)
+  {
+    int[] child = new int[components.length + 1];
+    System.arraycopy(components, 0, child, 0, components.length);
+    child[child.length - 1] = id;
+    return new OID(child);
+  }
+
+  /**
+   * Get the root OID of this OID. That is, the first two components.
+   *
+   * @return The root OID.
+   */
+  public OID getRoot()
+  {
+    if (components.length <= 2)
+      return this;
+    int[] root = new int[2];
+    root[0] = components[0];
+    root[1] = components[1];
+    return new OID(root);
+  }
+
+  public boolean isRelative()
+  {
+    return relative;
+  }
+
+  /**
+   * Returns a copy of this OID.
+   *
+   * @return The copy.
+   */
+  public Object clone()
+  {
+    try
+      {
+        return super.clone();
+      }
+    catch (CloneNotSupportedException cnse)
+      {
+        InternalError ie = new InternalError();
+        ie.initCause(cnse);
+        throw ie;
+      }
+  }
+
+  /* Nice idea, but possibly too expensive for whatever benefit it
+   * provides.
+
+  public String getShortName()
+  {
+    return OIDTable.getShortName(this);
+  }
+
+  public String getLongName()
+  {
+    return OIDTable.getLongName(this);
+  }
+
+  */
+
+  /**
+   * Returns the value of this OID in dotted-decimal format.
+   *
+   * @return The string representation.
+   */
+  public String toString()
+  {
+    if (strRep != null)
+      return strRep;
+    else
+      {
+        StringBuffer buf = new StringBuffer();
+        for (int i = 0; i < components.length; i++)
+          {
+            buf.append((long) components[i] & 0xFFFFFFFFL);
+            if (i < components.length - 1)
+              buf.append('.');
+          }
+        return (strRep = buf.toString());
+      }
+  }
+
+  /**
+   * Computes a hash code for this OID.
+   *
+   * @return The hash code.
+   */
+  public int hashCode()
+  {
+    int ret = 0;
+    for (int i = 0; i < components.length; i++)
+      ret += components[i] << (i & 31);
+    return ret;
+  }
+
+  /**
+   * Tests whether or not this OID equals another.
+   *
+   * @return Whether or not this OID equals the other.
+   */
+  public boolean equals(Object o)
+  {
+    if (!(o instanceof OID))
+      return false;
+    return java.util.Arrays.equals(components, ((OID) o).components);
+  }
+
+  /**
+   * Compares this OID to another. The comparison is essentially
+   * lexicographic, where the two OIDs are compared until their
+   * first difference, then that difference is returned. If one OID is
+   * shorter, but all elements equal between the two for the shorter
+   * length, then the shorter OID is lesser than the longer.
+   *
+   * @param o The object to compare.
+   * @return An integer less than, equal to, or greater than zero if
+   *         this object is less than, equal to, or greater than the
+   *         argument.
+   * @throws ClassCastException If <i>o</i> is not an OID.
+   */
+  public int compareTo(Object o)
+  {
+    if (equals(o))
+      return 0;
+    int[] components2 = ((OID) o).components;
+    int len = Math.min(components.length, components2.length);
+    for (int i = 0; i < len; i++)
+      {
+        if (components[i] != components2[i])
+          return (components[i] < components2[i]) ? -1 : 1;
+      }
+    if (components.length == components2.length)
+      return 0;
+    return (components.length < components2.length) ? -1 : 1;
+  }
+
+  // Own methods.
+  // ------------------------------------------------------------------------
+
+  private static int[] fromDER(byte[] der, boolean relative)
+    throws DEREncodingException
+  {
+    // cannot be longer than this.
+    int[] components = new int[der.length + 1];
+    int count = 0;
+    int i = 0;
+    if (!relative && i < der.length)
+      {
+        // Non-relative OIDs have the first two arcs coded as:
+        //
+        //   i = first_arc * 40 + second_arc;
+        //
+        int j = (der[i] & 0xFF);
+        components[count++] = j / 40;
+        components[count++] = j % 40;
+        i++;
+      }
+    while (i < der.length)
+      {
+        int j = 0;
+        do
+          {
+            j = der[i++] & 0xFF;
+            components[count] <<= 7;
+            components[count]  |= j & 0x7F;
+            if (i >= der.length && (j & 0x80) != 0)
+              throw new DEREncodingException("malformed OID");
+          }
+        while ((j & 0x80) != 0);
+        count++;
+      }
+    if (count == components.length)
+      return components;
+    int[] ret = new int[count];
+    System.arraycopy(components, 0, ret, 0, count);
+    return ret;
+  }
+
+  private static int[] fromString(String strRep) throws NumberFormatException
+  {
+    if (strRep.startsWith("OID.") || strRep.startsWith("oid."))
+      strRep = strRep.substring(4);
+    StringTokenizer tok = new StringTokenizer(strRep, ".");
+    if (tok.countTokens() == 0)
+      throw new IllegalArgumentException();
+    int[] components = new int[tok.countTokens()];
+    int i = 0;
+    while (tok.hasMoreTokens())
+      {
+        components[i++] = Integer.parseInt(tok.nextToken());
+      }
+    return components;
+  }
+
+  private static void encodeSubID(ByteArrayOutputStream out, int id)
+  {
+    if (id < 128)
+      {
+        out.write(id);
+      }
+    else if (id < 16384)
+      {
+        out.write((id >>> 7) | 0x80);
+        out.write(id & 0x7F);
+      }
+    else if (id < 2097152)
+      {
+        out.write((id >>> 14) | 0x80);
+        out.write(((id >>> 7) | 0x80) & 0xFF);
+        out.write(id & 0x7F);
+      }
+    else if (id < 268435456)
+      {
+        out.write( (id >>> 21) | 0x80);
+        out.write(((id >>> 14) | 0x80) & 0xFF);
+        out.write(((id >>>  7) | 0x80) & 0xFF);
+        out.write(id & 0x7F);
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/PolicyFile.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,685 @@
+/* PolicyFile.java -- policy file reader
+   Copyright (C) 2004, 2005, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.security;
+
+import gnu.classpath.debug.Component;
+import gnu.classpath.debug.SystemLogger;
+import gnu.java.security.action.GetPropertyAction;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.StreamTokenizer;
+import java.lang.reflect.Constructor;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.security.AccessController;
+import java.security.CodeSource;
+import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.Permission;
+import java.security.PermissionCollection;
+import java.security.Permissions;
+import java.security.Policy;
+import java.security.Principal;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+import java.security.Security;
+import java.security.UnresolvedPermission;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.logging.Logger;
+
+/**
+ * An implementation of a {@link java.security.Policy} object whose
+ * permissions are specified by a <em>policy file</em>.
+ *
+ * <p>The approximate syntax of policy files is:</p>
+ *
+ * <pre>
+ * policyFile ::= keystoreOrGrantEntries ;
+ *
+ * keystoreOrGrantEntries ::= keystoreOrGrantEntry |
+ *                            keystoreOrGrantEntries keystoreOrGrantEntry |
+ *                            EMPTY ;
+ *
+ * keystoreOrGrantEntry ::= keystoreEntry | grantEntry ;
+ *
+ * keystoreEntry ::= "keystore" keystoreUrl ';' |
+ *                   "keystore" keystoreUrl ',' keystoreAlgorithm ';' ;
+ *
+ * keystoreUrl ::= URL ;
+ * keystoreAlgorithm ::= STRING ;
+ *
+ * grantEntry ::= "grant" domainParameters '{' permissions '}' ';'
+ *
+ * domainParameters ::= domainParameter |
+ *                      domainParameter ',' domainParameters ;
+ *
+ * domainParameter ::= "signedBy" signerNames |
+ *                     "codeBase" codeBaseUrl |
+ *                     "principal" principalClassName principalName |
+ *                     "principal" principalName ;
+ *
+ * signerNames ::= quotedString ;
+ * codeBaseUrl ::= URL ;
+ * principalClassName ::= STRING ;
+ * principalName ::= quotedString ;
+ *
+ * quotedString ::= quoteChar STRING quoteChar ;
+ * quoteChar ::= '"' | '\'';
+ *
+ * permissions ::= permission | permissions permission ;
+ *
+ * permission ::= "permission" permissionClassName permissionTarget permissionAction |
+ *                "permission" permissionClassName permissionTarget |
+ *                "permission" permissionClassName;
+ * </pre>
+ *
+ * <p>Comments are either form of Java comments. Keystore entries only
+ * affect subsequent grant entries, so if a grant entry preceeds a
+ * keystore entry, that grant entry is not affected by that keystore
+ * entry. Certian instances of <code>${property-name}</code> will be
+ * replaced with <code>System.getProperty("property-name")</code> in
+ * quoted strings.</p>
+ *
+ * <p>This class will load the following files when created or
+ * refreshed, in order:</p>
+ *
+ * <ol>
+ * <li>The file <code>${java.home}/lib/security/java.policy</code>.</li>
+ * <li>All URLs specified by security properties
+ * <code>"policy.file.<i>n</i>"</code>, for increasing <i>n</i>
+ * starting from 1. The sequence stops at the first undefined
+ * property, so you must set <code>"policy.file.1"</code> if you also
+ * set <code>"policy.file.2"</code>, and so on.</li>
+ * <li>The URL specified by the property
+ * <code>"java.security.policy"</code>.</li>
+ * </ol>
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @see java.security.Policy
+ */
+public final class PolicyFile extends Policy
+{
+
+  // Constants and fields.
+  // -------------------------------------------------------------------------
+
+  protected static final Logger logger = SystemLogger.SYSTEM;
+  // Added to cut redundant AccessController.doPrivileged calls
+  private static GetPropertyAction prop = new GetPropertyAction("file.seperator");
+  private static final String fs = (String) AccessController.doPrivileged(prop);
+  
+  private static final String DEFAULT_POLICY =
+    (String) AccessController.doPrivileged(prop.setParameters("java.home"))
+    + fs + "lib" + fs + "security" + fs + "java.policy";
+  private static final String DEFAULT_USER_POLICY =
+    (String) AccessController.doPrivileged(prop.setParameters("user.home")) +
+    fs + ".java.policy";
+
+  private final Map cs2pc;
+
+  // Constructors.
+  // -------------------------------------------------------------------------
+
+  public PolicyFile()
+  {
+    cs2pc = new HashMap();
+    refresh();
+  }
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  public PermissionCollection getPermissions(CodeSource codeSource)
+  {
+    Permissions perms = new Permissions();
+    for (Iterator it = cs2pc.entrySet().iterator(); it.hasNext(); )
+      {
+        Map.Entry e = (Map.Entry) it.next();
+        CodeSource cs = (CodeSource) e.getKey();
+        if (cs.implies(codeSource))
+          {
+            logger.log (Component.POLICY, "{0} -> {1}", new Object[]
+              { cs, codeSource });
+            PermissionCollection pc = (PermissionCollection) e.getValue();
+            for (Enumeration ee = pc.elements(); ee.hasMoreElements(); )
+              {
+                perms.add((Permission) ee.nextElement());
+              }
+          }
+        else
+          logger.log (Component.POLICY, "{0} !-> {1}", new Object[]
+            { cs, codeSource });
+      }
+    logger.log (Component.POLICY, "returning permissions {0} for {1}",
+                new Object[] { perms, codeSource });
+    return perms;
+  }
+
+  public void refresh()
+  {
+    cs2pc.clear();
+    final List policyFiles = new LinkedList();
+    try
+      {
+        policyFiles.add (new File (DEFAULT_POLICY).toURL());
+        policyFiles.add (new File (DEFAULT_USER_POLICY).toURL ());
+
+        AccessController.doPrivileged(
+          new PrivilegedExceptionAction()
+          {
+            public Object run() throws Exception
+            {
+              String allow = Security.getProperty ("policy.allowSystemProperty");
+              if (allow == null || Boolean.getBoolean (allow))
+                {
+                  String s = System.getProperty ("java.security.policy");
+                  logger.log (Component.POLICY, "java.security.policy={0}", s);
+                  if (s != null)
+                    {
+                      boolean only = s.startsWith ("=");
+                      if (only)
+                        s = s.substring (1);
+                      policyFiles.clear ();
+                      policyFiles.add (new URL (s));
+                      if (only)
+                        return null;
+                    }
+                }
+              for (int i = 1; ; i++)
+                {
+                  String pname = "policy.url." + i;
+                  String s = Security.getProperty (pname);
+                  logger.log (Component.POLICY, "{0}={1}", new Object []
+                    { pname, s });
+                  if (s == null)
+                    break;
+                  policyFiles.add (new URL (s));
+                }
+              return null;
+            }
+          });
+      }
+    catch (PrivilegedActionException pae)
+      {
+        logger.log (Component.POLICY, "reading policy properties", pae);
+      }
+    catch (MalformedURLException mue)
+      {
+        logger.log (Component.POLICY, "setting default policies", mue);
+      }
+
+    logger.log (Component.POLICY, "building policy from URLs {0}",
+                policyFiles);
+    for (Iterator it = policyFiles.iterator(); it.hasNext(); )
+      {
+        try
+          {
+            URL url = (URL) it.next();
+            parse(url);
+          }
+        catch (IOException ioe)
+          {
+            logger.log (Component.POLICY, "reading policy", ioe);
+          }
+      }
+  }
+
+  public String toString()
+  {
+    return super.toString() + " [ " + cs2pc.toString() + " ]";
+  }
+
+  // Own methods.
+  // -------------------------------------------------------------------------
+
+  private static final int STATE_BEGIN = 0;
+  private static final int STATE_GRANT = 1;
+  private static final int STATE_PERMS = 2;
+
+  /**
+   * Parse a policy file, incorporating the permission definitions
+   * described therein.
+   *
+   * @param url The URL of the policy file to read.
+   * @throws IOException if an I/O error occurs, or if the policy file
+   * cannot be parsed.
+   */
+  private void parse(final URL url) throws IOException
+  {
+    logger.log (Component.POLICY, "reading policy file from {0}", url);
+    final StreamTokenizer in = new StreamTokenizer(new InputStreamReader(url.openStream()));
+    in.resetSyntax();
+    in.slashSlashComments(true);
+    in.slashStarComments(true);
+    in.wordChars('A', 'Z');
+    in.wordChars('a', 'z');
+    in.wordChars('0', '9');
+    in.wordChars('.', '.');
+    in.wordChars('_', '_');
+    in.wordChars('$', '$');
+    in.whitespaceChars(' ', ' ');
+    in.whitespaceChars('\t', '\t');
+    in.whitespaceChars('\f', '\f');
+    in.whitespaceChars('\n', '\n');
+    in.whitespaceChars('\r', '\r');
+    in.quoteChar('\'');
+    in.quoteChar('"');
+
+    int tok;
+    int state = STATE_BEGIN;
+    List keystores = new LinkedList();
+    URL currentBase = null;
+    List currentCerts = new LinkedList();
+    Permissions currentPerms = new Permissions();
+    while ((tok = in.nextToken()) != StreamTokenizer.TT_EOF)
+      {
+        switch (tok)
+          {
+          case '{':
+            if (state != STATE_GRANT)
+              error(url, in, "spurious '{'");
+            state = STATE_PERMS;
+            tok = in.nextToken();
+            break;
+          case '}':
+            if (state != STATE_PERMS)
+              error(url, in, "spurious '}'");
+            state = STATE_BEGIN;
+            currentPerms.setReadOnly();
+            Certificate[] c = null;
+            if (!currentCerts.isEmpty())
+              c = (Certificate[]) currentCerts.toArray(new Certificate[currentCerts.size()]);
+            cs2pc.put(new CodeSource(currentBase, c), currentPerms);
+            currentCerts.clear();
+            currentPerms = new Permissions();
+            currentBase = null;
+            tok = in.nextToken();
+            if (tok != ';')
+              in.pushBack();
+            continue;
+          }
+        if (tok != StreamTokenizer.TT_WORD)
+          {
+            error(url, in, "expecting word token");
+          }
+
+        // keystore "<keystore-path>" [',' "<keystore-type>"] ';'
+        if (in.sval.equalsIgnoreCase("keystore"))
+          {
+            String alg = KeyStore.getDefaultType();
+            tok = in.nextToken();
+            if (tok != '"' && tok != '\'')
+              error(url, in, "expecting key store URL");
+            String store = in.sval;
+            tok = in.nextToken();
+            if (tok == ',')
+              {
+                tok = in.nextToken();
+                if (tok != '"' && tok != '\'')
+                  error(url, in, "expecting key store type");
+                alg = in.sval;
+                tok = in.nextToken();
+              }
+            if (tok != ';')
+              error(url, in, "expecting semicolon");
+            try
+              {
+                KeyStore keystore = KeyStore.getInstance(alg);
+                keystore.load(new URL(url, store).openStream(), null);
+                keystores.add(keystore);
+              }
+            catch (Exception x)
+              {
+                error(url, in, x.toString());
+              }
+          }
+        else if (in.sval.equalsIgnoreCase("grant"))
+          {
+            if (state != STATE_BEGIN)
+              error(url, in, "extraneous grant keyword");
+            state = STATE_GRANT;
+          }
+        else if (in.sval.equalsIgnoreCase("signedBy"))
+          {
+            if (state != STATE_GRANT && state != STATE_PERMS)
+              error(url, in, "spurious 'signedBy'");
+            if (keystores.isEmpty())
+              error(url, in, "'signedBy' with no keystores");
+            tok = in.nextToken();
+            if (tok != '"' && tok != '\'')
+              error(url, in, "expecting signedBy name");
+            StringTokenizer st = new StringTokenizer(in.sval, ",");
+            while (st.hasMoreTokens())
+              {
+                String alias = st.nextToken();
+                for (Iterator it = keystores.iterator(); it.hasNext(); )
+                  {
+                    KeyStore keystore = (KeyStore) it.next();
+                    try
+                      {
+                        if (keystore.isCertificateEntry(alias))
+                          currentCerts.add(keystore.getCertificate(alias));
+                      }
+                    catch (KeyStoreException kse)
+                      {
+                        error(url, in, kse.toString());
+                      }
+                  }
+              }
+            tok = in.nextToken();
+            if (tok != ',')
+              {
+                if (state != STATE_GRANT)
+                  error(url, in, "spurious ','");
+                in.pushBack();
+              }
+          }
+        else if (in.sval.equalsIgnoreCase("codeBase"))
+          {
+            if (state != STATE_GRANT)
+              error(url, in, "spurious 'codeBase'");
+            tok = in.nextToken();
+            if (tok != '"' && tok != '\'')
+              error(url, in, "expecting code base URL");
+            String base = expand(in.sval);
+            if (File.separatorChar != '/')
+              base = base.replace(File.separatorChar, '/');
+            try
+              {
+                currentBase = new URL(base);
+              }
+            catch (MalformedURLException mue)
+              {
+                error(url, in, mue.toString());
+              }
+            tok = in.nextToken();
+            if (tok != ',')
+              in.pushBack();
+          }
+        else if (in.sval.equalsIgnoreCase("principal"))
+          {
+            if (state != STATE_GRANT)
+              error(url, in, "spurious 'principal'");
+            tok = in.nextToken();
+            if (tok == StreamTokenizer.TT_WORD)
+              {
+                tok = in.nextToken();
+                if (tok != '"' && tok != '\'')
+                  error(url, in, "expecting principal name");
+                String name = in.sval;
+                Principal p = null;
+                try
+                  {
+                    Class pclass = Class.forName(in.sval);
+                    Constructor c =
+                      pclass.getConstructor(new Class[] { String.class });
+                    p = (Principal) c.newInstance(new Object[] { name });
+                  }
+                catch (Exception x)
+                  {
+                    error(url, in, x.toString());
+                  }
+                for (Iterator it = keystores.iterator(); it.hasNext(); )
+                  {
+                    KeyStore ks = (KeyStore) it.next();
+                    try
+                      {
+                        for (Enumeration e = ks.aliases(); e.hasMoreElements(); )
+                          {
+                            String alias = (String) e.nextElement();
+                            if (ks.isCertificateEntry(alias))
+                              {
+                                Certificate cert = ks.getCertificate(alias);
+                                if (!(cert instanceof X509Certificate))
+                                  continue;
+                                if (p.equals(((X509Certificate) cert).getSubjectDN()) ||
+                                    p.equals(((X509Certificate) cert).getSubjectX500Principal()))
+                                  currentCerts.add(cert);
+                              }
+                          }
+                      }
+                    catch (KeyStoreException kse)
+                      {
+                        error(url, in, kse.toString());
+                      }
+                  }
+              }
+            else if (tok == '"' || tok == '\'')
+              {
+                String alias = in.sval;
+                for (Iterator it = keystores.iterator(); it.hasNext(); )
+                  {
+                    KeyStore ks = (KeyStore) it.next();
+                    try
+                      {
+                        if (ks.isCertificateEntry(alias))
+                          currentCerts.add(ks.getCertificate(alias));
+                      }
+                    catch (KeyStoreException kse)
+                      {
+                        error(url, in, kse.toString());
+                      }
+                  }
+              }
+            else
+              error(url, in, "expecting principal");
+            tok = in.nextToken();
+            if (tok != ',')
+              in.pushBack();
+          }
+        else if (in.sval.equalsIgnoreCase("permission"))
+          {
+            if (state != STATE_PERMS)
+              error(url, in, "spurious 'permission'");
+            tok = in.nextToken();
+            if (tok != StreamTokenizer.TT_WORD)
+              error(url, in, "expecting permission class name");
+            String className = in.sval;
+            Class clazz = null;
+            try
+              {
+                clazz = Class.forName(className);
+              }
+            catch (ClassNotFoundException cnfe)
+              {
+              }
+            tok = in.nextToken();
+            if (tok == ';')
+              {
+                if (clazz == null)
+                  {
+                    currentPerms.add(new UnresolvedPermission(className,
+		      null, null, (Certificate[]) currentCerts.toArray(new Certificate[currentCerts.size()])));
+                    continue;
+                  }
+                try
+                  {
+                    currentPerms.add((Permission) clazz.newInstance());
+                  }
+                catch (Exception x)
+                  {
+                    error(url, in, x.toString());
+                  }
+                continue;
+              }
+            if (tok != '"' && tok != '\'')
+              error(url, in, "expecting permission target");
+            String target = expand(in.sval);
+            tok = in.nextToken();
+            if (tok == ';')
+              {
+                if (clazz == null)
+                  {
+                    currentPerms.add(new UnresolvedPermission(className,
+		      target, null, (Certificate[]) currentCerts.toArray(new Certificate[currentCerts.size()])));
+                    continue;
+                  }
+                try
+                  {
+                    Constructor c =
+                      clazz.getConstructor(new Class[] { String.class });
+                    currentPerms.add((Permission) c.newInstance(
+                      new Object[] { target }));
+                  }
+                catch (Exception x)
+                  {
+                    error(url, in, x.toString());
+                  }
+                continue;
+              }
+            if (tok != ',')
+              error(url, in, "expecting ','");
+            tok = in.nextToken();
+            if (tok == StreamTokenizer.TT_WORD)
+              {
+                if (!in.sval.equalsIgnoreCase("signedBy"))
+                  error(url, in, "expecting 'signedBy'");
+                try
+                  {
+                    Constructor c =
+                      clazz.getConstructor(new Class[] { String.class });
+                    currentPerms.add((Permission) c.newInstance(
+                      new Object[] { target }));
+                  }
+                catch (Exception x)
+                  {
+                    error(url, in, x.toString());
+                  }
+                in.pushBack();
+                continue;
+              }
+            if (tok != '"' && tok != '\'')
+              error(url, in, "expecting permission action");
+            String action = in.sval;
+            if (clazz == null)
+              {
+                currentPerms.add(new UnresolvedPermission(className,
+		  target, action, (Certificate[]) currentCerts.toArray(new Certificate[currentCerts.size()])));
+                continue;
+              }
+            else
+              {
+                try
+                  {
+                    Constructor c = clazz.getConstructor(
+                      new Class[] { String.class, String.class });
+                    currentPerms.add((Permission) c.newInstance(
+                      new Object[] { target, action }));
+                  }
+                catch (Exception x)
+                  {
+                    error(url, in, x.toString());
+                  }
+              }
+            tok = in.nextToken();
+            if (tok != ';' && tok != ',')
+              error(url, in, "expecting ';' or ','");
+          }
+      }
+  }
+
+  /**
+   * Expand all instances of <code>"${property-name}"</code> into
+   * <code>System.getProperty("property-name")</code>.
+   */
+  private static String expand(final String s)
+  {
+    final StringBuffer result = new StringBuffer();
+    final StringBuffer prop = new StringBuffer();
+    int state = 0;
+    for (int i = 0; i < s.length(); i++)
+      {
+        switch (state)
+          {
+          case 0:
+            if (s.charAt(i) == '$')
+              state = 1;
+            else
+              result.append(s.charAt(i));
+            break;
+          case 1:
+            if (s.charAt(i) == '{')
+              state = 2;
+            else
+              {
+                state = 0;
+                result.append('$').append(s.charAt(i));
+              }
+            break;
+          case 2:
+            if (s.charAt(i) == '}')
+              {
+                String p = prop.toString();
+                if (p.equals("/"))
+                  p = "file.separator";
+                p = System.getProperty(p);
+                if (p == null)
+                  p = "";
+                result.append(p);
+                prop.setLength(0);
+                state = 0;
+              }
+            else
+              prop.append(s.charAt(i));
+            break;
+          }
+      }
+    if (state != 0)
+      result.append('$').append('{').append(prop);
+    return result.toString();
+  }
+
+  /**
+   * I miss macros.
+   */
+  private static void error(URL base, StreamTokenizer in, String msg)
+    throws IOException
+  {
+    throw new IOException(base+":"+in.lineno()+": "+msg);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/Properties.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,348 @@
+/* Properties.java -- run-time configuration properties.
+   Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.  */
+
+
+package gnu.java.security;
+
+import gnu.java.security.Configuration;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.HashMap;
+import java.util.PropertyPermission;
+import java.util.logging.Logger;
+
+/**
+ * A global object containing build-specific properties that affect the
+ * behaviour of the generated binaries from this library.
+ */
+public final class Properties
+{
+  private static final Logger log = Logger.getLogger(Properties.class.getName());
+
+  public static final String VERSION = "gnu.crypto.version";
+
+  public static final String PROPERTIES_FILE = "gnu.crypto.properties.file";
+
+  public static final String REPRODUCIBLE_PRNG = "gnu.crypto.with.reproducible.prng";
+
+  public static final String CHECK_WEAK_KEYS = "gnu.crypto.with.check.for.weak.keys";
+
+  public static final String DO_RSA_BLINDING = "gnu.crypto.with.rsa.blinding";
+
+  private static final String TRUE = Boolean.TRUE.toString();
+
+  private static final String FALSE = Boolean.FALSE.toString();
+
+  private static final HashMap props = new HashMap();
+
+  private static Properties singleton = null;
+
+  private boolean reproducible = false;
+
+  private boolean checkForWeakKeys = true;
+
+  private boolean doRSABlinding = true;
+
+  /** Trivial constructor to enforce Singleton pattern. */
+  private Properties()
+  {
+    super();
+    init();
+  }
+
+  /**
+   * Returns the string representation of the library global configuration
+   * property with the designated <code>key</code>.
+   * 
+   * @param key the case-insensitive, non-null and non-empty name of a
+   *          configuration property.
+   * @return the string representation of the designated property, or
+   *         <code>null</code> if such property is not yet set, or
+   *         <code>key</code> is empty.
+   */
+  public static final synchronized String getProperty(String key)
+  {
+    if (key == null)
+      return null;
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(key, "read"));
+    key = key.trim().toLowerCase();
+    if ("".equals(key))
+      return null;
+    return (String) props.get(key);
+  }
+
+  /**
+   * Sets the value of a designated library global configuration property, to a
+   * string representation of what should be a legal value.
+   * 
+   * @param key the case-insensitive, non-null and non-empty name of a
+   *          configuration property.
+   * @param value the non-null, non-empty string representation of a legal value
+   *          of the configuration property named by <code>key</code>.
+   */
+  public static final synchronized void setProperty(String key, String value)
+  {
+    if (key == null || value == null)
+      return;
+    key = key.trim().toLowerCase();
+    if ("".equals(key))
+      return;
+    if (key.equals(VERSION))
+      return;
+    value = value.trim();
+    if ("".equals(value))
+      return;
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(key, "write"));
+    if (key.equals(REPRODUCIBLE_PRNG)
+        && (value.equalsIgnoreCase(TRUE) || value.equalsIgnoreCase(FALSE)))
+      setReproducible(Boolean.valueOf(value).booleanValue());
+    else if (key.equals(CHECK_WEAK_KEYS)
+             && (value.equalsIgnoreCase(TRUE) || value.equalsIgnoreCase(FALSE)))
+      setCheckForWeakKeys(Boolean.valueOf(value).booleanValue());
+    else if (key.equals(DO_RSA_BLINDING)
+             && (value.equalsIgnoreCase(TRUE) || value.equalsIgnoreCase(FALSE)))
+      setDoRSABlinding(Boolean.valueOf(value).booleanValue());
+    else
+      props.put(key, value);
+  }
+
+  /**
+   * A convenience method that returns, as a boolean, the library global
+   * configuration property indicating if the default Pseudo Random Number
+   * Generator produces, or not, the same bit stream when instantiated.
+   * 
+   * @return <code>true</code> if the default PRNG produces the same bit
+   *         stream with every VM instance. Returns <code>false</code> if the
+   *         default PRNG is seeded with the time of day of its first
+   *         invocation.
+   */
+  public static final synchronized boolean isReproducible()
+  {
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(REPRODUCIBLE_PRNG, "read"));
+    return instance().reproducible;
+  }
+
+  /**
+   * A convenience method that returns, as a boolean, the library global
+   * configuration property indicating if the implementations of symmetric key
+   * block ciphers check, or not, for possible/potential weak and semi-weak keys
+   * that may be produced in the course of generating round encryption and/or
+   * decryption keys.
+   * 
+   * @return <code>true</code> if the cipher implementations check for weak
+   *         and semi-weak keys. Returns <code>false</code> if the cipher
+   *         implementations do not check for weak or semi-weak keys.
+   */
+  public static final synchronized boolean checkForWeakKeys()
+  {
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(CHECK_WEAK_KEYS, "read"));
+    return instance().checkForWeakKeys;
+  }
+
+  /**
+   * A convenience method that returns, as a boolean, the library global
+   * configuration property indicating if RSA decryption (RSADP primitive),
+   * does, or not, blinding against timing attacks.
+   * 
+   * @return <code>true</code> if the RSA decryption primitive includes a
+   *         blinding operation. Returns <code>false</code> if the RSA
+   *         decryption primitive does not include the additional blinding
+   *         operation.
+   */
+  public static final synchronized boolean doRSABlinding()
+  {
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(DO_RSA_BLINDING, "read"));
+    return instance().doRSABlinding;
+  }
+
+  /**
+   * A convenience method to set the global property for reproducibility of the
+   * default PRNG bit stream output.
+   * 
+   * @param value if <code>true</code> then the default PRNG bit stream output
+   *          is the same with every invocation of the VM.
+   */
+  public static final synchronized void setReproducible(final boolean value)
+  {
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(REPRODUCIBLE_PRNG, "write"));
+    instance().reproducible = value;
+    props.put(REPRODUCIBLE_PRNG, String.valueOf(value));
+  }
+
+  /**
+   * A convenience method to set the global property for checking for weak and
+   * semi-weak cipher keys.
+   * 
+   * @param value if <code>true</code> then the cipher implementations will
+   *          invoke additional checks for weak and semi-weak key values that
+   *          may get generated.
+   */
+  public static final synchronized void setCheckForWeakKeys(final boolean value)
+  {
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(CHECK_WEAK_KEYS, "write"));
+    instance().checkForWeakKeys = value;
+    props.put(CHECK_WEAK_KEYS, String.valueOf(value));
+  }
+
+  /**
+   * A convenience method to set the global property fo adding a blinding
+   * operation when executing the RSA decryption primitive.
+   * 
+   * @param value if <code>true</code> then the code for performing the RSA
+   *          decryption primitive will include a blinding operation.
+   */
+  public static final synchronized void setDoRSABlinding(final boolean value)
+  {
+    SecurityManager sm = System.getSecurityManager();
+    if (sm != null)
+      sm.checkPermission(new PropertyPermission(DO_RSA_BLINDING, "write"));
+    instance().doRSABlinding = value;
+    props.put(DO_RSA_BLINDING, String.valueOf(value));
+  }
+
+  private static final synchronized Properties instance()
+  {
+    if (singleton == null)
+      singleton = new Properties();
+    return singleton;
+  }
+
+  private void init()
+  {
+    // default values
+    props.put(REPRODUCIBLE_PRNG, (reproducible ? "true" : "false"));
+    props.put(CHECK_WEAK_KEYS, (checkForWeakKeys ? "true" : "false"));
+    props.put(DO_RSA_BLINDING, (doRSABlinding ? "true" : "false"));
+    // 1. allow site-wide override by reading a properties file
+    String propFile = null;
+    try
+      {
+        propFile = (String) AccessController.doPrivileged(new PrivilegedAction()
+        {
+          public Object run()
+          {
+            return System.getProperty(PROPERTIES_FILE);
+          }
+        });
+      }
+    catch (SecurityException se)
+      {
+        if (Configuration.DEBUG)
+          log.fine("Reading property " + PROPERTIES_FILE + " not allowed. Ignored.");
+      }
+    if (propFile != null)
+      {
+        try
+          {
+            final java.util.Properties temp = new java.util.Properties();
+            final FileInputStream fin = new FileInputStream(propFile);
+            temp.load(fin);
+            temp.list(System.out);
+            props.putAll(temp);
+          }
+        catch (IOException ioe)
+          {
+            if (Configuration.DEBUG)
+              log.fine("IO error reading " + propFile + ": " + ioe.getMessage());
+          }
+        catch (SecurityException se)
+          {
+            if (Configuration.DEBUG)
+              log.fine("Security error reading " + propFile + ": "
+                       + se.getMessage());
+          }
+      }
+    // 2. allow vm-specific override by allowing -D options in launcher
+    handleBooleanProperty(REPRODUCIBLE_PRNG);
+    handleBooleanProperty(CHECK_WEAK_KEYS);
+    handleBooleanProperty(DO_RSA_BLINDING);
+    // re-sync the 'known' properties
+    reproducible = Boolean.valueOf((String) props.get(REPRODUCIBLE_PRNG)).booleanValue();
+    checkForWeakKeys = Boolean.valueOf((String) props.get(CHECK_WEAK_KEYS)).booleanValue();
+    doRSABlinding = Boolean.valueOf((String) props.get(DO_RSA_BLINDING)).booleanValue();
+    // This does not change.
+    props.put(VERSION, Registry.VERSION_STRING);
+  }
+
+  private void handleBooleanProperty(final String name)
+  {
+    String s = null;
+    try
+      {
+        s = System.getProperty(name);
+      }
+    catch (SecurityException x)
+      {
+        if (Configuration.DEBUG)
+          log.fine("SecurityManager forbids reading system properties. Ignored");
+      }
+    if (s != null)
+      {
+        s = s.trim().toLowerCase();
+        // we have to test for explicit "true" or "false". anything else may
+        // hide valid value set previously
+        if (s.equals(TRUE) || s.equals(FALSE))
+          {
+            if (Configuration.DEBUG)
+              log.fine("Setting " + name + " to '" + s + "'");
+            props.put(name, s);
+          }
+        else
+          {
+            if (Configuration.DEBUG)
+              log.fine("Invalid value for -D" + name + ": " + s + ". Ignored");
+          }
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/Registry.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,465 @@
+/* Registry.java -- 
+   Copyright (C) 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.  */
+
+
+package gnu.java.security;
+
+/**
+ * A placeholder for <i>names</i> and <i>literals</i> used throughout this
+ * library.
+ */
+public interface Registry
+{
+  /** The name of our Providers. */
+  String GNU_SECURITY = "GNU";
+  String GNU_CRYPTO = "GNU-CRYPTO";
+  String GNU_SASL = "GNU-SASL";
+
+  /** Our version number. */
+  String VERSION_STRING = "2.1.0";
+
+  // Names of properties to use in Maps when initialising primitives .........
+
+  // Symmetric block cipher algorithms and synonyms...........................
+
+  String ANUBIS_CIPHER = "anubis";
+
+  String BLOWFISH_CIPHER = "blowfish";
+
+  String DES_CIPHER = "des";
+
+  String KHAZAD_CIPHER = "khazad";
+
+  String RIJNDAEL_CIPHER = "rijndael";
+
+  String SERPENT_CIPHER = "serpent";
+
+  String SQUARE_CIPHER = "square";
+
+  String TRIPLEDES_CIPHER = "tripledes";
+
+  String TWOFISH_CIPHER = "twofish";
+
+  String CAST5_CIPHER = "cast5";
+
+  String NULL_CIPHER = "null";
+
+  /** AES is synonymous to Rijndael for 128-bit block size only. */
+  String AES_CIPHER = "aes";
+
+  /** TripleDES is also known as DESede. */
+  String DESEDE_CIPHER = "desede";
+
+  /** CAST5 is also known as CAST-128. */
+  String CAST128_CIPHER = "cast128";
+
+  String CAST_128_CIPHER = "cast-128";
+
+  // Key Wrapping Algorithm names and synonyms ...............................
+
+  String KWA_PREFIX = "kw-";
+  String AES_KWA = KWA_PREFIX + AES_CIPHER;
+  String AES128_KWA = AES_KWA + "128";
+  String AES192_KWA = AES_KWA + "192";
+  String AES256_KWA = AES_KWA + "256";
+  String RIJNDAEL_KWA = KWA_PREFIX + RIJNDAEL_CIPHER;
+
+  String TRIPLEDES_KWA = KWA_PREFIX + TRIPLEDES_CIPHER;
+  String DESEDE_KWA = KWA_PREFIX + DESEDE_CIPHER;
+
+  // Message digest algorithms and synonyms...................................
+
+  String WHIRLPOOL_HASH = "whirlpool";
+
+  String RIPEMD128_HASH = "ripemd128";
+
+  String RIPEMD160_HASH = "ripemd160";
+
+  String SHA160_HASH = "sha-160";
+
+  String SHA256_HASH = "sha-256";
+
+  String SHA384_HASH = "sha-384";
+
+  String SHA512_HASH = "sha-512";
+
+  String TIGER_HASH = "tiger";
+
+  String HAVAL_HASH = "haval";
+
+  String MD5_HASH = "md5";
+
+  String MD4_HASH = "md4";
+
+  String MD2_HASH = "md2";
+
+  /** RIPEMD-128 is synonymous to RIPEMD128. */
+  String RIPEMD_128_HASH = "ripemd-128";
+
+  /** RIPEMD-160 is synonymous to RIPEMD160. */
+  String RIPEMD_160_HASH = "ripemd-160";
+
+  /** SHA-1 is synonymous to SHA-160. */
+  String SHA_1_HASH = "sha-1";
+
+  /** SHA1 is synonymous to SHA-160. */
+  String SHA1_HASH = "sha1";
+
+  /** SHA is synonymous to SHA-160. */
+  String SHA_HASH = "sha";
+
+  // Symmetric block cipher modes of operations...............................
+
+  /** Electronic CodeBook mode. */
+  String ECB_MODE = "ecb";
+
+  /** Counter (NIST) mode. */
+  String CTR_MODE = "ctr";
+
+  /** Integer Counter Mode (David McGrew). */
+  String ICM_MODE = "icm";
+
+  /** Output Feedback Mode (NIST). */
+  String OFB_MODE = "ofb";
+
+  /** Cipher block chaining mode (NIST). */
+  String CBC_MODE = "cbc";
+
+  /** Cipher feedback mode (NIST). */
+  String CFB_MODE = "cfb";
+
+  /** Authenticated-Encrypted mode. */
+  String EAX_MODE = "eax";
+
+  // Padding scheme names and synonyms........................................
+
+  /** PKCS#5 padding scheme. */
+  String PKCS5_PAD = "pkcs5";
+
+  /** PKCS#7 padding scheme. */
+  String PKCS7_PAD = "pkcs7";
+
+  /** Trailing Bit Complement padding scheme. */
+  String TBC_PAD = "tbc";
+
+  /** EME-PKCS1-v1_5 padding as described in section 7.2 in RFC-3447. */
+  String EME_PKCS1_V1_5_PAD = "eme-pkcs1-v1.5";
+
+  /** SSLv3 padding scheme. */
+  String SSL3_PAD = "ssl3";
+
+  /** TLSv1 padding scheme. */
+  String TLS1_PAD = "tls1";
+
+  /** ISO 10126-2 padding scheme. */
+  String ISO10126_PAD = "iso10126";
+
+  // Pseudo-random number generators..........................................
+
+  /** (Apparently) RC4 keystream PRNG. */
+  String ARCFOUR_PRNG = "arcfour";
+
+  /** We use "rc4" as an alias for "arcfour". */
+  String RC4_PRNG = "rc4";
+
+  /** PRNG based on David McGrew's Integer Counter Mode. */
+  String ICM_PRNG = "icm";
+
+  /** PRNG based on a designated hash function. */
+  String MD_PRNG = "md";
+
+  /** PRNG based on UMAC's Key Derivation Function. */
+  String UMAC_PRNG = "umac-kdf";
+
+  /**
+   * PRNG based on PBKDF2 from PKCS #5 v.2. This is suffixed with the name
+   * of a MAC to be used as a PRF.
+   */
+  String PBKDF2_PRNG_PREFIX = "pbkdf2-";
+
+  /** The continuously-seeded pseudo-random number generator. */
+  String CSPRNG_PRNG = "csprng";
+
+  /** The Fortuna PRNG. */
+  String FORTUNA_PRNG = "fortuna";
+
+  /** The Fortuna generator PRNG. */
+  String FORTUNA_GENERATOR_PRNG = "fortuna-generator";
+
+  // Asymmetric keypair generators............................................
+
+  String DSS_KPG = "dss";
+
+  String RSA_KPG = "rsa";
+
+  String DH_KPG = "dh";
+
+  String SRP_KPG = "srp";
+
+  /** DSA is synonymous to DSS. */
+  String DSA_KPG = "dsa";
+
+  // Signature-with-appendix schemes..........................................
+
+  String DSS_SIG = "dss";
+
+  String RSA_SIG_PREFIX = "rsa-";
+
+  String RSA_PSS_ENCODING = "pss";
+
+  String RSA_PSS_SIG = RSA_SIG_PREFIX + RSA_PSS_ENCODING;
+
+  String RSA_PKCS1_V1_5_ENCODING = "pkcs1-v1.5";
+
+  String RSA_PKCS1_V1_5_SIG = RSA_SIG_PREFIX + RSA_PKCS1_V1_5_ENCODING;
+
+  /** DSA is synonymous to DSS. */
+  String DSA_SIG = "dsa";
+
+  // Key agreement protocols .................................................
+
+  String DH_KA = "dh";
+
+  String ELGAMAL_KA = "elgamal";
+
+  String SRP6_KA = "srp6";
+
+  String SRP_SASL_KA = "srp-sasl";
+
+  String SRP_TLS_KA = "srp-tls";
+
+  // Keyed-Hash Message Authentication Code ..................................
+
+  /** Name prefix of every HMAC implementation. */
+  String HMAC_NAME_PREFIX = "hmac-";
+
+  // Other MAC algorithms ....................................................
+
+  /** The One-key CBC MAC. */
+  String OMAC_PREFIX = "omac-";
+
+  /** Message Authentication Code using Universal Hashing (Ted Krovetz). */
+  String UHASH32 = "uhash32";
+
+  String UMAC32 = "umac32";
+
+  /** The Truncated Multi-Modular Hash Function -v1 (David McGrew). */
+  String TMMH16 = "tmmh16";
+
+  //   String TMMH32 = "tmmh32";
+
+  // Format IDs used to identify how we externalise asymmetric keys ..........
+  // fully-qualified names of the supported codecs
+  String RAW_ENCODING = "gnu.crypto.raw.format";
+  String X509_ENCODING = "gnu.crypto.x509.format";
+  String PKCS8_ENCODING = "gnu.crypto.pkcs8.format";
+  String ASN1_ENCODING = "gnu.crypto.asn1.format";
+
+  // short names of the same.  used by JCE adapters
+  String RAW_ENCODING_SHORT_NAME = "RAW";
+  String X509_ENCODING_SORT_NAME = "X.509";
+  String PKCS8_ENCODING_SHORT_NAME = "PKCS#8";
+  String ASN1_ENCODING_SHORT_NAME = "ASN.1";
+
+  // unique identifiers of the same
+  int RAW_ENCODING_ID = 1;
+  int X509_ENCODING_ID = 2;
+  int PKCS8_ENCODING_ID = 3;
+  int ASN1_ENCODING_ID = 4;
+
+  // OID strings used in encoding/decoding keys
+  String DSA_OID_STRING = "1.2.840.10040.4.1";
+  String RSA_OID_STRING = "1.2.840.113549.1.1.1";
+  String DH_OID_STRING =  "1.2.840.10046.2.1";
+
+  // Magic bytes we generate/expect in externalised asymmetric keys ..........
+  // the four bytes represent G (0x47) for GNU, 1 (0x01) for Raw format,
+  // D (0x44) for DSS, R (0x52) for RSA, H (0x48) for Diffie-Hellman, or S
+  // (0x53) for SRP-6, and finally P (0x50) for Public, p (0x70) for private,
+  // or S (0x53) for signature.
+  byte[] MAGIC_RAW_DSS_PUBLIC_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x44, 0x50 };
+
+  byte[] MAGIC_RAW_DSS_PRIVATE_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x44, 0x70 };
+
+  byte[] MAGIC_RAW_DSS_SIGNATURE = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x44, 0x53 };
+
+  byte[] MAGIC_RAW_RSA_PUBLIC_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x52, 0x50 };
+
+  byte[] MAGIC_RAW_RSA_PRIVATE_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x52, 0x70 };
+
+  byte[] MAGIC_RAW_RSA_PSS_SIGNATURE = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x52, 0x53 };
+
+  byte[] MAGIC_RAW_RSA_PKCS1V1_5_SIGNATURE = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x52, 0x54 };
+
+  byte[] MAGIC_RAW_DH_PUBLIC_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x48, 0x50 };
+
+  byte[] MAGIC_RAW_DH_PRIVATE_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x48, 0x70 };
+
+  byte[] MAGIC_RAW_SRP_PUBLIC_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x53, 0x50 };
+
+  byte[] MAGIC_RAW_SRP_PRIVATE_KEY = new byte[] {
+      0x47, RAW_ENCODING_ID, 0x53, 0x70 };
+
+  // SASL Property names .....................................................
+
+  String SASL_PREFIX = "gnu.crypto.sasl";
+
+  /** Name of username property. */
+  String SASL_USERNAME = SASL_PREFIX + ".username";
+
+  /** Name of password property. */
+  String SASL_PASSWORD = SASL_PREFIX + ".password";
+
+  /** Name of authentication information provider packages. */
+  String SASL_AUTH_INFO_PROVIDER_PKGS = SASL_PREFIX + ".auth.info.provider.pkgs";
+
+  /** SASL authorization ID. */
+  String SASL_AUTHORISATION_ID = SASL_PREFIX + ".authorisation.ID";
+
+  /** SASL protocol. */
+  String SASL_PROTOCOL = SASL_PREFIX + ".protocol";
+
+  /** SASL Server name. */
+  String SASL_SERVER_NAME = SASL_PREFIX + ".server.name";
+
+  /** SASL Callback handler. */
+  String SASL_CALLBACK_HANDLER = SASL_PREFIX + ".callback.handler";
+
+  /** SASL channel binding. */
+  String SASL_CHANNEL_BINDING = SASL_PREFIX + ".channel.binding";
+
+  // SASL data element size limits ...........................................
+
+  /** The size limit, in bytes, of a SASL OS (Octet Sequence) element. */
+  int SASL_ONE_BYTE_MAX_LIMIT = 255;
+
+  /**
+   * The size limit, in bytes, of both a SASL MPI (Multi-Precision Integer)
+   * element and a SASL Text element.
+   */
+  int SASL_TWO_BYTE_MAX_LIMIT = 65535;
+
+  /** The size limit, in bytes, of a SASL EOS (Extended Octet Sequence) element. */
+  int SASL_FOUR_BYTE_MAX_LIMIT = 2147483383;
+
+  /** The size limit, in bytes, of a SASL Buffer. */
+  int SASL_BUFFER_MAX_LIMIT = 2147483643;
+
+  // Canonical names of SASL mechanisms ......................................
+
+  String SASL_ANONYMOUS_MECHANISM = "ANONYMOUS";
+
+  String SASL_CRAM_MD5_MECHANISM = "CRAM-MD5";
+
+  String SASL_PLAIN_MECHANISM = "PLAIN";
+
+  String SASL_SRP_MECHANISM = "SRP";
+
+  // Canonical names of Integrity Protection algorithms ......................
+
+  String SASL_HMAC_MD5_IALG = "HMACwithMD5";
+
+  String SASL_HMAC_SHA_IALG = "HMACwithSHA";
+
+  // Quality Of Protection string representations ............................
+
+  /** authentication only. */
+  String QOP_AUTH = "auth";
+
+  /** authentication plus integrity protection. */
+  String QOP_AUTH_INT = "auth-int";
+
+  /** authentication plus integrity and confidentiality protection. */
+  String QOP_AUTH_CONF = "auth-conf";
+
+  // SASL mechanism strength string representation ...........................
+
+  String STRENGTH_HIGH = "high";
+
+  String STRENGTH_MEDIUM = "medium";
+
+  String STRENGTH_LOW = "low";
+
+  // SASL Server Authentication requirement ..................................
+
+  /** Server must authenticate to the client. */
+  String SERVER_AUTH_TRUE = "true";
+
+  /** Server does not need to, or cannot, authenticate to the client. */
+  String SERVER_AUTH_FALSE = "false";
+
+  // SASL mechanism reuse capability .........................................
+
+  String REUSE_TRUE = "true";
+
+  String REUSE_FALSE = "false";
+
+  // Keyrings  ...............................................................
+
+  byte[] GKR_MAGIC = new byte[] { 0x47, 0x4b, 0x52, 0x01 };
+
+  // Ring usage fields.
+  int GKR_PRIVATE_KEYS = 1 << 0;
+
+  int GKR_PUBLIC_CREDENTIALS = 1 << 1;
+
+  int GKR_CERTIFICATES = 1 << 2;
+
+  // HMac types.
+  int GKR_HMAC_MD5_128 = 0;
+
+  int GKR_HMAC_SHA_160 = 1;
+
+  int GKR_HMAC_MD5_96 = 2;
+
+  int GKR_HMAC_SHA_96 = 3;
+
+  // Cipher types.
+  int GKR_CIPHER_AES_128_OFB = 0;
+
+  int GKR_CIPHER_AES_128_CBC = 1;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/Requires.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,59 @@
+/* Requires.java -- mark methods as requiring permission.
+   Copyright (C) 2006  Free Software Foundation, Inc.
+
+This file is a part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
+USA
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Target;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.RetentionPolicy.CLASS;
+import java.security.Permission;
+
+/**
+ * 
+ * 
+ * @author Casey Marshall (csm@gnu.org)
+ */
+@Documented @Retention(CLASS) @Target(METHOD)
+public @interface Requires
+{
+  Class<? extends Permission> permissionClass();
+  String target();
+  String action();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/action/GetPropertyAction.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,89 @@
+/* GetPropertyAction.java
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.security.action;
+
+import java.security.PrivilegedAction;
+
+/**
+ * PrivilegedAction implementation that calls System.getProperty() with
+ * the property name passed to its constructor.
+ *
+ * Example of use:
+ * <code>
+ * GetPropertyAction action = new GetPropertyAction("http.proxyPort");
+ * String port = AccessController.doPrivileged(action);
+ * </code>
+ */
+public class GetPropertyAction implements PrivilegedAction<String>
+{
+  String name;
+  String value = null;
+
+  public GetPropertyAction()
+  {
+  }
+  
+  public GetPropertyAction(String propName)
+  {
+    setParameters(propName);
+  }
+
+  public GetPropertyAction(String propName, String defaultValue)
+  {
+    setParameters(propName, defaultValue);
+  }
+  
+  public String run()
+  {
+    return System.getProperty(name, value);
+  }
+  
+  public GetPropertyAction setParameters(String propName)
+  {
+    this.name = propName;
+    this.value = null;
+    return this;
+  }
+
+  public GetPropertyAction setParameters(String propName, String defaultValue)
+  {
+    this.name = propName;
+    this.value = defaultValue;
+    return this;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/action/GetSecurityPropertyAction.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,93 @@
+/* GetSecurityPropertyAction.java
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.security.action;
+
+import java.security.PrivilegedAction;
+import java.security.Security;
+
+/**
+ * PrivilegedAction implementation that calls Security.getProperty()
+ * with the property name passed to its constructor.
+ *
+ * Example of use:
+ * <code>
+ * GetSecurityPropertyAction action = new GetSecurityPropertyAction("javax.net.ssl.trustStorePassword");
+ * String passwd = AccessController.doPrivileged(action);
+ * </code>
+ */
+public class GetSecurityPropertyAction implements PrivilegedAction<String>
+{
+  private String name;
+  private String value;
+
+  public GetSecurityPropertyAction()
+  {
+  }
+
+  public GetSecurityPropertyAction(String propName)
+  {
+    setParameters(propName);
+  }
+
+  public GetSecurityPropertyAction(String propName, String defaultValue)
+  {
+    setParameters(propName, defaultValue);
+  }
+
+  public GetSecurityPropertyAction setParameters(String propName)
+  {
+    this.name = propName;
+    this.value = null;
+    return this;
+  }
+
+  public GetSecurityPropertyAction setParameters(String propName, String defaultValue)
+  {
+    this.name = propName;
+    this.value = defaultValue;
+    return this;
+  }
+
+  public String run()
+  {
+    String val = Security.getProperty(name);
+    if (val == null)
+      val = value;
+    return val;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/action/SetAccessibleAction.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,77 @@
+/* SetAccessibleAction.java
+   Copyright (C) 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.security.action;
+
+import java.lang.reflect.AccessibleObject;
+import java.security.PrivilegedAction;
+
+/**
+ * PrivilegedAction implementation that calls setAccessible(true) on the 
+ * AccessibleObject passed to its constructor.
+ *
+ * Example of use:
+ * <code>
+ * Field dataField = cl.getDeclaredField("data");
+ * AccessController.doPrivileged(new SetAccessibleAction(dataField));
+ * </code>
+ */
+public class SetAccessibleAction implements PrivilegedAction
+{
+  AccessibleObject member;
+  
+  public SetAccessibleAction()
+  {
+  }
+  
+  public SetAccessibleAction(AccessibleObject member)
+  {
+    this.member = member;
+  }
+  
+  public Object run()
+  {
+    member.setAccessible(true);
+    return null;
+  }
+  
+  public SetAccessibleAction setMember(AccessibleObject member)
+  {
+    this.member = member;
+    return this;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/der/BitString.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,330 @@
+/* BitString.java -- Java representation of the BIT STRING type.
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.der;
+
+import java.math.BigInteger;
+import java.util.Arrays;
+
+/**
+ * Immutable representation of a bit string, which is equivalent to a
+ * byte array except some number of the rightmost bits are ignored. For
+ * example, this could be the bit string:
+ *
+ * <pre>   00010101 11101101 11010xxx</pre>
+ *
+ * <p>Where the "xxx" represents three bits that should be ignored, and
+ * can have any value.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class BitString implements Cloneable, Comparable
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  /** The bits themselves. */
+  private final byte[] bytes;
+
+  /**
+   * The exportable byte array. This array has the ignored bits
+   * removed.
+   */
+  private transient byte[] externBytes;
+
+  /** The number of bits ignored at the end of the byte array. */
+  private final int ignoredBits;
+
+  /** This bit string as a boolean array. */
+  private transient boolean[] boolVal;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new bit string, shifting the given byte array if needed.
+   *
+   * @param bytes The byte array holding the bit string.
+   * @param ignoredBits The number of bits to ignore.
+   * @param doShift Pass true in this parameter if the byte array has
+   * not yet been shifted left by <i>ignoredBits</i>.
+   * @throws IllegalArgumentException If <i>ignoredBits</i> is negative
+   * or greater than 7.
+   * @throws NullPointerException If <i>bytes</i> is null.
+   */
+  public BitString(byte[] bytes, int ignoredBits, boolean doShift)
+  {
+    this(bytes, 0, bytes.length, ignoredBits, doShift);
+  }
+
+  /**
+   * Create a new bit string, shifting the given byte array if needed.
+   *
+   * @param bytes The byte array holding the bit string.
+   * @param offset The offset where the meaningful bytes begin.
+   * @param length The number of meaningful bytes.
+   * @param ignoredBits The number of bits to ignore.
+   * @param doShift Pass true in this parameter if the byte array has
+   * not yet been shifted left by <i>ignoredBits</i>.
+   * @throws IllegalArgumentException If <i>ignoredBits</i> is negative
+   * or greater than 7.
+   * @throws NullPointerException If <i>bytes</i> is null.
+   */
+  public BitString(byte[] bytes, int offset, int length,
+                   int ignoredBits, boolean doShift)
+  {
+    if (ignoredBits < 0 || ignoredBits > 7)
+      throw new IllegalArgumentException();
+    if (bytes == null)
+      throw new NullPointerException();
+    if (doShift && ignoredBits > 0)
+      {
+        this.externBytes = new byte[length];
+        System.arraycopy(bytes, offset, externBytes, 0, length);
+        this.bytes = new BigInteger(externBytes).shiftLeft(ignoredBits)
+                       .toByteArray();
+      }
+    else
+      {
+        this.bytes = new byte[length];
+        System.arraycopy(bytes, offset, this.bytes, 0, length);
+      }
+    this.ignoredBits = ignoredBits;
+  }
+
+  /**
+   * Create a new bit string.
+   *
+   * @param bytes The byte array holding the bit string.
+   * @param offset The offset where the meaningful bytes begin.
+   * @param length The number of meaningful bytes.
+   * @param ignoredBits The number of bits to ignore.
+   * @throws IllegalArgumentException If <i>ignoredBits</i> is negative
+   * or greater than 7.
+   * @throws NullPointerException If <i>bytes</i> is null.
+   */
+  public BitString(byte[] bytes, int offset, int length, int ignoredBits)
+  {
+    this(bytes, offset, length, ignoredBits, false);
+  }
+
+  /**
+   * Create a new bit string.
+   *
+   * @param bytes The byte array holding the bit string.
+   * @param ignoredBits The number of bits to ignore.
+   * @throws IllegalArgumentException If <i>ignoredBits</i> is negative
+   * or greater than 7.
+   * @throws NullPointerException If <i>bytes</i> is null.
+   */
+  public BitString(byte[] bytes, int ignoredBits)
+  {
+    this(bytes, 0, bytes.length, ignoredBits, false);
+  }
+
+  /**
+   * Create a new bit string.
+   *
+   * @param bytes The byte array holding the bit string.
+   * @param offset The offset where the meaningful bytes begin.
+   * @param length The number of meaningful bytes.
+   * @throws NullPointerException If <i>bytes</i> is null.
+   */
+  public BitString(byte[] bytes, int offset, int length)
+  {
+    this(bytes, offset, length, 0, false);
+  }
+
+  /**
+   * Create a new bit string.
+   *
+   * @param bytes The byte array holding the bit string.
+   * @throws NullPointerException If <i>bytes</i> is null.
+   */
+  public BitString(byte[] bytes)
+  {
+    this(bytes, 0, bytes.length, 0, false);
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return this bit string as a byte array, with the ignored bits
+   * trimmed off. The byte array is cloned every time this method is
+   * called to prevent modification.
+   *
+   * @return The trimmed byte array.
+   */
+  public byte[] toByteArray()
+  {
+    if (ignoredBits == 0)
+      return (byte[]) bytes.clone();
+    if (externBytes == null)
+      externBytes = new BigInteger(bytes).shiftRight(ignoredBits).toByteArray();
+    return (byte[]) externBytes.clone();
+  }
+
+  /**
+   * Returns this bit string as a byte array, with the ignored bits
+   * present. The byte array is cloned every time this method is
+   * called to prevent modification.
+   *
+   * @return The byte array.
+   */
+  public byte[] getShiftedByteArray()
+  {
+    return (byte[]) bytes.clone();
+  }
+
+  /**
+   * Returns the number of ignored bits.
+   *
+   * @return The number of ignored bits.
+   */
+  public int getIgnoredBits()
+  {
+    return ignoredBits;
+  }
+
+  /**
+   * Returns the size, in bits, of this bit string.
+   *
+   * @return The size of this bit string.
+   */
+  public int size()
+  {
+    return (bytes.length << 3) - ignoredBits;
+  }
+
+  /**
+   * Return this bit string as a boolean array. The value returned is of
+   * size {@link #size()}, and each <code>true</code> value
+   * corresponding to each "1" in this bit string. The boolean array is
+   * cloned before it is returned.
+   *
+   * @return The boolean array.
+   */
+  public boolean[] toBooleanArray()
+  {
+    if (boolVal == null)
+      {
+        boolVal = new boolean[size()];
+        for (int i = 0, j = 7, k = 0; i < boolVal.length; i++)
+          {
+            boolVal[i] = (bytes[k] & 1 << j--) != 0;
+            if (j < 0)
+              {
+                j = 7;
+                k++;
+              }
+          }
+      }
+    return (boolean[]) boolVal.clone();
+  }
+
+  public Object clone()
+  {
+    try
+      {
+        return super.clone();
+      }
+    catch (CloneNotSupportedException cce)
+      {
+        throw new InternalError(cce.getMessage());
+      }
+  }
+
+  public int compareTo(Object o)
+  {
+    BitString that = (BitString) o;
+    if (this.equals(that))
+      return 0;
+    if (this.bytes.length != that.bytes.length)
+      return (this.bytes.length < that.bytes.length) ? -1 : 1;
+    if (this.ignoredBits != that.ignoredBits)
+      return (this.ignoredBits < that.ignoredBits) ? -1 : 1;
+    for (int i = 0; i < this.bytes.length; i++)
+      if (this.bytes[i] != that.bytes[i])
+        return (this.bytes[i] < that.bytes[i]) ? -1 : 1;
+    return 0; // not reached.
+  }
+
+  public int hashCode()
+  {
+    int result = 0;
+    for (int i = 0; i < bytes.length - 1; ++i)
+      result = result * 31 + bytes[i];
+    if (bytes.length > 0)
+      {
+        int lastByte = bytes[bytes.length - 1] & ~ ((1 << ignoredBits) - 1);
+        result = result * 31 + lastByte;
+      }
+    return result;
+  }
+
+  public boolean equals(Object o)
+  {
+    if (!(o instanceof BitString))
+      return false;
+    BitString that = (BitString) o;
+    // True for cloned instances.
+    if (this.bytes == that.bytes && this.ignoredBits == that.ignoredBits)
+      return true;
+    if (this.ignoredBits == that.ignoredBits)
+      return Arrays.equals(this.bytes, that.bytes);
+    return false;
+  }
+
+  public String toString()
+  {
+    StringBuffer sb = new StringBuffer();
+    for (int i = 0, j = 7, k = 0; i < size(); i++)
+      {
+        sb.append((bytes[k] & 1 << j) != 0 ? "1" : "0");
+        j--;
+        if (j < 0)
+          {
+            j = 7;
+            k++;
+          }
+      }
+    return sb.toString();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/der/DER.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,86 @@
+/* DER.java -- Basic constants in DER sequences.
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.der;
+
+/**
+ * The set of tags for DER types.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public interface DER
+{
+  int UNIVERSAL   = 0x00;
+  int APPLICATION = 0x40;
+  int CONTEXT     = 0x80;
+  int PRIVATE     = 0xC0;
+
+  int CONSTRUCTED = 0x20;
+
+  int ANY               = 0x00;
+  int BOOLEAN           = 0x01;
+  int INTEGER           = 0x02;
+  int BIT_STRING        = 0x03;
+  int OCTET_STRING      = 0x04;
+  int NULL              = 0x05;
+  int OBJECT_IDENTIFIER = 0x06;
+  int REAL              = 0x09;
+  int ENUMERATED        = 0x0a;
+  int RELATIVE_OID      = 0x0d;
+
+  int SEQUENCE = 0x10;
+  int SET      = 0x11;
+
+  Object CONSTRUCTED_VALUE = new Object();
+
+  int NUMERIC_STRING   = 0x12;
+  int PRINTABLE_STRING = 0x13;
+  int T61_STRING       = 0x14;
+  int VIDEOTEX_STRING  = 0x15;
+  int IA5_STRING       = 0x16;
+  int GRAPHIC_STRING   = 0x19;
+  int ISO646_STRING    = 0x1A;
+  int GENERAL_STRING   = 0x1B;
+
+  int UTF8_STRING      = 0x0C;
+  int UNIVERSAL_STRING = 0x1C;
+  int BMP_STRING       = 0x1E;
+
+  int UTC_TIME         = 0x17;
+  int GENERALIZED_TIME = 0x18;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/der/DEREncodingException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,54 @@
+/* DEREncodingException.java --- DER Encoding Exception
+   Copyright (C) 1999,2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.der;
+
+import java.io.IOException;
+
+public class DEREncodingException extends IOException
+{
+  public DEREncodingException()
+  {
+    super ();
+  }
+
+  public DEREncodingException (String msg)
+  {
+    super (msg);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/der/DERReader.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,437 @@
+/* DERReader.java -- parses ASN.1 DER sequences
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.der;
+
+import gnu.java.security.OID;
+
+import java.io.BufferedInputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.EOFException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigInteger;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.TimeZone;
+
+/**
+ * This class decodes DER sequences into Java objects. The methods of
+ * this class do not have knowledge of higher-levels of structure in the
+ * DER stream -- such as ASN.1 constructions -- and it is therefore up
+ * to the calling application to determine if the data are structured
+ * properly by inspecting the {@link DERValue} that is returned.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class DERReader implements DER
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  protected InputStream in;
+
+  protected final ByteArrayOutputStream encBuf;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new DER reader from a byte array.
+   *
+   * @param in The encoded bytes.
+   */
+  public DERReader(byte[] in)
+  {
+    this(new ByteArrayInputStream(in));
+  }
+
+  public DERReader (byte[] in, int off, int len)
+  {
+    this (new ByteArrayInputStream (in, off, len));
+  }
+
+  /**
+   * Create a new DER readed from an input stream.
+   *
+   * @param in The encoded bytes.
+   */
+  public DERReader(InputStream in)
+  {
+    if (!in.markSupported())
+      this.in = new BufferedInputStream(in, 16384);
+    else
+      this.in = in;
+    encBuf = new ByteArrayOutputStream(2048);
+  }
+
+  // Class methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Convenience method for reading a single primitive value from the
+   * given byte array.
+   *
+   * @param encoded The encoded bytes.
+   * @throws IOException If the bytes do not represent an encoded
+   * object.
+   */
+  public static DERValue read(byte[] encoded) throws IOException
+  {
+    return new DERReader(encoded).read();
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  public void skip (int bytes) throws IOException
+  {
+    in.skip (bytes);
+  }
+
+  /**
+   * Decode a single value from the input stream, returning it in a new
+   * {@link DERValue}. By "single value" we mean any single type in its
+   * entirety -- including constructed types such as SEQUENCE and all
+   * the values they contain. Usually it is sufficient to call this
+   * method once to parse and return the top-level structure, then to
+   * inspect the returned value for the proper contents.
+   *
+   * @return The parsed DER structure.
+   * @throws IOException If an error occurs reading from the input
+   * stream.
+   * @throws DEREncodingException If the input does not represent a
+   * valid DER stream.
+   */
+  public DERValue read() throws IOException
+  {
+    int tag = in.read();
+    if (tag == -1)
+      throw new EOFException();
+    encBuf.write(tag);
+    int len = readLength();
+    DERValue value = null;
+    if ((tag & CONSTRUCTED) == CONSTRUCTED)
+      {
+        in.mark(2048);
+        byte[] encoded = new byte[len];
+        in.read(encoded);
+        encBuf.write(encoded);
+        value = new DERValue(tag, len, CONSTRUCTED_VALUE, encBuf.toByteArray());
+        in.reset();
+        encBuf.reset();
+        return value;
+      }
+    switch (tag & 0xC0)
+      {
+        case UNIVERSAL:
+          value = new DERValue(tag, len, readUniversal(tag, len),
+            encBuf.toByteArray());
+          encBuf.reset();
+          break;
+        case CONTEXT:
+          byte[] encoded = new byte[len];
+          in.read(encoded);
+          encBuf.write(encoded);
+          value = new DERValue(tag, len, encoded, encBuf.toByteArray());
+          encBuf.reset();
+          break;
+        case APPLICATION:
+          // This should not be reached, since (I think) APPLICATION is
+          // always constructed.
+          throw new DEREncodingException("non-constructed APPLICATION data");
+        default:
+          throw new DEREncodingException("PRIVATE class not supported");
+      }
+    return value;
+  }
+
+  protected int readLength() throws IOException
+  {
+    int i = in.read();
+    if (i == -1)
+      throw new EOFException();
+    encBuf.write(i);
+    if ((i & ~0x7F) == 0)
+      {
+        return i;
+      }
+    else if (i < 0xFF)
+      {
+        byte[] octets = new byte[i & 0x7F];
+        in.read(octets);
+        encBuf.write(octets);
+        return new BigInteger(1, octets).intValue();
+      }
+    throw new DEREncodingException();
+  }
+
+  // Own methods.
+  // ------------------------------------------------------------------------
+
+  private Object readUniversal(int tag, int len) throws IOException
+  {
+    byte[] value = new byte[len];
+    in.read(value);
+    encBuf.write(value);
+    switch (tag & 0x1F)
+      {
+        case BOOLEAN:
+          if (value.length != 1)
+            throw new DEREncodingException();
+          return Boolean.valueOf(value[0] != 0);
+        case NULL:
+          if (len != 0)
+            throw new DEREncodingException();
+          return null;
+        case INTEGER:
+        case ENUMERATED:
+          return new BigInteger(value);
+        case BIT_STRING:
+          byte[] bits = new byte[len - 1];
+          System.arraycopy(value, 1, bits, 0, bits.length);
+          return new BitString(bits, value[0] & 0xFF);
+        case OCTET_STRING:
+          return value;
+        case NUMERIC_STRING:
+        case PRINTABLE_STRING:
+        case T61_STRING:
+        case VIDEOTEX_STRING:
+        case IA5_STRING:
+        case GRAPHIC_STRING:
+        case ISO646_STRING:
+        case GENERAL_STRING:
+        case UNIVERSAL_STRING:
+        case BMP_STRING:
+        case UTF8_STRING:
+          return makeString(tag, value);
+        case UTC_TIME:
+        case GENERALIZED_TIME:
+          return makeTime(tag, value);
+        case OBJECT_IDENTIFIER:
+          return new OID(value);
+        case RELATIVE_OID:
+          return new OID(value, true);
+        default:
+          throw new DEREncodingException("unknown tag " + tag);
+      }
+  }
+
+  private static String makeString(int tag, byte[] value)
+    throws IOException
+  {
+    switch (tag & 0x1F)
+      {
+        case NUMERIC_STRING:
+        case PRINTABLE_STRING:
+        case T61_STRING:
+        case VIDEOTEX_STRING:
+        case IA5_STRING:
+        case GRAPHIC_STRING:
+        case ISO646_STRING:
+        case GENERAL_STRING:
+          return fromIso88591(value);
+
+        case UNIVERSAL_STRING:
+          // XXX The docs say UniversalString is encoded in four bytes
+          // per character, but Java has no support (yet) for UTF-32.
+          //return new String(buf, "UTF-32");
+        case BMP_STRING:
+          return fromUtf16Be(value);
+
+        case UTF8_STRING:
+          return fromUtf8(value);
+
+        default:
+          throw new DEREncodingException("unknown string tag");
+      }
+  }
+
+  private static String fromIso88591(byte[] bytes)
+  {
+    StringBuffer str = new StringBuffer(bytes.length);
+    for (int i = 0; i < bytes.length; i++)
+      str.append((char) (bytes[i] & 0xFF));
+    return str.toString();
+  }
+
+  private static String fromUtf16Be(byte[] bytes) throws IOException
+  {
+    if ((bytes.length & 0x01) != 0)
+      throw new IOException("UTF-16 bytes are odd in length");
+    StringBuffer str = new StringBuffer(bytes.length / 2);
+    for (int i = 0; i < bytes.length; i += 2)
+      {
+        char c = (char) ((bytes[i] << 8) & 0xFF);
+        c |= (char) (bytes[i+1] & 0xFF);
+        str.append(c);
+      }
+    return str.toString();
+  }
+
+  private static String fromUtf8(byte[] bytes) throws IOException
+  {
+    StringBuffer str = new StringBuffer((int)(bytes.length / 1.5));
+    for (int i = 0; i < bytes.length; )
+      {
+        char c = 0;
+        if ((bytes[i] & 0xE0) == 0xE0)
+          {
+            if ((i + 2) >= bytes.length)
+              throw new IOException("short UTF-8 input");
+            c = (char) ((bytes[i++] & 0x0F) << 12);
+            if ((bytes[i] & 0x80) != 0x80)
+              throw new IOException("malformed UTF-8 input");
+            c |= (char) ((bytes[i++] & 0x3F) << 6);
+            if ((bytes[i] & 0x80) != 0x80)
+              throw new IOException("malformed UTF-8 input");
+            c |= (char) (bytes[i++] & 0x3F);
+          }
+        else if ((bytes[i] & 0xC0) == 0xC0)
+          {
+            if ((i + 1) >= bytes.length)
+              throw new IOException("short input");
+            c = (char) ((bytes[i++] & 0x1F) << 6);
+            if ((bytes[i] & 0x80) != 0x80)
+              throw new IOException("malformed UTF-8 input");
+            c |= (char) (bytes[i++] & 0x3F);
+          }
+        else if ((bytes[i] & 0xFF) < 0x80)
+          {
+            c = (char) (bytes[i++] & 0xFF);
+          }
+        else
+          throw new IOException("badly formed UTF-8 sequence");
+        str.append(c);
+      }
+    return str.toString();
+  }
+
+  private Date makeTime(int tag, byte[] value) throws IOException
+  {
+    Calendar calendar = Calendar.getInstance();
+    String str = makeString(PRINTABLE_STRING, value);
+
+    // Classpath's SimpleDateFormat does not work for parsing these
+    // types of times, so we do this by hand.
+    String date = str;
+    String tz = "";
+    if (str.indexOf("+") > 0)
+      {
+        date = str.substring(0, str.indexOf("+"));
+        tz = str.substring(str.indexOf("+"));
+      }
+    else if (str.indexOf("-") > 0)
+      {
+        date = str.substring(0, str.indexOf("-"));
+        tz = str.substring(str.indexOf("-"));
+      }
+    else if (str.endsWith("Z"))
+      {
+        date = str.substring(0, str.length()-2);
+        tz = "Z";
+      }
+    if (!tz.equals("Z") && tz.length() > 0)
+      calendar.setTimeZone(TimeZone.getTimeZone(tz));
+    else
+      calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
+    if ((tag & 0x1F) == UTC_TIME)
+      {
+        if (date.length() < 10)  // must be at least 10 chars long
+          throw new DEREncodingException("cannot parse date");
+        // UTCTime is of the form "yyMMddHHmm[ss](Z|(+|-)hhmm)"
+        try
+          {
+            int year = Integer.parseInt(str.substring(0, 2));
+            if (year < 50)
+              year += 2000;
+            else
+              year += 1900;
+            calendar.set(year,
+              Integer.parseInt(str.substring( 2,  4))-1,  // month
+              Integer.parseInt(str.substring( 4,  6)),    // day
+              Integer.parseInt(str.substring( 6,  8)),    // hour
+              Integer.parseInt(str.substring( 8, 10)));   // minute
+            if (date.length() == 12)
+              calendar.set(Calendar.SECOND,
+                Integer.parseInt(str.substring(10, 12)));
+          }
+        catch (NumberFormatException nfe)
+          {
+            throw new DEREncodingException("cannot parse date");
+          }
+      }
+    else
+      {
+        if (date.length() < 10)  // must be at least 10 chars long
+          throw new DEREncodingException("cannot parse date");
+        // GeneralTime is of the form "yyyyMMddHH[mm[ss[(.|,)SSSS]]]"
+        // followed by "Z" or "(+|-)hh[mm]"
+        try
+          {
+            calendar.set(
+              Integer.parseInt(date.substring(0, 4)),      // year
+              Integer.parseInt(date.substring(4, 6))-1,    // month
+              Integer.parseInt(date.substring(6, 8)),      // day
+              Integer.parseInt(date.substring(8, 10)), 0); // hour, min
+            switch (date.length())
+              {
+                case 19:
+                case 18:
+                case 17:
+                case 16:
+                  calendar.set(Calendar.MILLISECOND,
+                    Integer.parseInt(date.substring(15)));
+                case 14:
+                  calendar.set(Calendar.SECOND,
+                    Integer.parseInt(date.substring(12, 14)));
+                case 12:
+                  calendar.set(Calendar.MINUTE,
+                    Integer.parseInt(date.substring(10, 12)));
+              }
+          }
+        catch (NumberFormatException nfe)
+          {
+            throw new DEREncodingException("cannot parse date");
+          }
+      }
+    return calendar.getTime();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/der/DERValue.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,189 @@
+/* DERValue.java -- a value read or written to a DER encoding.
+   Copyright (C) 2003 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.der;
+
+import gnu.java.security.x509.Util;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+
+public class DERValue implements DER
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  private final int tagClass;
+  private final boolean constructed;
+  private final int tag;
+  private int length;
+  private final Object value;
+  private byte[] encoded;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  public DERValue(int tag, int length, Object value, byte[] encoded)
+  {
+    tagClass = tag & 0xC0;
+    this.tag = tag & 0x1F;
+    constructed = (tag & CONSTRUCTED) == CONSTRUCTED;
+    this.length = length;
+    this.value = value;
+    if (encoded != null)
+      this.encoded = (byte[]) encoded.clone();
+  }
+
+  public DERValue(int tag, Object value)
+  {
+    this(tag, 0, value, null);
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  public int getExternalTag()
+  {
+    return tagClass | tag | (constructed ? 0x20 : 0x00);
+  }
+
+  public int getTag()
+  {
+    return tag;
+  }
+
+  public int getTagClass()
+  {
+    return tagClass;
+  }
+
+  public boolean isConstructed()
+  {
+    return constructed;
+  }
+
+  public int getLength()
+  {
+    if (encoded == null)
+      {
+        try
+          {
+            ByteArrayOutputStream out = new ByteArrayOutputStream();
+            length = DERWriter.write(out, this);
+            encoded = out.toByteArray();
+          }
+        catch (IOException ioe)
+          {
+            IllegalArgumentException iae = new IllegalArgumentException ();
+            iae.initCause (ioe);
+            throw iae;
+          }
+      }
+    return length;
+  }
+
+  public Object getValue()
+  {
+    return value;
+  }
+
+  public Object getValueAs (final int derType) throws IOException
+  {
+    byte[] encoded = getEncoded ();
+    encoded[0] = (byte) derType;
+    return DERReader.read (encoded).getValue ();
+  }
+
+  public byte[] getEncoded()
+  {
+    if (encoded == null)
+      {
+        try
+          {
+            ByteArrayOutputStream out = new ByteArrayOutputStream();
+            length = DERWriter.write(out, this);
+            encoded = out.toByteArray();
+          }
+        catch (IOException ioe)
+          {
+            IllegalArgumentException iae = new IllegalArgumentException ();
+            iae.initCause (ioe);
+            throw iae;
+          }
+      }
+    return (byte[]) encoded.clone();
+  }
+
+  public int getEncodedLength()
+  {
+    if (encoded == null)
+      {
+        try
+          {
+            ByteArrayOutputStream out = new ByteArrayOutputStream();
+            length = DERWriter.write(out, this);
+            encoded = out.toByteArray();
+          }
+        catch (IOException ioe)
+          {
+            IllegalArgumentException iae = new IllegalArgumentException ();
+            iae.initCause (ioe);
+            throw iae;
+          }
+      }
+    return encoded.length;
+  }
+
+  public String toString()
+  {
+    String start = "DERValue ( [";
+    if (tagClass == DER.UNIVERSAL) 
+      start = start + "UNIVERSAL ";
+    else if (tagClass == DER.PRIVATE) 
+      start = start + "PRIVATE ";
+    else if (tagClass == DER.APPLICATION) 
+      start = start + "APPLICATION ";
+    start = start + tag + "] constructed=" + constructed + ", value=";
+    if (constructed)
+     start = start + "\n" + Util.hexDump(getEncoded(), "\t");
+    else
+     start = start + value;
+    return start + " )";
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/der/DERWriter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,355 @@
+/* DERWriter.java -- write Java types in DER format.
+   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.der;
+
+import gnu.java.security.OID;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import java.math.BigInteger;
+
+import java.text.SimpleDateFormat;
+
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import java.util.TimeZone;
+
+/**
+ * Methods that allow various Java types to be written as a DER
+ * (Distinguished Encoding Rules) stream to the specified output stream.
+ * DER is used to encode ASN.1 constructions, but this class provides no
+ * methods for interacting with ASN.1. Rather, callers should construct
+ * their output objects properly for whatever ASN.1 construct is being
+ * output.
+ *
+ * <p>This class only defines static methods; there are no instance
+ * variables needed.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class DERWriter implements DER
+{
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /** This class only has static methods. */
+  private DERWriter()
+  {
+  }
+
+  // Class methods.
+  // ------------------------------------------------------------------------
+
+  public static int write(OutputStream out, DERValue object)
+    throws IOException
+  {
+    if (DER.CONSTRUCTED_VALUE.equals (object.getValue ()))
+      {
+        out.write (object.getEncoded ());
+        return object.getLength ();
+      }
+
+    out.write(object.getExternalTag());
+    Object value = object.getValue();
+    if (value == null)
+      {
+        writeLength(out, 0);
+        return 0;
+      }
+    if (value instanceof Boolean)
+      return writeBoolean(out, (Boolean) value);
+    else if (value instanceof BigInteger)
+      return writeInteger(out, (BigInteger) value);
+    else if (value instanceof Date)
+      return writeDate(out, object.getExternalTag(), (Date) value);
+    else if (value instanceof String)
+      return writeString(out, object.getExternalTag(), (String) value);
+    else if (value instanceof List)
+      return writeSequence(out, (List) value);
+    else if (value instanceof Set)
+      return writeSet(out, (Set) value);
+    else if (value instanceof BitString)
+      return writeBitString(out, (BitString) value);
+    else if (value instanceof OID)
+      return writeOID(out, (OID) value);
+    else if (value instanceof byte[])
+      {
+        writeLength(out, ((byte[]) value).length);
+        out.write((byte[]) value);
+        return ((byte[]) value).length;
+      }
+    else if (value instanceof DERValue)
+      {
+        ByteArrayOutputStream bout = new ByteArrayOutputStream();
+        write(bout, (DERValue) value);
+        byte[] buf = bout.toByteArray();
+        writeLength(out, buf.length);
+        out.write(buf);
+        return buf.length;
+      }
+    else
+      throw new DEREncodingException("cannot encode " + value.getClass().getName());
+  }
+
+  public static int definiteEncodingSize(int length)
+  {
+    if (length < 128)
+      return 1;
+    else if (length < 256)
+      return 2;
+    else if (length < 65536)
+      return 3;
+    else if (length < 16777216)
+      return 4;
+    else
+      return 5;
+  }
+
+  // Own methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Write a BOOLEAN type to the given output stream.
+   *
+   * @param out The sink output stream.
+   * @param b   The boolean value to write.
+   */
+  private static int writeBoolean(OutputStream out, Boolean b)
+    throws IOException
+  {
+    writeLength(out, 1);
+    if (b.booleanValue())
+      out.write(0xFF);
+    else
+      out.write(0);
+    return 1;
+  }
+
+  /**
+   * Write an INTEGER type to the given output stream.
+   *
+   * @param out The sink output stream.
+   * @param integer The integer to write.
+   */
+  private static int writeInteger(OutputStream out, BigInteger integer)
+    throws IOException
+  {
+    byte[] bytes = integer.toByteArray();
+    writeLength(out, bytes.length);
+    out.write(bytes);
+    return bytes.length;
+  }
+
+  private static int writeSequence(OutputStream out, List sequence)
+    throws IOException
+  {
+    ByteArrayOutputStream bout = new ByteArrayOutputStream();
+    for (Iterator i = sequence.iterator(); i.hasNext(); )
+      {
+        write(bout, (DERValue) i.next());
+      }
+    byte[] buf = bout.toByteArray();
+    writeLength(out, buf.length);
+    out.write(buf);
+    return buf.length;
+  }
+
+  private static int writeSet(OutputStream out, Set set)
+    throws IOException
+  {
+    ByteArrayOutputStream bout = new ByteArrayOutputStream();
+    for (Iterator i = set.iterator(); i.hasNext(); )
+      {
+        write(bout, (DERValue) i.next());
+      }
+    byte[] buf = bout.toByteArray();
+    writeLength(out, buf.length);
+    out.write(buf);
+    return buf.length;
+  }
+
+  private static int writeOID(OutputStream out, OID oid)
+    throws IOException
+  {
+    byte[] der = oid.getDER();
+    writeLength(out, der.length);
+    out.write(der);
+    return der.length;
+  }
+
+  private static int writeBitString(OutputStream out, BitString bs)
+    throws IOException
+  {
+    byte[] buf = bs.getShiftedByteArray();
+    writeLength(out, buf.length + 1);
+    out.write(bs.getIgnoredBits());
+    out.write(buf);
+    return buf.length + 1;
+  }
+
+  private static int writeString(OutputStream out, int tag, String str)
+    throws IOException
+  {
+    byte[] b = null;
+    switch (tag & 0x1F)
+      {
+        case NUMERIC_STRING:
+        case PRINTABLE_STRING:
+        case T61_STRING:
+        case VIDEOTEX_STRING:
+        case IA5_STRING:
+        case GRAPHIC_STRING:
+        case ISO646_STRING:
+        case GENERAL_STRING:
+          b = toIso88591(str);
+          break;
+
+        case UNIVERSAL_STRING:
+        case BMP_STRING:
+          b = toUtf16Be(str);
+          break;
+
+        case UTF8_STRING:
+        default:
+          b = toUtf8(str);
+          break;
+      }
+    writeLength(out, b.length);
+    out.write(b);
+    return b.length;
+  }
+
+  private static byte[] toIso88591(String string)
+  {
+    byte[] result = new byte[string.length()];
+    for (int i = 0; i < string.length(); i++)
+      result[i] = (byte) string.charAt(i);
+    return result;
+  }
+
+  private static byte[] toUtf16Be(String string)
+  {
+    byte[] result = new byte[string.length() * 2];
+    for (int i = 0; i < string.length(); i++)
+      {
+        result[i*2  ] = (byte) ((string.charAt(i) >>> 8) & 0xFF);
+        result[i*2+1] = (byte)  (string.charAt(i) & 0xFF);
+      }
+    return result;
+  }
+
+  private static byte[] toUtf8(String string)
+  {
+    ByteArrayOutputStream buf =
+      new ByteArrayOutputStream((int)(string.length() * 1.5));
+    for (int i = 0; i < string.length(); i++)
+      {
+        char c = string.charAt(i);
+        if (c < 0x0080)
+          buf.write(c & 0xFF);
+        else if (c < 0x0800)
+          {
+            buf.write(0xC0 | ((c >>> 6) & 0x3F));
+            buf.write(0x80 |  (c & 0x3F));
+          }
+        else
+          {
+            buf.write(0xE0 | ((c >>> 12) & 0x0F));
+            buf.write(0x80 | ((c >>>  6) & 0x3F));
+            buf.write(0x80 |  (c & 0x3F));
+          }
+      }
+    return buf.toByteArray();
+  }
+
+  private static int writeDate(OutputStream out, int tag, Date date)
+    throws IOException
+  {
+    SimpleDateFormat sdf = null;
+    if ((tag & 0x1F) == UTC_TIME)
+      sdf = new SimpleDateFormat("yyMMddHHmmss'Z'");
+    else
+      sdf = new SimpleDateFormat("yyyyMMddHHmmss'.'SSS'Z'");
+    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
+    byte[] b = sdf.format(date).getBytes("ISO-8859-1");
+    writeLength(out, b.length);
+    out.write(b);
+    return b.length;
+  }
+
+  // Package method.
+  // ------------------------------------------------------------------------
+
+  static void writeLength(OutputStream out, int len) throws IOException
+  {
+    if (len < 128)
+      out.write(len);
+    else if (len < 256)
+      {
+        out.write(0x81);
+        out.write(len);
+      }
+    else if (len < 65536)
+      {
+        out.write(0x82);
+        out.write(len >> 8);
+        out.write(len);
+      }
+    else if (len < 16777216)
+      {
+        out.write(0x83);
+        out.write(len >> 16);
+        out.write(len >>  8);
+        out.write(len);
+      }
+    else
+      {
+        out.write(0x84);
+        out.write(len >> 24);
+        out.write(len >> 16);
+        out.write(len >>  8);
+        out.write(len);
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/gnu/java/security/x509/Util.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,202 @@
+/* Util.java -- Miscellaneous utility methods.
+   Copyright (C) 2004, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.security.x509;
+
+/**
+ * A collection of useful class methods.
+ *
+ * @author Casey Marshall (rsdio@metastatic.org)
+ */
+public final class Util
+{
+
+  // Constants.
+  // -------------------------------------------------------------------------
+
+  public static final String HEX = "0123456789abcdef";
+
+  // Class methods.
+  // -------------------------------------------------------------------------
+
+  /**
+   * Convert a byte array to a hexadecimal string, as though it were a
+   * big-endian arbitrarily-sized integer.
+   *
+   * @param buf The bytes to format.
+   * @param off The offset to start at.
+   * @param len The number of bytes to format.
+   * @return A hexadecimal representation of the specified bytes.
+   */
+  public static String toHexString(byte[] buf, int off, int len)
+  {
+    StringBuffer str = new StringBuffer();
+    for (int i = 0; i < len; i++)
+      {
+        str.append(HEX.charAt(buf[i+off] >>> 4 & 0x0F));
+        str.append(HEX.charAt(buf[i+off] & 0x0F));
+      }
+    return str.toString();
+  }
+
+  /**
+   * See {@link #toHexString(byte[],int,int)}.
+   */
+  public static String toHexString(byte[] buf)
+  {
+    return Util.toHexString(buf, 0, buf.length);
+  }
+
+  /**
+   * Convert a byte array to a hexadecimal string, separating octets
+   * with the given character.
+   *
+   * @param buf The bytes to format.
+   * @param off The offset to start at.
+   * @param len The number of bytes to format.
+   * @param sep The character to insert between octets.
+   * @return A hexadecimal representation of the specified bytes.
+   */
+  public static String toHexString(byte[] buf, int off, int len, char sep)
+  {
+    StringBuffer str = new StringBuffer();
+    for (int i = 0; i < len; i++)
+      {
+        str.append(HEX.charAt(buf[i+off] >>> 4 & 0x0F));
+        str.append(HEX.charAt(buf[i+off] & 0x0F));
+        if (i < len - 1)
+          str.append(sep);
+      }
+    return str.toString();
+  }
+
+  /**
+   * See {@link #toHexString(byte[],int,int,char)}.
+   */
+  public static String toHexString(byte[] buf, char sep)
+  {
+    return Util.toHexString(buf, 0, buf.length, sep);
+  }
+
+  /**
+   * Create a representation of the given byte array similar to the
+   * output of `hexdump -C', which is
+   *
+   * <p><pre>OFFSET  SIXTEEN-BYTES-IN-HEX  PRINTABLE-BYTES</pre>
+   *
+   * <p>The printable bytes show up as-is if they are printable and
+   * not a newline character, otherwise showing as '.'.
+   *
+   * @param buf The bytes to format.
+   * @param off The offset to start at.
+   * @param len The number of bytes to encode.
+   * @return The formatted string.
+   */
+  public static String hexDump(byte[] buf, int off, int len, String prefix)
+  {
+    String nl = System.getProperty("line.separator");
+    StringBuffer str = new StringBuffer();
+    int i = 0;
+    while (i < len)
+      {
+        str.append(prefix);
+        str.append(Util.formatInt(i+off, 16, 8));
+        str.append("  ");
+        String s = Util.toHexString(buf, i+off, Math.min(16, len-i), ' ');
+        str.append(s);
+        for (int j = 56 - (56 - s.length()); j < 56; j++)
+          str.append(" ");
+        for (int j = 0; j < Math.min(16, len - i); j++)
+          {
+            if ((buf[i+off+j] & 0xFF) < 0x20 || (buf[i+off+j] & 0xFF) > 0x7E)
+              str.append('.');
+            else
+              str.append((char) (buf[i+off+j] & 0xFF));
+          }
+        str.append(nl);
+        i += 16;
+      }
+    return str.toString();
+  }
+
+  /**
+   * See {@link #hexDump(byte[],int,int,String)}.
+   */
+  public static String hexDump(byte[] buf, String prefix)
+  {
+    return hexDump(buf, 0, buf.length, prefix);
+  }
+
+  /**
+   * Format an integer into the specified radix, zero-filled.
+   *
+   * @param i The integer to format.
+   * @param radix The radix to encode to.
+   * @param len The target length of the string. The string is
+   *   zero-padded to this length, but may be longer.
+   * @return The formatted integer.
+   */
+  public static String formatInt(int i, int radix, int len)
+  {
+    String s = Integer.toString(i, radix);
+    StringBuffer buf = new StringBuffer();
+    for (int j = 0; j < len - s.length(); j++)
+      buf.append("0");
+    buf.append(s);
+    return buf.toString();
+  }
+
+  /**
+   * Convert a hexadecimal string into its byte representation.
+   *
+   * @param hex The hexadecimal string.
+   * @return The converted bytes.
+   */
+  public static byte[] toByteArray(String hex)
+  {
+    hex = hex.toLowerCase();
+    byte[] buf = new byte[hex.length() / 2];
+    int j = 0;
+    for (int i = 0; i < buf.length; i++)
+      {
+        buf[i] = (byte) ((Character.digit(hex.charAt(j++), 16) << 4) |
+                          Character.digit(hex.charAt(j++), 16));
+      }
+    return buf;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/BadPaddingException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+/* BadPaddingException -- Signals bad padding bytes on decryption.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.GeneralSecurityException;
+
+/**
+ * This exception is thrown during decryption when the decrypted input
+ * does not have the proper padding bytes that are expected by the padding
+ * mechanism.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class BadPaddingException extends GeneralSecurityException
+{
+
+  // Constant.
+  // ------------------------------------------------------------------------
+
+  /** Serialization constant. */
+  private static final long serialVersionUID = -5315033893984728443L;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Creates a new bad padding exception with no detail message.
+   */
+  public BadPaddingException()
+  {
+    super();
+  }
+
+  /**
+   * Creates a new bad padding exception with a detail message.
+   *
+   * @param message The detail message.
+   */
+  public BadPaddingException(String message)
+  {
+    super(message);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/Cipher.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1154 @@
+/* Cipher.java -- Interface to a cryptographic cipher.
+   Copyright (C) 2004, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.Engine;
+
+import java.nio.ByteBuffer;
+import java.nio.ReadOnlyBufferException;
+
+import java.security.AlgorithmParameters;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.security.cert.Certificate;
+import java.security.cert.X509Certificate;
+import java.security.spec.AlgorithmParameterSpec;
+import java.util.StringTokenizer;
+
+/**
+ * <p>This class implements a cryptographic cipher for transforming
+ * data.</p>
+ *
+ * <p>Ciphers cannot be instantiated directly; rather one of the
+ * <code>getInstance</code> must be used to instantiate a given
+ * <i>transformation</i>, optionally with a specific provider.</p>
+ *
+ * <p>A transformation is of the form:</p>
+ *
+ * <ul>
+ * <li><i>algorithm</i>/<i>mode</i>/<i>padding</i>, or</li>
+ * <li><i>algorithm</i>
+ * </ul>
+ *
+ * <p>where <i>algorithm</i> is the base name of a cryptographic cipher
+ * (such as "AES"), <i>mode</i> is the abbreviated name of a block
+ * cipher mode (such as "CBC" for cipher block chaining mode), and
+ * <i>padding</i> is the name of a padding scheme (such as
+ * "PKCS5Padding"). If only the algorithm name is supplied, then the
+ * provider-specific default mode and padding will be used.</p>
+ *
+ * <p>An example transformation is:</p>
+ *
+ * <blockquote><code>Cipher c =
+ * Cipher.getInstance("AES/CBC/PKCS5Padding");</code></blockquote>
+ *
+ * <p>Finally, when requesting a block cipher in stream cipher mode
+ * (such as <acronym title="Advanced Encryption Standard">AES</acronym>
+ * in OFB or CFB mode) the number of bits to be processed
+ * at a time may be specified by appending it to the name of the mode;
+ * e.g. <code>"AES/OFB8/NoPadding"</code>. If no such number is
+ * specified a provider-specific default value is used.</p>
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @see java.security.KeyGenerator
+ * @see javax.crypto.SecretKey
+ */
+public class Cipher
+{
+
+  // Constants and variables.
+  // ------------------------------------------------------------------------
+
+  private static final String SERVICE = "Cipher";
+
+  /**
+   * The decryption operation mode.
+   */
+  public static final int DECRYPT_MODE = 2;
+
+  /**
+   * The encryption operation mode.
+   */
+  public static final int ENCRYPT_MODE = 1;
+
+  /**
+   * Constant for when the key to be unwrapped is a private key.
+   */
+  public static final int PRIVATE_KEY = 2;
+
+  /**
+   * Constant for when the key to be unwrapped is a public key.
+   */
+  public static final int PUBLIC_KEY = 1;
+
+  /**
+   * Constant for when the key to be unwrapped is a secret key.
+   */
+  public static final int SECRET_KEY = 3;
+
+  /**
+   * The key unwrapping operation mode.
+   */
+  public static final int UNWRAP_MODE = 4;
+
+  /**
+   * The key wrapping operation mode.
+   */
+  public static final int WRAP_MODE = 3;
+
+  /**
+   * The uninitialized state. This state signals that any of the
+   * <code>init</code> methods have not been called, and therefore no
+   * transformations can be done.
+   */
+  private static final int INITIAL_STATE = 0;
+
+  /** The underlying cipher service provider interface. */
+  private CipherSpi cipherSpi;
+
+  /** The provider from which this instance came. */
+  private Provider provider;
+
+  /** The transformation requested. */
+  private String transformation;
+
+  /** Our current state (encrypting, wrapping, etc.) */
+  private int state;
+
+  /**
+   * Creates a new cipher instance for the given transformation.
+   * <p>
+   * The installed providers are tried in order for an implementation, and the
+   * first appropriate instance is returned. If no installed provider can
+   * provide the implementation, an appropriate exception is thrown.
+   * 
+   * @param transformation The transformation to create.
+   * @return An appropriate cipher for this transformation.
+   * @throws NoSuchAlgorithmException If no installed provider can supply the
+   *           appropriate cipher or mode.
+   * @throws NoSuchPaddingException If no installed provider can supply the
+   *           appropriate padding.
+   */
+  public static final Cipher getInstance(String transformation)
+      throws NoSuchAlgorithmException, NoSuchPaddingException
+  {
+    Provider[] p = Security.getProviders();
+    NoSuchAlgorithmException lastException = null;
+    NoSuchPaddingException lastPaddingException = null;
+    for (int i = 0; i < p.length; i++)
+      try
+        {
+          return getInstance(transformation, p[i]);
+        }
+      catch (NoSuchAlgorithmException x)
+        {
+          lastException = x;
+          lastPaddingException = null;
+        }
+      catch (NoSuchPaddingException x)
+        {
+          lastPaddingException = x;
+        }
+    if (lastPaddingException != null)
+      throw lastPaddingException;
+    if (lastException != null)
+      throw lastException;
+    throw new NoSuchAlgorithmException(transformation);
+  }
+
+  /**
+   * Creates a new cipher instance for the given transformation and the named
+   * provider.
+   * 
+   * @param transformation The transformation to create.
+   * @param provider The name of the provider to use.
+   * @return An appropriate cipher for this transformation.
+   * @throws NoSuchAlgorithmException If the provider cannot supply the
+   *           appropriate cipher or mode.
+   * @throws NoSuchProviderException If the named provider is not installed.
+   * @throws NoSuchPaddingException If the provider cannot supply the
+   *           appropriate padding.
+   * @throws IllegalArgumentException if either <code>transformation</code> or
+   *           <code>provider</code> is <code>null</code>.
+   */
+  public static final Cipher getInstance(String transformation, String provider)
+      throws NoSuchAlgorithmException, NoSuchProviderException,
+      NoSuchPaddingException
+  {
+    if (provider == null)
+      throw new IllegalArgumentException("provider MUST NOT be null");
+    Provider p = Security.getProvider(provider);
+    if (p == null)
+      throw new NoSuchProviderException(provider);
+    return getInstance(transformation, p);
+  }
+
+  /**
+   * Creates a new cipher instance for a given transformation from a given
+   * provider.
+   * 
+   * @param transformation The transformation to create.
+   * @param provider The provider to use.
+   * @return An appropriate cipher for this transformation.
+   * @throws NoSuchAlgorithmException If the given provider cannot supply the
+   *           appropriate cipher or mode.
+   * @throws NoSuchPaddingException If the given provider cannot supply the
+   *           appropriate padding scheme.
+   */
+  public static final Cipher getInstance(String transformation,
+                                         Provider provider)
+      throws NoSuchAlgorithmException, NoSuchPaddingException
+  {
+    StringBuilder sb = new StringBuilder().append("Cipher transformation [")
+        .append(transformation).append("] from provider [")
+        .append(provider).append("] ");
+    Throwable cause;
+    Object spi;
+    CipherSpi result;
+    if (transformation.indexOf('/') < 0)
+      {
+        try
+          {
+            spi = Engine.getInstance(SERVICE, transformation, provider);
+            return new Cipher((CipherSpi) spi, provider, transformation);
+          }
+        catch (Exception e)
+          {
+            if (e instanceof NoSuchAlgorithmException)
+              throw (NoSuchAlgorithmException) e;
+            cause = e;
+          }
+      }
+    else
+      {
+        StringTokenizer tok = new StringTokenizer(transformation, "/");
+        if (tok.countTokens() != 3)
+          throw new NoSuchAlgorithmException(sb.append("is malformed").toString());
+
+        String alg = tok.nextToken();
+        String mode = tok.nextToken();
+        String pad = tok.nextToken();
+        try
+          {
+            spi = Engine.getInstance(SERVICE, transformation, provider);
+            return new Cipher((CipherSpi) spi, provider, transformation);
+          }
+        catch (Exception e)
+          {
+            cause = e;
+          }
+
+        try
+          {
+            spi = Engine.getInstance(SERVICE, alg + '/' + mode, provider);
+            result = (CipherSpi) spi;
+            result.engineSetPadding(pad);
+            return new Cipher(result, provider, transformation);
+          }
+        catch (Exception e)
+          {
+            if (e instanceof NoSuchPaddingException)
+              throw (NoSuchPaddingException) e;
+            cause = e;
+          }
+
+        try
+          {
+            spi = Engine.getInstance(SERVICE, alg + "//" + pad, provider);
+            result = (CipherSpi) spi;
+            result.engineSetMode(mode);
+            return new Cipher(result, provider, transformation);
+          }
+        catch (Exception e)
+          {
+            cause = e;
+          }
+
+        try
+          {
+            spi = Engine.getInstance(SERVICE, alg, provider);
+            result = (CipherSpi) spi;
+            result.engineSetMode(mode);
+            result.engineSetPadding(pad);
+            return new Cipher(result, provider, transformation);
+          }
+        catch (Exception e)
+          {
+            if (e instanceof NoSuchPaddingException)
+              throw (NoSuchPaddingException) e;
+            cause = e;
+          }
+      }
+    sb.append("could not be created");
+    NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString());
+    x.initCause(cause);
+    throw x;
+  }
+
+  /**
+   * Create a cipher.
+   *
+   * @param cipherSpi The underlying implementation of the cipher.
+   * @param provider  The provider of this cipher implementation.
+   * @param transformation The transformation this cipher performs.
+   */
+  protected
+  Cipher(CipherSpi cipherSpi, Provider provider, String transformation)
+  {
+    this.cipherSpi = cipherSpi;
+    this.provider = provider;
+    this.transformation = transformation;
+    state = INITIAL_STATE;
+  }
+
+  /**
+   * Get the name that this cipher instance was created with; this is
+   * equivalent to the "transformation" argument given to any of the
+   * {@link #getInstance()} methods.
+   *
+   * @return The cipher name.
+   */
+  public final String getAlgorithm()
+  {
+    return transformation;
+  }
+
+  /**
+   * Return the size of blocks, in bytes, that this cipher processes.
+   *
+   * @return The block size.
+   */
+  public final int getBlockSize()
+  {
+    if (cipherSpi != null)
+      {
+        return cipherSpi.engineGetBlockSize();
+      }
+    return 1;
+  }
+
+  /**
+   * Return the currently-operating {@link ExemptionMechanism}.
+   *
+   * @return null, currently.
+   */
+  public final ExemptionMechanism getExemptionMechanism()
+  {
+    return null;
+  }
+
+  /**
+   * Return the <i>initialization vector</i> that this instance was
+   * initialized with.
+   *
+   * @return The IV.
+   */
+  public final byte[] getIV()
+  {
+    if (cipherSpi != null)
+      {
+        return cipherSpi.engineGetIV();
+      }
+    return null;
+  }
+
+  /**
+   * Return the {@link java.security.AlgorithmParameters} that this
+   * instance was initialized with.
+   *
+   * @return The parameters.
+   */
+  public final AlgorithmParameters getParameters()
+  {
+    if (cipherSpi != null) {
+      return cipherSpi.engineGetParameters();
+    }
+    return null;
+  }
+
+  /**
+   * Return this cipher's provider.
+   *
+   * @return The provider.
+   */
+  public final Provider getProvider()
+  {
+    return provider;
+  }
+
+  /**
+   * Finishes a multi-part transformation, and returns the final
+   * transformed bytes.
+   *
+   * @return The final transformed bytes.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized, or if a <tt>doFinal</tt> call has already
+   *         been made.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the input is not a multiple of this cipher's
+   *         block size.
+   * @throws javax.crypto.BadPaddingException If this instance is
+   *         decrypting and the padding bytes do not match this
+   *         instance's padding scheme.
+   */
+  public final byte[] doFinal()
+    throws IllegalStateException, IllegalBlockSizeException, BadPaddingException
+  {
+    return doFinal(new byte[0], 0, 0);
+  }
+
+  /**
+   * Finishes a multi-part transformation or does an entire
+   * transformation on the input, and returns the transformed bytes.
+   *
+   * @param input The final input bytes.
+   * @return The final transformed bytes.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized, or if a <tt>doFinal</tt> call has already
+   *         been made.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the input is not a multiple of this cipher's
+   *         block size.
+   * @throws javax.crypto.BadPaddingException If this instance is
+   *         decrypting and the padding bytes do not match this
+   *         instance's padding scheme.
+   */
+  public final byte[] doFinal(byte[] input)
+    throws IllegalStateException, IllegalBlockSizeException, BadPaddingException
+  {
+    return doFinal(input, 0, input.length);
+  }
+
+  /**
+   * Finishes a multi-part transformation or does an entire
+   * transformation on the input, and returns the transformed bytes.
+   *
+   * @param input       The final input bytes.
+   * @param inputOffset The index in the input bytes to start.
+   * @param inputLength The number of bytes to read from the input.
+   * @return The final transformed bytes.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized, or if a <tt>doFinal</tt> call has already
+   *         been made.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the input is not a multiple of this cipher's
+   *         block size.
+   * @throws javax.crypto.BadPaddingException If this instance is
+   *         decrypting and the padding bytes do not match this
+   *         instance's padding scheme.
+   */
+  public final byte[] doFinal(byte[] input, int inputOffset, int inputLength)
+    throws IllegalStateException, IllegalBlockSizeException, BadPaddingException
+  {
+    if (cipherSpi == null)
+      {
+        byte[] b = new byte[inputLength];
+        System.arraycopy(input, inputOffset, b, 0, inputLength);
+        return b;
+      }
+    if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
+      {
+        throw new IllegalStateException("neither encrypting nor decrypting");
+      }
+    return cipherSpi.engineDoFinal(input, inputOffset, inputLength);
+  }
+
+  /**
+   * Finishes a multi-part transformation and stores the transformed
+   * bytes into the given array.
+   *
+   * @param output       The destination for the transformed bytes.
+   * @param outputOffset The offset in <tt>output</tt> to start storing
+   *        bytes.
+   * @return The number of bytes placed into the output array.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized, or if a <tt>doFinal</tt> call has already
+   *         been made.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the input is not a multiple of this cipher's
+   *         block size.
+   * @throws javax.crypto.BadPaddingException If this instance is
+   *         decrypting and the padding bytes do not match this
+   *         instance's padding scheme.
+   * @throws javax.crypto.ShortBufferException If the output array is
+   *         not large enough to hold the transformed bytes.
+   */
+  public final int doFinal(byte[] output, int outputOffset)
+    throws IllegalStateException, IllegalBlockSizeException, BadPaddingException,
+           ShortBufferException
+  {
+    if (cipherSpi == null)
+      {
+        return 0;
+      }
+    if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
+      {
+        throw new IllegalStateException("neither encrypting nor decrypting");
+      }
+    return cipherSpi.engineDoFinal(new byte[0], 0, 0, output, outputOffset);
+  }
+
+  /**
+   * Finishes a multi-part transformation or transforms a portion of a
+   * byte array, and stores the result in the given byte array.
+   *
+   * @param input        The input bytes.
+   * @param inputOffset  The index in <tt>input</tt> to start.
+   * @param inputLength  The number of bytes to transform.
+   * @param output       The output buffer.
+   * @param outputOffset The index in <tt>output</tt> to start.
+   * @return The number of bytes placed into the output array.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized, or if a <tt>doFinal</tt> call has already
+   *         been made.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the input is not a multiple of this cipher's
+   *         block size.
+   * @throws javax.crypto.BadPaddingException If this instance is
+   *         decrypting and the padding bytes do not match this
+   *         instance's padding scheme.
+   * @throws javax.crypto.ShortBufferException If the output array is
+   *         not large enough to hold the transformed bytes.
+   */
+  public final int doFinal(byte[] input, int inputOffset, int inputLength,
+                           byte[] output, int outputOffset)
+    throws IllegalStateException, IllegalBlockSizeException, BadPaddingException,
+           ShortBufferException
+  {
+    if (cipherSpi == null)
+      {
+        if (inputLength > output.length - outputOffset)
+          {
+            throw new ShortBufferException();
+          }
+        System.arraycopy(input, inputOffset, output, outputOffset, inputLength);
+        return inputLength;
+      }
+    if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
+      {
+        throw new IllegalStateException("neither encrypting nor decrypting");
+      }
+    return cipherSpi.engineDoFinal(input, inputOffset, inputLength,
+                                   output, outputOffset);
+  }
+
+  public final int doFinal(byte[] input, int inputOffset, int inputLength,
+                           byte[] output)
+    throws IllegalStateException, IllegalBlockSizeException, BadPaddingException,
+           ShortBufferException
+  {
+    return doFinal(input, inputOffset, inputLength, output, 0);
+  }
+
+  /**
+   * Finishes a multi-part transformation with, or completely
+   * transforms, a byte buffer, and stores the result into the output
+   * buffer.
+   *
+   * @param input  The input buffer.
+   * @param output The output buffer.
+   * @return The number of bytes stored into the output buffer.
+   * @throws IllegalArgumentException If the input and output buffers
+   *  are the same object.
+   * @throws IllegalStateException If this cipher was not initialized
+   *  for encryption or decryption.
+   * @throws ReadOnlyBufferException If the output buffer is not
+   *  writable.
+   * @throws IllegalBlockSizeException If this cipher requires a total
+   *  input that is a multiple of its block size to complete this
+   *  transformation.
+   * @throws ShortBufferException If the output buffer is not large
+   *  enough to hold the transformed bytes.
+   * @throws BadPaddingException If the cipher is a block cipher with
+   *  a padding scheme, and the decrypted bytes do not end with a
+   *  valid padding.
+   * @since 1.5
+   */
+  public final int doFinal (ByteBuffer input, ByteBuffer output)
+    throws ReadOnlyBufferException, ShortBufferException,
+           BadPaddingException, IllegalBlockSizeException
+  {
+    if (input == output)
+      throw new IllegalArgumentException
+        ("input and output buffers cannot be the same");
+    if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
+      throw new IllegalStateException
+        ("not initialized for encrypting or decrypting");
+    return cipherSpi.engineDoFinal (input, output);
+  }
+
+  /**
+   * Returns the size an output buffer needs to be if this cipher is
+   * updated with a number of bytes.
+   *
+   * @param inputLength The input length.
+   * @return The output length given this input length.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized, or if a <tt>doFinal</tt> call has already
+   *         been made.
+   */
+  public final int getOutputSize(int inputLength) throws IllegalStateException
+  {
+    if (cipherSpi == null)
+      return inputLength;
+    return cipherSpi.engineGetOutputSize(inputLength);
+  }
+
+  /**
+   * <p>Initialize this cipher with the public key from the given
+   * certificate.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>As per the Java 1.4 specification, if <code>cert</code> is an
+   * instance of an {@link java.security.cert.X509Certificate} and its
+   * <i>key usage</i> extension field is incompatible with
+   * <code>opmode</code> then an {@link
+   * java.security.InvalidKeyException} is thrown.</p>
+   *
+   * <p>If this cipher requires any random bytes (for example for an
+   * initilization vector) than the {@link java.security.SecureRandom}
+   * with the highest priority is used as the source of these bytes.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode      The operation mode to use.
+   * @param certificate The certificate.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the certificate's public key, or if the
+   *         public key cannot be used as described above.
+   */
+  public final void init(int opmode, Certificate certificate)
+    throws InvalidKeyException
+  {
+    init(opmode, certificate, new SecureRandom());
+  }
+
+  /**
+   * <p>Initialize this cipher with the supplied key.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>If this cipher requires any random bytes (for example for an
+   * initilization vector) than the {@link java.security.SecureRandom}
+   * with the highest priority is used as the source of these bytes.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode The operation mode to use.
+   * @param key    The key.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the given key.
+   */
+  public final void init(int opmode, Key key) throws InvalidKeyException
+  {
+    if (cipherSpi != null)
+      {
+        cipherSpi.engineInit(opmode, key, new SecureRandom());
+      }
+    state = opmode;
+  }
+
+  /**
+   * <p>Initialize this cipher with the public key from the given
+   * certificate and the specified source of randomness.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>As per the Java 1.4 specification, if <code>cert</code> is an
+   * instance of an {@link java.security.cert.X509Certificate} and its
+   * <i>key usage</i> extension field is incompatible with
+   * <code>opmode</code> then an {@link
+   * java.security.InvalidKeyException} is thrown.</p>
+   *
+   * <p>If this cipher requires any random bytes (for example for an
+   * initilization vector) than the {@link java.security.SecureRandom}
+   * with the highest priority is used as the source of these bytes.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode      The operation mode to use.
+   * @param certificate The certificate.
+   * @param random      The source of randomness.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the certificate's public key, or if the
+   *         public key cannot be used as described above.
+   */
+  public final void
+  init(int opmode, Certificate certificate, SecureRandom random)
+  throws InvalidKeyException
+  {
+    if (certificate instanceof X509Certificate)
+      {
+        boolean[] keyInfo = ((X509Certificate) certificate).getKeyUsage();
+        if (keyInfo != null)
+          {
+            switch (opmode)
+              {
+              case DECRYPT_MODE:
+                if (!keyInfo[3])
+                  {
+                    throw new InvalidKeyException(
+                      "the certificate's key cannot be used for transforming data");
+                  }
+                if (keyInfo[7])
+                  {
+                    throw new InvalidKeyException(
+                      "the certificate's key can only be used for encryption");
+                  }
+                break;
+
+              case ENCRYPT_MODE:
+                if (!keyInfo[3])
+                  {
+                    throw new InvalidKeyException(
+                      "the certificate's key cannot be used for transforming data");
+                  }
+                if (keyInfo[8])
+                  {
+                    throw new InvalidKeyException(
+                      "the certificate's key can only be used for decryption");
+                  }
+                break;
+
+              case UNWRAP_MODE:
+                if (!keyInfo[2] || keyInfo[7])
+                  {
+                    throw new InvalidKeyException(
+                      "the certificate's key cannot be used for key unwrapping");
+                  }
+                break;
+
+              case WRAP_MODE:
+                if (!keyInfo[2] || keyInfo[8])
+                  {
+                    throw new InvalidKeyException(
+                      "the certificate's key cannot be used for key wrapping");
+                  }
+                break;
+              }
+          }
+      }
+    init(opmode, certificate.getPublicKey(), random);
+  }
+
+  /**
+   * <p>Initialize this cipher with the supplied key and source of
+   * randomness.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode The operation mode to use.
+   * @param key    The key.
+   * @param random The source of randomness to use.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the given key.
+   */
+  public final void init(int opmode, Key key, SecureRandom random)
+    throws InvalidKeyException
+  {
+    if (cipherSpi != null)
+      {
+        cipherSpi.engineInit(opmode, key, random);
+      }
+    state = opmode;
+  }
+
+  /**
+   * <p>Initialize this cipher with the supplied key and parameters.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>If this cipher requires any random bytes (for example for an
+   * initilization vector) then the {@link java.security.SecureRandom}
+   * with the highest priority is used as the source of these bytes.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode The operation mode to use.
+   * @param key    The key.
+   * @param params The algorithm parameters to initialize this instance
+   *               with.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the given key.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are inappropriate for this cipher.
+   */
+  public final void init(int opmode, Key key, AlgorithmParameters params)
+    throws InvalidKeyException, InvalidAlgorithmParameterException
+  {
+    init(opmode, key, params, new SecureRandom());
+  }
+
+  /**
+   * <p>Initialize this cipher with the supplied key and parameters.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>If this cipher requires any random bytes (for example for an
+   * initilization vector) then the {@link java.security.SecureRandom}
+   * with the highest priority is used as the source of these bytes.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode The operation mode to use.
+   * @param key    The key.
+   * @param params The algorithm parameters to initialize this instance
+   *               with.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the given key.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are inappropriate for this cipher.
+   */
+  public final void init(int opmode, Key key, AlgorithmParameterSpec params)
+    throws InvalidKeyException, InvalidAlgorithmParameterException
+  {
+    init(opmode, key, params, new SecureRandom());
+  }
+
+  /**
+   * <p>Initialize this cipher with the supplied key, parameters, and
+   * source of randomness.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode The operation mode to use.
+   * @param key    The key.
+   * @param params The algorithm parameters to initialize this instance
+   *               with.
+   * @param random The source of randomness to use.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the given key.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are inappropriate for this cipher.
+   */
+  public final void init(int opmode, Key key, AlgorithmParameters params,
+                         SecureRandom random)
+    throws InvalidKeyException, InvalidAlgorithmParameterException
+  {
+    if (cipherSpi != null)
+      {
+        cipherSpi.engineInit(opmode, key, params, random);
+      }
+    state = opmode;
+  }
+
+  /**
+   * <p>Initialize this cipher with the supplied key, parameters, and
+   * source of randomness.</p>
+   *
+   * <p>The cipher will be initialized for encryption, decryption, key
+   * wrapping, or key unwrapping, depending upon whether the
+   * <code>opmode</code> argument is {@link #ENCRYPT_MODE}, {@link
+   * #DECRYPT_MODE}, {@link #WRAP_MODE}, or {@link #UNWRAP_MODE},
+   * respectively.</p>
+   *
+   * <p>A call to any of the <code>init</code> methods overrides the
+   * state of the instance, and is equivalent to creating a new instance
+   * and calling its <code>init</code> method.</p>
+   *
+   * @param opmode The operation mode to use.
+   * @param key    The key.
+   * @param params The algorithm parameters to initialize this instance
+   *               with.
+   * @param random The source of randomness to use.
+   * @throws java.security.InvalidKeyException If the underlying cipher
+   *         instance rejects the given key.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are inappropriate for this cipher.
+   */
+  public final void init(int opmode, Key key, AlgorithmParameterSpec params,
+                         SecureRandom random)
+    throws InvalidKeyException, InvalidAlgorithmParameterException
+  {
+    if (cipherSpi != null)
+      {
+        cipherSpi.engineInit(opmode, key, params, random);
+      }
+    state = opmode;
+  }
+
+  /**
+   * Unwrap a previously-wrapped key.
+   *
+   * @param wrappedKey          The wrapped key.
+   * @param wrappedKeyAlgorithm The algorithm with which the key was
+   *        wrapped.
+   * @param wrappedKeyType      The type of key (public, private, or
+   *        secret) that this wrapped key respresents.
+   * @return The unwrapped key.
+   * @throws java.lang.IllegalStateException If this instance has not be
+   *         initialized for unwrapping.
+   * @throws java.security.InvalidKeyException If <code>wrappedKey</code>
+   *         is not a wrapped key, if the algorithm cannot unwrap this
+   *         key, or if the unwrapped key's type differs from the
+   *         specified type.
+   * @throws java.security.NoSuchAlgorithmException If
+   *         <code>wrappedKeyAlgorithm</code> is not a valid algorithm
+   *         name.
+   */
+  public final Key unwrap(byte[] wrappedKey, String wrappedKeyAlgorithm,
+                          int wrappedKeyType)
+    throws IllegalStateException, InvalidKeyException, NoSuchAlgorithmException
+  {
+    if (cipherSpi == null)
+      {
+        return null;
+      }
+    if (state != UNWRAP_MODE)
+      {
+        throw new IllegalStateException("instance is not for unwrapping");
+      }
+    return cipherSpi.engineUnwrap(wrappedKey, wrappedKeyAlgorithm,
+                                  wrappedKeyType);
+  }
+
+  /**
+   * Continue a multi-part transformation on an entire byte array,
+   * returning the transformed bytes.
+   *
+   * @param input The input bytes.
+   * @return The transformed bytes.
+   * @throws java.lang.IllegalStateException If this cipher was not
+   *         initialized for encryption or decryption.
+   */
+  public final byte[] update(byte[] input) throws IllegalStateException
+  {
+    return update(input, 0, input.length);
+  }
+
+  /**
+   * Continue a multi-part transformation on part of a byte array,
+   * returning the transformed bytes.
+   *
+   * @param input       The input bytes.
+   * @param inputOffset The index in the input to start.
+   * @param inputLength The number of bytes to transform.
+   * @return The transformed bytes.
+   * @throws java.lang.IllegalStateException If this cipher was not
+   *         initialized for encryption or decryption.
+   */
+  public final byte[] update(byte[] input, int inputOffset, int inputLength)
+    throws IllegalStateException
+  {
+    if (cipherSpi == null)
+      {
+        byte[] b = new byte[inputLength];
+        System.arraycopy(input, inputOffset, b, 0, inputLength);
+        return b;
+      }
+    if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
+      {
+        throw new IllegalStateException(
+          "cipher is not for encrypting or decrypting");
+      }
+    return cipherSpi.engineUpdate(input, inputOffset, inputLength);
+  }
+
+  /**
+   * Continue a multi-part transformation on part of a byte array,
+   * placing the transformed bytes into the given array.
+   *
+   * @param input       The input bytes.
+   * @param inputOffset The index in the input to start.
+   * @param inputLength The number of bytes to transform.
+   * @param output      The output byte array.
+   * @return The number of transformed bytes.
+   * @throws java.lang.IllegalStateException If this cipher was not
+   *         initialized for encryption or decryption.
+   * @throws javax.security.ShortBufferException If there is not enough
+   *         room in the output array to hold the transformed bytes.
+   */
+  public final int update(byte[] input, int inputOffset, int inputLength,
+                          byte[] output)
+    throws IllegalStateException, ShortBufferException
+  {
+    return update(input, inputOffset, inputLength, output, 0);
+  }
+
+  /**
+   * Continue a multi-part transformation on part of a byte array,
+   * placing the transformed bytes into the given array.
+   *
+   * @param input        The input bytes.
+   * @param inputOffset  The index in the input to start.
+   * @param inputLength  The number of bytes to transform.
+   * @param output       The output byte array.
+   * @param outputOffset The index in the output array to start.
+   * @return The number of transformed bytes.
+   * @throws java.lang.IllegalStateException If this cipher was not
+   *         initialized for encryption or decryption.
+   * @throws javax.security.ShortBufferException If there is not enough
+   *         room in the output array to hold the transformed bytes.
+   */
+  public final int update(byte[] input, int inputOffset, int inputLength,
+                          byte[] output, int outputOffset)
+    throws IllegalStateException, ShortBufferException
+  {
+    if (cipherSpi == null)
+      {
+        if (inputLength > output.length - outputOffset)
+          {
+            throw new ShortBufferException();
+          }
+        System.arraycopy(input, inputOffset, output, outputOffset, inputLength);
+        return inputLength;
+      }
+    if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
+      {
+        throw new IllegalStateException(
+          "cipher is not for encrypting or decrypting");
+      }
+    return cipherSpi.engineUpdate(input, inputOffset, inputLength,
+                                  output, outputOffset);
+  }
+
+  /**
+   * Continue a multi-part transformation on a byte buffer, storing
+   * the transformed bytes into another buffer.
+   *
+   * @param input  The input buffer.
+   * @param output The output buffer.
+   * @return The number of bytes stored in <i>output</i>.
+   * @throws IllegalArgumentException If the two buffers are the same
+   *  object.
+   * @throws IllegalStateException If this cipher was not initialized
+   *  for encrypting or decrypting.
+   * @throws ReadOnlyBufferException If the output buffer is not
+   *  writable.
+   * @throws ShortBufferException If the output buffer does not have
+   *  enough available space for the transformed bytes.
+   * @since 1.5
+   */
+  public final int update (ByteBuffer input, ByteBuffer output)
+    throws ReadOnlyBufferException, ShortBufferException
+  {
+    if (input == output)
+      throw new IllegalArgumentException
+        ("input and output buffers must be different");
+    if (state != ENCRYPT_MODE && state != DECRYPT_MODE)
+      throw new IllegalStateException
+        ("not initialized for encryption or decryption");
+    return cipherSpi.engineUpdate (input, output);
+  }
+
+  /**
+   * Wrap a key.
+   *
+   * @param key The key to wrap.
+   * @return The wrapped key.
+   * @throws java.lang.IllegalStateException If this instance was not
+   *         initialized for key wrapping.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the key is not a multiple of the block size.
+   * @throws java.security.InvalidKeyException If this instance cannot
+   *         wrap this key.
+   */
+  public final byte[] wrap(Key key)
+    throws IllegalStateException, IllegalBlockSizeException, InvalidKeyException
+  {
+    if (cipherSpi == null)
+      {
+        return null;
+      }
+    if (state != WRAP_MODE)
+      {
+        throw new IllegalStateException("instance is not for key wrapping");
+      }
+    return cipherSpi.engineWrap(key);
+  }
+  
+  public static final int getMaxAllowedKeyLength(String transformation)
+    throws NoSuchAlgorithmException
+  {
+    return 0;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/CipherInputStream.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,368 @@
+/* CipherInputStream.java -- Filters input through a cipher.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.Configuration;
+import gnu.classpath.debug.Component;
+import gnu.classpath.debug.SystemLogger;
+
+import java.io.FilterInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import java.util.logging.Logger;
+
+/**
+ * This is an {@link java.io.InputStream} that filters its data
+ * through a {@link Cipher} before returning it. The <code>Cipher</code>
+ * argument must have been initialized before it is passed to the
+ * constructor.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class CipherInputStream extends FilterInputStream
+{
+
+  // Constants and variables.
+  // ------------------------------------------------------------------------
+
+  private static final Logger logger = SystemLogger.SYSTEM;
+
+  /**
+   * The underlying {@link Cipher} instance.
+   */
+  private final Cipher cipher;
+
+  /**
+   * Data that has been transformed but not read.
+   */
+  private byte[] outBuffer;
+
+  /**
+   * The offset into {@link #outBuffer} where valid data starts.
+   */
+  private int outOffset;
+
+  /**
+   * We set this when the cipher block size is 1, meaning that we can
+   * transform any amount of data.
+   */
+  private final boolean isStream;
+
+  /**
+   * Whether or not we've reached the end of the stream.
+   */
+  private boolean eof;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Creates a new input stream with a source input stream and cipher.
+   *
+   * @param in     The underlying input stream.
+   * @param cipher The cipher to filter data through.
+   */
+  public CipherInputStream(InputStream in, Cipher cipher)
+  {
+    super (in);
+    this.cipher = cipher;
+    isStream = cipher.getBlockSize () == 1;
+    eof = false;
+    if (Configuration.DEBUG)
+      logger.log (Component.CRYPTO, "I am born; cipher: {0}, stream? {1}",
+                  new Object[] { cipher.getAlgorithm (),
+                                 Boolean.valueOf (isStream) });
+  }
+
+  /**
+   * Creates a new input stream without a cipher. This constructor is
+   * <code>protected</code> because this class does not work without an
+   * underlying cipher.
+   *
+   * @param in The underlying input stream.
+   */
+  protected CipherInputStream(InputStream in)
+  {
+    this (in, new NullCipher ());
+  }
+
+  // Instance methods overriding java.io.FilterInputStream.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Returns the number of bytes available without blocking. The value
+   * returned is the number of bytes that have been processed by the
+   * cipher, and which are currently buffered by this class.
+   *
+   * @return The number of bytes immediately available.
+   * @throws java.io.IOException If an I/O exception occurs.
+   */
+  public int available() throws IOException
+  {
+    if (isStream)
+      return super.available();
+    if (outBuffer == null || outOffset >= outBuffer.length)
+      nextBlock ();
+    return outBuffer.length - outOffset;
+  }
+
+  /**
+   * Close this input stream. This method merely calls the {@link
+   * java.io.InputStream#close()} method of the underlying input stream.
+   *
+   * @throws java.io.IOException If an I/O exception occurs.
+   */
+  public synchronized void close() throws IOException
+  {
+    super.close();
+  }
+
+  /**
+   * Read a single byte from this input stream; returns -1 on the
+   * end-of-file.
+   *
+   * @return The byte read, or -1 if there are no more bytes.
+   * @throws java.io.IOExcpetion If an I/O exception occurs.
+   */
+  public synchronized int read() throws IOException
+  {
+    if (isStream)
+      {
+        byte[] buf = new byte[1];
+        int in = super.read();
+        if (in == -1)
+          return -1;
+        buf[0] = (byte) in;
+        try
+          {
+            cipher.update(buf, 0, 1, buf, 0);
+          }
+        catch (ShortBufferException shouldNotHappen)
+          {
+            throw new IOException(shouldNotHappen.getMessage());
+          }
+        return buf[0] & 0xFF;
+      }
+
+    if (outBuffer == null || outOffset == outBuffer.length)
+      {
+        if (eof)
+          return -1;
+        nextBlock ();
+      }
+    return outBuffer [outOffset++] & 0xFF;
+  }
+
+  /**
+   * Read bytes into an array, returning the number of bytes read or -1
+   * on the end-of-file.
+   *
+   * @param buf The byte array to read into.
+   * @param off The offset in <code>buf</code> to start.
+   * @param len The maximum number of bytes to read.
+   * @return The number of bytes read, or -1 on the end-of-file.
+   * @throws java.io.IOException If an I/O exception occurs.
+   */
+  public synchronized int read(byte[] buf, int off, int len)
+    throws IOException
+  {
+    // CipherInputStream has this wierd implementation where if
+    // the buffer is null, this call is the same as `skip'.
+    if (buf == null)
+      return (int) skip (len);
+
+    if (isStream)
+      {
+        len = super.read(buf, off, len);
+        if (len > 0)
+          {
+            try
+              {
+                cipher.update(buf, off, len, buf, off);
+              }
+            catch (ShortBufferException shouldNotHappen)
+              {
+                IOException ioe = new IOException ("Short buffer for stream cipher -- this should not happen");
+                ioe.initCause (shouldNotHappen);
+                throw ioe;
+              }
+          }
+        return len;
+      }
+
+    int count = 0;
+    while (count < len)
+      {
+        if (outBuffer == null || outOffset >= outBuffer.length)
+          {
+            if (eof)
+              {
+                if (count == 0)
+                  count = -1;
+                break;
+              }
+            nextBlock();
+          }
+        int l = Math.min (outBuffer.length - outOffset, len - count);
+        System.arraycopy (outBuffer, outOffset, buf, count+off, l);
+        count += l;
+        outOffset += l;
+      }
+    return count;
+  }
+
+  /**
+   * Read bytes into an array, returning the number of bytes read or -1
+   * on the end-of-file.
+   *
+   * @param buf The byte arry to read into.
+   * @return The number of bytes read, or -1 on the end-of-file.
+   * @throws java.io.IOException If an I/O exception occurs.
+   */
+  public int read(byte[] buf) throws IOException
+  {
+    return read(buf, 0, buf.length);
+  }
+
+  /**
+   * Skip a number of bytes. This class only supports skipping as many
+   * bytes as are returned by {@link #available()}, which is the number
+   * of transformed bytes currently in this class's internal buffer.
+   *
+   * @param bytes The number of bytes to skip.
+   * @return The number of bytes skipped.
+   */
+  public long skip(long bytes) throws IOException
+  {
+    if (isStream)
+      {
+        return super.skip(bytes);
+      }
+    long ret = 0;
+    if (bytes > 0 && outBuffer != null && outOffset >= outBuffer.length)
+      {
+        ret = outBuffer.length - outOffset;
+        outOffset = outBuffer.length;
+      }
+    return ret;
+  }
+
+  /**
+   * Returns whether or not this input stream supports the {@link
+   * #mark(long)} and {@link #reset()} methods; this input stream does
+   * not, however, and invariably returns <code>false</code>.
+   *
+   * @return <code>false</code>
+   */
+  public boolean markSupported()
+  {
+    return false;
+  }
+
+  /**
+   * Set the mark. This method is unsupported and is empty.
+   *
+   * @param mark Is ignored.
+   */
+  public void mark(int mark)
+  {
+  }
+
+  /**
+   * Reset to the mark. This method is unsupported and is empty.
+   */
+  public void reset() throws IOException
+  {
+    throw new IOException("reset not supported");
+  }
+
+  // Own methods.
+  // -------------------------------------------------------------------------
+
+  // FIXME: I don't fully understand how this class is supposed to work.
+
+  private void nextBlock() throws IOException
+  {
+    byte[] buf = new byte[cipher.getBlockSize ()];
+    if (Configuration.DEBUG)
+      logger.log (Component.CRYPTO, "getting a new data block");
+
+    try
+      {
+        outBuffer = null;
+        outOffset = 0;
+        while (outBuffer == null)
+          {
+            int l = in.read (buf);
+            if (Configuration.DEBUG)
+              logger.log (Component.CRYPTO, "we read {0} bytes",
+                          Integer.valueOf (l));
+            if (l == -1)
+              {
+                outBuffer = cipher.doFinal ();
+                eof = true;
+                return;
+              }
+
+            outOffset = 0;
+            outBuffer = cipher.update (buf, 0, l);
+          }
+      }
+    catch (BadPaddingException bpe)
+      {
+        IOException ioe = new IOException ("bad padding");
+        ioe.initCause (bpe);
+        throw ioe;
+      }
+    catch (IllegalBlockSizeException ibse)
+      {
+        IOException ioe = new IOException ("illegal block size");
+        ioe.initCause (ibse);
+        throw ioe;
+      }
+    finally
+      {
+        if (Configuration.DEBUG)
+          logger.log (Component.CRYPTO,
+                      "decrypted {0} bytes for reading",
+                      Integer.valueOf (outBuffer.length));
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/CipherOutputStream.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,154 @@
+/* CipherOutputStream.java -- Filters output through a cipher.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+/**
+ * A filtered output stream that transforms data written to it with a
+ * {@link Cipher} before sending it to the underlying output stream.
+ * 
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class CipherOutputStream extends FilterOutputStream
+{
+  /** The underlying cipher. */
+  private Cipher cipher;
+
+  /**
+   * Create a new cipher output stream. The cipher argument must have already
+   * been initialized.
+   * 
+   * @param out The sink for transformed data.
+   * @param cipher The cipher to transform data with.
+   */
+  public CipherOutputStream(OutputStream out, Cipher cipher)
+  {
+    super(out);
+    this.cipher = (cipher != null) ? cipher : new NullCipher();
+  }
+
+  /**
+   * Create a cipher output stream with no cipher.
+   *
+   * @param out The sink for transformed data.
+   */
+  protected CipherOutputStream(OutputStream out)
+  {
+    super(out);
+  }
+
+  /**
+   * Close this output stream, and the sink output stream.
+   * <p>
+   * This method will first invoke the {@link Cipher#doFinal()} method of the
+   * underlying {@link Cipher}, and writes the output of that method to the
+   * sink output stream.
+   * 
+   * @throws IOException If an I/O error occurs, or if an error is caused by
+   *           finalizing the transformation.
+   */
+  public void close() throws IOException
+  {
+    try
+      {
+        out.write(cipher.doFinal());
+        out.flush();
+        out.close();
+      }
+    catch (Exception cause)
+      {
+        IOException ioex = new IOException(String.valueOf(cause));
+        ioex.initCause(cause);
+        throw ioex;
+      }
+  }
+
+  /**
+   * Flush any pending output.
+   *
+   * @throws IOException If an I/O error occurs.
+   */
+  public void flush() throws IOException
+  {
+    out.flush();
+  }
+
+  /**
+   * Write a single byte to the output stream.
+   * 
+   * @param b The next byte.
+   * @throws IOException If an I/O error occurs, or if the underlying cipher is
+   *           not in the correct state to transform data.
+   */
+  public void write(int b) throws IOException
+  {
+    write(new byte[] { (byte) b }, 0, 1);
+  }
+
+  /**
+   * Write a byte array to the output stream.
+   * 
+   * @param buf The next bytes.
+   * @throws IOException If an I/O error occurs, or if the underlying cipher is
+   *           not in the correct state to transform data.
+   */
+  public void write(byte[] buf) throws IOException
+  {
+    write(buf, 0, buf.length);
+  }
+
+  /**
+   * Write a portion of a byte array to the output stream.
+   * 
+   * @param buf The next bytes.
+   * @param off The offset in the byte array to start.
+   * @param len The number of bytes to write.
+   * @throws IOException If an I/O error occurs, or if the underlying cipher is
+   *           not in the correct state to transform data.
+   */
+  public void write(byte[] buf, int off, int len) throws IOException
+  {
+    byte[] b = cipher.update(buf, off, len);
+    if (b != null)
+      out.write(b);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/CipherSpi.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,445 @@
+/* CipherSpi.java -- The cipher service provider interface.
+   Copyright (C) 2004, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.nio.ByteBuffer;
+
+import java.security.AlgorithmParameters;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * <p>This class represents the <i>Service Provider Interface</i>
+ * (<b>SPI</b>) for cryptographic ciphers.</p>
+ *
+ * <p>Providers of cryptographic ciphers must subclass this for every
+ * cipher they implement, implementing the abstract methods as
+ * appropriate, then provide an entry that points to the subclass in
+ * their implementation of {@link java.security.Provider}.</p>
+ *
+ * <p>CipherSpi objects are instantiated along with {@link Cipher}s when
+ * the {@link Cipher#getInstance(java.lang.String)} methods are invoked.
+ * Particular ciphers are referenced by a <i>transformation</i>, which
+ * is a String consisting of the cipher's name or the ciper's name
+ * followed by a mode and a padding. Transformations all follow the
+ * general form:</p>
+ *
+ * <ul>
+ * <li><i>algorithm</i>, or</li>
+ * <li><i>algorithm</i>/<i>mode</i>/<i>padding</i>
+ * </ul>
+ *
+ * <p>Cipher names in the master {@link java.security.Provider} class
+ * may be:</p>
+ *
+ * <ol>
+ * <li>The algorithm's name, which uses a pluggable mode and padding:
+ * <code>Cipher.<i>algorithm</i></code></li>
+ * <li>The algorithm's name and the mode, which uses pluggable padding:
+ * <code>Cipher.<i>algorithm</i>/<i>mode</i></code></li>
+ * <li>The algorithm's name and the padding, which uses a pluggable
+ * mode: <code>Cipher.<i>algorithm</i>//<i>padding</i></code></li>
+ * <li>The algorihtm's name, the mode, and the padding:
+ * <code>Cipher.<i>algorithm</i>/<i>mode</i>/<i>padding</i></code></li>
+ * </ol>
+ *
+ * <p>When any {@link Cipher#getInstance(java.lang.String)} method is
+ * invoked, the following happens if the transformation is simply
+ * <i>algorithm</i>:</p>
+ *
+ * <ol>
+ * <li>If the provider defines a <code>CipherSpi</code> implementation
+ * for "<i>algorithm</i>", return it. Otherwise throw a {@link
+ * java.security.NoSuchAlgorithmException}.</li>
+ * </ol>
+ *
+ * <p>If the transformation is of the form
+ * <i>algorithm</i>/<i>mode</i>/<i>padding</i>:</p>
+ *
+ * <ol>
+ * <li>If the provider defines a <code>CipherSpi</code> subclass for
+ * "<i>algorithm</i>/<i>mode</i>/<i>padding</i>", return it. Otherwise
+ * go to step 2.</li>
+ *
+ * <li>If the provider defines a <code>CipherSpi</code> subclass for
+ * "<i>algorithm</i>/<i>mode</i>", instatiate it, call {@link
+ * #engineSetPadding(java.lang.String)} for the padding name, and return
+ * it. Otherwise go to step 3.</li>
+ *
+ * <li>If the provider defines a <code>CipherSpi</code> subclass for
+ * "<i>algorithm</i>//<i>padding</i>", instatiate it, call {@link
+ * #engineSetMode(java.lang.String)} for the mode name, and return
+ * it. Otherwise go to step 4.</li>
+ *
+ * <li>If the provider defines a <code>CipherSpi</code> subclass for
+ * "<i>algorithm</i>", instatiate it, call {@link
+ * #engineSetMode(java.lang.String)} for the mode name, call {@link
+ * #engineSetPadding(java.lang.String)} for the padding name, and return
+ * it. Otherwise throw a {@link java.security.NoSuchAlgorithmException}.</li>
+ * </ol>
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public abstract class CipherSpi
+{
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new CipherSpi.
+   */
+  public CipherSpi()
+  {
+  }
+
+  // Abstract methods to be implemented by providers.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Finishes a multi-part transformation or transforms a portion of a
+   * byte array, and returns the transformed bytes.
+   *
+   * @param input       The input bytes.
+   * @param inputOffset The index in the input at which to start.
+   * @param inputLength The number of bytes to transform.
+   * @return The transformed bytes in a new array.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the input size is not a multiple of the
+   *         block size.
+   * @throws javax.crypto.BadPaddingException If this instance is being
+   *         used for decryption and the padding is not appropriate for
+   *         this instance's padding scheme.
+   */
+  protected abstract byte[]
+  engineDoFinal(byte[] input, int inputOffset, int inputLength)
+  throws IllegalBlockSizeException, BadPaddingException;
+
+  /**
+   * Finishes a multi-part transformation or transforms a portion of a
+   * byte array, and stores the transformed bytes in the supplied array.
+   *
+   * @param input        The input bytes.
+   * @param inputOffset  The index in the input at which to start.
+   * @param inputLength  The number of bytes to transform.
+   * @param output       The output byte array.
+   * @param outputOffset The index in the output array at which to start.
+   * @return The number of transformed bytes stored in the output array.
+   * @throws javax.crypto.IllegalBlockSizeException If this instance has
+   *         no padding and the input size is not a multiple of the
+   *         block size.
+   * @throws javax.crypto.BadPaddingException If this instance is being
+   *         used for decryption and the padding is not appropriate for
+   *         this instance's padding scheme.
+   * @throws javax.crypto.ShortBufferException If there is not enough
+   *         space in the output array for the transformed bytes.
+   */
+  protected abstract int
+  engineDoFinal(byte[] input, int inputOffset, int inputLength,
+                byte[] output, int outputOffset)
+  throws IllegalBlockSizeException, BadPaddingException, ShortBufferException;
+
+  /**
+   * @since 1.5
+   */
+  protected int engineDoFinal (ByteBuffer input, ByteBuffer output)
+    throws BadPaddingException, IllegalBlockSizeException,
+           ShortBufferException
+  {
+    int total = 0;
+    byte[] inbuf = new byte[256];
+    while (input.hasRemaining ())
+      {
+        int in = Math.min (inbuf.length, input.remaining ());
+        input.get (inbuf, 0, in);
+        byte[] outbuf = new byte[engineGetOutputSize (in)];
+        int out = 0;
+        if (input.hasRemaining ()) // i.e., we have more 'update' calls
+          out = engineUpdate (inbuf, 0, in, outbuf, 0);
+        else
+          out = engineDoFinal (inbuf, 0, in, outbuf, 0);
+        output.put (outbuf, 0, out);
+        total += out;
+      }
+    return total;
+  }
+
+  /**
+   * Returns the block size of the underlying cipher.
+   *
+   * @return The block size.
+   */
+  protected abstract int engineGetBlockSize();
+
+  /**
+   * Returns the initializaiton vector this cipher was initialized with,
+   * if any.
+   *
+   * @return The IV, or null if this cipher uses no IV or if this
+   *         instance has not been initialized yet.
+   */
+  protected abstract byte[] engineGetIV();
+
+  /**
+   * <p>Return the length of the given key in bits.</p>
+   *
+   * <p>For compatibility this method is not declared
+   * <code>abstract</code>, and the default implementation will throw an
+   * {@link java.lang.UnsupportedOperationException}. Concrete
+   * subclasses should override this method to return the correct
+   * value.</p>
+   *
+   * @param key The key to get the size for.
+   * @return The size of the key, in bits.
+   * @throws java.security.InvalidKeyException If the key's length
+   *         cannot be determined by this implementation.
+   */
+  protected int engineGetKeySize(Key key) throws InvalidKeyException
+  {
+    throw new UnsupportedOperationException();
+  }
+
+  /**
+   * <p>Returns the size, in bytes, an output buffer must be for a call
+   * to {@link #engineUpdate(byte[],int,int,byte[],int)} or {@link
+   * #engineDoFinal(byte[],int,int,byte[],int)} to succeed.</p>
+   *
+   * <p>The actual output length may be smaller than the value returned
+   * by this method, as it considers the padding length as well. The
+   * length considered is the argument plus the length of any buffered,
+   * unprocessed bytes.</p>
+   *
+   * @param inputLength The input length, in bytes.
+   * @return The size an output buffer must be.
+   */
+  protected abstract int engineGetOutputSize(int inputLength);
+
+  /**
+   * Returns the parameters that this cipher is using. This may be the
+   * parameters used to initialize this cipher, or it may be parameters
+   * that have been initialized with random values.
+   *
+   * @return This cipher's parameters, or <code>null</code> if this
+   *         cipher does not use parameters.
+   */
+  protected abstract AlgorithmParameters engineGetParameters();
+
+  /**
+   * Initializes this cipher with an operation mode, key, and source of
+   * randomness. If this cipher requires any other initializing data,
+   * for example an initialization vector, then it should generate it
+   * from the provided source of randomness.
+   *
+   * @param opmode The operation mode, one of {@link
+   *        Cipher#DECRYPT_MODE}, {@link Cipher#ENCRYPT_MODE}, {@link
+   *        Cipher#UNWRAP_MODE}, or {@link Cipher#WRAP_MODE}.
+   * @param key    The key to initialize this cipher with.
+   * @param random The source of random bytes to use.
+   * @throws java.security.InvalidKeyException If the given key is not
+   *         acceptable for this implementation.
+   */
+  protected abstract void engineInit(int opmode, Key key, SecureRandom random)
+  throws InvalidKeyException;
+
+  /**
+   * Initializes this cipher with an operation mode, key, parameters,
+   * and source of randomness. If this cipher requires any other
+   * initializing data, for example an initialization vector, then it should
+   * generate it from the provided source of randomness.
+   *
+   * @param opmode The operation mode, one of {@link
+   *        Cipher#DECRYPT_MODE}, {@link Cipher#ENCRYPT_MODE}, {@link
+   *        Cipher#UNWRAP_MODE}, or {@link Cipher#WRAP_MODE}.
+   * @param key    The key to initialize this cipher with.
+   * @param params The algorithm parameters to initialize with.
+   * @param random The source of random bytes to use.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         given parameters are not appropriate for this
+   *         implementation.
+   * @throws java.security.InvalidKeyException If the given key is not
+   *         acceptable for this implementation.
+   */
+  protected abstract void
+  engineInit(int opmode, Key key, AlgorithmParameters params,
+             SecureRandom random)
+  throws InvalidAlgorithmParameterException, InvalidKeyException;
+
+  /**
+   * Initializes this cipher with an operation mode, key, parameters,
+   * and source of randomness. If this cipher requires any other
+   * initializing data, for example an initialization vector, then it should
+   * generate it from the provided source of randomness.
+   *
+   * @param opmode The operation mode, one of {@link
+   *        Cipher#DECRYPT_MODE}, {@link Cipher#ENCRYPT_MODE}, {@link
+   *        Cipher#UNWRAP_MODE}, or {@link Cipher#WRAP_MODE}.
+   * @param key    The key to initialize this cipher with.
+   * @param params The algorithm parameters to initialize with.
+   * @param random The source of random bytes to use.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         given parameters are not appropriate for this
+   *         implementation.
+   * @throws java.security.InvalidKeyException If the given key is not
+   *         acceptable for this implementation.
+   */
+  protected abstract void
+  engineInit(int opmode, Key key, AlgorithmParameterSpec params,
+             SecureRandom random)
+  throws InvalidAlgorithmParameterException, InvalidKeyException;
+
+  /**
+   * Set the mode in which this cipher is to run.
+   *
+   * @param mode The name of the mode to use.
+   * @throws java.security.NoSuchAlgorithmException If the mode is
+   *         not supported by this cipher's provider.
+   */
+  protected abstract void engineSetMode(String mode)
+  throws NoSuchAlgorithmException;
+
+  /**
+   * Set the method with which the input is to be padded.
+   *
+   * @param padding The name of the padding to use.
+   * @throws javax.crypto.NoSuchPaddingException If the padding is not
+   *         supported by this cipher's provider.
+   */
+  protected abstract void engineSetPadding(String padding)
+  throws NoSuchPaddingException;
+
+  /**
+   * <p>Unwraps a previously-wrapped key.</p>
+   *
+   * <p>For compatibility this method is not declared
+   * <code>abstract</code>, and the default implementation will throw an
+   * {@link java.lang.UnsupportedOperationException}.</p>
+   *
+   * @param wrappedKey          The wrapped key.
+   * @param wrappedKeyAlgorithm The name of the algorithm used to wrap
+   *                            this key.
+   * @param wrappedKeyType      The type of wrapped key; one of
+   *                            {@link Cipher#PRIVATE_KEY},
+   *                            {@link Cipher#PUBLIC_KEY}, or
+   *                            {@link Cipher#SECRET_KEY}.
+   * @return The unwrapped key.
+   * @throws java.security.InvalidKeyException If the key cannot be
+   *         unwrapped, or if <code>wrappedKeyType</code> is an
+   *         inappropriate type for the unwrapped key.
+   * @throws java.security.NoSuchAlgorithmException If the
+   *         <code>wrappedKeyAlgorithm</code> is unknown.
+   */
+  protected Key engineUnwrap(byte[] wrappedKey, String wrappedKeyAlgorithm,
+                             int wrappedKeyType)
+  throws InvalidKeyException, NoSuchAlgorithmException
+  {
+    throw new UnsupportedOperationException();
+  }
+
+  /**
+   * Continue with a multi-part transformation, returning a new array of
+   * the transformed bytes.
+   *
+   * @param input       The next input bytes.
+   * @param inputOffset The index in the input array from which to start.
+   * @param inputLength The number of bytes to input.
+   * @return The transformed bytes.
+   */
+  protected abstract byte[]
+  engineUpdate(byte[] input, int inputOffset, int inputLength);
+
+  /**
+   * Continue with a multi-part transformation, storing the transformed
+   * bytes into the specified array.
+   *
+   * @param input        The next input bytes.
+   * @param inputOffset  The index in the input from which to start.
+   * @param inputLength  The number of bytes to input.
+   * @param output       The output buffer.
+   * @param outputOffset The index in the output array from which to start.
+   * @return The transformed bytes.
+   * @throws javax.crypto.ShortBufferException If there is not enough
+   *         space in the output array to store the transformed bytes.
+   */
+  protected abstract int
+  engineUpdate(byte[] input, int inputOffset, int inputLength,
+               byte[] output, int outputOffset)
+  throws ShortBufferException;
+
+  /**
+   * @since 1.5
+   */
+  protected int engineUpdate (ByteBuffer input, ByteBuffer output)
+    throws ShortBufferException
+  {
+    int total = 0;
+    byte[] inbuf = new byte[256];
+    while (input.hasRemaining ())
+      {
+        int in = Math.min (inbuf.length, input.remaining ());
+        input.get (inbuf, 0, in);
+        byte[] outbuf = new byte[engineGetOutputSize (in)];
+        int out = engineUpdate (inbuf, 0, in, outbuf, 0);
+        output.put (outbuf, 0, out);
+        total += out;
+      }
+    return total;
+  }
+
+  /**
+   * <p>Wrap a key.</p>
+   *
+   * <p>For compatibility this method is not declared
+   * <code>abstract</code>, and the default implementation will throw an
+   * {@link java.lang.UnsupportedOperationException}.</p>
+   *
+   * @param key The key to wrap.
+   * @return The wrapped key.
+   * @throws java.security.InvalidKeyException If the key cannot be
+   *         wrapped.
+   */
+  protected byte[] engineWrap(Key key) throws InvalidKeyException, IllegalBlockSizeException
+  {
+    throw new UnsupportedOperationException();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/EncryptedPrivateKeyInfo.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,317 @@
+/* EncryptedPrivateKeyInfo.java -- As in PKCS #8.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.OID;
+import gnu.java.security.der.DER;
+import gnu.java.security.der.DERReader;
+import gnu.java.security.der.DERValue;
+
+import java.io.IOException;
+import java.security.AlgorithmParameters;
+import java.security.NoSuchAlgorithmException;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.PKCS8EncodedKeySpec;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * An implementation of the <code>EncryptedPrivateKeyInfo</code> ASN.1
+ * type as specified in <a
+ * href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-8/">PKCS #8 -
+ * Private-Key Information Syntax Standard</a>.
+ *
+ * <p>The ASN.1 type <code>EncryptedPrivateKeyInfo</code> is:
+ *
+ * <blockquote>
+ * <pre>EncryptedPrivateKeyInfo ::= SEQUENCE {
+ *   encryptionAlgorithm EncryptionAlgorithmIdentifier,
+ *   encryptedData EncryptedData }
+ *
+ * EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
+ *
+ * EncrytpedData ::= OCTET STRING
+ *
+ * AlgorithmIdentifier ::= SEQUENCE {
+ *   algorithm  OBJECT IDENTIFIER,
+ *   parameters ANY DEFINED BY algorithm OPTIONAL }</pre>
+ * </blockquote>
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see java.security.spec.PKCS8EncodedKeySpec
+ */
+public class EncryptedPrivateKeyInfo
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  /** The encrypted data. */
+  private byte[] encryptedData;
+
+  /** The encoded, encrypted key. */
+  private byte[] encoded;
+
+  /** The OID of the encryption algorithm. */
+  private OID algOid;
+
+  /** The encryption algorithm name. */
+  private String algName;
+
+  /** The encryption algorithm's parameters. */
+  private AlgorithmParameters params;
+
+  /** The encoded ASN.1 algorithm parameters. */
+  private byte[] encodedParams;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new <code>EncryptedPrivateKeyInfo</code> object from raw
+   * encrypted data and the parameters used for encryption.
+   *
+   * <p>The <code>encryptedData</code> array is cloned.
+   *
+   * @param params        The encryption algorithm parameters.
+   * @param encryptedData The encrypted key data.
+   * @throws java.lang.IllegalArgumentException If the
+   *         <code>encryptedData</code> array is empty (zero-length).
+   * @throws java.security.NoSuchAlgorithmException If the algorithm
+   *         specified in the parameters is not supported.
+   * @throws java.lang.NullPointerException If <code>encryptedData</code>
+   *         is null.
+   */
+  public EncryptedPrivateKeyInfo(AlgorithmParameters params,
+                                 byte[] encryptedData)
+    throws IllegalArgumentException, NoSuchAlgorithmException
+  {
+    if (encryptedData.length == 0)
+      {
+        throw new IllegalArgumentException("0-length encryptedData");
+      }
+    this.params = params;
+    algName = params.getAlgorithm ();
+    algOid = getOid (algName);
+    this.encryptedData = (byte[]) encryptedData.clone();
+  }
+
+  /**
+   * Create a new <code>EncryptedPrivateKeyInfo</code> from an encoded
+   * representation, parsing the ASN.1 sequence.
+   *
+   * @param encoded The encoded info.
+   * @throws java.io.IOException If parsing the encoded data fails.
+   * @throws java.lang.NullPointerException If <code>encoded</code> is
+   *         null.
+   */
+  public EncryptedPrivateKeyInfo(byte[] encoded)
+    throws IOException
+  {
+    this.encoded = (byte[]) encoded.clone();
+    decode();
+  }
+
+  /**
+   * Create a new <code>EncryptedPrivateKeyInfo</code> from the cipher
+   * name and the encrytpedData.
+   *
+   * <p>The <code>encryptedData</code> array is cloned.
+   *
+   * @param algName       The name of the algorithm (as an object identifier).
+   * @param encryptedData The encrypted key data.
+   * @throws java.lang.IllegalArgumentException If the
+   *         <code>encryptedData</code> array is empty (zero-length).
+   * @throws java.security.NoSuchAlgorithmException If algName is not
+   *         the name of a supported algorithm.
+   * @throws java.lang.NullPointerException If <code>encryptedData</code>
+   *         is null.
+   */
+  public EncryptedPrivateKeyInfo(String algName, byte[] encryptedData)
+    throws IllegalArgumentException, NoSuchAlgorithmException,
+           NullPointerException
+  {
+    if (encryptedData.length == 0)
+      {
+        throw new IllegalArgumentException("0-length encryptedData");
+      }
+    this.algName = algName.toString (); // do NP check
+    this.algOid = getOid (algName);
+    this.encryptedData = (byte[]) encryptedData.clone();
+  }
+
+  /**
+   * Return the OID for the given cipher name.
+   *
+   * @param str The string.
+   * @throws NoSuchAlgorithmException If the OID is not known.
+   */
+  private static OID getOid (final String str)
+    throws NoSuchAlgorithmException
+  {
+    if (str.equalsIgnoreCase ("DSA"))
+      {
+        return new OID ("1.2.840.10040.4.3");
+      }
+    // FIXME add more
+
+    try
+      {
+        return new OID (str);
+      }
+    catch (Throwable t)
+      {
+      }
+    throw new NoSuchAlgorithmException ("cannot determine OID for '" + str + "'");
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return the name of the cipher used to encrypt this key.
+   *
+   * @return The algorithm name.
+   */
+  public String getAlgName()
+  {
+    return algOid.toString();
+  }
+
+  public AlgorithmParameters getAlgParameters()
+  {
+    if (params == null && encodedParams != null)
+      {
+        try
+          {
+            params = AlgorithmParameters.getInstance(getAlgName());
+            params.init(encodedParams);
+          }
+        catch (NoSuchAlgorithmException ignore)
+          {
+            // FIXME throw exception?
+          }
+        catch (IOException ignore)
+          {
+          }
+      }
+    return params;
+  }
+
+  public synchronized byte[] getEncoded() throws IOException
+  {
+    if (encoded == null) encode();
+    return (byte[]) encoded.clone();
+  }
+
+  public byte[] getEncryptedData()
+  {
+    return encryptedData;
+  }
+
+  public PKCS8EncodedKeySpec getKeySpec(Cipher cipher)
+    throws InvalidKeySpecException
+  {
+    try
+      {
+        return new PKCS8EncodedKeySpec(cipher.doFinal(encryptedData));
+      }
+    catch (Exception x)
+      {
+        throw new InvalidKeySpecException(x.toString());
+      }
+  }
+
+  // Own methods.
+  // -------------------------------------------------------------------------
+
+  private void decode() throws IOException
+  {
+    DERReader der = new DERReader(encoded);
+    DERValue val = der.read();
+    if (val.getTag() != DER.SEQUENCE)
+      throw new IOException("malformed EncryptedPrivateKeyInfo");
+    val = der.read();
+    if (val.getTag() != DER.SEQUENCE)
+      throw new IOException("malformed AlgorithmIdentifier");
+    int algpLen = val.getLength();
+    DERValue oid = der.read();
+    if (oid.getTag() != DER.OBJECT_IDENTIFIER)
+      throw new IOException("malformed AlgorithmIdentifier");
+    algOid = (OID) oid.getValue();
+    if (algpLen == 0)
+      {
+        val = der.read();
+        if (val.getTag() != 0)
+          {
+            encodedParams = val.getEncoded();
+            der.read();
+          }
+      }
+    else if (oid.getEncodedLength() < val.getLength())
+      {
+        val = der.read();
+        encodedParams = val.getEncoded();
+      }
+    val = der.read();
+    if (val.getTag() != DER.OCTET_STRING)
+      throw new IOException("malformed AlgorithmIdentifier");
+    encryptedData = (byte[]) val.getValue();
+  }
+
+  private void encode() throws IOException
+  {
+    List algId = new ArrayList(2);
+    algId.add(new DERValue(DER.OBJECT_IDENTIFIER, algOid));
+    getAlgParameters();
+    if (params != null)
+      {
+        algId.add (DERReader.read (params.getEncoded()));
+      }
+    else
+      {
+        algId.add (new DERValue (DER.NULL, null));
+      }
+    List epki = new ArrayList(2);
+    epki.add(new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, algId));
+    epki.add(new DERValue(DER.OCTET_STRING, encryptedData));
+    encoded = new DERValue(DER.CONSTRUCTED|DER.SEQUENCE, epki).getEncoded();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/ExemptionMechanism.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,274 @@
+/* ExemptionMechanism.java -- Generic crypto-weakening mechanism.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.Engine;
+
+import java.lang.reflect.InvocationTargetException;
+import java.security.AlgorithmParameters;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.Security;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * An exemption mechanism, which will conditionally allow cryptography
+ * where it is not normally allowed, implements things such as <i>key
+ * recovery</i>, <i>key weakening</i>, or <i>key escrow</i>.
+ *
+ * <p><b>Implementation note</b>: this class is present for
+ * API-compatibility only; it is not actually used anywhere in this library
+ * and this library does not, in general, support crypto weakening.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class ExemptionMechanism
+{
+
+  // Constants and fields.
+  // ------------------------------------------------------------------------
+
+  private static final String SERVICE = "ExemptionMechanism";
+  private ExemptionMechanismSpi emSpi;
+  private Provider provider;
+  private String mechanism;
+  private boolean virgin;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  protected ExemptionMechanism(ExemptionMechanismSpi emSpi, Provider provider,
+                               String mechanism)
+  {
+    this.emSpi = emSpi;
+    this.provider = provider;
+    this.mechanism = mechanism;
+    virgin = true;
+  }
+
+  /**
+   * Create an instance of <code>ExemptionMechanism</code> for a designated
+   * <code>mechanism</code> from the first Security Provider offering it.
+   * 
+   * @param mechanism the name of the exemption mechanism to create.
+   * @return a newly created instance of <code>ExemptionMechanism</code>.
+   * @throws IllegalArgumentException if the provider is null.
+   * @throws NoSuchAlgorithmException if no such exemption mechanism is
+   *           available from any known Security Provider.
+   * @throws IllegalArgumentException if <code>mechanism</code> is
+   *           <code>null</code> or is an empty string.
+   */
+  public static final ExemptionMechanism getInstance(String mechanism)
+      throws NoSuchAlgorithmException
+  {
+    Provider[] p = Security.getProviders();
+    NoSuchAlgorithmException lastException = null;
+    for (int i = 0; i < p.length; i++)
+      try
+        {
+          return getInstance(mechanism, p[i]);
+        }
+      catch (NoSuchAlgorithmException x)
+        {
+          lastException = x;
+        }
+    if (lastException != null)
+      throw lastException;
+    throw new NoSuchAlgorithmException(mechanism);
+  }
+
+  /**
+   * Create an instance of <code>ExemptionMechanism</code> for a designated
+   * <code>mechanism</code> from a named <code>provider</code>.
+   * 
+   * @param mechanism the name of the exemption mechanism to create.
+   * @param provider the security provider to provide the exemption
+   *          <code>mechanism</code>.
+   * @return a newly created instance of <code>ExemptionMechanism</code>.
+   * @throws NoSuchAlgorithmException if no such exemption mechanism is
+   *           available from the named <code>provider</code>.
+   * @throws NoSuchProviderException if no Security Provider with the designated
+   *           name is known to the underlying JVM.
+   * @throws IllegalArgumentException if either <code>mechanism</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>mechanism</code> is an empty string.
+   */
+  public static final ExemptionMechanism getInstance(String mechanism,
+                                                     String provider)
+      throws NoSuchAlgorithmException, NoSuchProviderException
+  {
+    if (provider == null)
+      throw new IllegalArgumentException("provider MUST NOT be null");
+    Provider p = Security.getProvider(provider);
+    if (p == null)
+      throw new NoSuchProviderException(provider);
+    return getInstance(mechanism, p);
+  }
+
+  /**
+   * Create an instance of <code>ExemptionMechanism</code> for a designated
+   * <code>mechanism</code> from a designated <code>provider</code>.
+   * 
+   * @param mechanism the name of the exemption mechanism to create.
+   * @param provider the security provider to provide the exemption
+   *          <code>mechanism</code>.
+   * @return a newly created instance of <code>ExemptionMechanism</code>.
+   * @throws NoSuchAlgorithmException if an exemption mechanism could not be
+   *           created.
+   * @throws IllegalArgumentException if either <code>mechanism</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>mechanism</code> is an empty string.
+   */
+  public static final ExemptionMechanism getInstance(String mechanism,
+                                                     Provider provider)
+      throws NoSuchAlgorithmException
+  {
+    StringBuilder sb = new StringBuilder("ExemptionMechanism [")
+        .append(mechanism).append("] from provider[")
+        .append(provider).append("] could not be created");
+    Throwable cause;
+    try
+      {
+        Object spi = Engine.getInstance(SERVICE, mechanism, provider);
+        return new ExemptionMechanism((ExemptionMechanismSpi) spi,
+                                      provider,
+                                      mechanism);
+      }
+    catch (InvocationTargetException x)
+      {
+        cause = x.getCause();
+        if (cause instanceof NoSuchAlgorithmException)
+          throw (NoSuchAlgorithmException) cause;
+        if (cause == null)
+          cause = x;
+      }
+    catch (ClassCastException x)
+      {
+        cause = x;
+      }
+    NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString());
+    x.initCause(cause);
+    throw x;
+  }
+
+  public final byte[] genExemptionBlob()
+    throws IllegalStateException, ExemptionMechanismException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    return emSpi.engineGenExemptionBlob();
+  }
+
+  public final int genExemptionBlob(byte[] output)
+    throws IllegalStateException, ExemptionMechanismException,
+           ShortBufferException
+  {
+    return genExemptionBlob(output, 0);
+  }
+
+  public final int genExemptionBlob(byte[] output, int outputOffset)
+    throws IllegalStateException, ExemptionMechanismException,
+           ShortBufferException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    return emSpi.engineGenExemptionBlob(output, outputOffset);
+  }
+
+  public final String getName()
+  {
+    return mechanism;
+  }
+
+  public final int getOutputSize(int inputLength) throws IllegalStateException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    return emSpi.engineGetOutputSize(inputLength);
+  }
+
+  public final Provider getProvider()
+  {
+    return provider;
+  }
+
+  public final void init(Key key)
+    throws ExemptionMechanismException, InvalidKeyException
+  {
+    emSpi.engineInit(key);
+    virgin = false;
+  }
+
+  public final void init(Key key, AlgorithmParameters params)
+    throws ExemptionMechanismException, InvalidAlgorithmParameterException,
+           InvalidKeyException
+  {
+    emSpi.engineInit(key, params);
+    virgin = false;
+  }
+
+  public final void init(Key key, AlgorithmParameterSpec params)
+    throws ExemptionMechanismException, InvalidAlgorithmParameterException,
+           InvalidKeyException
+  {
+    emSpi.engineInit(key, params);
+    virgin = false;
+  }
+
+  public final boolean isCryptoAllowed(Key key)
+    throws ExemptionMechanismException
+  {
+    return true;
+  }
+
+  protected void finalize()
+  {
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/ExemptionMechanismException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+/* ExemptionMechanismException -- An error in an exemption mechanism.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.GeneralSecurityException;
+
+/**
+ * Signals a general exception in an {@link ExemptionMechanism}.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class ExemptionMechanismException extends GeneralSecurityException
+{
+
+  // Constant.
+  // ------------------------------------------------------------------------
+
+  /** Compatible with JDK1.4. */
+  private static final long serialVersionUID = 1572699429277957109L;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new exception with no detail message.
+   */
+  public ExemptionMechanismException()
+  {
+    super();
+  }
+
+  /**
+   * Create a new exception with a detail message.
+   *
+   * @param message The detail message.
+   */
+  public ExemptionMechanismException(String message)
+  {
+    super(message);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/ExemptionMechanismSpi.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,149 @@
+/* ExemptionMechanismSpi.java -- Exemption mechanism service provider interface.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.AlgorithmParameters;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * The <i>Service Provider Interface</i> (<b>SPI</b>) for the {@link
+ * ExemptionMechanism} class.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public abstract class ExemptionMechanismSpi
+{
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new exemption mechanism SPI.
+   */
+  public ExemptionMechanismSpi()
+  {
+  }
+
+  // Abstract instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return a key blob for the key that this mechanism was initialized
+   * with.
+   *
+   * @return The key blob.
+   * @throws javax.crypto.ExemptionMechanismException If generating the
+   *         blob fails.
+   */
+  protected abstract byte[] engineGenExemptionBlob()
+    throws ExemptionMechanismException;
+
+  /**
+   * Generate a key blob for the key that this mechanism was initialized
+   * with, storing it into the given byte array.
+   *
+   * @param output       The destination for the key blob.
+   * @param outputOffset The index in the output array to start.
+   * @return The size of the key blob.
+   * @throws javax.crypto.ExemptionMechanismException If generating the
+   *         blob fails.
+   * @throws javax.crypto.ShortBufferException If the output array is
+   *         not large enough for the key blob.
+   */
+  protected abstract int engineGenExemptionBlob(byte[] output, int outputOffset)
+    throws ExemptionMechanismException, ShortBufferException;
+
+  /**
+   * Get the size of the output blob given an input key size. The actual
+   * blob may be shorter than the value returned by this method. Both
+   * values are in bytes.
+   *
+   * @param inputLength The input size.
+   * @return The output size.
+   */
+  protected abstract int engineGetOutputSize(int inputLength);
+
+  /**
+   * Initialize this mechanism with a key.
+   *
+   * @param key The key.
+   * @throws javax.crypto.ExemptionMechanismException If generating the
+   *         blob fails.
+   * @throws java.security.InvalidKeyException If the supplied key
+   *         cannot be used.
+   */
+  protected abstract void engineInit(Key key)
+    throws ExemptionMechanismException, InvalidKeyException;
+
+  /**
+   * Initialize this mechanism with a key and parameters.
+   *
+   * @param key    The key.
+   * @param params The parameters.
+   * @throws javax.crypto.ExemptionMechanismException If generating the
+   *         blob fails.
+   * @throws java.security.InvalidAlgorithmParameterExceptin If the
+   *         supplied parameters are inappropriate.
+   * @throws java.security.InvalidKeyException If the supplied key
+   *         cannot be used.
+   */
+  protected abstract void engineInit(Key key, AlgorithmParameters params)
+    throws ExemptionMechanismException, InvalidAlgorithmParameterException,
+           InvalidKeyException;
+
+  /**
+   * Initialize this mechanism with a key and parameters.
+   *
+   * @param key    The key.
+   * @param params The parameters.
+   * @throws javax.crypto.ExemptionMechanismException If generating the
+   *         blob fails.
+   * @throws java.security.InvalidAlgorithmParameterExceptin If the
+   *         supplied parameters are inappropriate.
+   * @throws java.security.InvalidKeyException If the supplied key
+   *         cannot be used.
+   */
+  protected abstract void engineInit(Key key, AlgorithmParameterSpec params)
+    throws ExemptionMechanismException, InvalidAlgorithmParameterException,
+           InvalidKeyException;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/IllegalBlockSizeException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+/* IllegalBlockSizeException.java -- Signals illegal block sizes.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.GeneralSecurityException;
+
+/**
+ * This exception is thrown when finishing encryption without padding or
+ * decryption and the input is not a multiple of the cipher's block
+ * size.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class IllegalBlockSizeException extends GeneralSecurityException
+{
+
+  // Constant.
+  // ------------------------------------------------------------------------
+
+  /** Serialization constant. */
+  private static final long serialVersionUID = -1965144811953540392L;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  public IllegalBlockSizeException()
+  {
+    super();
+  }
+
+  public IllegalBlockSizeException(String message)
+  {
+    super(message);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/KeyAgreement.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,378 @@
+/* KeyAgreement.java -- Engine for key agreement methods.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.Engine;
+
+import java.lang.reflect.InvocationTargetException;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * Key agreement is a method in which two or more parties may agree on a
+ * secret key for symmetric cryptography or message authentication
+ * without transmitting any secrets in the clear. Key agreement
+ * algorithms typically use a public/private <i>key pair</i>, and the
+ * public key (along with some additional information) is sent across
+ * untrusted networks.
+ *
+ * <p>The most common form of key agreement used today is the
+ * <i>Diffie-Hellman key exchange algorithm</i>, described in <a
+ * href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-3/">PKCS #3 -
+ * Diffie Hellman Key Agreement Standard</a>.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see KeyGenerator
+ * @see SecretKey
+ */
+public class KeyAgreement
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  private static final String SERVICE = "KeyAgreement";
+
+  /** The underlying key agreement implementation. */
+  private KeyAgreementSpi kaSpi;
+
+  /** The provider of this implementation. */
+  private Provider provider;
+
+  /** The name of this instance's algorithm. */
+  private String algorithm;
+
+  /** Singnals whether or not this instance has been initialized. */
+  private boolean virgin;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  protected KeyAgreement(KeyAgreementSpi kaSpi, Provider provider,
+                         String algorithm)
+  {
+    this.kaSpi = kaSpi;
+    this.provider = provider;
+    this.algorithm = algorithm;
+    virgin = true;
+  }
+
+  /**
+   * Get an implementation of an algorithm from the first provider that
+   * implements it.
+   * 
+   * @param algorithm The name of the algorithm to get.
+   * @return The proper KeyAgreement instacne, if found.
+   * @throws NoSuchAlgorithmException If the specified algorithm is not
+   *           implemented by any installed provider.
+   * @throws IllegalArgumentException if <code>algorithm</code> is
+   *           <code>null</code> or is an empty string.
+   */
+  public static final KeyAgreement getInstance(String algorithm)
+      throws NoSuchAlgorithmException
+  {
+    Provider[] p = Security.getProviders();
+    NoSuchAlgorithmException lastException = null;
+    for (int i = 0; i < p.length; i++)
+      try
+        {
+          return getInstance(algorithm, p[i]);
+        }
+      catch (NoSuchAlgorithmException x)
+        {
+          lastException = x;
+        }
+    if (lastException != null)
+      throw lastException;
+    throw new NoSuchAlgorithmException(algorithm);
+  }
+
+  /**
+   * Return an implementation of an algorithm from a named provider.
+   * 
+   * @param algorithm The name of the algorithm to create.
+   * @param provider The name of the provider from which to get the
+   *          implementation.
+   * @return The proper KeyAgreement instance, if found.
+   * @throws NoSuchAlgorithmException If the named provider does not implement
+   *           the algorithm.
+   * @throws NoSuchProviderException If the named provider does not exist.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final KeyAgreement getInstance(String algorithm, String provider)
+      throws NoSuchAlgorithmException, NoSuchProviderException
+  {
+    if (provider == null)
+      throw new IllegalArgumentException("provider MUST NOT be null");
+    Provider p = Security.getProvider(provider);
+    if (p == null)
+      throw new NoSuchProviderException(provider);
+    return getInstance(algorithm, p);
+  }
+
+  /**
+   * Return an implementation of an algorithm from a specific provider.
+   * 
+   * @param algorithm The name of the algorithm to get.
+   * @param provider The provider from which to get the implementation.
+   * @return The proper KeyAgreement instance, if found.
+   * @throws NoSuchAlgorithmException If this provider does not implement the
+   *           algorithm.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final KeyAgreement getInstance(String algorithm,
+                                               Provider provider)
+    throws NoSuchAlgorithmException
+  {
+    StringBuilder sb = new StringBuilder("KeyAgreement algorithm [")
+        .append(algorithm).append("] from provider[")
+        .append(provider).append("] could not be created");
+    Throwable cause;
+    try
+      {
+        Object spi = Engine.getInstance(SERVICE, algorithm, provider);
+        return new KeyAgreement((KeyAgreementSpi) spi, provider, algorithm);
+      }
+    catch (InvocationTargetException x)
+      {
+        cause = x.getCause();
+        if (cause instanceof NoSuchAlgorithmException)
+          throw (NoSuchAlgorithmException) cause;
+        if (cause == null)
+          cause = x;
+      }
+    catch (ClassCastException x)
+      {
+        cause = x;
+      }
+    NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString());
+    x.initCause(cause);
+    throw x;
+  }
+
+  /**
+   * Do a phase in the key agreement. The number of times this method is
+   * called depends upon the algorithm and the number of parties
+   * involved, but must be called at least once with the
+   * <code>lastPhase</code> flag set to <code>true</code>.
+   *
+   * @param key       The key for this phase.
+   * @param lastPhase Should be <code>true</code> if this will be the
+   *        last phase before generating the shared secret.
+   * @return The intermediate result, or <code>null</code> if there is
+   *         no intermediate result.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized.
+   * @throws java.security.InvalidKeyException If the key is
+   *         inappropriate for this algorithm.
+   */
+  public final Key doPhase(Key key, boolean lastPhase)
+    throws IllegalStateException, InvalidKeyException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    return kaSpi.engineDoPhase(key, lastPhase);
+  }
+
+  /**
+   * Generate the shared secret in a new byte array.
+   *
+   * @return The shared secret.
+   * @throws java.lang.IllegalStateException If this instnace has not
+   *         been initialized, or if not enough calls to
+   *         <code>doPhase</code> have been made.
+   */
+  public final byte[] generateSecret() throws IllegalStateException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    return kaSpi.engineGenerateSecret();
+  }
+
+  /**
+   * Generate the shared secret and store it into the supplied array.
+   *
+   * @param sharedSecret The array in which to store the secret.
+   * @param offset       The index in <code>sharedSecret</code> to start
+   *                     storing data.
+   * @return The length of the shared secret, in bytes.
+   * @throws java.lang.IllegalStateException If this instnace has not
+   *         been initialized, or if not enough calls to
+   *         <code>doPhase</code> have been made.
+   * @throws javax.crypto.ShortBufferException If the supplied array is
+   *         not large enough to store the result.
+   */
+  public final int generateSecret(byte[] sharedSecret, int offset)
+  throws IllegalStateException, ShortBufferException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    return kaSpi.engineGenerateSecret(sharedSecret, offset);
+  }
+
+  /**
+   * Generate the shared secret and return it as an appropriate {@link
+   * SecretKey}.
+   *
+   * @param algorithm The secret key's algorithm.
+   * @return The shared secret as a secret key.
+   * @throws java.lang.IllegalStateException If this instnace has not
+   *         been initialized, or if not enough calls to
+   *         <code>doPhase</code> have been made.
+   * @throws java.security.InvalidKeyException If the shared secret
+   *         cannot be used to make a {@link SecretKey}.
+   * @throws java.security.NoSuchAlgorithmException If the specified
+   *         algorithm does not exist.
+   */
+  public final SecretKey generateSecret(String algorithm)
+  throws IllegalStateException, InvalidKeyException, NoSuchAlgorithmException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    return kaSpi.engineGenerateSecret(algorithm);
+  }
+
+  /**
+   * Return the name of this key-agreement algorithm.
+   *
+   * @return The algorithm name.
+   */
+  public final String getAlgorithm()
+  {
+    return algorithm;
+  }
+
+  /**
+   * Return the provider of the underlying implementation.
+   *
+   * @return The provider.
+   */
+  public final Provider getProvider()
+  {
+    return provider;
+  }
+
+  /**
+   * Initialize this key agreement with a key. This method will use the
+   * highest-priority {@link java.security.SecureRandom} as its source
+   * of randomness.
+   *
+   * @param key The key, usually the user's private key.
+   * @throws java.security.InvalidKeyException If the supplied key is
+   *         not appropriate.
+   */
+  public final void init(Key key) throws InvalidKeyException
+  {
+    init(key, new SecureRandom());
+  }
+
+  /**
+   * Initialize this key agreement with a key and a source of
+   * randomness.
+   *
+   * @param key    The key, usually the user's private key.
+   * @param random The source of randomness.
+   * @throws java.security.InvalidKeyException If the supplied key is
+   *         not appropriate.
+   */
+  public final void init(Key key, SecureRandom random)
+    throws InvalidKeyException
+  {
+    kaSpi.engineInit(key, random);
+    virgin = false; // w00t!
+  }
+
+  /**
+   * Initialize this key agreement with a key and parameters. This
+   * method will use the highest-priority {@link
+   * java.security.SecureRandom} as its source of randomness.
+   *
+   * @param key    The key, usually the user's private key.
+   * @param params The algorithm parameters.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are not appropriate.
+   * @throws java.security.InvalidKeyException If the supplied key is
+   *         not appropriate.
+   */
+  public final void init(Key key, AlgorithmParameterSpec params)
+    throws InvalidAlgorithmParameterException, InvalidKeyException
+  {
+    init(key, params, new SecureRandom());
+  }
+
+  /**
+   * Initialize this key agreement with a key, parameters, and source of
+   * randomness.
+   *
+   * @param key    The key, usually the user's private key.
+   * @param params The algorithm parameters.
+   * @param random The source of randomness.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are not appropriate.
+   * @throws java.security.InvalidKeyException If the supplied key is
+   *         not appropriate.
+   */
+  public final void init(Key key, AlgorithmParameterSpec params,
+                         SecureRandom random)
+    throws InvalidAlgorithmParameterException, InvalidKeyException
+  {
+    kaSpi.engineInit(key, params, random);
+    virgin = false; // w00t!
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/KeyAgreementSpi.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,160 @@
+/* KeyAgreementSpi.java -- The key agreement service provider interface.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.SecureRandom;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * This is the <i>Service Provider Interface</i> (<b>SPI</b>) for the
+ * {@link javax.crypto.KeyAgreement} class.
+ *
+ * <p>Providers wishing to implement a key agreement algorithm must
+ * subclass this and provide an appropriate implementation for all the
+ * abstract methods below, and provide an appropriate entry in the
+ * master {@link java.security.Provider} class (the service name for key
+ * agreement algorithms is <code>"KeyAgreement"</code>).
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see KeyAgreement
+ * @see SecretKey
+ */
+public abstract class KeyAgreementSpi
+{
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new KeyAgreementSpi instance.
+   */
+  public KeyAgreementSpi()
+  {
+  }
+
+  // Abstract instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Do a phase in the key agreement.
+   *
+   * @param key The key to use for this phase.
+   * @param lastPhase <code>true</code> if this call should be the last
+   *        phase.
+   * @return The intermediate result, or <code>null</code> if there is
+   *         no intermediate result.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized.
+   * @throws java.security.InvalidKeyException If the supplied key is
+   *         not appropriate.
+   */
+  protected abstract Key engineDoPhase(Key key, boolean lastPhase)
+    throws IllegalStateException, InvalidKeyException;
+
+  /**
+   * Generate the shared secret in a new byte array.
+   *
+   * @return The shared secret in a new byte array.
+   * @throws java.lang.IllegalStateException If this key agreement is
+   *         not ready to generate the secret.
+   */
+  protected abstract byte[] engineGenerateSecret()
+    throws IllegalStateException;
+
+  /**
+   * Generate the shared secret, storing it into the specified array.
+   *
+   * @param sharedSecret The byte array in which to store the secret.
+   * @param offset       The offset into the byte array to start.
+   * @return The size of the shared secret.
+   * @throws java.lang.IllegalStateException If this key agreement is
+   *         not ready to generate the secret.
+   * @throws javax.crypto.ShortBufferException If there is not enough
+   *         space in the supplied array for the shared secret.
+   */
+  protected abstract int engineGenerateSecret(byte[] sharedSecret, int offset)
+    throws IllegalStateException, ShortBufferException;
+
+  /**
+   * Generate the shared secret and return it as a {@link SecretKey}.
+   *
+   * @param algorithm The algorithm with which to generate the secret key.
+   * @return The shared secret as a secret key.
+   * @throws java.lang.IllegalStateException If this key agreement is
+   *         not ready to generate the secret.
+   * @throws java.security.InvalidKeyException If the shared secret
+   *         cannot be made into a {@link SecretKey}.
+   * @throws java.security.NoSuchAlgorithmException If
+   *         <code>algorithm</code> cannot be found.
+   */
+  protected abstract SecretKey engineGenerateSecret(String algorithm)
+    throws IllegalStateException, InvalidKeyException, NoSuchAlgorithmException;
+
+  /**
+   * Initialize this key agreement with a key, parameters, and source of
+   * randomness.
+   *
+   * @param key    The key to initialize with, usually a private key.
+   * @param params The parameters to initialize with.
+   * @param random The source of randomness to use.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are inappropriate.
+   * @throws java.security.InvalidKeyException If the supplied key is
+   *         inappropriate.
+   */
+  protected abstract void engineInit(Key key, AlgorithmParameterSpec params,
+                                     SecureRandom random)
+    throws InvalidAlgorithmParameterException, InvalidKeyException;
+
+  /**
+   * Initialize this key agreement with a key and source of randomness.
+   *
+   * @param key    The key to initialize with, usually a private key.
+   * @param random The source of randomness to use.
+   * @throws java.security.InvalidKeyException If the supplied key is
+   *         inappropriate.
+   */
+  protected abstract void engineInit(Key key, SecureRandom random)
+    throws InvalidKeyException;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/KeyGenerator.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,314 @@
+/* KeyGenerator.java -- Interface to a symmetric key generator.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.Engine;
+
+import java.lang.reflect.InvocationTargetException;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.SecureRandom;
+import java.security.Security;
+import java.security.spec.AlgorithmParameterSpec;
+
+import sun.security.internal.spec.TlsKeyMaterialParameterSpec;
+import sun.security.internal.spec.TlsMasterSecretParameterSpec;
+import sun.security.internal.spec.TlsPrfParameterSpec;
+import sun.security.internal.spec.TlsRsaPremasterSecretParameterSpec;
+
+/**
+ * A generic producer of keys for symmetric cryptography. The keys
+ * returned may be simple wrappers around byte arrays, or, if the
+ * target cipher requires them, more complex objects.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see Cipher
+ * @see Mac
+ */
+public class KeyGenerator
+{
+
+  // Constants and fields.
+  // ------------------------------------------------------------------------
+
+  private static final String SERVICE = "KeyGenerator";
+
+  /** The underlying generator implementation. */
+  private KeyGeneratorSpi kgSpi;
+
+  /** The provider of the implementation. */
+  private Provider provider;
+
+  /** The name of the algorithm. */
+  private String algorithm;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new key generator.
+   *
+   * @param kgSpi     The underlying generator.
+   * @param provider  The provider of this implementation.
+   * @param algorithm The algorithm's name.
+   */
+  protected KeyGenerator(KeyGeneratorSpi kgSpi, Provider provider,
+                         String algorithm)
+  {
+    this.kgSpi = kgSpi;
+    this.provider = provider;
+    this.algorithm = algorithm;
+  }
+
+  /**
+   * Create a new key generator, returning the first available implementation.
+   * 
+   * @param algorithm The generator algorithm name.
+   * @throws NoSuchAlgorithmException If the specified algorithm does not exist.
+   * @throws IllegalArgumentException if <code>algorithm</code> is
+   *           <code>null</code> or is an empty string.
+   */
+  public static final KeyGenerator getInstance(String algorithm)
+      throws NoSuchAlgorithmException
+  {
+    Provider[] p = Security.getProviders();
+    NoSuchAlgorithmException lastException = null;
+    for (int i = 0; i < p.length; i++)
+      try
+        {
+          return getInstance(algorithm, p[i]);
+        }
+      catch (NoSuchAlgorithmException x)
+        {
+          lastException = x;
+        }
+    if (lastException != null)
+      throw lastException;
+    throw new NoSuchAlgorithmException(algorithm);
+  }
+
+  /**
+   * Create a new key generator from the named provider.
+   * 
+   * @param algorithm The generator algorithm name.
+   * @param provider The name of the provider to use.
+   * @return An appropriate key generator, if found.
+   * @throws NoSuchAlgorithmException If the specified algorithm is not
+   *           implemented by the named provider.
+   * @throws NoSuchProviderException If the named provider does not exist.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final KeyGenerator getInstance(String algorithm, String provider)
+      throws NoSuchAlgorithmException, NoSuchProviderException
+  {
+    if (provider == null)
+      throw new IllegalArgumentException("provider MUST NOT be null");
+    Provider p = Security.getProvider(provider);
+    if (p == null)
+      throw new NoSuchProviderException(provider);
+    return getInstance(algorithm, p);
+  }
+
+  /**
+   * Create a new key generator from the supplied provider.
+   * 
+   * @param algorithm The generator algorithm name.
+   * @param provider The provider to use.
+   * @return An appropriate key generator, if found.
+   * @throws NoSuchAlgorithmException If the specified algorithm is not
+   *           implemented by the provider.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final KeyGenerator getInstance(String algorithm,
+                                               Provider provider)
+      throws NoSuchAlgorithmException
+  {
+    StringBuilder sb = new StringBuilder("KeyGenerator algorithm [")
+        .append(algorithm).append("] from provider[")
+        .append(provider).append("] could not be created");
+    Throwable cause;
+    try
+      {
+        Object spi = Engine.getInstance(SERVICE, algorithm, provider);
+        KeyGenerator instance = new KeyGenerator((KeyGeneratorSpi) spi,
+                                                 provider,
+                                                 algorithm);
+        instance.init(new SecureRandom());
+        return instance;
+      }
+    catch (InvocationTargetException x)
+      {
+        cause = x.getCause();
+        if (cause instanceof NoSuchAlgorithmException)
+          throw (NoSuchAlgorithmException) cause;
+        if (cause == null)
+          cause = x;
+      }
+    catch (ClassCastException x)
+      {
+        cause = x;
+      }
+    NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString());
+    x.initCause(cause);
+    throw x;
+  }
+
+  /**
+   * Generate a key.
+   *
+   * @return The new key.
+   */
+  public final SecretKey generateKey()
+  {
+    return kgSpi.engineGenerateKey();
+  }
+
+  /**
+   * Return the name of this key generator.
+   *
+   * @return The algorithm name.
+   */
+  public final String getAlgorithm()
+  {
+    return algorithm;
+  }
+
+  /**
+   * Return the provider of the underlying implementation.
+   *
+   * @return The provider.
+   */
+  public final Provider getProvider()
+  {
+    return provider;
+  }
+
+  /**
+   * Initialize this key generator with a set of parameters; the
+   * highest-priority {@link java.security.SecureRandom} implementation
+   * will be used.
+   *
+   * @param params The algorithm parameters.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are inapproprate.
+   */
+  public final void init(AlgorithmParameterSpec params)
+    throws InvalidAlgorithmParameterException
+  {
+    init(params, new SecureRandom());
+  }
+
+  /**
+   * Initialize this key generator with a set of parameters and a source
+   * of randomness.
+   *
+   * @param params The algorithm parameters.
+   * @param random The source of randomness.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         supplied parameters are inapproprate.
+   */
+  public final void init(AlgorithmParameterSpec params, SecureRandom random)
+    throws InvalidAlgorithmParameterException
+  {
+    kgSpi.engineInit(params, random);
+  }
+
+  /**
+   * Initialize this key generator with a key size (in bits); the
+   * highest-priority {@link java.security.SecureRandom} implementation
+   * will be used.
+   *
+   * @param keySize The target key size, in bits.
+   * @throws java.security.InvalidParameterException If the
+   *         key size is unsupported.
+   */
+  public final void init(int keySize)
+  {
+    init(keySize, new SecureRandom());
+  }
+
+  /**
+   * Initialize this key generator with a key size (in bits) and a
+   * source of randomness.
+   *
+   * @param keySize The target key size, in bits.
+   * @param random  The source of randomness.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         key size is unsupported.
+   */
+  public final void init(int keySize, SecureRandom random)
+  {
+    kgSpi.engineInit(keySize, random);
+  }
+
+  /**
+   * Initialize this key generator with a source of randomness. The
+   * implementation-specific default parameters (such as key size) will
+   * be used.
+   *
+   * @param random The source of randomness.
+   */
+  public final void init(SecureRandom random)
+  {
+    kgSpi.engineInit(random);
+  }
+  
+  public final void init(TlsPrfParameterSpec spec)
+  {
+  }
+  
+  public final void init(TlsMasterSecretParameterSpec spec)
+  {
+  }
+  
+  public final void init(TlsKeyMaterialParameterSpec spec)
+  {
+  }
+  
+  public final void init(TlsRsaPremasterSecretParameterSpec spec)
+  {
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/KeyGeneratorSpi.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,112 @@
+/* KeyGeneratorSpi.java -- The key generator service provider interface.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.InvalidAlgorithmParameterException;
+import java.security.SecureRandom;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * The <i>Service Provider Interface</i> (<b>SPI</b>) for the {@link
+ * KeyGenerator} class.
+ *
+ * <p>Providers wishing to implement a key generator must subclass this
+ * and provide an appropriate implementation for all the abstract
+ * methods below, and provide an appropriate entry in the master {@link
+ * java.security.Provider} class (the service name for key generators is
+ * <code>"KeyGenerator"</code>).
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see KeyGenerator
+ */
+public abstract class KeyGeneratorSpi
+{
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /** Create a new key generator SPI. */
+  public KeyGeneratorSpi()
+  {
+  }
+
+  // Abstract instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Generate a key, returning it as a {@link SecretKey}.
+   *
+   * @return The generated key.
+   */
+  protected abstract SecretKey engineGenerateKey();
+
+  /**
+   * Initialize this key generator with parameters and a source of
+   * randomness.
+   *
+   * @param params The parameters.
+   * @param random The source of randomness.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         parameters are inappropriate for this instance.
+   */
+  protected abstract void engineInit(AlgorithmParameterSpec params,
+                                     SecureRandom random)
+    throws InvalidAlgorithmParameterException;
+
+  /**
+   * Initialize this key generator with a key size (in bits) and a
+   * source of randomness.
+   *
+   * @param keySize The target key size, in bits.
+   * @param random  The source of randomness.
+   * @throws java.security.InvalidParameterException If the
+   *         key size is illogical or unsupported.
+   */
+  protected abstract void engineInit(int keySize, SecureRandom random);
+
+  /**
+   * Initialize this key generator with a source of randomness; the
+   * implementation should use reasonable default parameters (such as
+   * generated key size).
+   *
+   * @param random The source of randomness.
+   */
+  protected abstract void engineInit(SecureRandom random);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/Mac.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,434 @@
+/* Mac.java -- The message authentication code interface.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.Engine;
+
+import java.lang.reflect.InvocationTargetException;
+import java.nio.ByteBuffer;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.Security;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * This class implements a "message authentication code" (MAC), a method
+ * to ensure the integrity of data transmitted between two parties who
+ * share a common secret key.
+ *
+ * <p>The best way to describe a MAC is as a <i>keyed one-way hash
+ * function</i>, which looks like:
+ *
+ * <blockquote><p><code>D = MAC(K, M)</code></blockquote>
+ *
+ * <p>where <code>K</code> is the key, <code>M</code> is the message,
+ * and <code>D</code> is the resulting digest. One party will usually
+ * send the concatenation <code>M || D</code> to the other party, who
+ * will then verify <code>D</code> by computing <code>D'</code> in a
+ * similar fashion. If <code>D == D'</code>, then the message is assumed
+ * to be authentic.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class Mac implements Cloneable
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  private static final String SERVICE = "Mac";
+
+  /** The underlying MAC implementation. */
+  private MacSpi macSpi;
+
+  /** The provider we got our implementation from. */
+  private Provider provider;
+
+  /** The name of the algorithm. */
+  private String algorithm;
+
+  /** Whether or not we've been initialized. */
+  private boolean virgin;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Creates a new Mac instance.
+   *
+   * @param macSpi    The underlying MAC implementation.
+   * @param provider  The provider of this implementation.
+   * @param algorithm The name of this MAC algorithm.
+   */
+  protected Mac(MacSpi macSpi, Provider provider, String algorithm)
+  {
+    this.macSpi = macSpi;
+    this.provider = provider;
+    this.algorithm = algorithm;
+    virgin = true;
+  }
+
+  /**
+   * Create an instance of the named algorithm from the first provider with an
+   * appropriate implementation.
+   * 
+   * @param algorithm The name of the algorithm.
+   * @return An appropriate Mac instance, if the specified algorithm is
+   *         implemented by a provider.
+   * @throws NoSuchAlgorithmException If no implementation of the named
+   *           algorithm is installed.
+   * @throws IllegalArgumentException if <code>algorithm</code> is
+   *           <code>null</code> or is an empty string.
+   */
+  public static final Mac getInstance(String algorithm)
+      throws NoSuchAlgorithmException
+  {
+    Provider[] p = Security.getProviders();
+    NoSuchAlgorithmException lastException = null;
+    for (int i = 0; i < p.length; i++)
+      try
+        {
+          return getInstance(algorithm, p[i]);
+        }
+      catch (NoSuchAlgorithmException x)
+        {
+          lastException = x;
+        }
+      if (lastException != null)
+        throw lastException;
+      throw new NoSuchAlgorithmException(algorithm);
+  }
+
+  /**
+   * Create an instance of the named algorithm from the named provider.
+   * 
+   * @param algorithm The name of the algorithm.
+   * @param provider The name of the provider.
+   * @return An appropriate Mac instance, if the specified algorithm is
+   *         implemented by the named provider.
+   * @throws NoSuchAlgorithmException If the named provider has no
+   *           implementation of the algorithm.
+   * @throws NoSuchProviderException If the named provider does not exist.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final Mac getInstance(String algorithm, String provider)
+      throws NoSuchAlgorithmException, NoSuchProviderException
+  {
+    if (provider == null)
+      throw new IllegalArgumentException("provider MUST NOT be null");
+    Provider p = Security.getProvider(provider);
+    if (p == null)
+      throw new NoSuchProviderException(provider);
+    return getInstance(algorithm, p);
+  }
+
+  /**
+   * Create an instance of the named algorithm from a provider.
+   * 
+   * @param algorithm The name of the algorithm.
+   * @param provider The provider.
+   * @return An appropriate Mac instance, if the specified algorithm is
+   *         implemented by the provider.
+   * @throws NoSuchAlgorithmException If the provider has no implementation of
+   *           the algorithm.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final Mac getInstance(String algorithm, Provider provider)
+      throws NoSuchAlgorithmException
+  {
+    StringBuilder sb = new StringBuilder("Mac algorithm [")
+        .append(algorithm).append("] from provider[")
+        .append(provider).append("] could not be created");
+    Throwable cause;
+    try
+      {
+        Object spi = Engine.getInstance(SERVICE, algorithm, provider);
+        return new Mac((MacSpi) spi, provider, algorithm);
+      }
+    catch (InvocationTargetException x)
+      {
+        cause = x.getCause();
+        if (cause instanceof NoSuchAlgorithmException)
+          throw (NoSuchAlgorithmException) cause;
+        if (cause == null)
+          cause = x;
+      }
+    catch (ClassCastException x)
+      {
+        cause = x;
+      }
+    NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString());
+    x.initCause(cause);
+    throw x;
+  }
+
+  /**
+   * Finishes the computation of a MAC and returns the digest.
+   *
+   * <p>After this method succeeds, it may be used again as just after a
+   * call to <code>init</code>, and can compute another MAC using the
+   * same key and parameters.
+   *
+   * @return The message authentication code.
+   * @throws java.lang.IllegalStateException If this instnace has not
+   *         been initialized.
+   */
+  public final byte[] doFinal() throws IllegalStateException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    byte[] digest = macSpi.engineDoFinal();
+    reset();
+    return digest;
+  }
+
+  /**
+   * Finishes the computation of a MAC with a final byte array (or
+   * computes a MAC over those bytes only) and returns the digest.
+   *
+   * <p>After this method succeeds, it may be used again as just after a
+   * call to <code>init</code>, and can compute another MAC using the
+   * same key and parameters.
+   *
+   * @param input The bytes to add.
+   * @return The message authentication code.
+   * @throws java.lang.IllegalStateException If this instnace has not
+   *         been initialized.
+   */
+  public final byte[] doFinal(byte[] input) throws IllegalStateException
+  {
+    update(input);
+    byte[] digest = macSpi.engineDoFinal();
+    reset();
+    return digest;
+  }
+
+  /**
+   * Finishes the computation of a MAC and places the result into the
+   * given array.
+   *
+   * <p>After this method succeeds, it may be used again as just after a
+   * call to <code>init</code>, and can compute another MAC using the
+   * same key and parameters.
+   *
+   * @param output    The destination for the result.
+   * @param outOffset The index in the output array to start.
+   * @return The message authentication code.
+   * @throws java.lang.IllegalStateException If this instnace has not
+   *         been initialized.
+   * @throws javax.crypto.ShortBufferException If <code>output</code> is
+   *         not large enough to hold the result.
+   */
+  public final void doFinal(byte[] output, int outOffset)
+  throws IllegalStateException, ShortBufferException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    if (output.length - outOffset < getMacLength())
+      {
+        throw new ShortBufferException();
+      }
+    byte[] mac = macSpi.engineDoFinal();
+    System.arraycopy(mac, 0, output, outOffset, getMacLength());
+    reset();
+  }
+
+  /**
+   * Returns the name of this MAC algorithm.
+   *
+   * @return The MAC name.
+   */
+  public final String getAlgorithm()
+  {
+    return algorithm;
+  }
+
+  /**
+   * Get the size of the MAC. This is the size of the array returned by
+   * {@link #doFinal()} and {@link #doFinal(byte[])}, and the minimum
+   * number of bytes that must be available in the byte array passed to
+   * {@link #doFinal(byte[],int)}.
+   *
+   * @return The MAC length.
+   */
+  public final int getMacLength()
+  {
+    return macSpi.engineGetMacLength();
+  }
+
+  /**
+   * Get the provider of the underlying implementation.
+   *
+   * @return The provider.
+   */
+  public final Provider getProvider()
+  {
+    return provider;
+  }
+
+  /**
+   * Initialize this MAC with a key and no parameters.
+   *
+   * @param key The key to initialize this instance with.
+   * @throws java.security.InvalidKeyException If the key is
+   *         unacceptable.
+   */
+  public final void init(Key key) throws InvalidKeyException
+  {
+    try
+      {
+        init(key, null);
+      }
+    catch (InvalidAlgorithmParameterException iape)
+      {
+        throw new IllegalArgumentException(algorithm + " needs parameters");
+      }
+  }
+
+  /**
+   * Initialize this MAC with a key and parameters.
+   *
+   * @param key    The key to initialize this instance with.
+   * @param params The algorithm-specific parameters.
+   * @throws java.security.InvalidAlgorithmParameterException If the
+   *         algorithm parameters are unacceptable.
+   * @throws java.security.InvalidKeyException If the key is
+   *         unacceptable.
+   */
+  public final void init(Key key, AlgorithmParameterSpec params)
+    throws InvalidAlgorithmParameterException, InvalidKeyException
+  {
+    macSpi.engineInit(key, params);
+    virgin = false;                      // w00t!
+  }
+
+  /**
+   * Reset this instance. A call to this method returns this instance
+   * back to the state it was in just after it was initialized.
+   */
+  public final void reset()
+  {
+    macSpi.engineReset();
+  }
+
+  /**
+   * Update the computation with a single byte.
+   *
+   * @param input The next byte.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized.
+   */
+  public final void update(byte input) throws IllegalStateException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    macSpi.engineUpdate(input);
+  }
+
+  /**
+   * Update the computation with a byte array.
+   *
+   * @param input The next bytes.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized.
+   */
+  public final void update(byte[] input) throws IllegalStateException
+  {
+    update(input, 0, input.length);
+  }
+
+  /**
+   * Update the computation with a portion of a byte array.
+   *
+   * @param input  The next bytes.
+   * @param offset The index in <code>input</code> to start.
+   * @param length The number of bytes to update.
+   * @throws java.lang.IllegalStateException If this instance has not
+   *         been initialized.
+   */
+  public final void update(byte[] input, int offset, int length)
+    throws IllegalStateException
+  {
+    if (virgin)
+      {
+        throw new IllegalStateException("not initialized");
+      }
+    macSpi.engineUpdate(input, offset, length);
+  }
+
+  /**
+   * Update this MAC with the remaining bytes in the given buffer
+   * @param buffer The input buffer.
+   * @since 1.5
+   */
+  public final void update (final ByteBuffer buffer)
+  {
+    if (virgin)
+      throw new IllegalStateException ("not initialized");
+    macSpi.engineUpdate(buffer);
+  }
+  
+  /**
+   * Clone this instance, if the underlying implementation supports it.
+   *
+   * @return A clone of this instance.
+   * @throws java.lang.CloneNotSupportedException If the underlying
+   *         implementation is not cloneable.
+   */
+  public final Object clone() throws CloneNotSupportedException
+  {
+    Mac result = new Mac((MacSpi) macSpi.clone(), provider, algorithm);
+    result.virgin = virgin;
+    return result;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/MacSpi.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,163 @@
+/* MacSpi.java -- The MAC service provider interface.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.nio.ByteBuffer;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * This is the <i>Service Provider Interface</i> (<b>SPI</b>) for the
+ * {@link Mac} class.
+ *
+ * <p>Providers wishing to implement a Mac must subclass this class and
+ * provide appropriate implementations of all its abstract methods,
+ * then provide an entry pointing to this implementation in the master
+ * {@link java.security.Provider} class.
+ *
+ * <p>Implementations may optionally implement the {@link
+ * java.lang.Cloneable} interface.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public abstract class MacSpi
+{
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new MacSpi instance.
+   */
+  public MacSpi()
+  {
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Returns a clone of this instance if cloning is supported.
+   *
+   * @return A clone of this instance.
+   * @throws java.lang.CloneNotSupportedException If this instance does
+   *         not support cloneing.
+   */
+  public Object clone() throws CloneNotSupportedException
+  {
+    return super.clone();
+  }
+
+  // Abstract instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Finalize the computation of this MAC and return the result as a
+   * byte array.
+   *
+   * @return The MAC.
+   */
+  protected abstract byte[] engineDoFinal();
+
+  /**
+   * Return the total length, in bytes, of the computed MAC (the length
+   * of the byte array returned by {@link #doFinal()}.
+   *
+   * @return The MAC length.
+   */
+  protected abstract int engineGetMacLength();
+
+  /**
+   * Initialize (or re-initialize) this instance.
+   *
+   * @param key    The key to use.
+   * @param params The parameters to use.
+   * @throws java.security.InvalidAlgorithmParameterException If this
+   *         instance rejects the specified parameters.
+   * @throws java.security.InvalidKeyException If this instance rejects
+   *         the specified key.
+   */
+  protected abstract void engineInit(Key key, AlgorithmParameterSpec params)
+    throws InvalidAlgorithmParameterException, InvalidKeyException;
+
+  /**
+   * Reset this instance. After this method succeeds, the state of this
+   * instance should be the same as it was before any data was input
+   * (possibly after a call to {@link
+   * #init(java.security.Key,java.security.spec.AlgorithmParameterSpec)},
+   * possibly not).
+   */
+  protected abstract void engineReset();
+
+  /**
+   * Update this MAC with a single byte.
+   *
+   * @param input The next byte.
+   */
+  protected abstract void engineUpdate(byte input);
+
+  /**
+   * Update this MAC with a portion of a byte array.
+   *
+   * @param input  The next bytes.
+   * @param offset The index in <code>input</code> at which to start.
+   * @param length The number of bytes to update.
+   */
+  protected abstract void engineUpdate(byte[] input, int offset, int length);
+  
+  /**
+   * Update this MAC with the remaining bytes of a buffer.
+   * 
+   * @param buffer The input buffer.
+   * @since 1.5
+   */
+  protected void engineUpdate (final ByteBuffer buffer)
+  {
+    byte[] buf = new byte[1024];
+    while (buffer.hasRemaining ())
+      {
+        int n = Math.min (buffer.remaining (), buf.length);
+        buffer.get (buf, 0, n);
+        engineUpdate (buf, 0, n);
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/NoSuchPaddingException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,71 @@
+/* NoSuchPaddingException.java -- Signals an unknown padding scheme.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.GeneralSecurityException;
+
+/**
+ * This exception is thrown when a particular padding scheme is
+ * requested but is not available.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class NoSuchPaddingException extends GeneralSecurityException
+{
+
+  // Constant.
+  // ------------------------------------------------------------------------
+
+  /** Serialization constant. */
+  private static final long serialVersionUID = -4572885201200175466L;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  public NoSuchPaddingException()
+  {
+    super();
+  }
+
+  public NoSuchPaddingException(String message)
+  {
+    super(message);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/NullCipher.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+/* NullCipher.java -- The identity cipher.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+/**
+ * Trivial subclass of Cipher that implements the <i>identity
+ * transformation</i>, where the input is always copied to the output
+ * unchanged. Null ciphers can be instantiated with the public
+ * constructor.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class NullCipher extends Cipher
+{
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new identity cipher.
+   */
+  public NullCipher()
+  {
+    super(new NullCipherImpl(), null, "NULL");
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/NullCipherImpl.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,127 @@
+/* NullCipherImpl.java -- implementation of NullCipher.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.AlgorithmParameters;
+import java.security.Key;
+import java.security.SecureRandom;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * Implementation of the identity cipher.
+ */
+final class NullCipherImpl extends CipherSpi
+{
+
+  // Constructor.
+  // -------------------------------------------------------------------------
+
+  NullCipherImpl()
+  {
+    super();
+  }
+
+  // Instance methods.
+  // -------------------------------------------------------------------------
+
+  protected void engineSetMode(String mode) { }
+  protected void engineSetPadding(String padding) { }
+
+  protected int engineGetBlockSize()
+  {
+    return 1;
+  }
+
+  protected int engineGetOutputSize(int inputLen)
+  {
+    return inputLen;
+  }
+
+  protected byte[] engineGetIV()
+  {
+    return null;
+  }
+
+  protected AlgorithmParameters engineGetParameters()
+  {
+    return null;
+  }
+
+  protected void engineInit(int mode, Key key, SecureRandom random) { }
+  protected void engineInit(int mode, Key key, AlgorithmParameterSpec spec, SecureRandom random) { }
+  protected void engineInit(int mode, Key key, AlgorithmParameters params, SecureRandom random) { }
+
+  protected byte[] engineUpdate(byte[] input, int inputOffset, int inputLen)
+  {
+    if (input == null)
+      return new byte[0];
+    if (inputOffset < 0 || inputLen < 0 || inputOffset + inputLen > input.length)
+      throw new ArrayIndexOutOfBoundsException();
+    byte[] output = new byte[inputLen];
+    System.arraycopy(input, inputOffset, output, 0, inputLen);
+    return output;
+  }
+
+  protected int engineUpdate(byte[] input, int inputOffset, int inputLen,
+                             byte[] output, int outputOffset)
+    throws ShortBufferException
+  {
+    if (input == null)
+      return 0;
+    if (inputOffset < 0 || inputLen < 0 || inputOffset + inputLen > input.length
+        || outputOffset < 0)
+      throw new ArrayIndexOutOfBoundsException();
+    if (output.length - outputOffset < inputLen)
+      throw new ShortBufferException();
+    System.arraycopy(input, inputOffset, output, outputOffset, inputLen);
+    return inputLen;
+  }
+
+  protected byte[] engineDoFinal(byte[] input, int inputOffset, int inputLen)
+  {
+    return engineUpdate(input, inputOffset, inputLen);
+  }
+
+  protected int engineDoFinal(byte[] input, int inputOffset, int inputLen,
+                              byte[] output, int outputOffset)
+    throws ShortBufferException
+  {
+    return engineUpdate(input, inputOffset, inputLen, output, outputOffset);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/SealedObject.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,355 @@
+/* SealedObject.java -- An encrypted Serializable object.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+
+import java.security.AlgorithmParameters;
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.Key;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+
+/**
+ * This class allows any {@link java.io.Serializable} object to be
+ * stored in an encrypted form.
+ *
+ * <p>When the sealed object is ready to be unsealed (and deserialized)
+ * the caller may use either
+ *
+ * <ol>
+ * <li>{@link #getObject(javax.crypto.Cipher)}, which uses an
+ * already-initialized {@link javax.crypto.Cipher}.<br>
+ * <br>
+ * or,</li>
+ *
+ * <li>{@link #getObject(java.security.Key)} or {@link
+ * #getObject(java.security.Key,java.lang.String)}, which will
+ * initialize a new cipher instance with the {@link #encodedParams} that
+ * were stored with this sealed object (this is so parameters, such as
+ * the IV, don't need to be known by the one unsealing the object).</li>
+ * </ol>
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class SealedObject implements Serializable
+{
+
+  // Constants and fields.
+  // ------------------------------------------------------------------------
+
+  /** The encoded algorithm parameters. */
+  protected byte[] encodedParams;
+
+  /** The serialized, encrypted object. */
+  private byte[] encryptedContent;
+
+  /** The algorithm used to seal the object. */
+  private String sealAlg;
+
+  /** The parameter type. */
+  private String paramsAlg;
+
+  /** The cipher that decrypts when this object is unsealed. */
+  private transient Cipher sealCipher;
+
+  /** Compatible with JDK1.4. */
+  private static final long serialVersionUID = 4482838265551344752L;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new sealed object from a {@link java.io.Serializable}
+   * object and a cipher.
+   *
+   * @param object The object to seal.
+   * @param cipher The cipher to encrypt with.
+   * @throws java.io.IOException If serializing the object fails.
+   * @throws javax.crypto.IllegalBlockSizeException If the cipher has no
+   *         padding and the size of the serialized representation of the
+   *         object is not a multiple of the cipher's block size.
+   */
+  public SealedObject(Serializable object, Cipher cipher)
+    throws IOException, IllegalBlockSizeException
+  {
+    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    ObjectOutputStream oos = new ObjectOutputStream(baos);
+    oos.writeObject(object);
+    oos.flush();
+    try
+      {
+        encryptedContent = cipher.doFinal(baos.toByteArray());
+      }
+    catch (IllegalStateException ise)
+      {
+        throw new IOException("cipher not in proper state");
+      }
+    catch (BadPaddingException bpe)
+      {
+        throw new IOException(
+          "encrypting but got javax.crypto.BadPaddingException");
+      }
+    sealAlg = cipher.getAlgorithm();
+    encodedParams = cipher.getParameters().getEncoded();
+    paramsAlg = cipher.getParameters().getAlgorithm();
+  }
+
+  /**
+   * Create a new sealed object from another sealed object.
+   *
+   * @param so The other sealed object.
+   */
+  protected SealedObject(SealedObject so)
+  {
+    this.encodedParams = (byte[]) so.encodedParams.clone();
+    this.encryptedContent = (byte[]) so.encryptedContent.clone();
+    this.sealAlg = so.sealAlg;
+    this.paramsAlg = so.paramsAlg;
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Get the name of the algorithm used to seal this object.
+   *
+   * @return The algorithm's name.
+   */
+  public final String getAlgorithm()
+  {
+    return sealAlg;
+  }
+
+  /**
+   * Unseal and deserialize this sealed object with a specified (already
+   * initialized) cipher.
+   *
+   * @param cipher The cipher to decrypt with.
+   * @return The original object.
+   * @throws java.io.IOException If reading fails.
+   * @throws java.lang.ClassNotFoundException If deserialization fails.
+   * @throws javax.crypto.IllegalBlockSizeException If the cipher has no
+   *         padding and the encrypted data is not a multiple of the
+   *         cipher's block size.
+   * @throws javax.crypto.BadPaddingException If the padding bytes are
+   *         incorrect.
+   */
+  public final Object getObject(Cipher cipher)
+    throws IOException, ClassNotFoundException, IllegalBlockSizeException,
+           BadPaddingException
+  {
+    sealCipher = cipher;
+    return unseal();
+  }
+
+  /**
+   * Unseal and deserialize this sealed object with the specified key.
+   *
+   * @param key The key to decrypt with.
+   * @return The original object.
+   * @throws java.io.IOException If reading fails.
+   * @throws java.lang.ClassNotFoundException If deserialization fails.
+   * @throws java.security.InvalidKeyException If the supplied key
+   *         cannot be used to unseal this object.
+   * @throws java.security.NoSuchAlgorithmException If the algorithm
+   *         used to originally seal this object is not available.
+   */
+  public final Object getObject(Key key)
+    throws IOException, ClassNotFoundException, InvalidKeyException,
+           NoSuchAlgorithmException
+  {
+    try
+      {
+        if (sealCipher == null)
+          sealCipher = Cipher.getInstance(sealAlg);
+      }
+    catch (NoSuchPaddingException nspe)
+      {
+        throw new NoSuchAlgorithmException(nspe.getMessage());
+      }
+    AlgorithmParameters params = null;
+    if (encodedParams != null)
+      {
+        params = AlgorithmParameters.getInstance(paramsAlg);
+        params.init(encodedParams);
+      }
+    try
+      {
+        sealCipher.init(Cipher.DECRYPT_MODE, key, params);
+        return unseal();
+      }
+    catch (InvalidAlgorithmParameterException iape)
+      {
+        throw new IOException("bad parameters");
+      }
+    catch (IllegalBlockSizeException ibse)
+      {
+        throw new IOException("illegal block size");
+      }
+    catch (BadPaddingException bpe)
+      {
+        throw new IOException("bad padding");
+      }
+  }
+
+  /**
+   * Unseal and deserialize this sealed object with the specified key,
+   * using a cipher from the named provider.
+   *
+   * @param key      The key to decrypt with.
+   * @param provider The name of the provider to use.
+   * @return The original object.
+   * @throws java.io.IOException If reading fails.
+   * @throws java.lang.ClassNotFoundException If deserialization fails.
+   * @throws java.security.InvalidKeyException If the supplied key
+   *         cannot be used to unseal this object.
+   * @throws java.security.NoSuchAlgorithmException If the algorithm
+   *         used to originally seal this object is not available from
+   *         the named provider.
+   * @throws java.security.NoSuchProviderException If the named provider
+   *         does not exist.
+   */
+  public final Object getObject(Key key, String provider)
+    throws IOException, ClassNotFoundException, InvalidKeyException,
+           NoSuchAlgorithmException, NoSuchProviderException
+  {
+    try
+      {
+        sealCipher = Cipher.getInstance(sealAlg, provider);
+      }
+    catch (NoSuchPaddingException nspe)
+      {
+        throw new NoSuchAlgorithmException(nspe.getMessage());
+      }
+    AlgorithmParameters params = null;
+    if (encodedParams != null)
+      {
+        params = AlgorithmParameters.getInstance(paramsAlg, provider);
+        params.init(encodedParams);
+      }
+    try
+      {
+        sealCipher.init(Cipher.DECRYPT_MODE, key, params);
+        return unseal();
+      }
+    catch (InvalidAlgorithmParameterException iape)
+      {
+        throw new IOException("bad parameters");
+      }
+    catch (IllegalBlockSizeException ibse)
+      {
+        throw new IOException("illegal block size");
+      }
+    catch (BadPaddingException bpe)
+      {
+        throw new IOException("bad padding");
+      }
+  }
+
+  // Own methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Deserialize this object.
+   *
+   * @param ois The input stream.
+   * @throws java.io.IOException If reading fails.
+   * @throws java.lang.ClassNotFoundException If reading fails.
+   */
+  private void readObject(ObjectInputStream ois)
+    throws IOException, ClassNotFoundException
+  {
+    encodedParams = (byte[]) ois.readObject();
+    encryptedContent = (byte[]) ois.readObject();
+    sealAlg = (String) ois.readObject();
+    paramsAlg = (String) ois.readObject();
+  }
+
+  /**
+   * Serialize this object.
+   *
+   * @param oos The output stream.
+   * @throws java.io.IOException If writing fails.
+   */
+  private void writeObject(ObjectOutputStream oos)
+    throws IOException
+  {
+    oos.writeObject(encodedParams);
+    oos.writeObject(encryptedContent);
+    oos.writeObject(sealAlg);
+    oos.writeObject(paramsAlg);
+  }
+
+  /**
+   * Unseal this object, returning it.
+   *
+   * @return The unsealed, deserialized Object.
+   * @throws java.io.IOException If reading fails.
+   * @throws java.io.ClassNotFoundException If reading fails.
+   * @throws javax.crypto.IllegalBlockSizeException If the cipher has no
+   *         padding and the encrypted data is not a multiple of the
+   *         cipher's block size.
+   * @throws javax.crypto.BadPaddingException If the padding bytes are
+   *         incorrect.
+   */
+  private Object unseal()
+    throws IOException, ClassNotFoundException, IllegalBlockSizeException,
+           BadPaddingException
+  {
+    ByteArrayInputStream bais = null;
+    try
+      {
+        bais = new ByteArrayInputStream(sealCipher.doFinal(encryptedContent));
+      }
+    catch (IllegalStateException ise)
+      {
+        throw new IOException("cipher not initialized");
+      }
+    ObjectInputStream ois = new ObjectInputStream(bais);
+    return ois.readObject();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/SecretKey.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,65 @@
+/* SecretKey.java -- A key for symmetric cryptography.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.Key;
+
+/**
+ * A secret key for symmetric cryptography.
+ *
+ * <p>This interface defines no new methods over {@link
+ * java.security.Key}, but rather is intended to be a <i>marker
+ * interface</i> and to provide type safety for secret keys.</p>
+ *
+ * <p>The format of secret keys should be <code>RAW</code>, as returned
+ * by {@link java.security.Key#getFormat()}.</p>
+ *
+ * <p>Concrete implementations of this interface should override the
+ * {@link java.lang.Object#equals} and {@link java.lang.Object#hashCode}
+ * methods of {@link java.lang.Object} to use the actual key data rather
+ * than the identity-based default methods.</p>
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @see javax.crypto.SecretKeyFactory
+ * @see javax.crypto.Cipher
+ */
+public interface SecretKey extends Key
+{
+  long serialVersionUID = -4795878709595146952L;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/SecretKeyFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,255 @@
+/* SecretKeyFactory.java -- Factory for creating secret keys.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import gnu.java.security.Engine;
+
+import java.lang.reflect.InvocationTargetException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.security.NoSuchProviderException;
+import java.security.Provider;
+import java.security.Security;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.KeySpec;
+
+/**
+ * A secret key factory translates {@link SecretKey} objects to and from
+ * {@link java.security.spec.KeySpec} objects, and can translate between
+ * different vendors' representations of {@link SecretKey} objects (for
+ * security or semantics; whichever applies).
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see SecretKey
+ */
+public class SecretKeyFactory
+{
+
+  // Constants and fields.
+  // ------------------------------------------------------------------------
+
+  private static final String SERVICE = "SecretKeyFactory";
+
+  /** The underlying factory implementation. */
+  private SecretKeyFactorySpi skfSpi;
+
+  /** The provider of the implementation. */
+  private Provider provider;
+
+  /** The name of the algorithm. */
+  private String algorithm;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new secret key factory.
+   *
+   * @param skfSpi   The underlying factory implementation.
+   * @param provider The provider.
+   * @param algorithm The algorithm name.
+   */
+  protected SecretKeyFactory(SecretKeyFactorySpi skfSpi, Provider provider,
+                             String algorithm)
+  {
+    this.skfSpi = skfSpi;
+    this.provider = provider;
+    this.algorithm = algorithm;
+  }
+
+  /**
+   * Create a new secret key factory from the first appropriate instance.
+   * 
+   * @param algorithm The algorithm name.
+   * @return The appropriate key factory, if found.
+   * @throws NoSuchAlgorithmException If no provider implements the specified
+   *           algorithm.
+   * @throws IllegalArgumentException if <code>algorithm</code> is
+   *           <code>null</code> or is an empty string.
+   */
+  public static final SecretKeyFactory getInstance(String algorithm)
+      throws NoSuchAlgorithmException
+  {
+    Provider[] p = Security.getProviders();
+    NoSuchAlgorithmException lastException = null;
+    for (int i = 0; i < p.length; i++)
+      try
+        {
+          return getInstance(algorithm, p[i]);
+        }
+      catch (NoSuchAlgorithmException x)
+        {
+          lastException = x;
+        }
+      if (lastException != null)
+        throw lastException;
+      throw new NoSuchAlgorithmException(algorithm);
+  }
+
+  /**
+   * Create a new secret key factory from the named provider.
+   * 
+   * @param algorithm The algorithm name.
+   * @param provider The provider name.
+   * @return The appropriate key factory, if found.
+   * @throws NoSuchAlgorithmException If the named provider does not implement
+   *           the algorithm.
+   * @throws NoSuchProviderException If the named provider does not exist.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final SecretKeyFactory getInstance(String algorithm,
+                                                   String provider)
+      throws NoSuchAlgorithmException, NoSuchProviderException
+  {
+    if (provider == null)
+      throw new IllegalArgumentException("provider MUST NOT be null");
+    Provider p = Security.getProvider(provider);
+    if (p == null)
+      throw new NoSuchProviderException(provider);
+    return getInstance(algorithm, p);
+  }
+
+  /**
+   * Create a new secret key factory from the specified provider.
+   * 
+   * @param algorithm The algorithm name.
+   * @param provider The provider.
+   * @return The appropriate key factory, if found.
+   * @throws NoSuchAlgorithmException If the provider does not implement the
+   *           algorithm.
+   * @throws IllegalArgumentException if either <code>algorithm</code> or
+   *           <code>provider</code> is <code>null</code>, or if
+   *           <code>algorithm</code> is an empty string.
+   */
+  public static final SecretKeyFactory getInstance(String algorithm,
+                                                   Provider provider)
+      throws NoSuchAlgorithmException
+  {
+    StringBuilder sb = new StringBuilder("SecretKeyFactory algorithm [")
+        .append(algorithm).append("] from provider[")
+        .append(provider).append("] could not be created");
+    Throwable cause;
+    try
+      {
+        Object spi = Engine.getInstance(SERVICE, algorithm, provider);
+        return new SecretKeyFactory((SecretKeyFactorySpi) spi, provider, algorithm);
+      }
+    catch (InvocationTargetException x)
+      {
+        cause = x.getCause();
+        if (cause instanceof NoSuchAlgorithmException)
+          throw (NoSuchAlgorithmException) cause;
+        if (cause == null)
+          cause = x;
+      }
+    catch (ClassCastException x)
+      {
+        cause = x;
+      }
+    NoSuchAlgorithmException x = new NoSuchAlgorithmException(sb.toString());
+    x.initCause(cause);
+    throw x;
+  }
+
+  /**
+   * Generate a secret key from a key specification, if possible.
+   *
+   * @param keySpec The key specification.
+   * @return The secret key.
+   * @throws java.security.InvalidKeySpecException If the key specification
+   *         cannot be transformed into a secret key.
+   */
+  public final SecretKey generateSecret(KeySpec keySpec)
+    throws InvalidKeySpecException
+  {
+    return skfSpi.engineGenerateSecret(keySpec);
+  }
+
+  /**
+   * Get the algorithm name.
+   *
+   * @return The algorithm name.
+   */
+  public final String getAlgorithm()
+  {
+    return algorithm;
+  }
+
+  /**
+   * Get the key specification from a secret key.
+   *
+   * @param key     The secret key.
+   * @param keySpec The target key specification class.
+   * @return The key specification.
+   * @throws java.security.spec.InvalidKeySpecException If the secret key cannot
+   *         be transformed into the specified key specification.
+   */
+  public final KeySpec getKeySpec(SecretKey key, Class keySpec)
+    throws InvalidKeySpecException
+  {
+    return skfSpi.engineGetKeySpec(key, keySpec);
+  }
+
+  /**
+   * Get the provider of this implementation.
+   *
+   * @return The provider.
+   */
+  public final Provider getProvider()
+  {
+    return provider;
+  }
+
+  /**
+   * Translate a secret key into another form.
+   *
+   * @param key The key to translate.
+   * @return The translated key.
+   * @throws java.security.InvalidKeyException If the argument cannot be
+   *         translated.
+   */
+  public final SecretKey translateKey(SecretKey key)
+    throws InvalidKeyException
+  {
+    return skfSpi.engineTranslateKey(key);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/SecretKeyFactorySpi.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,108 @@
+/* SecretKeyFactorySpi.java -- Secret key factory service provider interface.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.InvalidKeyException;
+import java.security.spec.InvalidKeySpecException;
+import java.security.spec.KeySpec;
+
+/**
+ * The <i>Service Provider Interface</i> (<b>SPI</b>) for the {@link
+ * SecretKeyFactory} class.
+ *
+ * <p>Providers wishing to implement a secret key factory must
+ * subclass this and provide an appropriate implementation for all the
+ * abstract methods below, and provide an appropriate entry in the
+ * master {@link java.security.Provider} class (the service name for
+ * secret key factories is <code>"SecretKeyFactory"</code>).
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see SecretKeyFactory
+ */
+public abstract class SecretKeyFactorySpi
+{
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new secret key factory SPI.
+   */
+  public SecretKeyFactorySpi()
+  {
+  }
+
+  // Abstract instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Translate a {@link java.security.KeySpec} into a {@link SecretKey}.
+   *
+   * @param keySpec The key specification.
+   * @return The secret key.
+   * @throws java.security.spec.InvalidKeySpecException If the key specification
+   *         cannot be translated into a secret key.
+   */
+  protected abstract SecretKey engineGenerateSecret(KeySpec keySpec)
+    throws InvalidKeySpecException;
+
+  /**
+   * Translate a {@link SecretKey} into a {@link java.security.KeySpec}.
+   *
+   * @param key     The secret key.
+   * @param keySpec The desired key specification class.
+   * @return The key specification.
+   * @throws java.security.spec.InvalidKeySpecException If the secret key cannot
+   *         be translated into the desired key specification.
+   */
+  protected abstract KeySpec engineGetKeySpec(SecretKey key, Class keySpec)
+    throws InvalidKeySpecException;
+
+  /**
+   * Translate a secret key into a different representation.
+   *
+   * @param key The secret key to translate.
+   * @return The translated key.
+   * @throws java.security.InvalidKeyException If the specified secret
+   *         key cannot be translated.
+   */
+  protected abstract SecretKey engineTranslateKey(SecretKey key)
+    throws InvalidKeyException;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/ShortBufferException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+/* ShortBufferException.java -- Signals a short output buffer.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto;
+
+import java.security.GeneralSecurityException;
+
+/**
+ * This exception is thrown on an attempt to transform bytes into a
+ * buffer that is too short to contain the data.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class ShortBufferException extends GeneralSecurityException
+{
+
+  // Constant.
+  // ------------------------------------------------------------------------
+
+  /** Serialization constant. */
+  private static final long serialVersionUID = 8427718640832943747L;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  public ShortBufferException()
+  {
+    super();
+  }
+
+  public ShortBufferException(String message)
+  {
+    super(message);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/interfaces/DHKey.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,61 @@
+/* DHKey.java -- General interface for a Diffie-Hellman key.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.interfaces;
+
+import javax.crypto.spec.DHParameterSpec;
+
+/**
+ * This interface marks public/private keys in the Diffie-Hellman key
+ * exchange algorithm. Implementations of Diffie-Hellman keys should
+ * implement this interface, and applications can safely cast keys that
+ * are known to be Diffie-Hellman keys to this interface.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public interface DHKey
+{
+  /**
+   * Returns the Diffie-Hellman parameters for this key, which includes
+   * the generator and the prime.
+   *
+   * @return The Diffie-Hellman parameters.
+   */
+  DHParameterSpec getParams();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/interfaces/DHPrivateKey.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,69 @@
+/* DHPrivateKey.java -- A Diffie-Hellman private key.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.interfaces;
+
+import java.math.BigInteger;
+import java.security.PrivateKey;
+
+/**
+ * This interface marks a private key in the Diffie-Hellman key exchange
+ * algorithm. It should be treated with as much care as any {@link
+ * java.security.PrivateKey}.
+ *
+ * <p>Implementations of Diffie-Hellman private keys should implement
+ * this interface. Applications that know a particular key is a
+ * Diffie-Hellman private key can safely cast it to this interface.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see DHKey
+ * @see DHPublicKey
+ */
+public interface DHPrivateKey extends DHKey, PrivateKey
+{
+  /** Compatible with JDK1.4. */
+  long serialVersionUID = 2211791113380396553L;
+
+  /**
+   * Returns the private value <i>x</i>.
+   *
+   * @return The private value <i>x</i>.
+   */
+  BigInteger getX();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/interfaces/DHPublicKey.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,68 @@
+/* DHPublicKey.java -- A Diffie-Hellman public key.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.interfaces;
+
+import java.math.BigInteger;
+import java.security.PublicKey;
+
+/**
+ * This interface marks a public key in the Diffie-Hellman key-exchange
+ * algorithm.
+ *
+ * <p>Implementations of Diffie-Hellman public keys should implement
+ * this interface. Applications that know that a particular key is a
+ * Diffie-Hellman public key it can be safely cast to this interface.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see DHKey
+ * @see DHPrivateKey
+ */
+public interface DHPublicKey extends DHKey, PublicKey
+{
+  /** Compatible with JDK1.4. */
+  long serialVersionUID = -6628103563352519193L;
+
+  /**
+   * Get the public value <i>y</i>.
+   *
+   * @return The public value <i>y</i>.
+   */
+  BigInteger getY();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/interfaces/PBEKey.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,90 @@
+/* PBEKey.java -- A key derived from a password.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.interfaces;
+
+import javax.crypto.SecretKey;
+
+/**
+ * Interface to a password-derived key for password-based encryption
+ * (PBE). Applications working with a {@link javax.crypto.SecretKey}
+ * that is known to be a password-based key can safely cast such keys to
+ * this interface.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public interface PBEKey extends SecretKey
+{
+  /** Compatible with JDK1.4. */
+  long serialVersionUID = -1430015993304333921L;
+
+  /**
+   * Retruns the iteration count, or 0 if not specified.
+   *
+   * @return The iteration count.
+   */
+  int getIterationCount();
+
+  /**
+   * Returns a copy of the password as a character array. It is the
+   * caller's responsibility to zero-out the password when it is no
+   * longer in use.
+   *
+   * <p>Although it is not specified in the documentation,
+   * implementations should not copy or clone the password array, but
+   * rather return the reference to the array itself, so the caller has
+   * the ability to erase the password.
+   *
+   * @return The password.
+   */
+  char[] getPassword();
+
+  /**
+   * Returns a copy of the salt. It is the caller's responsibility to
+   * zero-out the salt when it is no longer in use.
+   *
+   * <p>Although it is not specified in the documentation,
+   * implementations should not copy or clone the salt array, but
+   * rather return the reference to the array itself, so the caller has
+   * the ability to erase the salt.
+   *
+   * @return The salt.
+   */
+  byte[] getSalt();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/DESKeySpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,220 @@
+/* DESKeySpec -- Keys for DES.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.InvalidKeyException;
+import java.security.spec.KeySpec;
+
+/**
+ * This class is a transparent wrapper for DES keys, which are arrays
+ * of 8 bytes.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class DESKeySpec implements KeySpec
+{
+
+  // Constants.
+  // ------------------------------------------------------------------------
+
+  /**
+   * The length of a DES key, in bytes.
+   */
+  public static final int DES_KEY_LEN = 8;
+
+  /**
+   * The key bytes.
+   */
+  private byte[] key;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new DES key spec, copying the first 8 bytes from the
+   * byte array.
+   *
+   * @param key The key bytes.
+   * @throws java.security.InvalidKeyException If there are less than 8
+   *         bytes in the array.
+   */
+  public DESKeySpec(byte[] key) throws InvalidKeyException
+  {
+    this(key, 0);
+  }
+
+  /**
+   * Create a new DES key spec, starting at <code>offset</code> in
+   * the byte array. The first 8 bytes starting at <code>offset</code>
+   * are copied.
+   *
+   * @param key    The key bytes.
+   * @param offset The offset into the byte array at which to begin.
+   * @throws java.security.InvalidKeyException If there are less than 8
+   *         bytes starting at <code>offset</code>.
+   */
+  public DESKeySpec(byte[] key, int offset) throws InvalidKeyException
+  {
+    if (key.length - offset < DES_KEY_LEN)
+      {
+        throw new InvalidKeyException("DES keys must be 8 bytes long");
+      }
+    this.key = new byte[DES_KEY_LEN];
+    System.arraycopy(key, offset, this.key, 0, DES_KEY_LEN);
+  }
+
+  // Class methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Returns whether or not the given key is <i>parity adjusted</i>;
+   * i.e. every byte in the key has an odd number of "1" bits.
+   *
+   * @param key    The key bytes, considered between <code>[offset,
+   *               offset+7]</code>
+   * @param offset The offset into the byte array at which to begin.
+   * @return True if all bytes have an odd number of "1" bits.
+   * @throws java.security.InvalidKeyException If there are not enough
+   *         bytes in the array.
+   */
+  public static boolean isParityAdjusted(byte[] key, int offset)
+    throws InvalidKeyException
+  {
+    if (key.length - offset < DES_KEY_LEN)
+      {
+        throw new InvalidKeyException("DES keys must be 8 bytes long");
+      }
+    boolean parity = false;
+    boolean oddbits = false;
+    for (int i = 0; i < DES_KEY_LEN; i++)
+      {
+        oddbits = false;
+        for (int j = 0; j < 8; j++)
+          {
+            oddbits ^= (key[i+offset] & 1 << j) != 0;
+          }
+        parity &= oddbits;
+      }
+    return parity;
+  }
+
+  /**
+   * One-half of the weak and semiweak DES keys (the other half are the
+   * complements of these).
+   */
+  private static final byte[][] WEAK_KEYS = new byte[][] {
+    {   0,   0,   0,   0,   0,   0,   0,   0 }, // 0000 0000 0000 0000
+    {  -1,  -1,  -1,  -1,   0,   0,   0,   0 }, // ffff ffff 0000 0000
+    {   1,   1,   1,   1,   1,   1,   1,   1 }, // 0101 0101 0101 0101
+    {  31,  31,  31,  31,  14,  14,  14,  14 }, // 1f1f 1f1f 0e0e 0e0e
+    {   1,  -2,   1,  -2,   1,  -2,   1,  -2 }, // 01fe 01fe 01fe 01fe
+    {  31, -32,  31, -32, -32,  31, -32,  31 }, // 1fe0 1fe0 0e1f 0e1f
+    {   1, -32,   1, -32,   1, -15,   1, -15 }, // 01e0 01e0 01f1 01f1
+    {  31,  -2,  31,  -2,  14,  -2,  14,  -2 }, // 1ffe 1ffe 0efe 0efe
+    {   1,  31,   1,  31,   1,  14,   1,  14 }, // 011f 011f 010e 010e
+    { -32,  -2, -32,  -2, -15,  -2, -15,  -2 }, // e0fe e0fe f1fe f1fe
+  };
+
+  /**
+   * Tests if the bytes between <code>[offset, offset+7]</code>
+   * constitute a weak or semi-weak DES key.
+   *
+   * @param key    The key bytes to check.
+   * @param offset The offset in the byte array to start.
+   * @return true If the key bytes are a weak key.
+   */
+  public static boolean isWeak(byte[] key, int offset)
+    throws InvalidKeyException
+  {
+    if (key.length - offset < DES_KEY_LEN)
+      {
+        throw new InvalidKeyException("DES keys must be 8 bytes long");
+      }
+    for (int i = 0; i < WEAK_KEYS.length; i++)
+      {
+        if (equalsOrComplementEquals(key, offset, WEAK_KEYS[i]))
+          {
+            return true;
+          }
+      }
+    return false;
+  }
+
+  /**
+   * This method returns true if the first 8 bytes starting at
+   * <code>off</code> in <code>a</code> equal the first 8 bytes in
+   * <code>b</code>, or equal the <i>complement</i> of the first 8 bytes
+   * in <code>b</code>.
+   *
+   * @param a   The first byte array.
+   * @param off The index into the first byte array.
+   * @param b   The second byte array.
+   * @return <code>a == b || a == ~b</code>
+   */
+  private static boolean equalsOrComplementEquals(byte[] a, int off, byte[] b)
+  {
+    boolean result = true;
+    for (int i = 0; i < DES_KEY_LEN; i++)
+      {
+        result &= a[off+i] == b[i];
+      }
+    if (result) return true;
+    result = true;
+    for (int i = 0; i < DES_KEY_LEN; i++)
+      {
+        result &= a[off+i] == (~b[i]);
+      }
+    return result;
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return the key as a byte array. This method does not copy the byte
+   * array.
+   *
+   * @return The key bytes.
+   */
+  public byte[] getKey()
+  {
+    return key;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/DESedeKeySpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,151 @@
+/* DESedeKeySpec.java -- Keys for triple-DES.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.InvalidKeyException;
+import java.security.spec.KeySpec;
+
+/**
+ * This class is a transparent wrapper for DES-EDE (Triple-DES) keys,
+ * which are arrays of 24 bytes.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class DESedeKeySpec implements KeySpec
+{
+
+  // Constants.
+  // ------------------------------------------------------------------------
+
+  /**
+   * The length of a triple-DES key, in bytes.
+   */
+  public static final int DES_EDE_KEY_LEN = 24;
+
+  /**
+   * The key bytes.
+   */
+  private byte[] key;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new DES-EDE key spec, copying the first 24 bytes from the
+   * byte array.
+   *
+   * @param key The key bytes.
+   * @throws java.security.InvalidKeyException If there are less than 24
+   *         bytes in the array.
+   */
+  public DESedeKeySpec(byte[] key) throws InvalidKeyException
+  {
+    this(key, 0);
+  }
+
+  /**
+   * Create a new DES-EDE key spec, starting at <code>offset</code> in
+   * the byte array. The first 24 bytes starting at <code>offset</code>
+   * are copied.
+   *
+   * @param key    The key bytes.
+   * @param offset The offset into the byte array at which to begin.
+   * @throws java.security.InvalidKeyException If there are less than 24
+   *         bytes starting at <code>offset</code>.
+   */
+  public DESedeKeySpec(byte[] key, int offset) throws InvalidKeyException
+  {
+    if (key.length - offset < DES_EDE_KEY_LEN)
+      {
+        throw new InvalidKeyException("DES-EDE keys must be 24 bytes long");
+      }
+    this.key = new byte[DES_EDE_KEY_LEN];
+    System.arraycopy(key, offset, this.key, 0, DES_EDE_KEY_LEN);
+  }
+
+  // Class methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Returns whether or not the given key is <i>parity adjusted</i>;
+   * i.e. every byte in the key has an odd number of "1" bits.
+   *
+   * @param key    The key bytes, considered between <code>[offset,
+   *               offset+23]</code>
+   * @param offset The offset into the byte array at which to begin.
+   * @return True if all bytes have an odd number of "1" bits.
+   * @throws java.security.InvalidKeyException If there are not enough
+   *         bytes in the array.
+   */
+  public static boolean isParityAdjusted(byte[] key, int offset)
+    throws InvalidKeyException
+  {
+    if (key.length - offset < DES_EDE_KEY_LEN)
+      {
+        throw new InvalidKeyException("DES-EDE keys must be 24 bytes long");
+      }
+    boolean parity = false;
+    boolean oddbits = false;
+    for (int i = 0; i < DES_EDE_KEY_LEN; i++)
+      {
+        oddbits = false;
+        for (int j = 0; j < 8; j++)
+          {
+            oddbits ^= (key[i+offset] & 1 << j) != 0;
+          }
+        parity &= oddbits;
+      }
+    return parity;
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return the key as a byte array. This method does not copy the byte
+   * array.
+   *
+   * @return The key bytes.
+   */
+  public byte[] getKey()
+  {
+    return key;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/DHGenParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,100 @@
+/* DHGenParameterSpec.java -- Diffie-Hellman parameter generator spec.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * This class represents the parameters needed for generating
+ * Diffie-Hellman parameters.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see DHParameterSpec
+ */
+public class DHGenParameterSpec implements AlgorithmParameterSpec
+{
+
+  // Variables.
+  // ------------------------------------------------------------------------
+
+  /** The length of the prime, in bits. */
+  private int primeSize;
+
+  /** The length of the exponent, in bits. */
+  private int exponentSize;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new Diffie-Hellman parameter generator spec.
+   *
+   * @param primeSize The size of the prime, in bits.
+   * @param exponentSize The size of the exponent, in bits.
+   */
+  public DHGenParameterSpec(int primeSize, int exponentSize)
+  {
+    this.primeSize = primeSize;
+    this.exponentSize = exponentSize;
+  }
+
+  // Intance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Get the size of the exponent, in bits.
+   *
+   * @return The exponent size.
+   */
+  public int getExponentSize()
+  {
+    return exponentSize;
+  }
+
+  /**
+   * Get the size of the prime, in bits.
+   *
+   * @return The prime size.
+   */
+  public int getPrimeSize()
+  {
+    return primeSize;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/DHParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,135 @@
+/* DHParameterSpec.java -- Parameters for Diffie-Hellman keys.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.math.BigInteger;
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * The base set of parameters necessary to perform Diffie-Hellman key
+ * exchange. Each party in the key exchange shares these parameters.
+ *
+ * <p>Each set of parameters consists of a <i>base generator</i>
+ * <code>g</code>, a <i>prime modulus</i> <code>p</code>, and an
+ * optional length, in bits, of the private exponent.
+ *
+ * <p>See <a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-3/">PKCS
+ * #3 - Diffie-Hellman Key Agreement Standard</a> for more information.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see javax.crypto.KeyAgreement
+ */
+public class DHParameterSpec implements AlgorithmParameterSpec
+{
+
+  // Variables.
+  // ------------------------------------------------------------------------
+
+  /** The base generator g. */
+  private BigInteger g;
+
+  /** The prime modulus p. */
+  private BigInteger p;
+
+  /** The length, in bits, of the private exponent. */
+  private int l;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new set of Diffie-Hellman parameters.
+   *
+   * @param p The prime modulus.
+   * @param g The base generator.
+   */
+  public DHParameterSpec(BigInteger p, BigInteger g)
+  {
+    this(p, g, 0);
+  }
+
+  /**
+   * Create a new set of Diffie-Hellman parameters.
+   *
+   * @param p The prime modulus.
+   * @param g The base generator.
+   * @param l The size of the private exponent, in bits.
+   */
+  public DHParameterSpec(BigInteger p, BigInteger g, int l)
+  {
+    this.p = p;
+    this.g = g;
+    this.l = l;
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Get the base generator, <i>g</i>.
+   *
+   * @return The base generator <i>g</i>.
+   */
+  public BigInteger getG()
+  {
+    return g;
+  }
+
+  /**
+   * Get the length of the private exponent, in bits.
+   *
+   * @return The length of the private exponent, in bits, or 0 if this
+   *         has not been explicitly set.
+   */
+  public int getL()
+  {
+    return l;
+  }
+
+  /**
+   * Get the prime modulus, <i>p</i>.
+   *
+   * @return The prime modulus, <i>p</i>.
+   */
+  public BigInteger getP()
+  {
+    return p;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/DHPrivateKeySpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,115 @@
+/* DHPrivateKeySpec.java -- Wrapper for Diffie-Hellman private keys.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.math.BigInteger;
+import java.security.spec.KeySpec;
+
+/**
+ * A wrapper for Diffie-Hellman private key data.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see DHPublicKeySpec
+ */
+public class DHPrivateKeySpec implements KeySpec
+{
+
+  // Variables.
+  // ------------------------------------------------------------------------
+
+  /** The base generator. */
+  private BigInteger g;
+
+  /** The prime modulus. */
+  private BigInteger p;
+
+  /** The private exponent. */
+  private BigInteger x;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new Diffie-Hellman private key spec.
+   *
+   * @param x The private exponent.
+   * @param p The prime modulus.
+   * @param g The base generator.
+   */
+  public DHPrivateKeySpec(BigInteger x, BigInteger p, BigInteger g)
+  {
+    this.x = x;
+    this.p = p;
+    this.g = g;
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Get the base generator.
+   *
+   * @return The base generator.
+   */
+  public BigInteger getG()
+  {
+    return g;
+  }
+
+  /**
+   * Get the prime modulus.
+   *
+   * @return The prime modulus.
+   */
+  public BigInteger getP()
+  {
+    return p;
+  }
+
+  /**
+   * Get the private exponent.
+   *
+   * @return The private exponent.
+   */
+  public BigInteger getX()
+  {
+    return x;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/DHPublicKeySpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,115 @@
+/* DHPublicKeySpec.java -- Wrapper for Diffie-Hellman public keys.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.math.BigInteger;
+import java.security.spec.KeySpec;
+
+/**
+ * A wrapper for Diffie-Hellman public key data.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see DHPrivateKeySpec
+ */
+public class DHPublicKeySpec implements KeySpec
+{
+
+  // Variables.
+  // ------------------------------------------------------------------------
+
+  /** The base generator. */
+  private BigInteger g;
+
+  /** The prime modulus. */
+  private BigInteger p;
+
+  /** The public value. */
+  private BigInteger y;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new Diffie-Hellman public key spec.
+   *
+   * @param y The public value.
+   * @param p The prime modulus.
+   * @param g The base generator.
+   */
+  public DHPublicKeySpec(BigInteger y, BigInteger p, BigInteger g)
+  {
+    this.y = y;
+    this.p = p;
+    this.g = g;
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Get the base generator.
+   *
+   * @return The base generator.
+   */
+  public BigInteger getG()
+  {
+    return g;
+  }
+
+  /**
+   * Get the prime modulus.
+   *
+   * @return The prime modulus.
+   */
+  public BigInteger getP()
+  {
+    return p;
+  }
+
+  /**
+   * Get the public value.
+   *
+   * @return The public value.
+   */
+  public BigInteger getY()
+  {
+    return y;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/IvParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,96 @@
+/* IvParameterSpec.java -- A simple wrapper for initialization vectors.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * A wrapper for an initialization vector. An initialization vector is
+ * necessary for any cipher in any <i>feedback mode</i>, e.g. CBC.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ */
+public class IvParameterSpec implements AlgorithmParameterSpec
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  /** The IV. */
+  private byte[] iv;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new initialization vector spec from an entire byte array.
+   *
+   * @param iv The IV bytes.
+   */
+  public IvParameterSpec(byte[] iv)
+  {
+    this(iv, 0, iv.length);
+  }
+
+  /**
+   * Create a new initialization vector spec from part of a byte array.
+   *
+   * @param iv  The IV bytes.
+   * @param off The offset into the IV bytes.
+   * @param len The number of IV bytes.
+   */
+  public IvParameterSpec(byte[] iv, int off, int len)
+  {
+    this.iv = new byte[len];
+    System.arraycopy(iv, off, this.iv, 0, len);
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Returns the IV. This method does not copy the byte array.
+   *
+   * @return The IV.
+   */
+  public byte[] getIV()
+  {
+    return iv;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/OAEPParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,78 @@
+/* OAEPParameterSpec.java -- stub file
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.crypto.spec;
+
+import java.security.spec.AlgorithmParameterSpec;
+
+public class OAEPParameterSpec
+{
+  private String _mdName;
+  private String _mgfName;
+  
+  private AlgorithmParameterSpec _mgfSpec;
+  
+  private PSource _pSrc;
+	
+  public OAEPParameterSpec (String mdName, String mgfName,
+		                    AlgorithmParameterSpec mgfSpec, PSource pSrc)
+  {
+    _mdName = mdName;
+    _mgfName = mgfName;
+    _mgfSpec = mgfSpec;
+    _pSrc = pSrc;
+  }
+  
+  public String getDigestAlgorithm()
+  {
+    return _mdName;
+  }
+  
+  public String getMGFAlgorithm()
+  {
+    return _mgfName;
+  }
+  
+  public AlgorithmParameterSpec getMGFParameters()
+  {
+    return _mgfSpec;
+  }
+  
+  public PSource getPSource()
+  {
+    return _pSrc;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/PBEKeySpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,281 @@
+/* PBEKeySpec.java -- Wrapper for password-based keys.
+   Copyright (C) 2004, 2006  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.spec.KeySpec;
+
+/**
+ * A wrapper for a password-based key, used for password-based
+ * encryption (PBE).
+ *
+ * <p>Examples of password-based encryption algorithms include:
+ *
+ * <ul>
+ * <li><a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/">PKCS #5
+ * - Password-Based Cryptography Standard</a></li>
+ * <li><a href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-12/">PKCS
+ * #12 - Personal Information Exchange Syntax Standard</a></li>
+ * </ul>
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ * @see javax.crypto.SecretKeyFactory
+ * @see PBEParameterSpec
+ */
+public class PBEKeySpec implements KeySpec
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  /** The iteration count. */
+  private int iterationCount;
+
+  /** The generated key length. */
+  private int keyLength;
+
+  /** The password. */
+  private char[] password;
+
+  /** The salt. */
+  private byte[] salt;
+
+  /** The password state */
+  private boolean passwordValid = true;
+  
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new PBE key spec with just a password.
+   * <p>
+   * A copy of the password argument is stored instead of the argument itself.
+   * 
+   * @param password The password char array.
+   */
+  public PBEKeySpec(char[] password)
+  {
+    setPassword(password);
+    
+    // load the default values for unspecified variables.
+    salt = null;
+    iterationCount = 0;
+    keyLength = 0;
+  }
+
+  /**
+   * Create a PBE key spec with a password, salt, and iteration count.
+   * <p>
+   * A copy of the password and salt arguments are stored instead of the
+   * arguments themselves.
+   * 
+   * @param password The password char array.
+   * @param salt The salt bytes.
+   * @param iterationCount The iteration count.
+   * @throws NullPointerException If salt is null
+   * @throws IllegalArgumentException If salt is an empty array, or
+   *           iterationCount is negative
+   */
+  public PBEKeySpec(char[] password, byte[] salt, int iterationCount)
+  {
+    setPassword(password);
+    setSalt(salt);
+    setIterationCount(iterationCount);
+
+    // load default values into unspecified variables.
+    keyLength = 0;
+  }
+
+  /**
+   * Create a PBE key spec with a password, salt, iteration count, and key
+   * length.
+   * <p>
+   * A copy of the password and salt arguments are stored instead of the
+   * arguments themselves.
+   * 
+   * @param password The password char array.
+   * @param salt The salt bytes.
+   * @param iterationCount The iteration count.
+   * @param keyLength The generated key length.
+   * @throws NullPointerException If salt is null
+   * @throws IllegalArgumentException If salt is an empty array, if
+   *           iterationCount or keyLength is negative
+   */
+  public PBEKeySpec(char[] password, byte[] salt, int iterationCount,
+                    int keyLength)
+  {
+    setPassword(password);
+    setSalt(salt);
+    setIterationCount(iterationCount);
+    setKeyLength(keyLength);
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Clear the password array by filling it with null characters.
+   * <p>
+   * This clears the stored copy of the password, not the original char array
+   * used to create the password.
+   */
+  public final void clearPassword()
+  {
+    if (password == null)
+      return;
+    for (int i = 0; i < password.length; i++)
+      password[i] = '\u0000';
+    
+    // since the password is cleared, it is no longer valid
+    passwordValid = false;
+  }
+
+  /**
+   * Get the iteration count, or 0 if it has not been specified.
+   *
+   * @return The iteration count, or 0 if it has not been specified.
+   */
+  public final int getIterationCount()
+  {
+    return iterationCount;
+  }
+
+  /**
+   * Get the generated key length, or 0 if it has not been specified.
+   *
+   * @return The key length, or 0 if it has not been specified.
+   */
+  public final int getKeyLength()
+  {
+    return keyLength;
+  }
+
+  /**
+   * Get the password character array copy.
+   * <p>
+   * This returns a copy of the password, not the password itself.
+   * 
+   * @return a clone of the password.
+   * @throws IllegalStateException If {@link #clearPassword()} has already been
+   *           called.
+   */
+  public final char[] getPassword()
+  {
+    if (! passwordValid)
+      throw new IllegalStateException("clearPassword() has been called, the "
+                                      + "password is no longer valid");
+    return (char[]) password.clone();
+  }
+
+  /**
+   * Get the salt bytes array copy.
+   * <p>
+   * This returns a copy of the salt, not the salt itself.
+   * 
+   * @return The salt.
+   */
+  public final byte[] getSalt()
+  {
+    if (salt != null)
+      return (byte[]) salt.clone();
+    return null;
+  }
+
+  /**
+   * Set the password char array.
+   * <p>
+   * A copy of the password argument is stored instead of the argument itself.
+   * 
+   * @param password The password to be set
+   */
+  private void setPassword(char[] password)
+  {
+    if (password != null)
+      this.password = (char[]) password.clone();
+    else
+      this.password = new char[0];
+
+    passwordValid = true;
+  }
+
+  /**
+   * Set the salt byte array.
+   * <p>
+   * A copy of the salt arguments is stored instead of the argument itself.
+   * 
+   * @param salt The salt to be set.
+   * @throws NullPointerException If the salt is null.
+   * @throws IllegalArgumentException If the salt is an empty array.
+   */
+  private void setSalt(byte[] salt)
+  {
+    if (salt.length == 0)
+      throw new IllegalArgumentException("salt MUST NOT be an empty byte array");
+
+    this.salt = (byte[]) salt.clone();
+  }
+
+  /**
+   * Set the iterationCount.
+   * 
+   * @param iterationCount The iteration count to be set.
+   * @throws IllegalArgumentException If the iterationCount is negative.
+   */
+  private void setIterationCount(int iterationCount)
+  {
+    if (iterationCount < 0)
+      throw new IllegalArgumentException("iterationCount MUST be positive");
+
+    this.iterationCount = iterationCount;
+  }
+
+  /**
+   * Set the keyLength.
+   * 
+   * @param keyLength The keyLength to be set.
+   * @throws IllegalArgumentException if the keyLength is negative.
+   */
+  private void setKeyLength(int keyLength)
+  {
+    if (keyLength < 0)
+      throw new IllegalArgumentException("keyLength MUST be positive");
+
+    this.keyLength = keyLength;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/PBEParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,100 @@
+/* PBEParameterSpec.java -- A wrapper for PBE parameters.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * A wrapper for the parameters used in <a
+ * href="http://www.rsasecurity.com/rsalabs/pkcs/pkcs-5/">PKCS #5 -
+ * Password-Based Cryptography Standard</a>.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class PBEParameterSpec implements AlgorithmParameterSpec
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  /** The iteration count. */
+  private int iterationCount;
+
+  /** The salt. */
+  private byte[] salt;
+
+  // Constructor.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Creates a new password-based encryption parameter specification.
+   *
+   * @param salt           The salt.
+   * @param iterationCount The iteration count.
+   */
+  public PBEParameterSpec(byte[] salt, int iterationCount)
+  {
+    this.salt = salt;
+    this.iterationCount = iterationCount;
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Get the iteration count.
+   *
+   * @return The iteration count.
+   */
+  public int getIterationCount()
+  {
+    return iterationCount;
+  }
+
+  /**
+   * Get the salt.
+   *
+   * @return The salt.
+   */
+  public byte[] getSalt()
+  {
+    return salt;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/PSource.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,69 @@
+/* PSource.java -- stub file
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.crypto.spec;
+
+public class PSource 
+{
+  String _pSrcName;
+	
+  public PSource(String pSrcName)
+  {
+    _pSrcName = pSrcName;
+  }
+  
+  public String getAlgorithm()
+  {
+    return _pSrcName;
+  }
+  
+  public static final class PSpecified extends PSource
+  {
+    private byte[] _P;
+	  
+    public PSpecified(byte[] p)
+    {
+      //FIXME: What should the pSrcName be here?
+      super("SPECIFIED");
+      _P = p;
+    }
+    
+    public byte[] getValue()
+    {
+      return _P;
+    }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/RC2ParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,166 @@
+/* RC2ParameterSpec.java -- Wrapper for RC2 parameters.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * A wrapper for parameters for the <a
+ * href="http://www.rsasecurity.com/rsalabs/faq/3-6-2.html">RC2</a>
+ * block cipher ("RC" means either "Rivest Cipher" or "Ron's Code",
+ * depending upon who you ask and when).
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class RC2ParameterSpec implements AlgorithmParameterSpec
+{
+
+  // Constants and fields.
+  // ------------------------------------------------------------------------
+
+  /** The length of an RC2 IV, in bytes. */
+  private static final int RC2_IV_LENGTH = 8;
+
+  /** The effective key length, in bits. */
+  private int effectiveKeyBits;
+
+  /** The initialization vector. */
+  private byte[] iv;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create RC2 parameters without an IV.
+   *
+   * @param effectiveKeyBits The number of effective key bits.
+   */
+  public RC2ParameterSpec(int effectiveKeyBits)
+  {
+    this.effectiveKeyBits = effectiveKeyBits;
+  }
+
+  /**
+   * Create RC2 parameters with an IV.
+   *
+   * @param effectiveKeyBits The number of effective key bits.
+   * @param iv               The IV; the first eight bytes of this array
+   *                         are used.
+   */
+  public RC2ParameterSpec(int effectiveKeyBits, byte[] iv)
+  {
+    this(effectiveKeyBits, iv, 0);
+  }
+
+  /**
+   * Create RC2 parameters with an IV.
+   *
+   * @param effectiveKeyBits The number of effective key bits.
+   * @param iv               The IV; the first eight bytes of this array
+   *                         after <code>offset</code> are used.
+   * @param offset           From whence to start in the array.
+   */
+  public RC2ParameterSpec(int effectiveKeyBits, byte[] iv, int offset)
+  {
+    if (iv.length - offset < RC2_IV_LENGTH)
+      {
+        throw new IllegalArgumentException("IV too short");
+      }
+    this.effectiveKeyBits = effectiveKeyBits;
+    this.iv = new byte[RC2_IV_LENGTH];
+    System.arraycopy(iv, offset, this.iv, 0, RC2_IV_LENGTH);
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Get the number of effective key bits.
+   *
+   * @return The numer of effective key bits.
+   */
+  public int getEffectiveKeyBits()
+  {
+    return effectiveKeyBits;
+  }
+
+  /**
+   * Return the initialization vector, or <code>null</code> if none was
+   * specified.
+   *
+   * @return The IV, or null.
+   */
+  public byte[] getIV()
+  {
+    return iv;
+  }
+
+  public boolean equals(Object o)
+  {
+    if (this == o) return true;
+    byte[] oiv = ((RC2ParameterSpec) o).getIV();
+    if (iv != oiv)
+      {
+        if (iv == null || oiv == null) return false;
+        if (iv.length != oiv.length) return false;
+        for (int i = 0; i < iv.length; i++)
+          {
+            if (iv[i] != oiv[i])
+              {
+                return false;
+              }
+          }
+      }
+    return effectiveKeyBits == ((RC2ParameterSpec) o).getEffectiveKeyBits();
+  }
+
+  public int hashCode()
+  {
+    int code = effectiveKeyBits;
+    if (iv != null)
+      {
+        for (int i = 0; i < RC2_IV_LENGTH; i++)
+          {
+            code += iv[i];
+          }
+      }
+    return code;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/RC5ParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,202 @@
+/* RC5ParameterSpec.java -- parameters for RC5.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.spec.AlgorithmParameterSpec;
+
+/**
+ * A wrapper for parameters to the <a
+ * href="http://www.rsasecurity.com/rsalabs/faq/3-6-4.html">RC5</a>
+ * block cipher.
+ *
+ * @author Casey Marshall (csm@gnu.org)
+ * @since 1.4
+ */
+public class RC5ParameterSpec implements AlgorithmParameterSpec
+{
+
+  // Fields.
+  // ------------------------------------------------------------------------
+
+  /** The IV. */
+  private byte[] iv;
+
+  /** The number of rounds. */
+  private int rounds;
+
+  /** The version number. */
+  private int version;
+
+  /** The word size, in bits. */
+  private int wordSize;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create RC5 parameters without an IV.
+   *
+   * @param version  The version number.
+   * @param rounds   The number of rounds.
+   * @param wordSize The size of a word, in bits.
+   */
+  public RC5ParameterSpec(int version, int rounds, int wordSize)
+  {
+    this.version = version;
+    this.rounds = rounds;
+    this.wordSize = wordSize;
+  }
+
+  /**
+   * Create RC5 parameters with an IV. The bytes in <code>iv</code> in
+   * the range <code>[0, 2*(wordSize/8)-1]</code> are used.
+   *
+   * @param version  The version number.
+   * @param rounds   The number of rounds.
+   * @param wordSize The size of a word, in bits.
+   * @param iv       The IV data.
+   */
+  public RC5ParameterSpec(int version, int rounds, int wordSize, byte[] iv)
+  {
+    this(version, rounds, wordSize, iv, 0);
+  }
+
+  /**
+   * Create RC5 parameters with an IV. The bytes in <code>iv</code> in
+   * the range <code>[off, off+2*(wordSize/8)-1]</code> are used.
+   *
+   * @param version  The version number.
+   * @param rounds   The number of rounds.
+   * @param wordSize The size of a word, in bits.
+   * @param iv       The IV data.
+   * @param off      From where in the array the IV starts.
+   */
+  public
+  RC5ParameterSpec(int version, int rounds, int wordSize, byte[] iv, int off)
+  {
+    this(version, rounds, wordSize);
+    int ivLength = 2 * (wordSize / 8);
+    if (off < 0)
+      throw new IllegalArgumentException();
+    if (iv.length - off < ivLength)
+      {
+        throw new IllegalArgumentException("IV too short");
+      }
+    this.iv = new byte[ivLength];
+    System.arraycopy(iv, off, this.iv, 0, ivLength);
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return the initializaiton vector, or <code>null</code> if none was
+   * specified.
+   *
+   * @return The IV, or null.
+   */
+  public byte[] getIV()
+  {
+    return iv;
+  }
+
+  /**
+   * Get the number of rounds.
+   *
+   * @return The number of rounds.
+   */
+  public int getRounds()
+  {
+    return rounds;
+  }
+
+  /**
+   * Get the version number.
+   *
+   * @return The version number.
+   */
+  public int getVersion()
+  {
+    return version;
+  }
+
+  /**
+   * Get the word size, in bits.
+   *
+   * @return The word size, in bits.
+   */
+  public int getWordSize()
+  {
+    return wordSize;
+  }
+
+  public boolean equals(Object o)
+  {
+    if (this == o) return true;
+    byte[] oiv = ((RC5ParameterSpec) o).getIV();
+    if (iv != oiv)
+      {
+        if (iv == null || oiv == null) return false;
+        if (iv.length != oiv.length) return false;
+        for (int i = 0; i < iv.length; i++)
+          {
+            if (iv[i] != oiv[i])
+              {
+                return false;
+              }
+          }
+      }
+    return rounds   == ((RC5ParameterSpec) o).getRounds()
+        && version  == ((RC5ParameterSpec) o).getVersion()
+        && wordSize == ((RC5ParameterSpec) o).getWordSize();
+  }
+
+  public int hashCode()
+  {
+    int code = rounds + version + wordSize;
+    if (iv != null)
+      {
+        for (int i = 0; i < iv.length; i++)
+          {
+            code += iv[i];
+          }
+      }
+    return code;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/javax/crypto/spec/SecretKeySpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,163 @@
+/* SecretKeySpec.java -- Wrapper for secret keys.
+   Copyright (C) 2004  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.crypto.spec;
+
+import java.security.spec.KeySpec;
+
+import javax.crypto.SecretKey;
+
+/**
+ * This is a simple wrapper around a raw byte array, for ciphers that do
+ * not require any key parameters other than the bytes themselves.
+ *
+ * <p>Since this class implements {@link javax.crypto.SecretKey}, which
+ * in turn extends {@link java.security.Key}, so instances of this class
+ * may be passed directly to the <code>init()</code> methods of {@link
+ * javax.crypto.Cipher}.
+ *
+ * @see javax.crypto.SecretKey
+ * @see javax.crypto.SecretKeyFactory
+ */
+public class SecretKeySpec implements KeySpec, SecretKey
+{
+
+  // Constants and fields.
+  // ------------------------------------------------------------------------
+
+  /** Compatible with JDK1.4. */
+  private static final long serialVersionUID = 6577238317307289933L;
+
+  /** The key bytes. */
+  private byte[] key;
+
+  /** The algorithm's name. */
+  private String algorithm;
+
+  // Constructors.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Create a new secret key spec from an entire byte array.
+   *
+   * @param key       The key material.
+   * @param algorithm The name of the algorithm using this key.
+   */
+  public SecretKeySpec(byte[] key, String algorithm)
+  {
+    this(key, 0, key.length, algorithm);
+  }
+
+  /**
+   * Create a new secret key spec from part of a byte array.
+   *
+   * @param key       The key material.
+   * @param off       The offset at which key material begins.
+   * @param len       The length of key material.
+   * @param algorithm The name of the algorithm using this key.
+   */
+  public SecretKeySpec(byte[] key, int off, int len, String algorithm)
+  {
+    this.key = new byte[len];
+    this.algorithm = algorithm;
+    System.arraycopy(key, off, this.key, 0, len);
+  }
+
+  // Instance methods.
+  // ------------------------------------------------------------------------
+
+  /**
+   * Return the name of the algorithm associated with this secret key.
+   *
+   * @return The algorithm's name.
+   */
+  public String getAlgorithm()
+  {
+    return algorithm;
+  }
+
+  /**
+   * Return the key as a byte array.
+   *
+   * @return The key material.
+   */
+  public byte[] getEncoded()
+  {
+    return key;
+  }
+
+  /**
+   * This key's format, which is always "RAW".
+   *
+   * @return "RAW"
+   */
+  public String getFormat()
+  {
+    return "RAW";
+  }
+
+  public boolean equals(Object o)
+  {
+    if (o instanceof SecretKeySpec)
+      {
+        byte[] okey = ((SecretKeySpec) o).getEncoded();
+        if (key.length != okey.length)
+          return false;
+        for (int i = 0; i < key.length; i++)
+          {
+            if (key[i] != okey[i])
+              return false;
+          }
+        return algorithm.equals(((SecretKeySpec) o).getAlgorithm());
+      }
+    else
+      {
+        return false;
+      }
+  }
+
+  public int hashCode()
+  {
+    int code = 0;
+    for (int i = 0; i < key.length; i++)
+      {
+        code ^= (key[i] & 0xff) << (i << 3 & 31);
+      }
+    return code ^ algorithm.hashCode();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/sun/security/internal/interfaces/TlsMasterSecret.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* TlsMasterSecret.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.security.internal.interfaces;
+
+public interface TlsMasterSecret
+{
+  public int getMajorVersion();
+  
+  public int getMinorVersion();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/sun/security/internal/spec/TlsKeyMaterialParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,49 @@
+/* TlsKeyMaterialParameterSpec.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.security.internal.spec;
+
+import javax.crypto.SecretKey;
+
+public class TlsKeyMaterialParameterSpec 
+{
+  public TlsKeyMaterialParameterSpec(SecretKey key, byte arg1, byte arg2,
+		                             byte[] arg3, byte[] arg4, String arg5,
+		                             int arg6, int arg7 , int arg8 , int arg9)
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/sun/security/internal/spec/TlsKeyMaterialSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,73 @@
+/* TlsKeyMaterialSpec.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.security.internal.spec;
+
+import javax.crypto.SecretKey;
+import javax.crypto.spec.IvParameterSpec;
+
+public class TlsKeyMaterialSpec
+{
+  public SecretKey getClientCipherKey()
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+  
+  public SecretKey getServerCipherKey()
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+  
+  public IvParameterSpec getClientIv()
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+  
+  public IvParameterSpec getServerIv()
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+  
+  public SecretKey getClientMacKey()
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+  
+  public SecretKey getServerMacKey()
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/sun/security/internal/spec/TlsMasterSecretParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,48 @@
+/* TlsMasterSecretParameterSpec.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.security.internal.spec;
+
+import javax.crypto.SecretKey;
+
+public class TlsMasterSecretParameterSpec
+{
+  public TlsMasterSecretParameterSpec(SecretKey key,byte arg1, byte arg2,
+		                              byte[] arg3, byte[] arg4)
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/sun/security/internal/spec/TlsPrfParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,47 @@
+/* TlsPrfParameterSpec.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.security.internal.spec;
+
+import javax.crypto.SecretKey;
+
+public class TlsPrfParameterSpec
+{
+  public TlsPrfParameterSpec(SecretKey key, String arg1, byte[] arg2, int arg3)
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jce/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,50 @@
+/* TlsRsaParameterSecretParameterSpec.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or 
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.security.internal.spec;
+
+public class TlsRsaPremasterSecretParameterSpec
+{
+  public TlsRsaPremasterSecretParameterSpec(int major, int minor)
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+  
+  public TlsRsaPremasterSecretParameterSpec(byte arg1, byte arg2)
+  {
+    throw new RuntimeException("Not implemented.");
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/missing	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,367 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2006-05-10.23
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
+#   Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program 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 for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).
+case $1 in
+  lex|yacc)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $1 in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  autom4te)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo "#! /bin/sh"
+	echo "# Created by GNU Automake missing as a replacement of"
+	echo "#  $ $@"
+	echo "exit 0"
+	chmod +x $file
+	exit 1
+    fi
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f y.tab.h; then
+	echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+	case $LASTARG in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if test -f "$SRCFILE"; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if test ! -f lex.yy.c; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+	 you modified a dependency of a manual page.  You may need the
+	 \`Help2man' package in order for those modifications to take
+	 effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+	touch $file
+    else
+	test -z "$file" || exec >$file
+	echo ".ab help2man is required to generate this page"
+	exit 1
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+	/^@setfilename/{
+	  s/.* \([^ ]*\) *$/\1/
+	  p
+	  q
+	}' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+	case $firstarg in
+	*o*)
+	    firstarg=`echo "$firstarg" | sed s/o//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+	case $firstarg in
+	*h*)
+	    firstarg=`echo "$firstarg" | sed s/h//`
+	    tar "$firstarg" "$@" && exit 0
+	    ;;
+	esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-end: "$"
+# End:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpDataTypeEnums.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,52 @@
+/* SnmpDataTypeEnums.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public interface SnmpDataTypeEnums {
+	// Random values chosen to prevent conflicts in switch statements.
+	final static int IpAddressTag = 01;
+	final static int CounterTag = 11;
+	final static int GaugeTag = 21;
+	final static int TimeticksTag = 31;
+	final static int OpaqueTag = 41;
+	int NullTag = 0;
+	final static int errNoSuchObjectTag = 33;
+	final static int errNoSuchInstanceTag = 44;
+	final static int errEndOfMibViewTag = 55;
+	public static final int Counter64Tag = 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpDefinitions.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,83 @@
+/* SnmpDefinitions.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public interface SnmpDefinitions {
+	// Random values chosen to prevent conflicts in switch statements.
+	final int snmpRspNoError = 1230;
+	final int pduGetRequestPdu = 1;
+	final int pduGetNextRequestPdu = 2;
+	final int pduWalkRequest = 3;
+	final int pduSetRequestPdu = 4;
+	final int pduV1TrapPdu = 5;
+	final int pduGetResponsePdu = 6;
+	final int pduInformRequestPdu = 7;
+	final int pduGetBulkRequestPdu = 8;
+	final int pduV2TrapPdu = 9;
+	int snmpVersionOne = 330;
+	int snmpVersionTwo = 220;
+	final int pduReportPdu = 10;
+	int snmpRspWrongEncoding = 0;
+	final int snmpReqUnknownError = 110;
+	final byte noAuthNoPriv = 0;
+	final byte privMask = 0;
+	final int snmpVersionThree = 4430;
+	final int snmpRspGenErr = 0;
+	final int snmpRspNotWritable = 0;
+	final byte authPriv = 0;
+	final int authMask = 0;
+	final int snmpRspNoSuchName = 10;
+	final int snmpRspNoAccess = 20;
+	final int snmpRspReadOnly = 30;
+	final int snmpRspBadValue = 40;
+	final int snmpRspWrongValue = 50;
+	final int snmpRspInconsistentName = 60;
+	final int snmpRspAuthorizationError = 70;
+	final int snmpRspNoCreation = 80;
+	final int snmpRspWrongType = 90;
+	final int snmpRspWrongLength = 110;
+	final int snmpRspInconsistentValue = 220;
+	final int snmpRspResourceUnavailable = 330;
+	final int snmpRspCommitFailed = 440;
+	final int snmpRspUndoFailed = 550;
+	final int snmpRspTooBig = 660;
+	final int snmpV1SecurityModel = 650;
+	final int snmpV2SecurityModel = 560;
+	final int snmpWrongSnmpVersion = 221;	
+	
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpOid.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,137 @@
+/* SnmpOid.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpOid extends SnmpValue {
+
+	public int componentCount = 0;
+	public long[] components;
+	
+	public SnmpOid() {
+	}
+	
+	public SnmpOid(long[] ls) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public SnmpOid(String dotAddress) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public SnmpOid(long b1, long b2, long b3, long b4) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public SnmpOid(long value) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public SnmpValue duplicate() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public String getTypeName() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public SnmpOid toOid() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public long[] longValue() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public int getLength() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void append(SnmpOid source) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void append(int length) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public int compareTo(SnmpOid oid) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public long[] longValue(boolean b) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public long getOidArc(int depth) throws SnmpStatusException {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Byte[] toByte() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpOidRecord.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,53 @@
+/* SnmpOidRecord.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpOidRecord {
+
+	public SnmpOidRecord(String string, String string2, String string3) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public String getOid() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpOidTable.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,53 @@
+/* SnmpOidTable.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpOidTable {
+
+	public SnmpOidTable(String string) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public SnmpOidRecord resolveVarName(String string) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpOidTableSupport.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,54 @@
+/* SnmpOidTableSupport.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpOidTableSupport extends SnmpOidTable {
+	
+	public SnmpOidTableSupport(String string) {
+		super(string);
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+    public void loadMib(SnmpOidRecord[] varList2) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpParameters.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+/* SnmpParameters.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpParameters {
+
+	public String getRdCommunity() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public String getInformCommunity() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void setRdCommunity(String community) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpPduPacket.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,52 @@
+/* SnmpPduPacket.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+import java.net.InetAddress;
+
+public class SnmpPduPacket extends SnmpPdu {
+	// Random values chosen to prevent conflicts in switch statements.
+	public int type;
+	public final static int pduGetBulkRequestPdu = 223;
+	public int version;
+	public int snmpVersionTwo;
+	public InetAddress address;
+	public int port;
+	public byte[] community;
+	public int requestId;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpPeer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,73 @@
+/* SnmpPeer.java -- stub file. 
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+import java.net.InetAddress;
+
+public class SnmpPeer {
+
+	public SnmpPeer(InetAddress address, int port) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public SnmpParameters getParams() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public InetAddress getDestAddr() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public int getDestPort() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void setParams(SnmpParameters p) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpSession.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,65 @@
+/* SnmpSession.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+import java.net.InetAddress;
+
+import com.sun.jmx.snmp.daemon.SnmpAdaptorServer;
+import com.sun.jmx.snmp.daemon.SnmpInformHandler;
+import com.sun.jmx.snmp.daemon.SnmpInformRequest;
+
+public class SnmpSession {
+
+	public SnmpSession(SnmpAdaptorServer server) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public SnmpInformRequest makeAsyncRequest(InetAddress addr, String cs, SnmpInformHandler cb, SnmpVarBindList fullVbl, int informPort) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void destroySession() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpTimeticks.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,74 @@
+/* SnmpTimeticks.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpTimeticks extends SnmpValue {
+
+	public SnmpTimeticks(long l) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	@Override
+	public SnmpValue duplicate() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public String getTypeName() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	@Override
+	public SnmpOid toOid() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public int longValue() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpVarBind.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,74 @@
+/* SnmpVarBind.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpVarBind {
+	// Random values chosen to prevent conflicts in switch statements.
+	public final static int errNoSuchObjectTag = 3;
+	public final static int errNoSuchInstanceTag = 8;
+	public final static int errEndOfMibViewTag = 9;
+	public static SnmpValue noSuchObject;
+	public static SnmpValue noSuchInstance;
+	public static SnmpValue endOfMibView;
+	public SnmpValue value;
+	public SnmpOid oid;
+	public SnmpVarBind(SnmpOid oid2, SnmpValue value2) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+	public SnmpVarBind() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+	public void setSnmpValue(SnmpValue value2) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+	public void setEndOfMibView() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+	public void setNoSuchObject() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/SnmpVarBindList.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,82 @@
+/* SnmpVarBindList.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp;
+
+public class SnmpVarBindList {
+
+	public SnmpVarBindList(int i) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public SnmpVarBindList() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public int size() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void copyInto(SnmpVarBind[] varBindList) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void insertElementAt(SnmpVarBind bind, int i) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+	
+	public SnmpVarBindList clone() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void add(SnmpVarBind varPoolName) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/agent/AcmChecker.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* AcmChecker.java -- stub file
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp.agent;
+
+public class AcmChecker
+{
+
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/jmx/snmp/daemon/SnmpInformRequest.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+/* SnmpInformRequest.java -- stub file
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.jmx.snmp.daemon;
+
+public class SnmpInformRequest {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/AbstractPlayer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* AbstractPlayer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class AbstractPlayer
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/AutoConnectSequencer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,50 @@
+/* AutoConnectSequencer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+import javax.sound.midi.Receiver;
+
+public class AutoConnectSequencer {
+
+	public void setAutoConnect(Receiver rec) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/DataPusher.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+/* DataPusher.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+import javax.sound.sampled.AudioInputStream;
+import javax.sound.sampled.SourceDataLine;
+
+public class DataPusher {
+
+	public DataPusher(SourceDataLine sourcedataline, AudioInputStream as) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public void stop() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void start() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/DirectAudioDevice.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* DirectAudioDevice.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class DirectAudioDevice
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/DirectAudioDeviceProvider.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* DirectAudioDeviceProvider.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class DirectAudioDeviceProvider
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/HeadspaceMixer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* HeadspaceMixer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class HeadspaceMixer
+{
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/HeadspaceSoundbank.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* HeadspaceSoundbank.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class HeadspaceSoundbank
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/JDK13Services.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+/* JDK13Services.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+import java.util.List;
+
+public class JDK13Services {
+
+	public static String getDefaultProviderClassName(Class deviceClass) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static String getDefaultInstanceName(Class deviceClass) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static List getProviders(Class providerClass) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/JavaSoundAudioClip.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,68 @@
+/* JavaSoundAudioClip.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+import java.applet.AudioClip;
+import java.io.InputStream;
+
+public class JavaSoundAudioClip implements AudioClip {
+
+	public JavaSoundAudioClip(InputStream in) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public void loop() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void play() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void stop() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MidiInDevice.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* MidiInDevice.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MidiInDevice
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MidiInDeviceProvider.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* MidiInDeviceProvider.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MidiInDeviceProvider
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MidiOutDevice.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* MidiOutDevice.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MidiOutDevice
+{
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MidiOutDeviceProvider.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* MidiOutDeviceProvider.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MidiOutDeviceProvider
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MidiUtils.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,59 @@
+/* MidiUtils.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+import javax.sound.midi.MidiMessage;
+import javax.sound.midi.Sequence;
+
+public class MidiUtils {
+
+	public static final byte META_END_OF_TRACK_TYPE = 0;
+
+	public static long tick2microsecond(Sequence sequence, long tickLength, Object object) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static boolean isMetaEndOfTrack(MidiMessage message) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MixerClip.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* MixerClip.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MixerClip
+{
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MixerMidiChannel.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* MixerMidiChannel.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MixerMidiChannel
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MixerSequencer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* MixerSequencer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MixerSequencer
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MixerSourceLine.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* MixerSourceLine.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MixerSourceLine
+{
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MixerSynth.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* MixerSynth.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MixerSynth
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/MixerThread.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* MixerThread.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class MixerThread
+{
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/Platform.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* Platform.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class Platform
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/PortMixer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* PortMixer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class PortMixer
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/PortMixerProvider.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* PortMixerProvider.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class PortMixerProvider
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/ReferenceCountingDevice.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,57 @@
+/* ReferenceCountingDevice.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+import javax.sound.midi.Receiver;
+import javax.sound.midi.Transmitter;
+
+public class ReferenceCountingDevice {
+
+	public Receiver getReceiverReferenceCounting() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Transmitter getTransmitterReferenceCounting() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/SimpleInputDevice.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* SimpleInputDevice.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class SimpleInputDevice
+{
+
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/SimpleInputDeviceProvider.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,45 @@
+/* SimpleInputDeviceProvider.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+public class SimpleInputDeviceProvider
+{
+
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/media/sound/Toolkit.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,50 @@
+/* Toolkit.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.media.sound;
+
+import javax.sound.sampled.AudioInputStream;
+
+public class Toolkit {
+
+	public static AudioInputStream getPCMConvertedAudioInputStream(AudioInputStream as) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/ClassShutter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,43 @@
+/* ClassShutter.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public interface ClassShutter {
+
+	boolean visibleToScripts(String name);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/Context.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,170 @@
+/* Context.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+import java.io.IOException;
+import java.io.Reader;
+
+import javax.script.Bindings;
+
+public class Context {
+
+	protected static final int FEATURE_E4X = 0;
+	public static Object[] emptyArgs;
+
+	public Scriptable newObject(Scriptable scope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static boolean toBoolean(Object res) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Scriptable toObject(Object object, Scriptable topLevel) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Object toString(Object tmp) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Context getCurrentContext() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static RhinoException reportRuntimeError(String string) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void evaluateString(RhinoTopLevel level, String builtinVariables, String string, int i, Object object) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public static Object javaToJS(Bindings bind, Scriptable topLevelScope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object getUndefinedValue() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void setClassShutter(ClassShutter instance) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setWrapFactory(WrapFactory instance) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public static void exit() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public static Object jsToJava(Object res, Class desiredType) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object evaluateReader(Scriptable scope, Reader reader, String filename, int i, Object object) throws IOException {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void evaluateString(Scriptable newScope, String printSource, String string, int i, Object object) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public Script compileReader(Scriptable scope, Reader script, String fileName, int i, Object object) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Context enter() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Object javaToJS(Object object, RhinoTopLevel topLevel) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object toObject(Object thiz, RhinoTopLevel topLevel) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Object javaToJS(Object value, ExternalScriptable scriptable) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/ContextFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+/* ContextFactory.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class ContextFactory {
+
+	public static void initGlobal(ContextFactory factory) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	protected Context makeContext() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public boolean hasFeature(Context cx, int feature) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/Function.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,48 @@
+/* Function.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public interface Function {
+
+	Object call(Context cx, Scriptable scope, Scriptable tmp, Object[] args) throws RhinoException;
+
+	Scriptable construct(Context cx, Scriptable scope, Object[] args) throws RhinoException;
+
+	Scriptable getParentScope();
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/ImporterTopLevel.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,131 @@
+/* ImporterTopLevel.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class ImporterTopLevel implements Scriptable {
+
+	public ImporterTopLevel(Context cx) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+	
+    protected void defineFunctionProperties(String[] names, Class<RhinoTopLevel> name, String dontenum) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void delete(String name) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void delete(int index) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public Object get(String name, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object get(int index, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object getDefaultValue(Class hint) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object[] getIds() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Scriptable getPrototype() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public boolean has(String name, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public boolean has(int index, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void put(String name, Scriptable start, Object value) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void put(int index, Scriptable start, Object value) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setParentScope(Scriptable topLevelScope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setPrototype(Scriptable objectPrototype) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/JavaScriptException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,54 @@
+/* JavaScriptException.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class JavaScriptException extends RhinoException {
+
+	public JavaScriptException(String string) {
+		super(string);
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public Object getValue() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/LazilyLoadedCtor.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,47 @@
+/* LazilyLoadedCtor.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class LazilyLoadedCtor {
+
+	public LazilyLoadedCtor(RhinoTopLevel level, String string, String string2, boolean b) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/NativeArray.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,54 @@
+/* NativeArray.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class NativeArray {
+
+	public int getLength() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object get(int index, NativeArray array) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/NativeJavaClass.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,44 @@
+/* NativeJavaClass.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+import javax.script.Wrapper;
+
+public class NativeJavaClass extends Wrapper {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/NativeJavaObject.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,127 @@
+/* NativeJavaObject.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class NativeJavaObject implements Scriptable {
+
+	protected Object javaObject;
+	
+	public NativeJavaObject(Scriptable scope, Object object, Class type) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public void delete(String name) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void delete(int index) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public Object get(String name, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object get(int index, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object getDefaultValue(Class hint) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Object[] getIds() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public Scriptable getPrototype() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public boolean has(String name, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public boolean has(int index, Scriptable start) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void put(String name, Scriptable start, Object value) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void put(int index, Scriptable start, Object value) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setParentScope(Scriptable topLevelScope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setPrototype(Scriptable objectPrototype) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/RhinoException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,59 @@
+/* RhinoException.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class RhinoException extends RuntimeException {
+
+	public RhinoException(String string) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public int lineNumber() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public String sourceName() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/Script.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,48 @@
+/* Script.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class Script {
+
+	public Object exec(Context cx, Scriptable scope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/ScriptRuntime.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,54 @@
+/* ScriptRuntime.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class ScriptRuntime {
+
+	public static Class StringClass;
+	public static Object[] emptyArgs;
+	public static Class ScriptableClass;
+	public static Class FunctionClass;
+	public static Class BooleanClass;
+	public static Class NumberClass;
+	public static Class ByteClass;
+	public static Class ShortClass;
+	public static Class IntegerClass;
+	public static Class FloatClass;
+	public static Class DoubleClass;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/Scriptable.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+/* Scriptable.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public interface Scriptable {
+
+	final Object NOT_FOUND = null;
+	
+	Object get(String name, Scriptable start);
+
+	Object get(int index, Scriptable start);
+
+	boolean has(String name, Scriptable start);
+
+	boolean has(int index, Scriptable start);
+
+	void put(String name, Scriptable start, Object value);
+
+	void put(int index, Scriptable start, Object value);
+
+	void delete(String name);
+
+	void delete(int index);
+
+	Object[] getIds();
+
+	Scriptable getPrototype();
+
+	Object getDefaultValue(Class hint);
+
+	void setPrototype(Scriptable objectPrototype);
+
+	void setParentScope(Scriptable topLevelScope);
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/ScriptableObject.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,107 @@
+/* ScriptableObject.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+import javax.script.Invocable;
+
+public class ScriptableObject {
+
+	public static final String DONTENUM = null;
+    
+    protected Invocable engine;
+
+	public Scriptable getParentScope() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+	public static void defineProperty(Scriptable scope, String string, JSAdapter obj, String dontenum2) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public static Scriptable getTopLevelScope(Scriptable scope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Scriptable getFunctionPrototype(Scriptable scope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static Object getProperty(Scriptable adaptee, String name) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public static void putProperty(RhinoTopLevel topLevel, String string, JavaAdapter obj) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public static Scriptable getObjectPrototype(Scriptable thisObj) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+    
+    protected void setParentScope(Scriptable scope) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	protected void setPrototype(Scriptable functionPrototype) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public static void init(Context cx, RhinoTopLevel level, boolean b) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/Undefined.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+/* Undefined.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class Undefined {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/com/sun/script/javascript/WrapFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,48 @@
+/* WrapFactory.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package com.sun.script.javascript;
+
+public class WrapFactory {
+
+	public Scriptable wrapAsJavaObject(Context cx, Scriptable scope, Object javaObject, Class staticType) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/BitMaskExtent.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,79 @@
+/* Copyright (C) 2000, 2002  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt;
+
+/** 
+ * Simple transparent utility class that can be used to perform bit
+ * mask extent calculations.
+ */
+public final class BitMaskExtent
+{
+  /** The number of the least significant bit of the bit mask extent. */
+  public byte leastSignificantBit;
+
+  /** The number of bits in the bit mask extent. */
+  public byte bitWidth;
+  
+  /**
+   * Set the bit mask. This will calculate and set the leastSignificantBit
+   * and bitWidth fields.
+   *
+   * @see #leastSignificantBit
+   * @see #bitWidth
+   */
+  public void setMask(long mask)
+  {
+    leastSignificantBit = 0;
+    bitWidth = 0;
+    if (mask == 0) return;
+    long shiftMask = mask;
+    for (; (shiftMask&1) == 0; shiftMask >>>=1) leastSignificantBit++;
+    for (; (shiftMask&1) != 0; shiftMask >>>=1) bitWidth++;
+    
+    if (shiftMask != 0)
+      throw new IllegalArgumentException("mask must be continuous");
+  }
+  
+  /** 
+   * Calculate the bit mask based on the values of the
+   * leastSignificantBit and bitWidth fields.
+   */
+  public long toMask()
+  {
+    return ((1<<bitWidth)-1) << leastSignificantBit;
+  }  
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/Buffers.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,225 @@
+/* Buffers.java --
+   Copyright (C) 2000, 2002, 2004  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.awt;
+
+import java.awt.image.DataBuffer;
+import java.awt.image.DataBufferByte;
+import java.awt.image.DataBufferDouble;
+import java.awt.image.DataBufferFloat;
+import java.awt.image.DataBufferInt;
+import java.awt.image.DataBufferShort;
+import java.awt.image.DataBufferUShort;
+
+/** 
+ * Utility class for creating and accessing data buffers of arbitrary
+ * data types.
+ */
+public final class Buffers
+{
+  /**
+   * Create a data buffer of a particular type.
+   *
+   * @param dataType the desired data type of the buffer.
+   * @param data an array containing data, or null
+   * @param size the size of the data buffer bank
+   */
+  public static DataBuffer createBuffer(int dataType, Object data,
+					int size)
+  {
+    if (data == null) return createBuffer(dataType, size, 1);
+
+    return createBufferFromData(dataType, data, size);
+  }
+
+
+  /**
+   * Create a data buffer of a particular type.
+   *
+   * @param dataType the desired data type of the buffer.
+   * @param size the size of the data buffer bank
+   */
+  public static DataBuffer createBuffer(int dataType, int size) {
+    return createBuffer(dataType, size, 1);
+  }
+
+  /**
+   * Create a data buffer of a particular type.
+   *
+   * @param dataType the desired data type of the buffer.
+   * @param size the size of the data buffer bank
+   * @param numBanks the number of banks the buffer should have
+   */
+  public static DataBuffer createBuffer(int dataType, int size, int numBanks)
+  {
+    switch (dataType)
+      {
+      case DataBuffer.TYPE_BYTE:
+	return new DataBufferByte(size, numBanks);
+      case DataBuffer.TYPE_SHORT:
+	return new DataBufferShort(size, numBanks);
+      case DataBuffer.TYPE_USHORT:
+	return new DataBufferUShort(size, numBanks);
+      case DataBuffer.TYPE_INT:
+	return new DataBufferInt(size, numBanks);
+      case DataBuffer.TYPE_FLOAT:
+	return new DataBufferFloat(size, numBanks);
+      case DataBuffer.TYPE_DOUBLE:
+	return new DataBufferDouble(size, numBanks);
+      default:
+	throw new UnsupportedOperationException();
+      }
+  }
+  
+  /**
+   * Create a data buffer of a particular type.
+   *
+   * @param dataType the desired data type of the buffer
+   * @param data an array containing the data
+   * @param size the size of the data buffer bank
+   */
+  public static DataBuffer createBufferFromData(int dataType, Object data,
+						int size)
+  {
+    switch (dataType)
+      {
+      case DataBuffer.TYPE_BYTE:
+	return new DataBufferByte((byte[]) data, size);
+      case DataBuffer.TYPE_SHORT:
+	return new DataBufferShort((short[]) data, size);
+      case DataBuffer.TYPE_USHORT:
+	return new DataBufferUShort((short[]) data, size);
+      case DataBuffer.TYPE_INT:
+	return new DataBufferInt((int[]) data, size);
+      case DataBuffer.TYPE_FLOAT:
+	return new DataBufferFloat((float[]) data, size);
+      case DataBuffer.TYPE_DOUBLE:
+	return new DataBufferDouble((double[]) data, size);
+      default:
+	throw new UnsupportedOperationException();
+      }
+  }
+
+  /** 
+   * Return the data array of a data buffer, regardless of the data
+   * type.
+   *
+   * @return an array of primitive values. The actual array type
+   * depends on the data type of the buffer.
+   */
+  public static Object getData(DataBuffer buffer)
+  {
+    return getData(buffer, 0, null, 0, buffer.getSize());
+  }
+
+    
+  /**
+   * Copy data from array contained in data buffer, much like
+   * System.arraycopy. Create a suitable destination array if the
+   * given destination array is null.
+   */
+  public static Object getData(DataBuffer src, int srcOffset,
+			       Object dest,  int dstOffset,
+			       int length)
+  {
+    Object from;
+    switch(src.getDataType())
+      {
+      case DataBuffer.TYPE_BYTE:
+	if (dest == null) dest = new byte[length+dstOffset];
+	for(int i = 0; i < length; i++)
+	  ((byte[])dest)[i + dstOffset] = (byte)src.getElem(i + srcOffset);
+	break;
+
+      case DataBuffer.TYPE_DOUBLE:
+	if (dest == null) dest = new double[length+dstOffset];
+	for(int i = 0; i < length; i++)
+	  ((double[])dest)[i + dstOffset] = src.getElemDouble(i + srcOffset);
+	break;
+
+      case DataBuffer.TYPE_FLOAT:
+	if (dest == null) dest = new float[length+dstOffset];
+	for(int i = 0; i < length; i++)
+	  ((float[])dest)[i + dstOffset] = src.getElemFloat(i + srcOffset);
+	break;
+
+      case DataBuffer.TYPE_INT:
+	if (dest == null) dest = new int[length+dstOffset];
+	for(int i = 0; i < length; i++)
+	  ((int[])dest)[i + dstOffset] = src.getElem(i + srcOffset);
+	break;
+
+      case DataBuffer.TYPE_SHORT:
+      case DataBuffer.TYPE_USHORT:
+	if (dest == null) dest = new short[length+dstOffset];
+	for(int i = 0; i < length; i++)
+	  ((short[])dest)[i + dstOffset] = (short)src.getElem(i + srcOffset);
+	break;
+
+      case DataBuffer.TYPE_UNDEFINED:
+	throw new ClassCastException("Unknown data buffer type");
+      }
+    return dest;
+  }
+  
+  /**
+   * @param bits the width of a data element measured in bits
+   *
+   * @return the smallest data type that can store data elements of
+   * the given number of bits, without any truncation.
+   */
+  public static int smallestAppropriateTransferType(int bits)
+  {
+    if (bits <= 8)
+      {
+	return DataBuffer.TYPE_BYTE;
+      }
+    else if (bits <= 16)
+      {
+	return DataBuffer.TYPE_USHORT;
+      } 
+    else if (bits <= 32)
+      {
+	return DataBuffer.TYPE_INT;
+      }
+    else
+      {
+	return DataBuffer.TYPE_UNDEFINED;
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/CieXyzConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,73 @@
+/* CieXyzConverter.java -- CieXyz conversion class
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * CieXyzConverter - converts to/from a D50-relative CIE XYZ color space.
+ * 
+ * The sRGB<->CIE XYZ conversions in SrgbConverter are used.
+ *
+ * @author Sven de Marothy
+ */
+public class CieXyzConverter implements ColorSpaceConverter
+{
+  public float[] toCIEXYZ(float[] in)
+  {
+    float[] out = new float[3];
+    System.arraycopy(in, 0, out, 0, 3);
+    return out;
+  }
+
+  public float[] fromCIEXYZ(float[] in)
+  {
+    float[] out = new float[3];
+    System.arraycopy(in, 0, out, 0, 3);
+    return out;
+  }
+
+  public float[] toRGB(float[] in)
+  {
+    return SrgbConverter.XYZtoRGB(in);
+  }
+
+  public float[] fromRGB(float[] in)
+  {
+    return SrgbConverter.RGBtoXYZ(in);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/ClutProfileConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,152 @@
+/* ClutProfileConverter.java -- Conversion routines for CLUT-Based profiles
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+import java.awt.color.ICC_Profile;
+
+
+/**
+ * ClutProfileConverter - conversions through a CLUT-based profile
+ *
+ * @author Sven de Marothy
+ */
+public class ClutProfileConverter implements ColorSpaceConverter
+{
+  private ColorLookUpTable toPCS;
+  private ColorLookUpTable fromPCS;
+  private int nChannels;
+
+  public ClutProfileConverter(ICC_Profile profile)
+  {
+    nChannels = profile.getNumComponents();
+
+    // Sun does not specifiy which rendering intent should be used,
+    // neither does the ICC v2 spec really. 
+    // Try intent 0
+    try
+      {
+	toPCS = new ColorLookUpTable(profile, ICC_Profile.icSigAToB0Tag);
+      }
+    catch (Exception e)
+      {
+	toPCS = null;
+      }
+
+    try
+      {
+	fromPCS = new ColorLookUpTable(profile, ICC_Profile.icSigBToA0Tag);
+      }
+    catch (Exception e)
+      {
+	fromPCS = null;
+      }
+
+    if (toPCS != null || fromPCS != null)
+      return;
+
+    // If no intent 0 clut is available, look for a intent 1 clut.
+    try
+      {
+	toPCS = new ColorLookUpTable(profile, ICC_Profile.icSigAToB1Tag);
+      }
+    catch (Exception e)
+      {
+	toPCS = null;
+      }
+
+    try
+      {
+	fromPCS = new ColorLookUpTable(profile, ICC_Profile.icSigBToA1Tag);
+      }
+    catch (Exception e)
+      {
+	fromPCS = null;
+      }
+
+    if (toPCS != null || fromPCS != null)
+      return;
+
+    // Last shot.. intent 2 CLUT.
+    try
+      {
+	toPCS = new ColorLookUpTable(profile, ICC_Profile.icSigAToB2Tag);
+      }
+    catch (Exception e)
+      {
+	toPCS = null;
+      }
+
+    try
+      {
+	fromPCS = new ColorLookUpTable(profile, ICC_Profile.icSigBToA2Tag);
+      }
+    catch (Exception e)
+      {
+	fromPCS = null;
+      }
+
+    if (toPCS == null && fromPCS == null)
+      throw new IllegalArgumentException("No CLUTs in profile!");
+  }
+
+  public float[] toCIEXYZ(float[] in)
+  {
+    if (toPCS != null)
+      return toPCS.lookup(in);
+    else
+      return new float[3];
+  }
+
+  public float[] toRGB(float[] in)
+  {
+    return SrgbConverter.XYZtoRGB(toCIEXYZ(in));
+  }
+
+  public float[] fromCIEXYZ(float[] in)
+  {
+    if (fromPCS != null)
+      return fromPCS.lookup(in);
+    else
+      return new float[nChannels];
+  }
+
+  public float[] fromRGB(float[] in)
+  {
+    return fromCIEXYZ(SrgbConverter.RGBtoXYZ(in));
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/ColorLookUpTable.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,429 @@
+/* ColorLookUpTable.java -- ICC v2 CLUT
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+import java.awt.color.ColorSpace;
+import java.awt.color.ICC_Profile;
+import java.nio.ByteBuffer;
+
+
+/**
+ * ColorLookUpTable handles color lookups through a color lookup table,
+ * as defined in the ICC specification.
+ * Both 'mft2' and 'mft1' (8 and 16-bit) type CLUTs are handled.
+ *
+ * This will have to be updated later for ICC 4.0.0
+ *
+ * @author Sven de Marothy
+ */
+public class ColorLookUpTable
+{
+  /**
+   * CIE 1931 D50 white point (in Lab coordinates)
+   */
+  private static float[] D50 = { 0.96422f, 1.00f, 0.82521f };
+
+  /**
+   * Number of input/output channels
+   */
+  int nIn;
+
+  /**
+   * Number of input/output channels
+   */
+  int nOut;
+  int nInTableEntries; // Number of input table entries
+  int nOutTableEntries; // Number of output table entries
+  int gridpoints; // Number of gridpoints
+  int nClut; // This is nOut*(gridpoints**nIn)
+  double[][] inTable; // 1D input table ([channel][table])
+  short[][] outTable; // 1D input table ([channel][table])
+  double[] clut; // The color lookup table
+  float[][] inMatrix; // input matrix (XYZ only)
+  boolean useMatrix; // Whether to use the matrix or not.
+  int[] multiplier;
+  int[] offsets; // Hypercube offsets 
+  boolean inputLab; // Set if the CLUT input CS is Lab
+  boolean outputLab; // Set if the CLUT output CS is Lab
+
+  /**
+   * Constructor
+   * Requires a profile file to get the CLUT from and the tag of the
+   * CLUT to create. (icSigXToYZTag where X,Y = [A | B], Z = [0,1,2])
+   */
+  public ColorLookUpTable(ICC_Profile profile, int tag)
+  {
+    useMatrix = false;
+
+    switch (tag)
+      {
+      case ICC_Profile.icSigAToB0Tag:
+      case ICC_Profile.icSigAToB1Tag:
+      case ICC_Profile.icSigAToB2Tag:
+	if (profile.getColorSpaceType() == ColorSpace.TYPE_XYZ)
+	  useMatrix = true;
+	inputLab = false;
+	outputLab = (profile.getPCSType() == ColorSpace.TYPE_Lab);
+	break;
+      case ICC_Profile.icSigBToA0Tag:
+      case ICC_Profile.icSigBToA1Tag:
+      case ICC_Profile.icSigBToA2Tag:
+	if (profile.getPCSType() == ColorSpace.TYPE_XYZ)
+	  useMatrix = true;
+	inputLab = (profile.getPCSType() == ColorSpace.TYPE_Lab);
+	outputLab = false;
+	break;
+      default:
+	throw new IllegalArgumentException("Not a clut-type tag.");
+      }
+
+    byte[] data = profile.getData(tag);
+    if (data == null)
+      throw new IllegalArgumentException("Unsuitable profile, does not contain a CLUT.");
+
+    // check 'mft'
+    if (data[0] != 0x6d || data[1] != 0x66 || data[2] != 0x74)
+      throw new IllegalArgumentException("Unsuitable profile, invalid CLUT data.");
+
+    if (data[3] == 0x32)
+      readClut16(data);
+    else if (data[3] == 0x31)
+      readClut8(data);
+    else
+      throw new IllegalArgumentException("Unknown/invalid CLUT type.");
+  }
+
+  /**
+   * Loads a 16-bit CLUT into our data structures
+   */
+  private void readClut16(byte[] data)
+  {
+    ByteBuffer buf = ByteBuffer.wrap(data);
+
+    nIn = data[8] & (0xFF);
+    nOut = data[9] & (0xFF);
+    nInTableEntries = buf.getShort(48);
+    nOutTableEntries = buf.getShort(50);
+    gridpoints = data[10] & (0xFF);
+
+    inMatrix = new float[3][3];
+    for (int i = 0; i < 3; i++)
+      for (int j = 0; j < 3; j++)
+	inMatrix[i][j] = ((float) (buf.getInt(12 + (i * 3 + j) * 4))) / 65536.0f;
+
+    inTable = new double[nIn][nInTableEntries];
+    for (int channel = 0; channel < nIn; channel++)
+      for (int i = 0; i < nInTableEntries; i++)
+	inTable[channel][i] = (double) ((int) buf.getShort(52
+	                                                   + (channel * nInTableEntries
+	                                                   + i) * 2)
+	                      & (0xFFFF)) / 65536.0;
+
+    nClut = nOut;
+    multiplier = new int[nIn];
+    multiplier[nIn - 1] = nOut;
+    for (int i = 0; i < nIn; i++)
+      {
+	nClut *= gridpoints;
+	if (i > 0)
+	  multiplier[nIn - i - 1] = multiplier[nIn - i] * gridpoints;
+      }
+
+    int clutOffset = 52 + nIn * nInTableEntries * 2;
+    clut = new double[nClut];
+    for (int i = 0; i < nClut; i++)
+      clut[i] = (double) ((int) buf.getShort(clutOffset + i * 2) & (0xFFFF)) / 65536.0;
+
+    outTable = new short[nOut][nOutTableEntries];
+    for (int channel = 0; channel < nOut; channel++)
+      for (int i = 0; i < nOutTableEntries; i++)
+	outTable[channel][i] = buf.getShort(clutOffset
+	                                    + (nClut
+	                                    + channel * nOutTableEntries + i) * 2);
+
+    // calculate the hypercube corner offsets
+    offsets = new int[(1 << nIn)];
+    offsets[0] = 0;
+    for (int j = 0; j < nIn; j++)
+      {
+	int factor = 1 << j;
+	for (int i = 0; i < factor; i++)
+	  offsets[factor + i] = offsets[i] + multiplier[j];
+      }
+  }
+
+  /**
+   * Loads a 8-bit CLUT into our data structures.
+   */
+  private void readClut8(byte[] data)
+  {
+    ByteBuffer buf = ByteBuffer.wrap(data);
+
+    nIn = (data[8] & (0xFF));
+    nOut = (data[9] & (0xFF));
+    nInTableEntries = 256; // always 256
+    nOutTableEntries = 256; // always 256
+    gridpoints = (data[10] & (0xFF));
+
+    inMatrix = new float[3][3];
+    for (int i = 0; i < 3; i++)
+      for (int j = 0; j < 3; j++)
+	inMatrix[i][j] = ((float) (buf.getInt(12 + (i * 3 + j) * 4))) / 65536.0f;
+
+    inTable = new double[nIn][nInTableEntries];
+    for (int channel = 0; channel < nIn; channel++)
+      for (int i = 0; i < nInTableEntries; i++)
+	inTable[channel][i] = (double) ((int) buf.get(48
+	                                              + (channel * nInTableEntries
+	                                              + i)) & (0xFF)) / 255.0;
+
+    nClut = nOut;
+    multiplier = new int[nIn];
+    multiplier[nIn - 1] = nOut;
+    for (int i = 0; i < nIn; i++)
+      {
+	nClut *= gridpoints;
+	if (i > 0)
+	  multiplier[nIn - i - 1] = multiplier[nIn - i] * gridpoints;
+      }
+
+    int clutOffset = 48 + nIn * nInTableEntries;
+    clut = new double[nClut];
+    for (int i = 0; i < nClut; i++)
+      clut[i] = (double) ((int) buf.get(clutOffset + i) & (0xFF)) / 255.0;
+
+    outTable = new short[nOut][nOutTableEntries];
+    for (int channel = 0; channel < nOut; channel++)
+      for (int i = 0; i < nOutTableEntries; i++)
+	outTable[channel][i] = (short) (buf.get(clutOffset + nClut
+	                                        + channel * nOutTableEntries
+	                                        + i) * 257);
+
+    // calculate the hypercube corner offsets
+    offsets = new int[(1 << nIn)];
+    offsets[0] = 0;
+    for (int j = 0; j < nIn; j++)
+      {
+	int factor = 1 << j;
+	for (int i = 0; i < factor; i++)
+	  offsets[factor + i] = offsets[i] + multiplier[j];
+      }
+  }
+
+  /**
+   * Performs a lookup through the Color LookUp Table.
+   * If the CLUT tag type is AtoB the conversion will be from the device
+   * color space to the PCS, BtoA type goes in the opposite direction.
+   *
+   * For convenience, the PCS values for input or output will always be
+   * CIE XYZ (D50), if the actual PCS is Lab, the values will be converted.
+   *
+   * N-dimensional linear interpolation is used.
+   */
+  float[] lookup(float[] in)
+  {
+    float[] in2 = new float[in.length];
+    if (useMatrix)
+      {
+	for (int i = 0; i < 3; i++)
+	  in2[i] = in[0] * inMatrix[i][0] + in[1] * inMatrix[i][1]
+	           + in[2] * inMatrix[i][2];
+      }
+    else if (inputLab)
+      in2 = XYZtoLab(in);
+    else
+      System.arraycopy(in, 0, in2, 0, in.length);
+
+    // input table 
+    for (int i = 0; i < nIn; i++)
+      {
+	int index = (int) Math.floor(in2[i] * (double) (nInTableEntries - 1)); // floor in
+
+	// clip values.
+	if (index >= nInTableEntries - 1)
+	  in2[i] = (float) inTable[i][nInTableEntries - 1];
+	else if (index < 0)
+	  in2[i] = (float) inTable[i][0];
+	else
+	  {
+	    // linear interpolation
+	    double alpha = in2[i] * ((double) nInTableEntries - 1.0) - index;
+	    in2[i] = (float) (inTable[i][index] * (1 - alpha)
+	             + inTable[i][index + 1] * alpha);
+	  }
+      }
+
+    // CLUT lookup
+    double[] output2 = new double[nOut];
+    double[] weights = new double[(1 << nIn)];
+    double[] clutalpha = new double[nIn]; // interpolation values
+    int offset = 0; // = gp
+    for (int i = 0; i < nIn; i++)
+      {
+	int index = (int) Math.floor(in2[i] * ((double) gridpoints - 1.0));
+	double alpha = in2[i] * ((double) gridpoints - 1.0) - (double) index;
+
+	// clip values.
+	if (index >= gridpoints - 1)
+	  {
+	    index = gridpoints - 1;
+	    alpha = 1.0;
+	  }
+	else if (index < 0)
+	  index = 0;
+	clutalpha[i] = alpha;
+	offset += index * multiplier[i];
+      }
+
+    // Calculate interpolation weights
+    weights[0] = 1.0;
+    for (int j = 0; j < nIn; j++)
+      {
+	int factor = 1 << j;
+	for (int i = 0; i < factor; i++)
+	  {
+	    weights[factor + i] = weights[i] * clutalpha[j];
+	    weights[i] *= (1.0 - clutalpha[j]);
+	  }
+      }
+
+    for (int i = 0; i < nOut; i++)
+      output2[i] = weights[0] * clut[offset + i];
+
+    for (int i = 1; i < (1 << nIn); i++)
+      {
+	int offset2 = offset + offsets[i];
+	for (int f = 0; f < nOut; f++)
+	  output2[f] += weights[i] * clut[offset2 + f];
+      }
+
+    // output table 
+    float[] output = new float[nOut];
+    for (int i = 0; i < nOut; i++)
+      {
+	int index = (int) Math.floor(output2[i] * ((double) nOutTableEntries
+	                             - 1.0));
+
+	// clip values.
+	if (index >= nOutTableEntries - 1)
+	  output[i] = outTable[i][nOutTableEntries - 1];
+	else if (index < 0)
+	  output[i] = outTable[i][0];
+	else
+	  {
+	    // linear interpolation
+	    double a = output2[i] * ((double) nOutTableEntries - 1.0)
+	               - (double) index;
+	    output[i] = (float) ((double) ((int) outTable[i][index] & (0xFFFF)) * (1
+	                - a)
+	                + (double) ((int) outTable[i][index + 1] & (0xFFFF)) * a) / 65536f;
+	  }
+      }
+
+    if (outputLab)
+      return LabtoXYZ(output);
+    return output;
+  }
+
+  /**
+   * Converts CIE Lab coordinates to (D50) XYZ ones.
+   */
+  private float[] LabtoXYZ(float[] in)
+  {
+    // Convert from byte-packed format to a 
+    // more convenient one (actual Lab values)
+    // (See ICC spec for details)
+    // factor is 100 * 65536 / 65280
+    in[0] = (float) (100.392156862745 * in[0]);
+    in[1] = (in[1] * 256.0f) - 128.0f;
+    in[2] = (in[2] * 256.0f) - 128.0f;
+
+    float[] out = new float[3];
+
+    out[1] = (in[0] + 16.0f) / 116.0f;
+    out[0] = in[1] / 500.0f + out[1];
+    out[2] = out[1] - in[2] / 200.0f;
+
+    for (int i = 0; i < 3; i++)
+      {
+	double exp = out[i] * out[i] * out[i];
+	if (exp <= 0.008856)
+	  out[i] = (out[i] - 16.0f / 116.0f) / 7.787f;
+	else
+	  out[i] = (float) exp;
+	out[i] = D50[i] * out[i];
+      }
+    return out;
+  }
+
+  /**
+   * Converts CIE XYZ coordinates to Lab ones.
+   */
+  private float[] XYZtoLab(float[] in)
+  {
+    float[] temp = new float[3];
+
+    for (int i = 0; i < 3; i++)
+      {
+	temp[i] = in[i] / D50[i];
+
+	if (temp[i] <= 0.008856f)
+	  temp[i] = (7.7870689f * temp[i]) + (16f / 116.0f);
+	else
+	  temp[i] = (float) Math.exp((1.0 / 3.0) * Math.log(temp[i]));
+      }
+
+    float[] out = new float[3];
+    out[0] = (116.0f * temp[1]) - 16f;
+    out[1] = 500.0f * (temp[0] - temp[1]);
+    out[2] = 200.0f * (temp[1] - temp[2]);
+
+    // Normalize to packed format
+    out[0] = (float) (out[0] / 100.392156862745);
+    out[1] = (out[1] + 128f) / 256f;
+    out[2] = (out[2] + 128f) / 256f;
+    for (int i = 0; i < 3; i++)
+      {
+	if (out[i] < 0f)
+	  out[i] = 0f;
+	if (out[i] > 1f)
+	  out[i] = 1f;
+      }
+    return out;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/ColorSpaceConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,69 @@
+/* ColorSpaceConverter.java -- an interface for colorspace conversion
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * ColorSpaceConverter - used by java.awt.color.ICC_ColorSpace
+ *
+ * Color space conversion can occur in several ways:
+ *
+ * -Directly (for the built in spaces sRGB, linear RGB, gray, CIE XYZ and PYCC
+ * -ICC_ProfileRGB works through TRC curves and a matrix
+ * -ICC_ProfileGray works through a single TRC
+ * -Everything else is done through Color lookup tables.
+ *
+ * The different conversion methods are implemented through
+ * an interface. The built-in colorspaces are implemented directly
+ * with the relevant conversion equations.
+ *
+ * In this way, we hopefully will always use the fastest and most
+ * accurate method available.
+ *
+ * @author Sven de Marothy
+ */
+public interface ColorSpaceConverter
+{
+  float[] toCIEXYZ(float[] in);
+
+  float[] fromCIEXYZ(float[] in);
+
+  float[] toRGB(float[] in);
+
+  float[] fromRGB(float[] in);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/GrayProfileConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,137 @@
+/* GrayProfileConverter.java -- Gray profile conversion class
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.awt.color;
+
+import java.awt.color.ICC_Profile;
+import java.awt.color.ICC_ProfileGray;
+import java.awt.color.ProfileDataException;
+
+/**
+ * GrayProfileConverter - converts Grayscale profiles (ICC_ProfileGray)
+ *
+ * This type of profile contains a single tone reproduction curve (TRC).
+ * Conversion consists of simple TRC lookup.
+ *
+ * This implementation is very lazy and does everything applying the TRC and
+ * utilizing the built-in linear grayscale color space.
+ *
+ * @author Sven de Marothy
+ */
+public class GrayProfileConverter implements ColorSpaceConverter
+{
+  private GrayScaleConverter gc;
+  private ToneReproductionCurve trc;
+  private ColorLookUpTable toPCS;
+  private ColorLookUpTable fromPCS;
+
+  /**
+   * Constructs the converter described by an ICC_ProfileGray object
+   */
+  public GrayProfileConverter(ICC_ProfileGray profile)
+  {
+    try
+      {
+	trc = new ToneReproductionCurve(profile.getGamma());
+      }
+    catch (ProfileDataException e)
+      {
+	trc = new ToneReproductionCurve(profile.getTRC());
+      }
+
+    // linear grayscale converter
+    gc = new GrayScaleConverter();
+
+    // If a CLUT is available, it should be used, and the TRCs ignored.
+    // Note: A valid profile may only have CLUTs in one direction, and
+    // TRC:s without useful info, making reverse-transforms impossible.
+    // In this case the TRC will be used for the reverse-transform with
+    // unpredictable results. This is in line with the Java specification,
+    try
+      {
+	toPCS = new ColorLookUpTable(profile, ICC_Profile.icSigAToB0Tag);
+      }
+    catch (Exception e)
+      {
+	toPCS = null;
+      }
+
+    try
+      {
+	fromPCS = new ColorLookUpTable(profile, ICC_Profile.icSigBToA0Tag);
+      }
+    catch (Exception e)
+      {
+	fromPCS = null;
+      }
+  }
+
+  public float[] toCIEXYZ(float[] in)
+  {
+    if (toPCS != null)
+      return toPCS.lookup(in);
+    float[] gray = new float[1];
+    gray[0] = trc.lookup(in[0]);
+    return gc.toCIEXYZ(gray);
+  }
+
+  public float[] toRGB(float[] in)
+  {
+    float[] gray = new float[1];
+    gray[0] = trc.lookup(in[0]);
+    return gc.toRGB(gray);
+  }
+
+  public float[] fromRGB(float[] in)
+  {
+    // get linear grayscale value
+    float[] gray = gc.fromRGB(in);
+    gray[0] = trc.reverseLookup(gray[0]);
+    return gray;
+  }
+
+  public float[] fromCIEXYZ(float[] in)
+  {
+    if (fromPCS != null)
+      return fromPCS.lookup(in);
+
+    float[] gray = gc.fromCIEXYZ(in);
+    gray[0] = trc.reverseLookup(gray[0]);
+    return gray;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/GrayScaleConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,110 @@
+/* GrayScaleConverter.java -- Linear grayscale conversion class
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * Linear Grayscale converter
+ *
+ * @author Sven de Marothy
+ */
+public class GrayScaleConverter implements ColorSpaceConverter
+{
+  // intensity factors (ITU Rec. BT.709)
+  double[] coeff = { 0.2125f, 0.7154f, 0.0721f };
+
+  /**
+   * CIE 1931 D50 white point (in Lab coordinates)
+   */
+  private static float[] D50 = { 0.96422f, 1.00f, 0.82521f };
+
+  public float[] toCIEXYZ(float[] in)
+  {
+    float g = in[0];
+    if (g < 0)
+      g = 1 + g;
+    float[] out = { g * D50[0], g * D50[1], g * D50[2] }; // White spot
+    return out;
+  }
+
+  public float[] toRGB(float[] in)
+  {
+    float[] out = new float[3];
+    if (in[0] <= 0.00304f)
+      out[0] = in[0] * 12.92f;
+    else
+      out[0] = 1.055f * ((float) Math.exp((1 / 2.4) * Math.log(in[0])))
+               - 0.055f;
+    out[1] = out[2] = out[0];
+    return out;
+  }
+
+  public float[] fromCIEXYZ(float[] in)
+  {
+    float[] temp = new float[3];
+    temp[0] = 3.1338f * in[0] - 1.6171f * in[1] - 0.4907f * in[2];
+    temp[1] = -0.9785f * in[0] + 1.9160f * in[1] + 0.0334f * in[2];
+    temp[2] = 0.0720f * in[0] - 0.2290f * in[1] + 1.4056f * in[2];
+    float[] out = new float[1];
+    for (int i = 0; i < 3; i++)
+      out[0] = (float) (temp[i] * coeff[i]);
+    return out;
+  }
+
+  public float[] fromRGB(float[] in)
+  {
+    float[] out = new float[1];
+
+    // Convert non-linear RGB coordinates to linear ones,
+    //  numbers from the w3 spec.
+    out[0] = 0;
+    for (int i = 0; i < 3; i++)
+      {
+	float n = in[i];
+	if (n < 0)
+	  n = 0f;
+	if (n > 1)
+	  n = 1f;
+	if (n <= 0.03928f)
+	  out[0] += (float) (coeff[i] * n / 12.92);
+	else
+	  out[0] += (float) (coeff[i] * Math.exp(2.4 * Math.log((n + 0.055) / 1.055)));
+      }
+    return out;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/LinearRGBConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,152 @@
+/* LinearRGBConverter.java -- conversion to a linear RGB color space
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * LinearRGBConverter - conversion routines for a linear sRGB colorspace
+ * sRGB is a standard for RGB colorspaces, adopted by the w3c.
+ *
+ * The specification is available at:
+ * http://www.w3.org/Graphics/Color/sRGB.html
+ *
+ * @author Sven de Marothy
+ */
+public class LinearRGBConverter implements ColorSpaceConverter
+{
+  /**
+   * linear RGB --> sRGB
+   * Use the inverse gamma curve
+   */
+  public float[] toRGB(float[] in)
+  {
+    float[] out = new float[3];
+    for (int i = 0; i < 3; i++)
+      {
+	float n = in[i];
+	if (n < 0)
+	  n = 0f;
+	if (n > 1)
+	  n = 1f;
+	if (n <= 0.00304f)
+	  out[i] = in[0] * 12.92f;
+	else
+	  out[i] = 1.055f * ((float) Math.exp((1 / 2.4) * Math.log(n)))
+	           - 0.055f;
+      }
+    return out;
+  }
+
+  /**
+   * sRGB --> linear RGB
+   * Use the gamma curve (gamma=2.4 in sRGB)
+   */
+  public float[] fromRGB(float[] in)
+  {
+    float[] out = new float[3];
+
+    // Convert non-linear RGB coordinates to linear ones,
+    //  numbers from the w3 spec.
+    for (int i = 0; i < 3; i++)
+      {
+	float n = in[i];
+	if (n < 0)
+	  n = 0f;
+	if (n > 1)
+	  n = 1f;
+	if (n <= 0.03928f)
+	  out[i] = (float) (n / 12.92);
+	else
+	  out[i] = (float) (Math.exp(2.4 * Math.log((n + 0.055) / 1.055)));
+      }
+    return out;
+  }
+
+  /**
+   * Linear RGB --> CIE XYZ (D50 relative)
+   * This is a simple matrix transform, the matrix (relative D65)
+   * is given in the sRGB spec. This has been combined with a
+   * linear Bradford transform for the D65-->D50 mapping, resulting
+   * in a single matrix which does the whole thing.
+   *
+   */
+  public float[] fromCIEXYZ(float[] in)
+  {
+    /*
+     * Note: The numbers which were used to calculate this only had four
+     * digits of accuracy. So don't be fooled by the number of digits here.
+     * If someone has more accurate source, feel free to update this.
+     */
+    float[] out = new float[3];
+    out[0] = (float) (3.13383065124221 * in[0] - 1.61711949411313 * in[1]
+             - 0.49071914111101 * in[2]);
+    out[1] = (float) (-0.97847026691142 * in[0] + 1.91597856031996 * in[1]
+             + 0.03340430640699 * in[2]);
+    out[2] = (float) (0.07203679486279 * in[0] - 0.22903073553113 * in[1]
+             + 1.40557835776234 * in[2]);
+    if (out[0] < 0)
+      out[0] = 0f;
+    if (out[1] < 0)
+      out[1] = 0f;
+    if (out[2] < 0)
+      out[2] = 0f;
+    if (out[0] > 1.0f)
+      out[0] = 1.0f;
+    if (out[1] > 1.0f)
+      out[1] = 1.0f;
+    if (out[2] > 1.0f)
+      out[2] = 1.0f;
+    return out;
+  }
+
+  /**
+   * Linear RGB --> CIE XYZ (D50 relative)
+   * Uses the inverse of the above matrix.
+   */
+  public float[] toCIEXYZ(float[] in)
+  {
+    float[] out = new float[3];
+    out[0] = (float) (0.43606375022190 * in[0] + 0.38514960146481 * in[1]
+             + 0.14308641888799 * in[2]);
+    out[1] = (float) (0.22245089403542 * in[0] + 0.71692584775182 * in[1]
+             + 0.06062451125578 * in[2]);
+    out[2] = (float) (0.01389851860679 * in[0] + 0.09707969011198 * in[1]
+             + 0.71399604572506 * in[2]);
+    return out;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/ProfileHeader.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,398 @@
+/* ProfileHeader.java -- Encapsules ICC Profile header data
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+import java.awt.color.ColorSpace;
+import java.awt.color.ICC_Profile;
+import java.nio.ByteBuffer;
+
+
+/**
+ * Header, abstracts and validates the header data.
+ *
+ * @author Sven de Marothy
+ */
+public class ProfileHeader
+{
+  /**
+   * Magic identifier (ASCII 'acsp')
+   */
+  private static final int icMagicNumber = 0x61637370;
+
+  /**
+   * Mapping from ICC Profile signatures to ColorSpace types
+   */
+  private static final int[] csTypeMap = 
+                                         {
+                                           ICC_Profile.icSigXYZData,
+                                           ColorSpace.TYPE_XYZ,
+                                           ICC_Profile.icSigLabData,
+                                           ColorSpace.TYPE_Lab,
+                                           ICC_Profile.icSigLuvData,
+                                           ColorSpace.TYPE_Luv,
+                                           ICC_Profile.icSigYCbCrData,
+                                           ColorSpace.TYPE_YCbCr,
+                                           ICC_Profile.icSigYxyData,
+                                           ColorSpace.TYPE_Yxy,
+                                           ICC_Profile.icSigRgbData,
+                                           ColorSpace.TYPE_RGB,
+                                           ICC_Profile.icSigGrayData,
+                                           ColorSpace.TYPE_GRAY,
+                                           ICC_Profile.icSigHsvData,
+                                           ColorSpace.TYPE_HSV,
+                                           ICC_Profile.icSigHlsData,
+                                           ColorSpace.TYPE_HLS,
+                                           ICC_Profile.icSigCmykData,
+                                           ColorSpace.TYPE_CMYK,
+                                           ICC_Profile.icSigCmyData,
+                                           ColorSpace.TYPE_CMY,
+                                           ICC_Profile.icSigSpace2CLR,
+                                           ColorSpace.TYPE_2CLR,
+                                           ICC_Profile.icSigSpace3CLR,
+                                           ColorSpace.TYPE_3CLR,
+                                           ICC_Profile.icSigSpace4CLR,
+                                           ColorSpace.TYPE_4CLR,
+                                           ICC_Profile.icSigSpace5CLR,
+                                           ColorSpace.TYPE_5CLR,
+                                           ICC_Profile.icSigSpace6CLR,
+                                           ColorSpace.TYPE_6CLR,
+                                           ICC_Profile.icSigSpace7CLR,
+                                           ColorSpace.TYPE_7CLR,
+                                           ICC_Profile.icSigSpace8CLR,
+                                           ColorSpace.TYPE_8CLR,
+                                           ICC_Profile.icSigSpace9CLR,
+                                           ColorSpace.TYPE_9CLR,
+                                           ICC_Profile.icSigSpaceACLR,
+                                           ColorSpace.TYPE_ACLR,
+                                           ICC_Profile.icSigSpaceBCLR,
+                                           ColorSpace.TYPE_BCLR,
+                                           ICC_Profile.icSigSpaceCCLR,
+                                           ColorSpace.TYPE_CCLR,
+                                           ICC_Profile.icSigSpaceDCLR,
+                                           ColorSpace.TYPE_DCLR,
+                                           ICC_Profile.icSigSpaceECLR,
+                                           ColorSpace.TYPE_ECLR,
+                                           ICC_Profile.icSigSpaceFCLR,
+                                           ColorSpace.TYPE_FCLR
+                                         };
+
+  /**
+   * Size of an ICC header (128 bytes)
+   */
+  public static final int HEADERSIZE = 128;
+
+  /**
+   * Mapping of ICC class signatures to profile class constants
+   */
+  private static final int[] classMap = 
+                                        {
+                                          ICC_Profile.icSigInputClass,
+                                          ICC_Profile.CLASS_INPUT,
+                                          ICC_Profile.icSigDisplayClass,
+                                          ICC_Profile.CLASS_DISPLAY,
+                                          ICC_Profile.icSigOutputClass,
+                                          ICC_Profile.CLASS_OUTPUT,
+                                          ICC_Profile.icSigLinkClass,
+                                          ICC_Profile.CLASS_DEVICELINK,
+                                          ICC_Profile.icSigColorSpaceClass,
+                                          ICC_Profile.CLASS_COLORSPACECONVERSION,
+                                          ICC_Profile.icSigAbstractClass,
+                                          ICC_Profile.CLASS_ABSTRACT,
+                                          ICC_Profile.icSigNamedColorClass,
+                                          ICC_Profile.CLASS_NAMEDCOLOR
+                                        };
+  private int size;
+  private int cmmId;
+
+  // Major/Minor version, The ICC-1998 spec is major v2
+  private int majorVersion;
+
+  // Major/Minor version, The ICC-1998 spec is major v2
+  private int minorVersion;
+  private int profileClass; // profile device class
+  private int colorSpace; // data color space type
+  private int profileColorSpace; // profile connection space (PCS) type
+  private byte[] timestamp; // original creation timestamp
+  private int platform; // platform signature
+  private int flags; // flags
+  private int magic; // magic number.
+  private int manufacturerSig; // manufacturer sig
+  private int modelSig; // model sig
+  private byte[] attributes; // Attributes
+  private int intent; // rendering intent
+  private byte[] illuminant; // illuminant info (Coordinates of D50 in the PCS)
+  private int creatorSig; // Creator sig (same type as manufacturer)
+
+  /**
+   * Creates a 'default' header for use with our predefined profiles.
+   * Note the device and profile color spaces are not set.
+   */
+  public ProfileHeader()
+  {
+    creatorSig = 0;
+    intent = 0;
+    modelSig = manufacturerSig = (int) 0x6E6f6E65; // 'none'
+    magic = icMagicNumber;
+    cmmId = 0;
+    platform = 0; // no preferred platform
+    timestamp = new byte[8];
+    majorVersion = 2;
+    minorVersion = 0x10;
+    flags = 0;
+
+    // D50 in XYZ format (encoded)
+    illuminant = new byte[]
+                 {
+                   (byte) 0x00, (byte) 0x00, (byte) 0xf6, (byte) 0xd6,
+                   (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x00,
+                   (byte) 0x00, (byte) 0x00, (byte) 0xd3, (byte) 0x2d
+                 };
+    attributes = new byte[8];
+    profileClass = ICC_Profile.CLASS_DISPLAY;
+  }
+
+  /**
+   * Creates a header from profile data. Only the header portion (128 bytes)
+   * is read, so the array passed need not be the full profile.
+   */
+  public ProfileHeader(byte[] data)
+  {
+    ByteBuffer buf = ByteBuffer.wrap(data);
+
+    // Get size (the sign bit shouldn't matter. 	
+    // A valid profile can never be +2Gb)
+    size = buf.getInt(ICC_Profile.icHdrSize);
+
+    // CMM ID
+    cmmId = buf.getInt(ICC_Profile.icHdrCmmId);
+
+    // Version number
+    majorVersion = (int) (data[ICC_Profile.icHdrVersion]);
+    minorVersion = (int) (data[ICC_Profile.icHdrVersion + 1]);
+
+    // Profile/Device class
+    int classSig = buf.getInt(ICC_Profile.icHdrDeviceClass);
+    profileClass = -1;
+    for (int i = 0; i < classMap.length; i += 2)
+      if (classMap[i] == classSig)
+        {
+	  profileClass = classMap[i + 1];
+	  break;
+        }
+
+    // get the data color space
+    int csSig = buf.getInt(ICC_Profile.icHdrColorSpace);
+    colorSpace = -1;
+    for (int i = 0; i < csTypeMap.length; i += 2)
+      if (csTypeMap[i] == csSig)
+        {
+	  colorSpace = csTypeMap[i + 1];
+	  break;
+        }
+
+    // get the profile color space (PCS), must be xyz or lab except
+    // for device-link-class profiles
+    int pcsSig = buf.getInt(ICC_Profile.icHdrPcs);
+    profileColorSpace = -1;
+    if (profileClass != ICC_Profile.CLASS_DEVICELINK)
+      {
+	if (pcsSig == ICC_Profile.icSigXYZData)
+	  profileColorSpace = ColorSpace.TYPE_XYZ;
+	if (pcsSig == ICC_Profile.icSigLabData)
+	  profileColorSpace = ColorSpace.TYPE_Lab;
+      }
+    else
+      {
+	for (int i = 0; i < csTypeMap.length; i += 2)
+	  if (csTypeMap[i] == pcsSig)
+	    {
+	      profileColorSpace = csTypeMap[i + 1];
+	      break;
+	    }
+      }
+
+    // creation timestamp
+    timestamp = new byte[8];
+    System.arraycopy(data, ICC_Profile.icHdrDate, timestamp, 0, 8);
+
+    // magic number
+    magic = buf.getInt(ICC_Profile.icHdrMagic);
+
+    //  platform info
+    platform = buf.getInt(ICC_Profile.icHdrPlatform);
+    // get flags
+    flags = buf.getInt(ICC_Profile.icHdrFlags);
+    // get manufacturer sign
+    manufacturerSig = buf.getInt(ICC_Profile.icHdrManufacturer);
+    // get header model
+    modelSig = buf.getInt(ICC_Profile.icHdrModel);
+    // attributes
+    attributes = new byte[8];
+    System.arraycopy(data, ICC_Profile.icHdrAttributes, attributes, 0, 8);
+    // rendering intent
+    intent = buf.getInt(ICC_Profile.icHdrRenderingIntent);
+    // illuminant info 
+    illuminant = new byte[12];
+    System.arraycopy(data, ICC_Profile.icHdrIlluminant, illuminant, 0, 12);
+    // Creator signature
+    creatorSig = buf.getInt(ICC_Profile.icHdrCreator);
+    // The rest of the header (Total size: 128 bytes) is unused..
+  }
+
+  /**
+   * Verify that the header is valid
+   * @param size equals the file size if it is to be verified, -1 otherwise
+   * @throws IllegalArgumentException if the header is found to be invalid.
+   */
+  public void verifyHeader(int size) throws IllegalArgumentException
+  {
+    // verify size
+    if (size != -1 && this.size != size)
+      throw new IllegalArgumentException("Invalid profile length:" + size);
+
+    // Check version number
+    if (majorVersion != 2)
+      throw new IllegalArgumentException("Wrong major version number:"
+                                         + majorVersion);
+
+    // Profile/Device class
+    if (profileClass == -1)
+      throw new IllegalArgumentException("Invalid profile/device class");
+
+    // get the data color space
+    if (colorSpace == -1)
+      throw new IllegalArgumentException("Invalid colorspace");
+
+    // profile color space
+    if (profileColorSpace == -1)
+      throw new IllegalArgumentException("Invalid PCS.");
+
+    // check magic number
+    if (magic != icMagicNumber)
+      throw new IllegalArgumentException("Invalid magic number!");
+  }
+
+  /**
+   * Creates a header, setting the header file size at the same time.
+   * @param size the profile file size.
+   */
+  public byte[] getData(int size)
+  {
+    byte[] data = new byte[HEADERSIZE];
+    ByteBuffer buf = ByteBuffer.wrap(data);
+    buf.putInt(ICC_Profile.icHdrSize, size);
+    buf.putInt(ICC_Profile.icHdrCmmId, cmmId);
+    buf.putShort(ICC_Profile.icHdrVersion,
+                 (short) (majorVersion << 8 | minorVersion));
+    for (int i = 1; i < classMap.length; i += 2)
+      if (profileClass == classMap[i])
+	buf.putInt(ICC_Profile.icHdrDeviceClass, classMap[i - 1]);
+    for (int i = 1; i < csTypeMap.length; i += 2)
+      if (csTypeMap[i] == colorSpace)
+	buf.putInt(ICC_Profile.icHdrColorSpace, csTypeMap[i - 1]);
+    for (int i = 1; i < csTypeMap.length; i += 2)
+      if (csTypeMap[i] == profileColorSpace)
+	buf.putInt(ICC_Profile.icHdrPcs, csTypeMap[i - 1]);
+
+    System.arraycopy(timestamp, 0, data, ICC_Profile.icHdrDate,
+                     timestamp.length);
+    buf.putInt(ICC_Profile.icHdrMagic, icMagicNumber);
+    buf.putInt(ICC_Profile.icHdrPlatform, platform);
+    buf.putInt(ICC_Profile.icHdrFlags, flags);
+    buf.putInt(ICC_Profile.icHdrManufacturer, manufacturerSig);
+    buf.putInt(ICC_Profile.icHdrModel, modelSig);
+    System.arraycopy(attributes, 0, data, ICC_Profile.icHdrAttributes,
+                     attributes.length);
+    buf.putInt(ICC_Profile.icHdrRenderingIntent, intent);
+    System.arraycopy(illuminant, 0, data, ICC_Profile.icHdrIlluminant,
+                     illuminant.length);
+    buf.putInt(ICC_Profile.icHdrCreator, creatorSig);
+    return buf.array();
+  }
+
+  public int getSize()
+  {
+    return size;
+  }
+
+  public void setSize(int s)
+  {
+    size = s;
+  }
+
+  public int getMajorVersion()
+  {
+    return majorVersion;
+  }
+
+  public int getMinorVersion()
+  {
+    return minorVersion;
+  }
+
+  public int getProfileClass()
+  {
+    return profileClass;
+  }
+
+  public void setProfileClass(int pc)
+  {
+    profileClass = pc;
+  }
+
+  public int getColorSpace()
+  {
+    return colorSpace;
+  }
+
+  public int getProfileColorSpace()
+  {
+    return profileColorSpace;
+  }
+
+  public void setColorSpace(int cs)
+  {
+    colorSpace = cs;
+  }
+
+  public void setProfileColorSpace(int pcs)
+  {
+    profileColorSpace = pcs;
+  }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/PyccConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,72 @@
+/* PyccConverter.java -- PhotoYCC conversion class
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * PyccConverter - conversion routines for the PhotoYCC colorspace
+ *
+ * Also known as PhotoCD YCC, it is an expansion of the conventional
+ * YCC color space to also include colors with over 100% white.
+ *
+ * XXX FIXME: Not yet implemented, implementation pending.
+ *
+ * @author Sven de Marothy
+ */
+public class PyccConverter implements ColorSpaceConverter
+{
+  public float[] toRGB(float[] in)
+  {
+    return null;
+  }
+
+  public float[] fromRGB(float[] in)
+  {
+    return null;
+  }
+
+  public float[] toCIEXYZ(float[] in)
+  {
+    return null;
+  }
+
+  public float[] fromCIEXYZ(float[] in)
+  {
+    return null;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/RgbProfileConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,244 @@
+/* RgbProfileConverter.java -- RGB Profile conversion class
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.java.awt.color;
+
+import java.awt.color.ICC_Profile;
+import java.awt.color.ICC_ProfileRGB;
+import java.awt.color.ProfileDataException;
+
+/**
+ * RgbProfileConverter - converts RGB profiles (ICC_ProfileRGB)
+ *
+ * This type of profile contains a matrix and three
+ * tone reproduction curves (TRCs).
+ *
+ * Device RGB --&gt; CIE XYZ is done through first multiplying with
+ * a matrix, then each component is looked-up against it's TRC.
+ *
+ * The opposite transform is done using the inverse of the matrix,
+ * and TRC:s.
+ *
+ * @author Sven de Marothy
+ */
+public class RgbProfileConverter implements ColorSpaceConverter
+{
+  private float[][] matrix;
+  private float[][] inv_matrix;
+  private ToneReproductionCurve rTRC;
+  private ToneReproductionCurve gTRC;
+  private ToneReproductionCurve bTRC;
+  private ColorLookUpTable toPCS;
+  private ColorLookUpTable fromPCS;
+
+  /**
+   * CIE 1931 D50 white point (in Lab coordinates)
+   */
+  private static float[] D50 = { 0.96422f, 1.00f, 0.82521f };
+
+  /**
+   * Constructs an RgbProfileConverter from a given ICC_ProfileRGB
+   */
+  public RgbProfileConverter(ICC_ProfileRGB profile)
+  {
+    toPCS = fromPCS = null;
+    matrix = profile.getMatrix();
+
+    // get TRCs
+    try
+      {
+	rTRC = new ToneReproductionCurve(profile.getGamma(ICC_ProfileRGB.REDCOMPONENT));
+      }
+    catch (ProfileDataException e)
+      {
+	rTRC = new ToneReproductionCurve(profile.getTRC(ICC_ProfileRGB.REDCOMPONENT));
+      }
+    try
+      {
+	gTRC = new ToneReproductionCurve(profile.getGamma(ICC_ProfileRGB.GREENCOMPONENT));
+      }
+    catch (ProfileDataException e)
+      {
+	gTRC = new ToneReproductionCurve(profile.getTRC(ICC_ProfileRGB.GREENCOMPONENT));
+      }
+    try
+      {
+	bTRC = new ToneReproductionCurve(profile.getGamma(ICC_ProfileRGB.BLUECOMPONENT));
+      }
+    catch (ProfileDataException e)
+      {
+	bTRC = new ToneReproductionCurve(profile.getTRC(ICC_ProfileRGB.BLUECOMPONENT));
+      }
+
+    // If a CLUT is available, it should be used, and the TRCs ignored.
+    // Note: A valid profile may only have CLUTs in one direction, and
+    // TRC:s without useful info, making reverse-transforms impossible.
+    // In this case the TRC will be used for the reverse-transform with
+    // unpredictable results. This is in line with the Java specification,
+    try
+      {
+	toPCS = new ColorLookUpTable(profile, ICC_Profile.icSigAToB0Tag);
+      }
+    catch (Exception e)
+      {
+	toPCS = null;
+      }
+
+    try
+      {
+	fromPCS = new ColorLookUpTable(profile, ICC_Profile.icSigBToA0Tag);
+      }
+    catch (Exception e)
+      {
+	fromPCS = null;
+      }
+
+    // Calculate the inverse matrix if no reverse CLUT is available
+    if(fromPCS == null)
+	inv_matrix = invertMatrix(matrix);
+    else 
+      {
+        // otherwise just set it to an identity matrix
+	inv_matrix = new float[3][3];
+	inv_matrix[0][0] = inv_matrix[1][1] = inv_matrix[2][2] = 1.0f;
+      }
+  }
+
+  public float[] toCIEXYZ(float[] in)
+  {
+    // CLUT takes precedence
+    if (toPCS != null)
+      return toPCS.lookup(in);
+
+    float[] temp = new float[3];
+    float[] out = new float[3];
+
+    // device space --> linear gamma
+    temp[0] = rTRC.lookup(in[0]);
+    temp[1] = gTRC.lookup(in[1]);
+    temp[2] = bTRC.lookup(in[2]);
+
+    // matrix multiplication
+    out[0] = matrix[0][0] * temp[0] + matrix[0][1] * temp[1]
+             + matrix[0][2] * temp[2];
+    out[1] = matrix[1][0] * temp[0] + matrix[1][1] * temp[1]
+             + matrix[1][2] * temp[2];
+    out[2] = matrix[2][0] * temp[0] + matrix[2][1] * temp[1]
+             + matrix[2][2] * temp[2];
+
+    return out;
+  }
+
+  public float[] toRGB(float[] in)
+  {
+    return SrgbConverter.XYZtoRGB(toCIEXYZ(in));
+  }
+
+  public float[] fromCIEXYZ(float[] in)
+  {
+    if (fromPCS != null)
+      return fromPCS.lookup(in);
+
+    float[] temp = new float[3];
+    float[] out = new float[3];
+
+    // matrix multiplication
+    temp[0] = inv_matrix[0][0] * in[0] + inv_matrix[0][1] * in[1]
+              + inv_matrix[0][2] * in[2];
+    temp[1] = inv_matrix[1][0] * in[0] + inv_matrix[1][1] * in[1]
+              + inv_matrix[1][2] * in[2];
+    temp[2] = inv_matrix[2][0] * in[0] + inv_matrix[2][1] * in[1]
+              + inv_matrix[2][2] * in[2];
+
+    // device space --> linear gamma
+    out[0] = rTRC.reverseLookup(temp[0]);
+    out[1] = gTRC.reverseLookup(temp[1]);
+    out[2] = bTRC.reverseLookup(temp[2]);
+
+    // FIXME: Sun appears to clip the return values to [0,1]
+    // I don't believe that is a Good Thing, 
+    // (some colorspaces may allow values outside that range.)
+    // So we return the actual values here.
+    return out;
+  }
+
+  public float[] fromRGB(float[] in)
+  {
+    return fromCIEXYZ(SrgbConverter.RGBtoXYZ(in));
+  }
+
+  /**
+   * Inverts a 3x3 matrix, returns the inverse,
+   * throws an IllegalArgumentException if the matrix is not
+   * invertible (this shouldn't happen for a valid profile)
+   */
+  private float[][] invertMatrix(float[][] matrix)
+  {
+    float[][] out = new float[3][3];
+    double determinant = matrix[0][0] * (matrix[1][1] * matrix[2][2]
+                         - matrix[2][1] * matrix[1][2])
+                         - matrix[0][1] * (matrix[1][0] * matrix[2][2]
+                         - matrix[2][0] * matrix[1][2])
+                         + matrix[0][2] * (matrix[1][0] * matrix[2][1]
+                         - matrix[2][0] * matrix[1][1]);
+
+    if (determinant == 0.0)
+      throw new IllegalArgumentException("Can't invert conversion matrix.");
+    float invdet = (float) (1.0 / determinant);
+
+    out[0][0] = invdet * (matrix[1][1] * matrix[2][2]
+                - matrix[1][2] * matrix[2][1]);
+    out[0][1] = invdet * (matrix[0][2] * matrix[2][1]
+                - matrix[0][1] * matrix[2][2]);
+    out[0][2] = invdet * (matrix[0][1] * matrix[1][2]
+                - matrix[0][2] * matrix[1][1]);
+    out[1][0] = invdet * (matrix[1][2] * matrix[2][0]
+                - matrix[1][0] * matrix[2][2]);
+    out[1][1] = invdet * (matrix[0][0] * matrix[2][2]
+                - matrix[0][2] * matrix[2][0]);
+    out[1][2] = invdet * (matrix[0][2] * matrix[1][0]
+                - matrix[0][0] * matrix[1][2]);
+    out[2][0] = invdet * (matrix[1][0] * matrix[2][1]
+                - matrix[1][1] * matrix[2][0]);
+    out[2][1] = invdet * (matrix[0][1] * matrix[2][0]
+                - matrix[0][0] * matrix[2][1]);
+    out[2][2] = invdet * (matrix[0][0] * matrix[1][1]
+                - matrix[0][1] * matrix[1][0]);
+    return out;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/SrgbConverter.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,152 @@
+/* SrgbConverter.java -- sRGB conversion class
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * SrgbConverter - conversion routines for the sRGB colorspace
+ * sRGB is a standard for RGB colorspaces, adopted by the w3c.
+ *
+ * The specification is available at:
+ * http://www.w3.org/Graphics/Color/sRGB.html
+ *
+ * @author Sven de Marothy
+ */
+/**
+ *
+ * Note the matrix numbers used here are NOT identical to those in the
+ * w3 spec, as those numbers are CIE XYZ relative a D65 white point.
+ * The CIE XYZ we use is relative a D50 white point, so therefore a
+ * linear Bradford transform matrix for D65->D50 mapping has been applied.
+ * (The ICC documents describe this transform)
+ *
+ *   Linearized Bradford transform:
+ *    0.8951    0.2664   -0.1614
+ *   -0.7502    1.7135    0.0367
+ *    0.0389   -0.0685    1.0296
+ *
+ *   Inverse:
+ *   0.9870   -0.1471    0.1600
+ *   0.4323    0.5184    0.0493
+ *  -0.00853   0.0400    0.9685
+ */
+public class SrgbConverter implements ColorSpaceConverter
+{
+  public float[] fromCIEXYZ(float[] in)
+  {
+    return XYZtoRGB(in);
+  }
+
+  public float[] toCIEXYZ(float[] in)
+  {
+    return RGBtoXYZ(in);
+  }
+
+  public float[] toRGB(float[] in)
+  {
+    float[] out = new float[3];
+    System.arraycopy(in, 0, out, 0, 3);
+    return out;
+  }
+
+  public float[] fromRGB(float[] in)
+  {
+    float[] out = new float[3];
+    System.arraycopy(in, 0, out, 0, 3);
+    return out;
+  }
+
+  /**
+   * CIE XYZ (D50 relative) --> sRGB
+   *
+   * Static as it's used by other ColorSpaceConverters to
+   * convert to sRGB if the color space is defined in XYZ.
+   */
+  public static float[] XYZtoRGB(float[] in)
+  {
+    float[] temp = new float[3];
+    temp[0] = 3.1338f * in[0] - 1.6171f * in[1] - 0.4907f * in[2];
+    temp[1] = -0.9785f * in[0] + 1.9160f * in[1] + 0.0334f * in[2];
+    temp[2] = 0.0720f * in[0] - 0.2290f * in[1] + 1.4056f * in[2];
+
+    float[] out = new float[3];
+    for (int i = 0; i < 3; i++)
+      {
+	if (temp[i] < 0)
+	  temp[i] = 0.0f;
+	if (temp[i] > 1)
+	  temp[i] = 1.0f;
+	if (temp[i] <= 0.00304f)
+	  out[i] = temp[i] * 12.92f;
+	else
+	  out[i] = 1.055f * ((float) Math.exp((1 / 2.4) * Math.log(temp[i])))
+	           - 0.055f;
+      }
+    return out;
+  }
+
+  /**
+   * sRGB --> CIE XYZ (D50 relative)
+   *
+   * Static as it's used by other ColorSpaceConverters to
+   * convert to XYZ if the color space is defined in RGB.
+   */
+  public static float[] RGBtoXYZ(float[] in)
+  {
+    float[] temp = new float[3];
+    float[] out = new float[3];
+    for (int i = 0; i < 3; i++)
+      if (in[i] <= 0.03928f)
+	temp[i] = in[i] / 12.92f;
+      else
+	temp[i] = (float) Math.exp(2.4 * Math.log((in[i] + 0.055) / 1.055));
+
+    /*
+     * Note: The numbers which were used to calculate this only had four
+     * digits of accuracy. So don't be fooled by the number of digits here.
+     * If someone has more accurate source, feel free to update this.
+     */
+    out[0] = (float) (0.436063750222 * temp[0] + 0.385149601465 * temp[1]
+             + 0.143086418888 * temp[2]);
+    out[1] = (float) (0.222450894035 * temp[0] + 0.71692584775 * temp[1]
+             + 0.060624511256 * temp[2]);
+    out[2] = (float) (0.0138985186 * temp[0] + 0.097079690112 * temp[1]
+             + 0.713996045725 * temp[2]);
+    return out;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/TagEntry.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,121 @@
+/* TagEntry.java -- A utility class used for storing the tags in ICC_Profile
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * TagEntry - stores a profile tag.
+ * These are conveniently stored in a hashtable with the tag signature
+ * as a key. A legal profile can only have one tag with a given sig,
+ * so we can conveniently ignore collisions.
+ *
+ * @author Sven de Marothy
+ */
+public class TagEntry
+{
+  // tag table entry size
+  public static final int entrySize = 12;
+  private int signature;
+  private int size;
+  private int offset;
+  private byte[] data;
+
+  public TagEntry(int sig, int offset, int size, byte[] data)
+  {
+    this.signature = sig;
+    this.offset = offset;
+    this.size = size;
+    this.data = new byte[size];
+    System.arraycopy(data, offset, this.data, 0, size);
+  }
+
+  public TagEntry(int sig, byte[] data)
+  {
+    this.signature = sig;
+    this.size = data.length;
+    this.data = new byte[size];
+    System.arraycopy(data, offset, this.data, 0, size);
+  }
+
+  public byte[] getData()
+  {
+    byte[] d = new byte[size];
+    System.arraycopy(this.data, 0, d, 0, size);
+    return d;
+  }
+
+  public String hashKey()
+  {
+    return tagHashKey(signature);
+  }
+
+  public String toString()
+  {
+    String s = "";
+    s = s + (char) ((byte) ((signature >> 24) & 0xFF));
+    s = s + (char) ((byte) ((signature >> 16) & 0xFF));
+    s = s + (char) ((byte) ((signature >> 8) & 0xFF));
+    s = s + (char) ((byte) (signature & 0xFF));
+    return s;
+  }
+
+  public int getSignature()
+  {
+    return signature;
+  }
+
+  public int getSize()
+  {
+    return size;
+  }
+
+  public int getOffset()
+  {
+    return offset;
+  }
+
+  public void setOffset(int offset)
+  {
+    this.offset = offset;
+  }
+
+  public static String tagHashKey(int sig)
+  {
+    return "" + sig;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/gnu/java/awt/color/ToneReproductionCurve.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,177 @@
+/* ToneReproductionCurve.java -- Representation of an ICC 'curv' type TRC
+   Copyright (C) 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.java.awt.color;
+
+
+/**
+ * ToneReproductionCurve - TRCs are used to describe RGB
+ * and Grayscale profiles. The TRC is essentially the gamma
+ * function of the color space.
+ *
+ * For example, Apple RGB has a gamma of 1.8, most monitors are ~2.2,
+ * sRGB is 2.4 with a small linear part near 0.
+ * Linear spaces are of course 1.0.
+ * (The exact function is implemented in SrgbConverter)
+ *
+ * The ICC specification allows the TRC to be described as a single
+ * Gamma value, where the function is thus out = in**gamma.
+ * Alternatively, the gamma function may be represented by a lookup table
+ * of values, in which case linear interpolation is used.
+ *
+ * @author Sven de Marothy
+ */
+public class ToneReproductionCurve
+{
+  private float[] trc;
+  private float gamma;
+  private float[] reverseTrc;
+
+  /**
+   * Constructs a TRC from a gamma values
+   */
+  public ToneReproductionCurve(float gamma)
+  {
+    trc = null;
+    reverseTrc = null;
+    this.gamma = gamma;
+  }
+
+  /**
+   * Constructs a TRC from a set of float values
+   */
+  public ToneReproductionCurve(float[] trcValues)
+  {
+    trc = new float[trcValues.length];
+    System.arraycopy(trcValues, 0, trc, 0, trcValues.length);
+    setupReverseTrc();
+  }
+
+  /**
+   * Constructs a TRC from a set of short values normalized to
+   * the 0-65535 range (as in the ICC profile file).
+   * (Note the values are treated as unsigned)
+   */
+  public ToneReproductionCurve(short[] trcValues)
+  {
+    trc = new float[trcValues.length];
+    for (int i = 0; i < trcValues.length; i++)
+      trc[i] = (float) ((int) trcValues[i] & (0xFFFF)) / 65535.0f;
+    setupReverseTrc();
+  }
+
+  /**
+   * Performs a TRC lookup
+   */
+  public float lookup(float in)
+  {
+    float out;
+
+    if (trc == null)
+      {
+	if (in == 0f)
+	  return 0.0f;
+	return (float) Math.exp(gamma * Math.log(in));
+      }
+    else
+      {
+	double alpha = in * (trc.length - 1);
+	int index = (int) Math.floor(alpha);
+	alpha = alpha - (double) index;
+	if (index >= trc.length - 1)
+	  return trc[trc.length - 1];
+	if (index <= 0)
+	  return trc[0];
+	out = (float) (trc[index] * (1.0 - alpha) + trc[index + 1] * alpha);
+      }
+    return out;
+  }
+
+  /**
+   * Performs an reverse lookup
+   */
+  public float reverseLookup(float in)
+  {
+    float out;
+
+    if (trc == null)
+      {
+	if (in == 0f)
+	  return 0.0f;
+	return (float) Math.exp((1.0 / gamma) * Math.log(in));
+      }
+    else
+      {
+	double alpha = in * (reverseTrc.length - 1);
+	int index = (int) Math.floor(alpha);
+	alpha = alpha - (double) index;
+	if (index >= reverseTrc.length - 1)
+	  return reverseTrc[reverseTrc.length - 1];
+	if (index <= 0)
+	  return reverseTrc[0];
+	out = (float) (reverseTrc[index] * (1.0 - alpha)
+	      + reverseTrc[index + 1] * alpha);
+      }
+    return out;
+  }
+
+  /**
+   * Calculates a reverse-lookup table.
+   * We use a whopping 10,000 entries.. This is should be more than any
+   * real-life TRC table (typically around 256-1024) so we won't be losing
+   * any precision.
+   *
+   * This will of course generate completely invalid results if the curve
+   * is not monotonic and invertable. But what's the alternative?
+   */
+  public void setupReverseTrc()
+  {
+    reverseTrc = new float[10000];
+    int j = 0;
+    for (int i = 0; i < 10000; i++)
+      {
+	float n = ((float) i) / 10000f;
+	while (trc[j + 1] < n && j < trc.length - 2)
+	  j++;
+
+	if (j == trc.length - 2)
+	  reverseTrc[i] = trc[trc.length - 1];
+	else
+	  reverseTrc[i] = (j + (n - trc[j]) / (trc[j + 1] - trc[j])) / ((float) trc.length);
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/color/CMMException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,63 @@
+/* CMMException.java -- error in the native CMM
+   Copyright (C) 2002, 2005  Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.color;
+
+/**
+  * Thrown when there is an error in the native CMM.
+  *
+  * @author Eric Blake (ebb9@email.byu.edu)
+  * @status updated to 1.4
+  */
+public class CMMException extends RuntimeException
+{
+  /**
+   * Compatible with JDK 1.2+.
+   */
+  private static final long serialVersionUID = 5775558044142994965L;
+
+  /**
+   * Create a new instance with a specified detailed error message.
+   *
+   * @param message the message
+   */
+  public CMMException(String message)
+  {
+    super(message);
+  }
+} // class CMMException
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/color/ColorSpace.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,183 @@
+/* ColorSpace.java -- transforms between color spaces
+   Copyright (C) 2000, 2002 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.color;
+
+import java.io.Serializable;
+
+/**
+ * NEEDS DOCUMENTATION
+ *
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ * @since 1.2
+ */
+public abstract class ColorSpace implements Serializable
+{
+  /**
+   * Compatible with JDK 1.2+.
+   */
+  private static final long serialVersionUID = -409452704308689724L;
+
+  public static final int TYPE_XYZ = 0;
+  public static final int TYPE_Lab = 1;
+  public static final int TYPE_Luv = 2;
+  public static final int TYPE_YCbCr = 3;
+  public static final int TYPE_Yxy = 4;
+  public static final int TYPE_RGB = 5;
+  public static final int TYPE_GRAY = 6;
+  public static final int TYPE_HSV = 7;
+  public static final int TYPE_HLS = 8;
+  public static final int TYPE_CMYK = 9;
+  // mysterious gap in the enumeration sequenece
+  public static final int TYPE_CMY = 11;
+  public static final int TYPE_2CLR = 12;
+  public static final int TYPE_3CLR = 13;
+  public static final int TYPE_4CLR = 14;
+  public static final int TYPE_5CLR = 15;
+  public static final int TYPE_6CLR = 16;
+  public static final int TYPE_7CLR = 17;
+  public static final int TYPE_8CLR = 18;
+  public static final int TYPE_9CLR = 19;
+  public static final int TYPE_ACLR = 20;
+  public static final int TYPE_BCLR = 21;
+  public static final int TYPE_CCLR = 22;
+  public static final int TYPE_DCLR = 23;
+  public static final int TYPE_ECLR = 24;
+  public static final int TYPE_FCLR = 25;
+
+  public static final int CS_sRGB = 1000;
+  public static final int CS_LINEAR_RGB = 1004;
+  public static final int CS_CIEXYZ = 1001;
+  public static final int CS_PYCC = 1002;
+  public static final int CS_GRAY = 1003;
+
+  private static final int CS_BASE = CS_sRGB;
+  private static final int CS_END = CS_LINEAR_RGB + 1;
+  private static final int CS_COUNT = CS_END - CS_BASE;
+
+  // Instances are lazily instantiated
+  private static final ColorSpace[] INSTANCES = new ColorSpace[CS_COUNT];
+
+  /**
+   * @serial
+   */
+  // Visible in subclass.
+  final int type;
+
+  /**
+   * @serial
+   */
+  // Visible in subclass.
+  final int numComponents;
+
+  protected ColorSpace(int type, int numcomponents)
+  {
+    this.type = type;
+    numComponents = numcomponents;
+  }
+
+  public static ColorSpace getInstance(int colorspace)
+  {
+    if ((colorspace >= CS_BASE) && (colorspace < CS_END))
+      {
+        int instanceIndex = colorspace - CS_BASE;
+        if (INSTANCES[instanceIndex] == null)
+          {
+            ICC_Profile profile = new ICC_Profile(colorspace);
+            INSTANCES[instanceIndex] = new ICC_ColorSpace(profile);
+          }
+        return INSTANCES[instanceIndex];
+      }
+    throw new IllegalArgumentException("unknown/unsupported colorspace");
+  }
+
+  public boolean isCS_sRGB()
+  {
+    return type == CS_sRGB;
+  }
+
+  /**
+   * Transforms a color value assumed to be in this ColorSpace into a value in
+   * the default CS_sRGB color space.
+   *
+   * @exception ArrayIndexOutOfBoundsException If array length is not at least
+   * the number of components in this ColorSpace.
+   */
+  public abstract float[] toRGB(float[] colorvalue);
+
+  public abstract float[] fromRGB(float[] rgbvalue);
+
+  public abstract float[] toCIEXYZ(float[] colorvalue);
+
+  public abstract float[] fromCIEXYZ(float[] colorvalue);
+
+  public int getType()
+  {
+    return type;
+  }
+
+  public int getNumComponents()
+  {
+    return numComponents;
+  }
+
+  public String getName(int idx)
+  {
+    return "type " + type;
+  }
+
+  /**
+   * @since 1.4
+   */
+  public float getMinValue(int idx)
+  {
+    if (idx < 0 || idx >= numComponents)
+      throw new IllegalArgumentException();
+    return 0;
+  }
+
+  /**
+   * @since 1.4
+   */
+  public float getMaxValue(int idx)
+  {
+    if (idx < 0 || idx >= numComponents)
+      throw new IllegalArgumentException();
+    return 1;
+  }
+} // class ColorSpace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/color/ICC_ColorSpace.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,314 @@
+/* ICC_ColorSpace.java -- the canonical color space implementation
+   Copyright (C) 2000, 2002, 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.color;
+
+import gnu.java.awt.color.CieXyzConverter;
+import gnu.java.awt.color.ClutProfileConverter;
+import gnu.java.awt.color.ColorSpaceConverter;
+import gnu.java.awt.color.GrayProfileConverter;
+import gnu.java.awt.color.GrayScaleConverter;
+import gnu.java.awt.color.LinearRGBConverter;
+import gnu.java.awt.color.PyccConverter;
+import gnu.java.awt.color.RgbProfileConverter;
+import gnu.java.awt.color.SrgbConverter;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+
+/**
+ * ICC_ColorSpace - an implementation of ColorSpace
+ *
+ * While an ICC_Profile class abstracts the data in an ICC profile file
+ * an ICC_ColorSpace performs the color space conversions defined by
+ * an ICC_Profile instance.
+ *
+ * Typically, an ICC_Profile will either be created using getInstance,
+ * either from the built-in colorspaces, or from an ICC profile file.
+ * Then a ICC_Colorspace will be used to perform transforms from the
+ * device colorspace to and from the profile color space.
+ *
+ * The PCS used by ColorSpace is CIE XYZ relative a D50 white point.
+ * (Profiles using a CIE Lab PCS will have their input and output converted
+ * to D50 CIE XYZ accordingly.
+ *
+ * Note that a valid profile may not contain transforms in both directions,
+ * in which case the output may be undefined.
+ * All built-in colorspaces have bidirectional transforms, but developers
+ * using an ICC profile file may want to check the profile class using
+ * the ICC_Profile.getProfileClass() method. Input class profiles are
+ * guaranteed to have transforms to the PCS, output class profiles are
+ * guaranteed to have transforms from the PCS to device space.
+ *
+ * @author Sven de Marothy
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ * @since 1.2
+ */
+public class ICC_ColorSpace extends ColorSpace
+{
+  /**
+   * Compatible with JDK 1.2+.
+   */
+  private static final long serialVersionUID = 3455889114070431483L;
+
+  /**
+   * @serial
+   */
+  private ICC_Profile thisProfile;
+
+  /**
+   * @serial
+   */
+  private float[] minVal;
+
+  /**
+   * @serial
+   */
+  private float[] maxVal;
+
+  /**
+   * @serial
+   */
+  private float[] diffMinMax;
+
+  /**
+   * @serial
+   */
+  private float[] invDiffMinMax;
+
+  /**
+   * @serial
+   */
+  private boolean needScaleInit;
+
+  /**
+   * Tells us if the PCS is CIE LAB (must be CIEXYZ otherwise)
+   */
+  private transient int type;
+  private transient int nComponents;
+  private transient ColorSpaceConverter converter;
+
+  /**
+   * Constructs a new ICC_ColorSpace from an ICC_Profile object.
+   *
+   * @exception IllegalArgumentException If profile is inappropriate for
+   * representing a ColorSpace.
+   */
+  public ICC_ColorSpace(ICC_Profile profile)
+  {
+    super(profile.getColorSpaceType(), profile.getNumComponents());
+
+    converter = getConverter(profile);
+    thisProfile = profile;
+    nComponents = profile.getNumComponents();
+    type = profile.getColorSpaceType();
+    makeArrays();
+  }
+
+  /**
+   * Return the profile
+   */
+  public ICC_Profile getProfile()
+  {
+    return thisProfile;
+  }
+
+  /**
+   * Transforms a color value assumed to be in this ColorSpace into a value in
+   * the default CS_sRGB color space.
+   *
+   * @exception ArrayIndexOutOfBoundsException If array length is not at least
+   * the number of components in this ColorSpace.
+   */
+  public float[] toRGB(float[] colorvalue)
+  {
+    return converter.toRGB(colorvalue);
+  }
+
+  /**
+   * Transforms a color value assumed to be in the default CS_sRGB color space
+   * into this ColorSpace.
+   *
+   * @exception ArrayIndexOutOfBoundsException If array length is not at
+   * least 3.
+   */
+  public float[] fromRGB(float[] rgbvalue)
+  {
+    return converter.fromRGB(rgbvalue);
+  }
+
+  /**
+   * Transforms a color value assumed to be in this ColorSpace into the
+   * CS_CIEXYZ conversion color space.
+   *
+   * @exception ArrayIndexOutOfBoundsException If array length is not at
+   * least the number of components in this ColorSpace.
+   */
+  public float[] toCIEXYZ(float[] colorvalue)
+  {
+    return converter.toCIEXYZ(colorvalue);
+  }
+
+  /**
+   * Transforms a color value assumed to be in the CS_CIEXYZ conversion color
+   * space into this ColorSpace.
+   *
+   * @exception ArrayIndexOutOfBoundsException If array length is not at
+   * least 3.
+   */
+  public float[] fromCIEXYZ(float[] colorvalue)
+  {
+    return converter.fromCIEXYZ(colorvalue);
+  }
+
+  public boolean isCS_sRGB()
+  {
+    return converter instanceof SrgbConverter;
+  }
+
+  /**
+   * Returns the minimum normalized color component value for the specified
+   * component.
+   *
+   * @exception IllegalArgumentException If component is less than 0 or greater
+   * than numComponents - 1.
+   *
+   * @since 1.4
+   */
+  public float getMinValue(int idx)
+  {
+    // FIXME: Not 100% certain of this. 
+    if (type == ColorSpace.TYPE_Lab && (idx == 1 || idx == 2))
+      return -128f;
+
+    if (idx < 0 || idx >= nComponents)
+      throw new IllegalArgumentException();
+    return 0;
+  }
+
+  /**
+   * Returns the maximum normalized color component value for the specified
+   * component.
+   *
+   * @exception IllegalArgumentException If component is less than 0 or greater
+   * than numComponents - 1.
+   *
+   * @since 1.4
+   */
+  public float getMaxValue(int idx)
+  {
+    if (type == ColorSpace.TYPE_XYZ && idx >= 0 && idx <= 2)
+      return 1 + 32767 / 32768f;
+    else if (type == ColorSpace.TYPE_Lab)
+      {
+	if (idx == 0)
+	  return 100;
+	if (idx == 1 || idx == 2)
+	  return 127;
+      }
+    if (idx < 0 || idx >= nComponents)
+      throw new IllegalArgumentException();
+    return 1;
+  }
+
+  /**
+   * Returns a colorspace converter suitable for a given profile
+   */
+  private ColorSpaceConverter getConverter(ICC_Profile profile)
+  {
+    ColorSpaceConverter converter;
+    switch (profile.isPredefined())
+      {
+      case CS_sRGB:
+	converter = new SrgbConverter();
+	break;
+      case CS_CIEXYZ:
+	converter = new CieXyzConverter();
+	break;
+      case CS_GRAY:
+	converter = new GrayScaleConverter();
+	break;
+      case CS_LINEAR_RGB:
+	converter = new LinearRGBConverter();
+	break;
+      case CS_PYCC:
+	converter = new PyccConverter();
+	break;
+      default:
+	if (profile instanceof ICC_ProfileRGB)
+	  converter = new RgbProfileConverter((ICC_ProfileRGB) profile);
+	else if (profile instanceof ICC_ProfileGray)
+	  converter = new GrayProfileConverter((ICC_ProfileGray) profile);
+	else
+	  converter = new ClutProfileConverter(profile);
+	break;
+      }
+    return converter;
+  }
+
+  /**
+   * Serialization compatibility requires these variable to be set,
+   * although we don't use them. Perhaps we should?
+   */
+  private void makeArrays()
+  {
+    minVal = new float[nComponents];
+    maxVal = new float[nComponents];
+
+    invDiffMinMax = diffMinMax = null;
+    for (int i = 0; i < nComponents; i++)
+      {
+	minVal[i] = getMinValue(i);
+	maxVal[i] = getMaxValue(i);
+      }
+    needScaleInit = true;
+  }
+
+  /**
+   * Deserializes the object
+   */
+  private void readObject(ObjectInputStream s)
+                   throws IOException, ClassNotFoundException
+  {
+    s.defaultReadObject();
+    // set up objects
+    converter = getConverter(thisProfile);
+    nComponents = thisProfile.getNumComponents();
+    type = thisProfile.getColorSpaceType();
+  }
+} // class ICC_ColorSpace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/color/ICC_Profile.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,1244 @@
+/* ICC_Profile.java -- color space profiling
+   Copyright (C) 2000, 2002, 2004 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.color;
+
+import gnu.java.awt.color.ProfileHeader;
+import gnu.java.awt.color.TagEntry;
+
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamException;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+import java.util.Enumeration;
+import java.util.Hashtable;
+
+/**
+ * ICC Profile - represents an ICC Color profile.
+ * The ICC profile format is a standard file format which maps the transform
+ * from a device color space to a standard Profile Color Space (PCS), which
+ * can either be CIE L*a*b or CIE XYZ.
+ * (With the exception of device link profiles which map from one device space
+ * to another)
+ *
+ * ICC profiles calibrated to specific input/output devices are used when color
+ * fidelity is of importance.
+ *
+ * An instance of ICC_Profile can be created using the getInstance() methods,
+ * either using one of the predefined color spaces enumerated in ColorSpace,
+ * or from an ICC profile file, or from an input stream.
+ *
+ * An ICC_ColorSpace object can then be created to transform color values
+ * through the profile.
+ *
+ * The ICC_Profile class implements the version 2 format specified by
+ * International Color Consortium Specification ICC.1:1998-09,
+ * and its addendum ICC.1A:1999-04, April 1999
+ * (available at www.color.org)
+ *
+ * @author Sven de Marothy
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ * @since 1.2
+ */
+public class ICC_Profile implements Serializable
+{
+  /**
+   * Compatible with JDK 1.2+.
+   */
+  private static final long serialVersionUID = -3938515861990936766L;
+
+  /**
+   * ICC Profile classes
+   */
+  public static final int CLASS_INPUT = 0;
+  public static final int CLASS_DISPLAY = 1;
+  public static final int CLASS_OUTPUT = 2;
+  public static final int CLASS_DEVICELINK = 3;
+  public static final int CLASS_COLORSPACECONVERSION = 4;
+  public static final int CLASS_ABSTRACT = 5;
+  public static final int CLASS_NAMEDCOLOR = 6;
+
+  /**
+   * ICC Profile class signatures
+   */
+  public static final int icSigInputClass = 0x73636e72; // 'scnr'
+  public static final int icSigDisplayClass = 0x6d6e7472; // 'mntr'
+  public static final int icSigOutputClass = 0x70727472; // 'prtr'
+  public static final int icSigLinkClass = 0x6c696e6b; // 'link'
+  public static final int icSigColorSpaceClass = 0x73706163; // 'spac'
+  public static final int icSigAbstractClass = 0x61627374; // 'abst'
+  public static final int icSigNamedColorClass = 0x6e6d636c; // 'nmcl'
+
+  /**
+   * Color space signatures
+   */
+  public static final int icSigXYZData = 0x58595A20; // 'XYZ ' 
+  public static final int icSigLabData = 0x4C616220; // 'Lab '
+  public static final int icSigLuvData = 0x4C757620; // 'Luv '
+  public static final int icSigYCbCrData = 0x59436272; // 'YCbr'
+  public static final int icSigYxyData = 0x59787920; // 'Yxy '
+  public static final int icSigRgbData = 0x52474220; // 'RGB '
+  public static final int icSigGrayData = 0x47524159; // 'GRAY'
+  public static final int icSigHsvData = 0x48535620; // 'HSV '
+  public static final int icSigHlsData = 0x484C5320; // 'HLS '
+  public static final int icSigCmykData = 0x434D594B; // 'CMYK'
+  public static final int icSigCmyData = 0x434D5920; // 'CMY '
+  public static final int icSigSpace2CLR = 0x32434C52; // '2CLR'
+  public static final int icSigSpace3CLR = 0x33434C52; // '3CLR'
+  public static final int icSigSpace4CLR = 0x34434C52; // '4CLR'
+  public static final int icSigSpace5CLR = 0x35434C52; // '5CLR'
+  public static final int icSigSpace6CLR = 0x36434C52; // '6CLR'
+  public static final int icSigSpace7CLR = 0x37434C52; // '7CLR'
+  public static final int icSigSpace8CLR = 0x38434C52; // '8CLR'
+  public static final int icSigSpace9CLR = 0x39434C52; // '9CLR'
+  public static final int icSigSpaceACLR = 0x41434C52; // 'ACLR'
+  public static final int icSigSpaceBCLR = 0x42434C52; // 'BCLR'
+  public static final int icSigSpaceCCLR = 0x43434C52; // 'CCLR'
+  public static final int icSigSpaceDCLR = 0x44434C52; // 'DCLR'
+  public static final int icSigSpaceECLR = 0x45434C52; // 'ECLR'
+  public static final int icSigSpaceFCLR = 0x46434C52; // 'FCLR'
+
+  /**
+   * Rendering intents
+   */
+  public static final int icPerceptual = 0;
+  public static final int icRelativeColorimetric = 1;
+  public static final int icSaturation = 2;
+  public static final int icAbsoluteColorimetric = 3;
+
+  /**
+   * Tag signatures
+   */
+  public static final int icSigAToB0Tag = 0x41324230; // 'A2B0' 
+  public static final int icSigAToB1Tag = 0x41324231; // 'A2B1' 
+  public static final int icSigAToB2Tag = 0x41324232; // 'A2B2' 
+  public static final int icSigBlueColorantTag = 0x6258595A; // 'bXYZ' 
+  public static final int icSigBlueTRCTag = 0x62545243; // 'bTRC' 
+  public static final int icSigBToA0Tag = 0x42324130; // 'B2A0' 
+  public static final int icSigBToA1Tag = 0x42324131; // 'B2A1' 
+  public static final int icSigBToA2Tag = 0x42324132; // 'B2A2' 
+  public static final int icSigCalibrationDateTimeTag = 0x63616C74; // 'calt' 
+  public static final int icSigCharTargetTag = 0x74617267; // 'targ' 
+  public static final int icSigCopyrightTag = 0x63707274; // 'cprt' 
+  public static final int icSigCrdInfoTag = 0x63726469; // 'crdi' 
+  public static final int icSigDeviceMfgDescTag = 0x646D6E64; // 'dmnd' 
+  public static final int icSigDeviceModelDescTag = 0x646D6464; // 'dmdd' 
+  public static final int icSigDeviceSettingsTag = 0x64657673; // 'devs' 
+  public static final int icSigGamutTag = 0x67616D74; // 'gamt' 
+  public static final int icSigGrayTRCTag = 0x6b545243; // 'kTRC' 
+  public static final int icSigGreenColorantTag = 0x6758595A; // 'gXYZ' 
+  public static final int icSigGreenTRCTag = 0x67545243; // 'gTRC' 
+  public static final int icSigLuminanceTag = 0x6C756d69; // 'lumi' 
+  public static final int icSigMeasurementTag = 0x6D656173; // 'meas' 
+  public static final int icSigMediaBlackPointTag = 0x626B7074; // 'bkpt' 
+  public static final int icSigMediaWhitePointTag = 0x77747074; // 'wtpt' 
+  public static final int icSigNamedColor2Tag = 0x6E636C32; // 'ncl2' 
+  public static final int icSigOutputResponseTag = 0x72657370; // 'resp' 
+  public static final int icSigPreview0Tag = 0x70726530; // 'pre0' 
+  public static final int icSigPreview1Tag = 0x70726531; // 'pre1' 
+  public static final int icSigPreview2Tag = 0x70726532; // 'pre2' 
+  public static final int icSigProfileDescriptionTag = 0x64657363; // 'desc' 
+  public static final int icSigProfileSequenceDescTag = 0x70736571; // 'pseq' 
+  public static final int icSigPs2CRD0Tag = 0x70736430; // 'psd0' 
+  public static final int icSigPs2CRD1Tag = 0x70736431; // 'psd1' 
+  public static final int icSigPs2CRD2Tag = 0x70736432; // 'psd2' 
+  public static final int icSigPs2CRD3Tag = 0x70736433; // 'psd3' 
+  public static final int icSigPs2CSATag = 0x70733273; // 'ps2s' 
+  public static final int icSigPs2RenderingIntentTag = 0x70733269; // 'ps2i' 
+  public static final int icSigRedColorantTag = 0x7258595A; // 'rXYZ' 
+  public static final int icSigRedTRCTag = 0x72545243; // 'rTRC' 
+  public static final int icSigScreeningDescTag = 0x73637264; // 'scrd' 
+  public static final int icSigScreeningTag = 0x7363726E; // 'scrn' 
+  public static final int icSigTechnologyTag = 0x74656368; // 'tech' 
+  public static final int icSigUcrBgTag = 0x62666420; // 'bfd ' 
+  public static final int icSigViewingCondDescTag = 0x76756564; // 'vued' 
+  public static final int icSigViewingConditionsTag = 0x76696577; // 'view' 
+  public static final int icSigChromaticityTag = 0x6368726D; // 'chrm'
+
+  /**
+   * Non-ICC tag 'head' for use in retrieving the header with getData()
+   */
+  public static final int icSigHead = 0x68656164;
+
+  /**
+   * Header offsets
+   */
+  public static final int icHdrSize = 0;
+  public static final int icHdrCmmId = 4;
+  public static final int icHdrVersion = 8;
+  public static final int icHdrDeviceClass = 12;
+  public static final int icHdrColorSpace = 16;
+  public static final int icHdrPcs = 20;
+  public static final int icHdrDate = 24;
+  public static final int icHdrMagic = 36;
+  public static final int icHdrPlatform = 40;
+  public static final int icHdrFlags = 44;
+  public static final int icHdrManufacturer = 48;
+  public static final int icHdrModel = 52;
+  public static final int icHdrAttributes = 56;
+  public static final int icHdrRenderingIntent = 64;
+  public static final int icHdrIlluminant = 68;
+  public static final int icHdrCreator = 80;
+
+  /**
+   *
+   */
+  public static final int icTagType = 0;
+  public static final int icTagReserved = 4;
+  public static final int icCurveCount = 8;
+  public static final int icCurveData = 12;
+  public static final int icXYZNumberX = 8;
+
+  /**
+   * offset of the Tag table
+   */
+  private static final int tagTableOffset = 128;
+
+  /**
+   * @serial
+   */
+  private static final int iccProfileSerializedDataVersion = 1;
+
+  /**
+   * Constants related to generating profiles for
+   * built-in colorspace profiles
+   */
+  /**
+   * Copyright notice to stick into built-in-profile files.
+   */
+  private static final String copyrightNotice = "Generated by GNU Classpath.";
+
+  /**
+   * Resolution of the TRC to use for predefined profiles.
+   * 1024 should suffice.
+   */
+  private static final int TRC_POINTS = 1024;
+
+  /**
+   * CIE 1931 D50 white point (in Lab coordinates)
+   */
+  private static final float[] D50 = { 0.96422f, 1.00f, 0.82521f };
+
+  /**
+   * Color space profile ID
+   * Set to the predefined profile class (e.g. CS_sRGB) if a predefined
+   * color space is used, set to -1 otherwise.
+   * (or if the profile has been modified)
+   */
+  private transient int profileID;
+
+  /**
+   * The profile header data
+   */
+  private transient ProfileHeader header;
+
+  /**
+   * A hashtable containing the profile tags as TagEntry objects
+   */
+  private transient Hashtable tagTable;
+
+  /**
+   * Contructor for predefined colorspaces
+   */
+  ICC_Profile(int profileID)
+  {
+    header = null;
+    tagTable = null;
+    createProfile(profileID);
+  }
+
+  /**
+   * Constructs an ICC_Profile from a header and a table of loaded tags.
+   */
+  ICC_Profile(ProfileHeader h, Hashtable tags) throws IllegalArgumentException
+  {
+    header = h;
+    tagTable = tags;
+    profileID = -1; // Not a predefined color space
+  }
+
+  /**
+   * Constructs an ICC_Profile from a byte array of data.
+   */
+  ICC_Profile(byte[] data) throws IllegalArgumentException
+  {
+    // get header and verify it
+    header = new ProfileHeader(data);
+    header.verifyHeader(data.length);
+    tagTable = createTagTable(data);
+    profileID = -1; // Not a predefined color space
+  }
+
+  /**
+   * Free up the used memory.
+   */
+  protected void finalize()
+  {
+  }
+
+  /**
+   * Returns an ICC_Profile instance from a byte array of profile data.
+   *
+   * An instance of the specialized classes ICC_ProfileRGB or ICC_ProfileGray
+   * may be returned if appropriate.
+   *
+   * @param data - the profile data
+   * @return An ICC_Profile object
+   *
+   * @throws IllegalArgumentException if the profile data is an invalid
+   * v2 profile.
+   */
+  public static ICC_Profile getInstance(byte[] data)
+  {
+    ProfileHeader header = new ProfileHeader(data);
+
+    // verify it as a correct ICC header, including size
+    header.verifyHeader(data.length);
+
+    Hashtable tags = createTagTable(data);
+
+    if (isRGBProfile(header, tags))
+      return new ICC_ProfileRGB(data);
+    if (isGrayProfile(header, tags))
+      return new ICC_ProfileGray(data);
+
+    return new ICC_Profile(header, tags);
+  }
+
+  /**
+   * Returns an predefined ICC_Profile instance.
+   *
+   * This will construct an ICC_Profile instance from one of the predefined
+   * color spaces in the ColorSpace class. (e.g. CS_sRGB, CS_GRAY, etc)
+   *
+   * An instance of the specialized classes ICC_ProfileRGB or ICC_ProfileGray
+   * may be returned if appropriate.
+   *
+   * @return An ICC_Profile object
+   */
+  public static ICC_Profile getInstance(int cspace)
+  {
+    if (cspace == ColorSpace.CS_sRGB || cspace == ColorSpace.CS_LINEAR_RGB)
+      return new ICC_ProfileRGB(cspace);
+    if (cspace == ColorSpace.CS_GRAY)
+      return new ICC_ProfileGray(cspace);
+    return new ICC_Profile(cspace);
+  }
+
+  /**
+   * Returns an ICC_Profile instance from an ICC Profile file.
+   *
+   * An instance of the specialized classes ICC_ProfileRGB or ICC_ProfileGray
+   * may be returned if appropriate.
+   *
+   * @param filename - the file name of the profile file.
+   * @return An ICC_Profile object
+   *
+   * @throws IllegalArgumentException if the profile data is an invalid
+   * v2 profile.
+   * @throws IOException if the file could not be read.
+   */
+  public static ICC_Profile getInstance(String filename)
+                                 throws IOException
+  {
+    return getInstance(new FileInputStream(filename));
+  }
+
+  /**
+   * Returns an ICC_Profile instance from an InputStream.
+   *
+   * This method can be used for reading ICC profiles embedded in files
+   * which support this. (JPEG and SVG for instance).
+   *
+   * The stream is treated in the following way: The profile header
+   * (128 bytes) is read first, and the header is validated. If the profile
+   * header is valid, it will then attempt to read the rest of the profile
+   * from the stream. The stream is not closed after reading.
+   *
+   * An instance of the specialized classes ICC_ProfileRGB or ICC_ProfileGray
+   * may be returned if appropriate.
+   *
+   * @param in - the input stream to read the profile from.
+   * @return An ICC_Profile object
+   *
+   * @throws IllegalArgumentException if the profile data is an invalid
+   * v2 profile.
+   * @throws IOException if the stream could not be read.
+   */
+  public static ICC_Profile getInstance(InputStream in)
+                                 throws IOException
+  {
+    // read the header
+    byte[] headerData = new byte[ProfileHeader.HEADERSIZE];
+    if (in.read(headerData) != ProfileHeader.HEADERSIZE)
+      throw new IllegalArgumentException("Invalid profile header");
+
+    ProfileHeader header = new ProfileHeader(headerData);
+
+    // verify it as a correct ICC header, but do not verify the
+    // size as we are reading from a stream.
+    header.verifyHeader(-1);
+
+    // get the size
+    byte[] data = new byte[header.getSize()];
+    System.arraycopy(headerData, 0, data, 0, ProfileHeader.HEADERSIZE);
+
+    // read the rest
+    if (in.read(data, ProfileHeader.HEADERSIZE,
+                header.getSize() - ProfileHeader.HEADERSIZE) != header.getSize()
+        - ProfileHeader.HEADERSIZE)
+      throw new IOException("Incorrect profile size");
+
+    return getInstance(data);
+  }
+
+  /**
+   * Returns the major version number
+   */
+  public int getMajorVersion()
+  {
+    return header.getMajorVersion();
+  }
+
+  /**
+   * Returns the minor version number.
+   *
+   * Only the least-significant byte contains data, in BCD form:
+   * the least-significant nibble is the BCD bug fix revision,
+   * the most-significant nibble is the BCD minor revision number.
+   *
+   * (E.g. For a v2.1.0 profile this will return <code>0x10</code>)
+   */
+  public int getMinorVersion()
+  {
+    return header.getMinorVersion();
+  }
+
+  /**
+   * Returns the device class of this profile,
+   *
+   * (E.g. CLASS_INPUT for a scanner profile,
+   * CLASS_OUTPUT for a printer)
+   */
+  public int getProfileClass()
+  {
+    return header.getProfileClass();
+  }
+
+  /**
+   * Returns the color space of this profile, in terms
+   * of the color space constants defined in ColorSpace.
+   * (For example, it may be a ColorSpace.TYPE_RGB)
+   */
+  public int getColorSpaceType()
+  {
+    return header.getColorSpace();
+  }
+
+  /**
+   * Returns the color space of this profile's Profile Connection Space (OCS)
+   *
+   * In terms of the color space constants defined in ColorSpace.
+   * This may be TYPE_XYZ or TYPE_Lab
+   */
+  public int getPCSType()
+  {
+    return header.getProfileColorSpace();
+  }
+
+  /**
+   * Writes the profile data to an ICC profile file.
+   * @param filename - The name of the file to write
+   * @throws IOException if the write failed.
+   */
+  public void write(String filename) throws IOException
+  {
+    FileOutputStream out = new FileOutputStream(filename);
+    write(out);
+    out.flush();
+    out.close();
+  }
+
+  /**
+   * Writes the profile data in ICC profile file-format to a stream.
+   * This is useful for embedding ICC profiles in file formats which
+   * support this (such as JPEG and SVG).
+   *
+   * The stream is not closed after writing.
+   * @param out - The outputstream to which the profile data should be written
+   * @throws IOException if the write failed.
+   */
+  public void write(OutputStream out) throws IOException
+  {
+    out.write(getData());
+  }
+
+  /**
+   * Returns the data corresponding to this ICC_Profile as a byte array.
+   *
+   * @return The data in a byte array,
+   * where the first element corresponds to first byte of the profile file.
+   */
+  public byte[] getData()
+  {
+    int size = getSize();
+    byte[] data = new byte[size];
+
+    // Header
+    System.arraycopy(header.getData(size), 0, data, 0, ProfileHeader.HEADERSIZE);
+    // # of tags
+    byte[] tt = getTagTable();
+    System.arraycopy(tt, 0, data, ProfileHeader.HEADERSIZE, tt.length);
+
+    Enumeration e = tagTable.elements();
+    while (e.hasMoreElements())
+      {
+	TagEntry tag = (TagEntry) e.nextElement();
+	System.arraycopy(tag.getData(), 0, 
+			 data, tag.getOffset(), tag.getSize());
+      }
+    return data;
+  }
+
+  /**
+   * Returns the ICC profile tag data
+   * The non ICC-tag icSigHead is also permitted to request the header data.
+   *
+   * @param tagSignature The ICC signature of the requested tag
+   * @return A byte array containing the tag data
+   */
+  public byte[] getData(int tagSignature)
+  {
+    if (tagSignature == icSigHead)
+      return header.getData(getSize());
+
+    TagEntry t = (TagEntry) tagTable.get(TagEntry.tagHashKey(tagSignature));
+    if (t == null)
+      return null;
+    return t.getData();
+  }
+
+  /**
+   * Sets the ICC profile tag data.
+   *
+   * Note that an ICC profile can only contain one tag of each type, if
+   * a tag already exists with the given signature, it is replaced.
+   *
+   * @param tagSignature - The signature of the tag to set
+   * @param data - A byte array containing the tag data
+   */
+  public void setData(int tagSignature, byte[] data)
+  {
+    profileID = -1; // Not a predefined color space if modified.
+
+    if (tagSignature == icSigHead)
+      header = new ProfileHeader(data);
+    else
+      {
+	TagEntry t = new TagEntry(tagSignature, data);
+	tagTable.put(t.hashKey(), t);
+      }
+  }
+
+  /**
+   * Get the number of components in the profile's device color space.
+   */
+  public int getNumComponents()
+  {
+    int[] lookup = 
+                   {
+                     ColorSpace.TYPE_RGB, 3, ColorSpace.TYPE_CMY, 3,
+                     ColorSpace.TYPE_CMYK, 4, ColorSpace.TYPE_GRAY, 1,
+                     ColorSpace.TYPE_YCbCr, 3, ColorSpace.TYPE_XYZ, 3,
+                     ColorSpace.TYPE_Lab, 3, ColorSpace.TYPE_HSV, 3,
+                     ColorSpace.TYPE_2CLR, 2, ColorSpace.TYPE_Luv, 3,
+                     ColorSpace.TYPE_Yxy, 3, ColorSpace.TYPE_HLS, 3,
+                     ColorSpace.TYPE_3CLR, 3, ColorSpace.TYPE_4CLR, 4,
+                     ColorSpace.TYPE_5CLR, 5, ColorSpace.TYPE_6CLR, 6,
+                     ColorSpace.TYPE_7CLR, 7, ColorSpace.TYPE_8CLR, 8,
+                     ColorSpace.TYPE_9CLR, 9, ColorSpace.TYPE_ACLR, 10,
+                     ColorSpace.TYPE_BCLR, 11, ColorSpace.TYPE_CCLR, 12,
+                     ColorSpace.TYPE_DCLR, 13, ColorSpace.TYPE_ECLR, 14,
+                     ColorSpace.TYPE_FCLR, 15
+                   };
+    for (int i = 0; i < lookup.length; i += 2)
+      if (header.getColorSpace() == lookup[i])
+	return lookup[i + 1];
+    return 3; // should never happen.
+  }
+
+  /**
+   * After deserializing we must determine if the class we want
+   * is really one of the more specialized ICC_ProfileRGB or
+   * ICC_ProfileGray classes.
+   */
+  protected Object readResolve() throws ObjectStreamException
+  {
+    if (isRGBProfile(header, tagTable))
+      return new ICC_ProfileRGB(getData());
+    if (isGrayProfile(header, tagTable))
+      return new ICC_ProfileGray(getData());
+    return this;
+  }
+
+  /**
+   * Deserializes an instance
+   */
+  private void readObject(ObjectInputStream s)
+                   throws IOException, ClassNotFoundException
+  {
+    s.defaultReadObject();
+    String predef = (String) s.readObject();
+    byte[] data = (byte[]) s.readObject();
+
+    if (data != null)
+      {
+	header = new ProfileHeader(data);
+	tagTable = createTagTable(data);
+	profileID = -1; // Not a predefined color space
+      }
+
+    if (predef != null)
+      {
+	predef = predef.intern();
+	if (predef.equals("CS_sRGB"))
+	  createProfile(ColorSpace.CS_sRGB);
+	if (predef.equals("CS_LINEAR_RGB"))
+	  createProfile(ColorSpace.CS_LINEAR_RGB);
+	if (predef.equals("CS_CIEXYZ"))
+	  createProfile(ColorSpace.CS_CIEXYZ);
+	if (predef.equals("CS_GRAY"))
+	  createProfile(ColorSpace.CS_GRAY);
+	if (predef.equals("CS_PYCC"))
+	  createProfile(ColorSpace.CS_PYCC);
+      }
+  }
+
+  /**
+   * Serializes an instance
+   * The format is a String and a byte array,
+   * The string is non-null if the instance is one of the built-in profiles.
+   * Otherwise the byte array is non-null and represents the profile data.
+   */
+  private void writeObject(ObjectOutputStream s) throws IOException
+  {
+    s.defaultWriteObject();
+    if (profileID == ColorSpace.CS_sRGB)
+      s.writeObject("CS_sRGB");
+    else if (profileID == ColorSpace.CS_LINEAR_RGB)
+      s.writeObject("CS_LINEAR_RGB");
+    else if (profileID == ColorSpace.CS_CIEXYZ)
+      s.writeObject("CS_CIEXYZ");
+    else if (profileID == ColorSpace.CS_GRAY)
+      s.writeObject("CS_GRAY");
+    else if (profileID == ColorSpace.CS_PYCC)
+      s.writeObject("CS_PYCC");
+    else
+      {
+	s.writeObject(null); // null string
+	s.writeObject(getData()); // data
+	return;
+      }
+    s.writeObject(null); // null data
+  }
+
+  /**
+   * Sorts a ICC profile byte array into TagEntry objects stored in
+   * a hash table.
+   */
+  private static Hashtable createTagTable(byte[] data)
+                                   throws IllegalArgumentException
+  {
+    ByteBuffer buf = ByteBuffer.wrap(data);
+    int nTags = buf.getInt(tagTableOffset);
+
+    Hashtable tagTable = new Hashtable();
+    for (int i = 0; i < nTags; i++)
+      {
+	TagEntry te = new TagEntry(buf.getInt(tagTableOffset
+	                                      + i * TagEntry.entrySize + 4),
+	                           buf.getInt(tagTableOffset
+	                                      + i * TagEntry.entrySize + 8),
+	                           buf.getInt(tagTableOffset
+	                                      + i * TagEntry.entrySize + 12),
+	                           data);
+
+	if (tagTable.put(te.hashKey(), te) != null)
+	  throw new IllegalArgumentException("Duplicate tag in profile:" + te);
+      }
+    return tagTable;
+  }
+
+  /**
+   * Returns the total size of the padded, stored data
+   * Note: Tags must be stored on 4-byte aligned offsets.
+   */
+  private int getSize()
+  {
+    int totalSize = ProfileHeader.HEADERSIZE; // size of header
+
+    int tagTableSize = 4 + tagTable.size() * TagEntry.entrySize; // size of tag table	
+    if ((tagTableSize & 0x0003) != 0)
+      tagTableSize += 4 - (tagTableSize & 0x0003); // pad
+    totalSize += tagTableSize;
+
+    Enumeration e = tagTable.elements();
+    while (e.hasMoreElements())
+      { // tag data
+	int tagSize = ((TagEntry) e.nextElement()).getSize();
+	if ((tagSize & 0x0003) != 0)
+	  tagSize += 4 - (tagSize & 0x0003); // pad
+	totalSize += tagSize;
+      }
+    return totalSize;
+  }
+
+  /**
+   * Generates the tag index table
+   */
+  private byte[] getTagTable()
+  {
+    int tagTableSize = 4 + tagTable.size() * TagEntry.entrySize;
+    if ((tagTableSize & 0x0003) != 0)
+      tagTableSize += 4 - (tagTableSize & 0x0003); // pad 
+
+    int offset = 4;
+    int tagOffset = ProfileHeader.HEADERSIZE + tagTableSize;
+    ByteBuffer buf = ByteBuffer.allocate(tagTableSize);
+    buf.putInt(tagTable.size()); // number of tags
+
+    Enumeration e = tagTable.elements();
+    while (e.hasMoreElements())
+      {
+	TagEntry tag = (TagEntry) e.nextElement();
+	buf.putInt(offset, tag.getSignature());
+	buf.putInt(offset + 4, tagOffset);
+	buf.putInt(offset + 8, tag.getSize());
+	tag.setOffset(tagOffset);
+	int tagSize = tag.getSize();
+	if ((tagSize & 0x0003) != 0)
+	  tagSize += 4 - (tagSize & 0x0003); // pad	    
+	tagOffset += tagSize;
+	offset += 12;
+      }
+    return buf.array();
+  }
+
+  /**
+   * Returns if the criteria for an ICC_ProfileRGB are met.
+   * This means:
+   * Color space is TYPE_RGB
+   * (r,g,b)ColorantTags included
+   * (r,g,b)TRCTags included
+   * mediaWhitePointTag included
+   */
+  private static boolean isRGBProfile(ProfileHeader header, Hashtable tags)
+  {
+    if (header.getColorSpace() != ColorSpace.TYPE_RGB)
+      return false;
+    if (tags.get(TagEntry.tagHashKey(icSigRedColorantTag)) == null)
+      return false;
+    if (tags.get(TagEntry.tagHashKey(icSigGreenColorantTag)) == null)
+      return false;
+    if (tags.get(TagEntry.tagHashKey(icSigBlueColorantTag)) == null)
+      return false;
+    if (tags.get(TagEntry.tagHashKey(icSigRedTRCTag)) == null)
+      return false;
+    if (tags.get(TagEntry.tagHashKey(icSigGreenTRCTag)) == null)
+      return false;
+    if (tags.get(TagEntry.tagHashKey(icSigBlueTRCTag)) == null)
+      return false;
+    return (tags.get(TagEntry.tagHashKey(icSigMediaWhitePointTag)) != null);
+  }
+
+  /**
+   * Returns if the criteria for an ICC_ProfileGray are met.
+   * This means:
+   * Colorspace is TYPE_GRAY
+   * grayTRCTag included
+   * mediaWhitePointTag included
+   */
+  private static boolean isGrayProfile(ProfileHeader header, Hashtable tags)
+  {
+    if (header.getColorSpace() != ColorSpace.TYPE_GRAY)
+      return false;
+    if (tags.get(TagEntry.tagHashKey(icSigGrayTRCTag)) == null)
+      return false;
+    return (tags.get(TagEntry.tagHashKey(icSigMediaWhitePointTag)) != null);
+  }
+
+  /**
+   * Returns curve data for a 'curv'-type tag
+   * If it's a gamma curve, a single entry will be returned with the
+   * gamma value (including 1.0 for linear response)
+   * Otherwise the TRC table is returned.
+   *
+   * (Package private - used by ICC_ProfileRGB and ICC_ProfileGray)
+   */
+  short[] getCurve(int signature)
+  {
+    byte[] data = getData(signature);
+    short[] curve;
+
+    // can't find tag?
+    if (data == null)
+      return null;
+
+    // not an curve type tag?
+    ByteBuffer buf = ByteBuffer.wrap(data);
+    if (buf.getInt(0) != 0x63757276) // 'curv' type
+      return null;
+    int count = buf.getInt(8);
+    if (count == 0)
+      {
+	curve = new short[1];
+	curve[0] = 0x0100; // 1.00 in u8fixed8
+	return curve;
+      }
+    if (count == 1)
+      {
+	curve = new short[1];
+	curve[0] = buf.getShort(12); // other u8fixed8 gamma
+	return curve;
+      }
+    curve = new short[count];
+    for (int i = 0; i < count; i++)
+      curve[i] = buf.getShort(12 + i * 2);
+    return curve;
+  }
+
+  /**
+   * Returns XYZ tristimulus values for an 'XYZ ' type tag
+   * @return the XYZ values, or null if the tag was not an 'XYZ ' type tag.
+   *
+   * (Package private - used by ICC_ProfileXYZ and ICC_ProfileGray)
+   */
+  float[] getXYZData(int signature)
+  {
+    byte[] data = getData(signature);
+
+    // can't find tag?
+    if (data == null)
+      return null;
+
+    // not an XYZData type tag?
+    ByteBuffer buf = ByteBuffer.wrap(data);
+    if (buf.getInt(0) != icSigXYZData) // 'XYZ ' type
+      return null;
+
+    float[] point = new float[3];
+
+    // get the X,Y,Z tristimulus values
+    point[0] = ((float) buf.getInt(8)) / 65536f;
+    point[1] = ((float) buf.getInt(12)) / 65536f;
+    point[2] = ((float) buf.getInt(16)) / 65536f;
+    return point;
+  }
+
+  /**
+   * Returns the profile ID if it's a predefined profile
+   * Or -1 for a profile loaded from an ICC profile
+   *
+   * (Package private - used by ICC_ColorSpace)
+   */
+  int isPredefined()
+  {
+    return profileID;
+  }
+
+  /**
+   * Creates a tag of XYZ-value type.
+   */
+  private byte[] makeXYZData(float[] values)
+  {
+    ByteBuffer buf = ByteBuffer.allocate(20);
+    buf.putInt(0, icSigXYZData); // 'XYZ '
+    buf.putInt(4, 0);
+    buf.putInt(8, (int) (values[0] * 65536.0));
+    buf.putInt(12, (int) (values[1] * 65536.0));
+    buf.putInt(16, (int) (values[2] * 65536.0));
+    return buf.array();
+  }
+
+  /**
+   * Creates a tag of text type
+   */
+  private byte[] makeTextTag(String text)
+  {
+    int length = text.length();
+    ByteBuffer buf = ByteBuffer.allocate(8 + length + 1);
+    byte[] data;
+    try
+      {
+	data = text.getBytes("US-ASCII");
+      }
+    catch (UnsupportedEncodingException e)
+      {
+	data = new byte[length]; // shouldn't happen
+      }
+
+    buf.putInt(0, (int) 0x74657874); // 'text'
+    buf.putInt(4, 0);
+    for (int i = 0; i < length; i++)
+      buf.put(8 + i, data[i]);
+    buf.put(8 + length, (byte) 0); // null-terminate
+    return buf.array();
+  }
+
+  /**
+   * Creates a tag of textDescriptionType
+   */
+  private byte[] makeDescTag(String text)
+  {
+    int length = text.length();
+    ByteBuffer buf = ByteBuffer.allocate(90 + length + 1);
+    buf.putInt(0, (int) 0x64657363); // 'desc'
+    buf.putInt(4, 0); // reserved 
+    buf.putInt(8, length + 1); // ASCII length, including null termination
+    byte[] data;
+
+    try
+      {
+	data = text.getBytes("US-ASCII");
+      }
+    catch (UnsupportedEncodingException e)
+      {
+	data = new byte[length]; // shouldn't happen
+      }
+
+    for (int i = 0; i < length; i++)
+      buf.put(12 + i, data[i]);
+    buf.put(12 + length, (byte) 0); // null-terminate
+
+    for (int i = 0; i < 39; i++)
+      buf.putShort(13 + length + (i * 2), (short) 0); // 78 bytes we can ignore
+
+    return buf.array();
+  }
+
+  /**
+   * Creates a tag of TRC type (linear curve)
+   */
+  private byte[] makeTRC()
+  {
+    ByteBuffer buf = ByteBuffer.allocate(12);
+    buf.putInt(0, 0x63757276); // 'curv' type
+    buf.putInt(4, 0); // reserved
+    buf.putInt(8, 0);
+    return buf.array();
+  }
+
+  /**
+   * Creates a tag of TRC type (single gamma value)
+   */
+  private byte[] makeTRC(float gamma)
+  {
+    short gammaValue = (short) (gamma * 256f);
+    ByteBuffer buf = ByteBuffer.allocate(14);
+    buf.putInt(0, 0x63757276); // 'curv' type
+    buf.putInt(4, 0); // reserved
+    buf.putInt(8, 1);
+    buf.putShort(12, gammaValue); // 1.00 in u8fixed8
+    return buf.array();
+  }
+
+  /**
+   * Creates a tag of TRC type (TRC curve points)
+   */
+  private byte[] makeTRC(float[] trc)
+  {
+    ByteBuffer buf = ByteBuffer.allocate(12 + 2 * trc.length);
+    buf.putInt(0, 0x63757276); // 'curv' type
+    buf.putInt(4, 0); // reserved
+    buf.putInt(8, trc.length); // number of points
+
+    // put the curve values 
+    for (int i = 0; i < trc.length; i++)
+      buf.putShort(12 + i * 2, (short) (trc[i] * 65535f));
+
+    return buf.array();
+  }
+
+  /**
+   * Creates an identity color lookup table.
+   */
+  private byte[] makeIdentityClut()
+  {
+    final int nIn = 3;
+    final int nOut = 3;
+    final int nInEntries = 256;
+    final int nOutEntries = 256;
+    final int gridpoints = 16;
+
+    // gridpoints**nIn
+    final int clutSize = 2 * nOut * gridpoints * gridpoints * gridpoints;
+    final int totalSize = clutSize + 2 * nInEntries * nIn
+                          + 2 * nOutEntries * nOut + 52;
+
+    ByteBuffer buf = ByteBuffer.allocate(totalSize);
+    buf.putInt(0, 0x6D667432); // 'mft2'
+    buf.putInt(4, 0); // reserved
+    buf.put(8, (byte) nIn); // number input channels
+    buf.put(9, (byte) nOut); // number output channels
+    buf.put(10, (byte) gridpoints); // number gridpoints
+    buf.put(11, (byte) 0); // padding
+
+    // identity matrix
+    buf.putInt(12, 65536); // = 1 in s15.16 fixed point
+    buf.putInt(16, 0);
+    buf.putInt(20, 0);
+    buf.putInt(24, 0);
+    buf.putInt(28, 65536);
+    buf.putInt(32, 0);
+    buf.putInt(36, 0);
+    buf.putInt(40, 0);
+    buf.putInt(44, 65536);
+
+    buf.putShort(48, (short) nInEntries); // input table entries
+    buf.putShort(50, (short) nOutEntries); // output table entries
+
+    // write the linear input channels, unsigned 16.16 fixed point,
+    // from 0.0 to FF.FF
+    for (int channel = 0; channel < 3; channel++)
+      for (int i = 0; i < nInEntries; i++)
+        {
+	  short n = (short) ((i << 8) | i); // assumes 256 entries
+	  buf.putShort(52 + (channel * nInEntries + i) * 2, n);
+        }
+    int clutOffset = 52 + nInEntries * nIn * 2;
+
+    for (int x = 0; x < gridpoints; x++)
+      for (int y = 0; y < gridpoints; y++)
+	for (int z = 0; z < gridpoints; z++)
+	  {
+	    int offset = clutOffset + z * 2 * nOut + y * gridpoints * 2 * nOut
+	                 + x * gridpoints * gridpoints * 2 * nOut;
+	    double xf = ((double) x) / ((double) gridpoints - 1.0);
+	    double yf = ((double) y) / ((double) gridpoints - 1.0);
+	    double zf = ((double) z) / ((double) gridpoints - 1.0);
+	    buf.putShort(offset, (short) (xf * 65535.0));
+	    buf.putShort(offset + 2, (short) (yf * 65535.0));
+	    buf.putShort(offset + 4, (short) (zf * 65535.0));
+	  }
+
+    for (int channel = 0; channel < 3; channel++)
+      for (int i = 0; i < nOutEntries; i++)
+        {
+	  short n = (short) ((i << 8) | i); // assumes 256 entries
+	  buf.putShort(clutOffset + clutSize + (channel * nOutEntries + i) * 2,
+	               n);
+        }
+
+    return buf.array();
+  }
+
+  /**
+   * Creates profile data corresponding to the built-in colorspaces.
+   */
+  private void createProfile(int colorSpace) throws IllegalArgumentException
+  {
+    this.profileID = colorSpace;
+    header = new ProfileHeader();
+    tagTable = new Hashtable();
+
+    switch (colorSpace)
+      {
+      case ColorSpace.CS_sRGB:
+	createRGBProfile();
+	return;
+      case ColorSpace.CS_LINEAR_RGB:
+	createLinearRGBProfile();
+	return;
+      case ColorSpace.CS_CIEXYZ:
+	createCIEProfile();
+	return;
+      case ColorSpace.CS_GRAY:
+	createGrayProfile();
+	return;
+      case ColorSpace.CS_PYCC:
+	createPyccProfile();
+	return;
+      default:
+	throw new IllegalArgumentException("Not a predefined color space!");
+      }
+  }
+
+  /**
+   * Creates an ICC_Profile representing the sRGB color space
+   */
+  private void createRGBProfile()
+  {
+    header.setColorSpace( ColorSpace.TYPE_RGB );
+    header.setProfileColorSpace( ColorSpace.TYPE_XYZ );
+    ICC_ColorSpace cs = new ICC_ColorSpace(this);
+
+    float[] r = { 1f, 0f, 0f };
+    float[] g = { 0f, 1f, 0f };
+    float[] b = { 0f, 0f, 1f };
+    float[] black = { 0f, 0f, 0f };
+
+    // CIE 1931 D50 white point (in Lab coordinates)
+    float[] white = D50;
+
+    // Get tristimulus values (matrix elements)
+    r = cs.toCIEXYZ(r);
+    g = cs.toCIEXYZ(g);
+    b = cs.toCIEXYZ(b);
+
+    // Generate the sRGB TRC curve, this is the linear->nonlinear
+    // RGB transform.
+    cs = new ICC_ColorSpace(getInstance(ICC_ColorSpace.CS_LINEAR_RGB));
+    float[] points = new float[TRC_POINTS];
+    float[] in = new float[3];
+    for (int i = 0; i < TRC_POINTS; i++)
+      {
+	in[0] = in[1] = in[2] = ((float) i) / ((float) TRC_POINTS - 1);
+	in = cs.fromRGB(in);
+	// Note this value is the same for all components.
+	points[i] = in[0];
+      }
+
+    setData(icSigRedColorantTag, makeXYZData(r));
+    setData(icSigGreenColorantTag, makeXYZData(g));
+    setData(icSigBlueColorantTag, makeXYZData(b));
+    setData(icSigMediaWhitePointTag, makeXYZData(white));
+    setData(icSigMediaBlackPointTag, makeXYZData(black));
+    setData(icSigRedTRCTag, makeTRC(points));
+    setData(icSigGreenTRCTag, makeTRC(points));
+    setData(icSigBlueTRCTag, makeTRC(points));
+    setData(icSigCopyrightTag, makeTextTag(copyrightNotice));
+    setData(icSigProfileDescriptionTag, makeDescTag("Generic sRGB"));
+    this.profileID = ColorSpace.CS_sRGB;
+  }
+
+  /**
+   * Creates an linear sRGB profile
+   */
+  private void createLinearRGBProfile()
+  {
+    header.setColorSpace(ColorSpace.TYPE_RGB);
+    header.setProfileColorSpace(ColorSpace.TYPE_XYZ);
+    ICC_ColorSpace cs = new ICC_ColorSpace(this);
+
+    float[] r = { 1f, 0f, 0f };
+    float[] g = { 0f, 1f, 0f };
+    float[] b = { 0f, 0f, 1f };
+    float[] black = { 0f, 0f, 0f };
+
+    float[] white = D50;
+
+    // Get tristimulus values (matrix elements)
+    r = cs.toCIEXYZ(r);
+    g = cs.toCIEXYZ(g);
+    b = cs.toCIEXYZ(b);
+
+    setData(icSigRedColorantTag, makeXYZData(r));
+    setData(icSigGreenColorantTag, makeXYZData(g));
+    setData(icSigBlueColorantTag, makeXYZData(b));
+
+    setData(icSigMediaWhitePointTag, makeXYZData(white));
+    setData(icSigMediaBlackPointTag, makeXYZData(black));
+
+    setData(icSigRedTRCTag, makeTRC());
+    setData(icSigGreenTRCTag, makeTRC());
+    setData(icSigBlueTRCTag, makeTRC());
+    setData(icSigCopyrightTag, makeTextTag(copyrightNotice));
+    setData(icSigProfileDescriptionTag, makeDescTag("Linear RGB"));
+    this.profileID = ColorSpace.CS_LINEAR_RGB;
+  }
+
+  /**
+   * Creates an CIE XYZ identity profile
+   */
+  private void createCIEProfile()
+  {
+    header.setColorSpace( ColorSpace.TYPE_XYZ );
+    header.setProfileColorSpace( ColorSpace.TYPE_XYZ );
+    header.setProfileClass( CLASS_COLORSPACECONVERSION );
+    ICC_ColorSpace cs = new ICC_ColorSpace(this);
+
+    float[] white = D50;
+
+    setData(icSigMediaWhitePointTag, makeXYZData(white));
+    setData(icSigAToB0Tag, makeIdentityClut());
+    setData(icSigBToA0Tag, makeIdentityClut());
+    setData(icSigCopyrightTag, makeTextTag(copyrightNotice));
+    setData(icSigProfileDescriptionTag, makeDescTag("CIE XYZ identity profile"));
+    this.profileID = ColorSpace.CS_CIEXYZ;
+  }
+
+  /**
+   * Creates a linear gray ICC_Profile
+   */
+  private void createGrayProfile()
+  {
+    header.setColorSpace(ColorSpace.TYPE_GRAY);
+    header.setProfileColorSpace(ColorSpace.TYPE_XYZ);
+
+    // CIE 1931 D50 white point (in Lab coordinates)
+    float[] white = D50;
+
+    setData(icSigMediaWhitePointTag, makeXYZData(white));
+    setData(icSigGrayTRCTag, makeTRC(1.0f));
+    setData(icSigCopyrightTag, makeTextTag(copyrightNotice));
+    setData(icSigProfileDescriptionTag, makeDescTag("Linear grayscale"));
+    this.profileID = ColorSpace.CS_GRAY;
+  }
+
+  /**
+   * XXX Implement me
+   */
+  private void createPyccProfile()
+  {
+    header.setColorSpace(ColorSpace.TYPE_3CLR);
+    header.setProfileColorSpace(ColorSpace.TYPE_XYZ);
+
+    // Create CLUTs here. :-)
+
+    setData(icSigCopyrightTag, makeTextTag(copyrightNotice));
+    setData(icSigProfileDescriptionTag, makeDescTag("Photo YCC"));
+    this.profileID = ColorSpace.CS_PYCC;
+  }
+} // class ICC_Profile
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/color/ICC_ProfileGray.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,133 @@
+/* ICC_ProfileGray.java -- the ICC profile for a Gray colorspace
+   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.color;
+
+/**
+ * ICC_ProfileGray - a special case of ICC_Profiles.
+ *
+ * The ICC_Profile.getInstance() method will return an instance of the 
+ * ICC_ProfileGray subclass when all the following conditions are met:
+ * The device color space of the profile is TYPE_GRAY.
+ * The profile contains a gray TRCTag.
+ * The profile contains a mediaWhitePointTag.
+ *
+ * As per the ICC specification, the color space conversion can then
+ * be done through the following method:
+ * linearGray = grayTRC[deviceGray]
+ *
+ * Note that if the profile contains a CLUT for the color space conversion,
+ * it should be used instead, and the TRC information ignored. 
+ *
+ * @author Sven de Marothy
+ * @since 1.2
+ */
+public class ICC_ProfileGray extends ICC_Profile
+{
+  /**
+   * Compatible with JDK 1.2+.
+   */
+  private static final long serialVersionUID = -1124721290732002649L;
+  private transient float[] whitePoint;
+
+  /**
+   * Package-private constructor used by ICC_ColorSpace for creating an
+   * ICC_ProfileGray from a predefined ColorSpace (CS_GRAY)
+   */
+  ICC_ProfileGray(int cspace)
+  {
+    super(cspace);
+    whitePoint = getXYZData(icSigMediaWhitePointTag);
+  }
+
+  /**
+   * Package-private constructor used by ICC_ColorSpace for creating an
+   * ICC_ProfileGray from profile data.
+   */
+  ICC_ProfileGray(byte[] data)
+  {
+    super(data);
+    whitePoint = getXYZData(icSigMediaWhitePointTag);
+  }
+
+
+  /**
+   * Returns the media white point of the profile.
+   */
+  public float[] getMediaWhitePoint()
+  {
+    float[] wp = new float[3];
+    wp[0] = whitePoint[0];
+    wp[1] = whitePoint[1];
+    wp[2] = whitePoint[2];
+    return wp;
+  }
+
+  /**
+   * Returns the TRC gamma value.
+   * @throws ProfileDataException if the TRC is described by a lookup
+   * table and not a gamma value.
+   */
+  public float getGamma()
+  {
+    short[] data = getCurve(icSigGrayTRCTag);
+    if (data == null)
+      throw new IllegalArgumentException("Couldn't read Gray TRC data.");
+    if (data.length != 1)
+      throw new ProfileDataException("TRC is a table, not a gamma value.");
+
+    // convert the unsigned 7.8 fixed-point gamma to a float.
+    double gamma = (double) (data[0] & (0xFFFF)) / 256.0;
+    return (float) gamma;
+  }
+
+  /**
+   * Returns the TRC lookup table.
+   * @throws ProfileDataException if the TRC is described by a gamma value
+   * and not a lookup table.
+   */
+  public short[] getTRC()
+  {
+    short[] data = getCurve(icSigGrayTRCTag);
+    if (data == null)
+      throw new IllegalArgumentException("Couldn't read Gray TRC data.");
+    if (data.length <= 1)
+      throw new ProfileDataException("Gamma value, not a TRC table.");
+    return data;
+  }
+} // class ICC_ProfileGray
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/color/ICC_ProfileRGB.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,227 @@
+/* ICC_ProfileRGB.java -- the ICC profile for a RGB colorspace
+   Copyright (C) 2002, 2004 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.color;
+
+/**
+ * ICC_ProfileRGB - a special case of ICC_Profiles.
+ *
+ * The ICC_Profile.getInstance() method will return an instance of the 
+ * ICC_ProfileRGB subclass when all the following conditions are met:
+ * The device color space of the profile is TYPE_RGB.
+ * The profile contains red, green and blue ColorantTags.
+ * The profile contains red, green and blue TRCTags.
+ * The profile contains a mediaWhitePointTag included.
+ *
+ * As per the ICC specification, the color space conversion can then
+ * be done through the following method:
+ * linearR = redTRC[deviceR]
+ * linearG = greenTRC[deviceG]
+ * linearB = blueTRC[deviceB]
+ * TRC curves are either a single gamma value, or a 1-dimensional lookup table.
+ * 
+ * Followed by the matrix transform:
+ * PCS = M*linear
+ *
+ * Where PCS is the vector of profile color space (must be XYZ) coordinates,
+ * linear is the vector of linear RGB coordinates, and the matrix M is 
+ * constructed from the ColorantTags, where the columns are red, green and
+ * blue respectively, and the rows are X, Y and Z.
+ *
+ * Note that if the profile contains a CLUT for the color space conversion,
+ * it should be used instead, and the TRC information ignored. 
+ *
+ * @author Sven de Marothy
+ * @since 1.2
+ */
+public class ICC_ProfileRGB extends ICC_Profile
+{
+  /**
+   * Compatible with JDK 1.2+.
+   */
+  private static final long serialVersionUID = 8505067385152579334L;
+
+  public static final int REDCOMPONENT = 0;
+
+  public static final int GREENCOMPONENT = 1;
+
+  public static final int BLUECOMPONENT = 2;
+
+  private transient float[][] matrix;
+
+  private transient float[] gamma;
+
+  private transient float[] whitePoint;
+
+
+  /**
+   * Package-private constructor used by ICC_ColorSpace for creating an
+   * ICC_ProfileRGB from a predefined ColorSpace (CS_LINEAR_RGB and CS_sRGB)
+   */
+  ICC_ProfileRGB(int cspace)
+  {
+    super(cspace);
+    matrix = createMatrix();
+    whitePoint = getXYZData(icSigMediaWhitePointTag);
+  }
+
+  /**
+   * Package-private constructor used by ICC_ColorSpace for creating an
+   * ICC_ProfileRGB from profile data.
+   */
+  ICC_ProfileRGB(byte[] data)
+  {
+    super(data);
+    matrix = createMatrix();
+    whitePoint = getXYZData(icSigMediaWhitePointTag);
+  }
+
+  /**
+   * Returns the media white point of the profile.
+   */
+  public float[] getMediaWhitePoint()
+  {
+    float[] wp = new float[3];
+    wp[0] = whitePoint[0];
+    wp[1] = whitePoint[1];
+    wp[2] = whitePoint[2];
+    return wp;
+  }
+
+  /**
+   * Returns the colorant matrix of the conversion.
+   */
+  public float[][] getMatrix()
+  {
+    float[][] mat = new float[3][3];
+    for (int i = 0; i < 3; i++)
+      for (int j = 0; j < 3; j++)
+	mat[i][j] = matrix[i][j];
+    return mat;
+  }
+
+  /**
+   * Returns the gamma value of a component
+   * @throws ProfileDataException if the TRC is described by a lookup
+   * table and not a gamma value.
+   */
+  public float getGamma(int component)
+  {
+    short[] data;
+    switch (component)
+      {
+      case REDCOMPONENT:
+	data = getCurve(icSigRedTRCTag);
+	break;
+      case GREENCOMPONENT:
+	data = getCurve(icSigGreenTRCTag);
+	break;
+      case BLUECOMPONENT:
+	data = getCurve(icSigBlueTRCTag);
+	break;
+      default:
+	throw new IllegalArgumentException("Not a valid component");
+      }
+    if (data == null)
+      throw new IllegalArgumentException("Error reading TRC");
+
+    if (data.length != 1)
+      throw new ProfileDataException("Not a single-gamma TRC");
+
+    // convert the unsigned 7.8 fixed-point gamma to a float.
+    float gamma = (float) (((int) data[0] & 0xFF00) >> 8);
+    double fraction = ((int) data[0] & 0x00FF) / 256.0;
+    gamma += (float) fraction;
+    return gamma;
+  }
+
+  /**
+   * Returns the TRC lookup table for a component
+   * @throws ProfileDataException if the TRC is described by a gamma
+   * value and not a lookup table.
+   */
+  public short[] getTRC(int component)
+  {
+    short[] data;
+    switch (component)
+      {
+      case REDCOMPONENT:
+	data = getCurve(icSigRedTRCTag);
+	break;
+      case GREENCOMPONENT:
+	data = getCurve(icSigGreenTRCTag);
+	break;
+      case BLUECOMPONENT:
+	data = getCurve(icSigBlueTRCTag);
+	break;
+      default:
+	throw new IllegalArgumentException("Not a valid component");
+      }
+    if (data == null)
+      throw new IllegalArgumentException("Error reading TRC");
+
+    if (data.length <= 1)
+      throw new ProfileDataException("Gamma value, not a TRC table.");
+
+    return data;
+  }
+
+  /**
+   * Creates the colorspace conversion matrix from the RGB tristimulus
+   * values.
+   */
+  private float[][] createMatrix() throws IllegalArgumentException
+  {
+    float[][] mat = new float[3][3];
+    float[] r;
+    float[] g;
+    float[] b;
+    r = getXYZData(icSigRedColorantTag);
+    g = getXYZData(icSigGreenColorantTag);
+    b = getXYZData(icSigBlueColorantTag);
+    if (r == null || g == null || b == null)
+      throw new IllegalArgumentException("Error reading colorant tags!");
+    for (int i = 0; i < 3; i++)
+      {
+	mat[i][0] = r[i];
+	mat[i][1] = g[i];
+	mat[i][2] = b[i];
+      }
+    return mat;
+  }
+} // class ICC_ProfileRGB
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/BandedSampleModel.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,758 @@
+/* Copyright (C) 2004, 2005, 2006, Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+import gnu.java.awt.Buffers;
+
+/**
+ * A sample model that reads each sample value from a separate band in the
+ * {@link DataBuffer}.
+ *
+ * @author Jerry Quinn (jlquinn@optonline.net)
+ */
+public final class BandedSampleModel extends ComponentSampleModel
+{
+  private int[] bitMasks;
+  private int[] bitOffsets;
+  private int[] sampleSize;
+  private int dataBitOffset;
+  private int elemBits;
+  private int numberOfBits;
+  private int numElems;
+
+  private static int[] createBankArray(int size) 
+  {
+    int[] result = new int[size];
+    for (int i = 0; i < size; i++)
+      result[i] = i;
+    return result;
+  }
+
+  /**
+   * Creates a new <code>BandedSampleModel</code>.
+   * 
+   * @param dataType  the data buffer type.
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * @param numBands  the number of bands.
+   */
+  public BandedSampleModel(int dataType, int w, int h, int numBands)
+  {
+    this(dataType, w, h, w, createBankArray(numBands), new int[numBands]);
+  }
+
+  /**
+   * Creates a new <code>BandedSampleModel</code>.
+   * 
+   * @param dataType  the data buffer type.
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * @param scanlineStride  the number of data elements from a pixel in one 
+   *     row to the corresponding pixel in the next row.
+   * @param bankIndices  the bank indices.
+   * @param bandOffsets  the band offsets.
+   */
+  public BandedSampleModel(int dataType, int w, int h, int scanlineStride,
+			   int[] bankIndices, int[] bandOffsets)
+  {
+    super(dataType, w, h, 1, scanlineStride, bankIndices, bandOffsets);
+  }
+  
+  /**
+   * Creates a new data buffer that is compatible with this sample model.
+   * 
+   * @return The new data buffer.
+   */
+  public DataBuffer createDataBuffer()
+  {
+    int size = scanlineStride * height;
+    return Buffers.createBuffer(getDataType(), size, numBanks);
+  }
+
+  /**
+   * Creates a new <code>SampleModel</code> that is compatible with this
+   * model and has the specified width and height.
+   * 
+   * @param w  the width (in pixels, must be greater than zero).
+   * @param h  the height (in pixels, must be greater than zero).
+   * 
+   * @return The new sample model.
+   * 
+   * @throws IllegalArgumentException if <code>w</code> or <code>h</code> is
+   *     not greater than zero.
+   * @throws IllegalArgumentException if <code>w * h</code> exceeds 
+   *     <code>Integer.MAX_VALUE</code>.
+   */
+  public SampleModel createCompatibleSampleModel(int w, int h)
+  {
+    // NOTE: blackdown 1.4.1 sets all offsets to 0.  Sun's 1.4.2 docs
+    // disagree.
+
+    // Compress offsets so minimum is 0, others w*scanlineStride
+    int[] newoffsets = new int[bandOffsets.length];
+    int[] order = new int[bandOffsets.length];
+    for (int i = 0; i < bandOffsets.length; i++)
+      order[i] = i;
+    // FIXME: This is N^2, but not a big issue, unless there's a lot of
+    // bands...
+    for (int i = 0; i < bandOffsets.length; i++)
+      for (int j = i + 1; j < bandOffsets.length; j++)
+        if (bankIndices[order[i]] > bankIndices[order[j]]
+            || (bankIndices[order[i]] == bankIndices[order[j]]
+            && bandOffsets[order[i]] > bandOffsets[order[j]]))
+          {
+            int t = order[i]; order[i] = order[j]; order[j] = t;
+          }
+    int bank = 0;
+    int offset = 0;
+    for (int i = 0; i < bandOffsets.length; i++)
+      {
+        if (bankIndices[order[i]] != bank)
+          {
+            bank = bankIndices[order[i]];
+            offset = 0;
+          }
+        newoffsets[order[i]] = offset;
+        offset += w * scanlineStride;
+      }
+    
+    return new BandedSampleModel(dataType, w, h, w, bankIndices, newoffsets);
+  }
+
+
+  public SampleModel createSubsetSampleModel(int[] bands)
+  {
+    if (bands.length > bankIndices.length)
+      throw new
+	RasterFormatException("BandedSampleModel createSubsetSampleModel too"
+			      +" many bands");
+    int[] newoff = new int[bands.length];
+    int[] newbanks = new int[bands.length];
+    for (int i = 0; i < bands.length; i++)
+      {
+	int b = bands[i];
+	newoff[i] = bandOffsets[b];
+	newbanks[i] = bankIndices[b];
+      }
+
+    return new BandedSampleModel(dataType, width, height, scanlineStride,
+				 newbanks, newoff);
+  }
+
+  /**
+   * Extract all samples of one pixel and return in an array of transfer type.
+   *
+   * Extracts the pixel at x, y from data and stores samples into the array
+   * obj.  If obj is null, a new array of getTransferType() is created.
+   *
+   * @param x The x-coordinate of the pixel rectangle to store in 
+   *     <code>obj</code>.
+   * @param y The y-coordinate of the pixel rectangle to store in 
+   *     <code>obj</code>.
+   * @param obj The primitive array to store the pixels into or null to force 
+   *     creation.
+   * @param data The DataBuffer that is the source of the pixel data.
+   * @return The primitive array containing the pixel data.
+   * @see java.awt.image.SampleModel#getDataElements(int, int, 
+   *     java.lang.Object, java.awt.image.DataBuffer)
+   */
+  public Object getDataElements(int x, int y, Object obj, DataBuffer data)
+  {
+    if (x < 0 || y < 0)
+      throw new ArrayIndexOutOfBoundsException(
+          "x and y must not be less than 0.");
+    int pixel = getSample(x, y, 0, data);
+    switch (getTransferType())
+    {
+    case DataBuffer.TYPE_BYTE:
+      {
+	byte[] b = (byte[]) obj;
+	if (b == null) b = new byte[numBands];
+	for (int i = 0; i < numBands; i++)
+	  b[i] = (byte)getSample(x, y, i, data);
+	return b;
+      }
+    case DataBuffer.TYPE_SHORT:
+    case DataBuffer.TYPE_USHORT:
+      {
+	short[] b = (short[]) obj;
+	if (b == null) b = new short[numBands];
+	for (int i = 0; i < numBands; i++)
+	  b[i] = (short)getSample(x, y, i, data);
+	return b;
+      }
+    case DataBuffer.TYPE_INT:
+      {
+	int[] b = (int[]) obj;
+	if (b == null) b = new int[numBands];
+	for (int i = 0; i < numBands; i++)
+	  b[i] = getSample(x, y, i, data);
+	return b;
+      }
+    case DataBuffer.TYPE_FLOAT:
+      {
+	float[] b = (float[]) obj;
+	if (b == null) b = new float[numBands];
+	for (int i = 0; i < numBands; i++)
+	  b[i] = getSampleFloat(x, y, i, data);
+	return b;
+      }
+    case DataBuffer.TYPE_DOUBLE:
+      {
+	double[] b = (double[]) obj;
+	if (b == null) 
+          b = new double[numBands];
+	for (int i = 0; i < numBands; i++)
+	  b[i] = getSample(x, y, i, data);
+	return b;
+      }
+
+    default:
+      // Seems like the only sensible thing to do.
+      throw new ClassCastException();
+    }
+  }
+
+  /**
+   * Returns all the samples for the pixel at location <code>(x, y)</code>
+   * stored in the specified data buffer.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param iArray  an array that will be populated with the sample values and
+   *   returned as the result.  The size of this array should be equal to the 
+   *   number of bands in the model.  If the array is <code>null</code>, a new
+   *   array is created.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The samples for the specified pixel.
+   * 
+   * @see #setPixel(int, int, int[], DataBuffer)
+   */
+  public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    if (iArray == null) 
+      iArray = new int[numBands];
+    for (int i = 0; i < numBands; i++)
+      iArray[i] = getSample(x, y, i, data);
+	
+    return iArray;
+  }
+
+  /**
+   * Copy pixels from a region into an array.
+   *
+   * Copies the samples of the pixels in the rectangle starting at x, y that
+   * is w pixels wide and h scanlines high.  When there is more than one band,
+   * the samples stored in order before the next pixel.  This ordering isn't
+   * well specified in Sun's docs as of 1.4.2.
+   *
+   * If iArray is null, a new array is allocated, filled, and returned.
+   *
+   * @param x The x-coordinate of the pixel rectangle to store in
+   * <code>iArray</code>.
+   * @param y The y-coordinate of the pixel rectangle to store in
+   * <code>iArray</code>.
+   * @param w The width in pixels of the rectangle.
+   * @param h The height in pixels of the rectangle.
+   * @param iArray The int array to store the pixels into or null to force
+   * creation.
+   * @param data The DataBuffer that is the source of the pixel data.
+   * @return The primitive array containing the pixel data.
+   */
+  public int[] getPixels(int x, int y, int w, int h, int[] iArray,
+			 DataBuffer data)
+  {
+    if (x < 0 || y < 0)
+      throw new ArrayIndexOutOfBoundsException(
+          "x and y must not be less than 0.");
+    if (iArray == null) 
+      iArray = new int[w * h * numBands];
+    int outOffset = 0;
+    int maxX = x + w;
+    int maxY = y + h;
+    for (int yy = x; yy < maxY; yy++)
+      {
+	for (int xx = x; xx < maxX; xx++)
+	  {
+	    for (int b = 0; b < numBands; b++)
+	      {
+		int offset = bandOffsets[b] + yy * scanlineStride + xx;
+		iArray[outOffset++] =
+		  data.getElem(bankIndices[b], offset);
+	      }
+	  }
+      }
+    return iArray;	
+  }
+
+  /**
+   * Returns a sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int getSample(int x, int y, int b, DataBuffer data)
+  {
+    int offset = bandOffsets[b] + y * scanlineStride + x;
+    return data.getElem(bankIndices[b], offset);
+  }
+  
+  /**
+   * Returns a sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   * 
+   * @see #getSample(int, int, int, DataBuffer)
+   */
+  public float getSampleFloat(int x, int y, int b, DataBuffer data)
+  {
+    int offset = bandOffsets[b] + y * scanlineStride + x;
+    return data.getElemFloat(bankIndices[b], offset);
+  }
+  
+  /**
+   * Returns the sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   * 
+   * @see #getSample(int, int, int, DataBuffer)
+   */
+  public double getSampleDouble(int x, int y, int b, DataBuffer data)
+  {
+    int offset = bandOffsets[b] + y * scanlineStride + x;
+    return data.getElemDouble(bankIndices[b], offset);
+  }
+  
+  /**
+   * Copy one band's samples from a region into an array.
+   *
+   * Copies from one band the samples of the pixels in the rectangle starting
+   * at x, y that is w pixels wide and h scanlines high.
+   *
+   * If iArray is null, a new array is allocated, filled, and returned.
+   *
+   * @param x The x-coordinate of the pixel rectangle to store in
+   * <code>iArray</code>.
+   * @param y The y-coordinate of the pixel rectangle to store in
+   * <code>iArray</code>.
+   * @param w The width in pixels of the rectangle.
+   * @param h The height in pixels of the rectangle.
+   * @param b The band to retrieve.
+   * @param iArray The int array to store the pixels into or null to force
+   * creation.
+   * @param data The DataBuffer that is the source of the pixel data.
+   * @return The primitive array containing the pixel data.
+   */
+  public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray,
+			  DataBuffer data)
+  {
+    if (x < 0 || y < 0)
+      throw new ArrayIndexOutOfBoundsException(
+          "x and y must not be less than 0.");
+    if (iArray == null) 
+      iArray = new int[w * h];
+    int outOffset = 0;
+    int maxX = x + w;
+    int maxY = y + h;
+    for (int yy = y; yy < maxY; yy++)
+      {
+	for (int xx = x; xx < maxX; xx++)
+	  {
+	    int offset = bandOffsets[b] + yy * scanlineStride + xx;
+	    iArray[outOffset++] =
+	      data.getElem(bankIndices[b], offset);
+	  }
+      }
+    return iArray;	
+  }
+
+  /**
+   * Set the pixel at x, y to the value in the first element of the primitive
+   * array obj.
+   *
+   * @param x The x-coordinate of the data elements in <code>obj</code>.
+   * @param y The y-coordinate of the data elements in <code>obj</code>.
+   * @param obj The primitive array containing the data elements to set.
+   * @param data The DataBuffer to store the data elements into.
+   * @see java.awt.image.SampleModel#setDataElements(int, int, int, int, java.lang.Object, java.awt.image.DataBuffer)
+   */
+  public void setDataElements(int x, int y, Object obj, DataBuffer data)
+  {
+    int transferType = getTransferType();
+    if (getTransferType() != data.getDataType())
+      {
+	throw new IllegalArgumentException("transfer type ("+
+					   getTransferType()+"), "+
+					   "does not match data "+
+					   "buffer type (" +
+					   data.getDataType() +
+					   ").");
+      }
+
+    int offset = y * scanlineStride + x;
+    
+    try
+      {
+	switch (transferType)
+	  {
+	  case DataBuffer.TYPE_BYTE:
+	    {
+	      DataBufferByte out = (DataBufferByte) data;
+	      byte[] in = (byte[]) obj;
+	      for (int i = 0; i < numBands; i++)
+		out.getData(bankIndices[i])[offset + bandOffsets[i]] = in[i];
+	      return;
+	    }
+	  case DataBuffer.TYPE_SHORT:
+	    {
+	      DataBufferShort out = (DataBufferShort) data;
+	      short[] in = (short[]) obj;
+	      for (int i = 0; i < numBands; i++)
+		out.getData(bankIndices[i])[offset + bandOffsets[i]] = in[i];
+	      return;
+	    }
+	  case DataBuffer.TYPE_USHORT:
+	    {
+	      DataBufferUShort out = (DataBufferUShort) data;
+	      short[] in = (short[]) obj;
+	      for (int i = 0; i < numBands; i++)
+		out.getData(bankIndices[i])[offset + bandOffsets[i]] = in[i];
+	      return;
+	    }
+	  case DataBuffer.TYPE_INT:
+	    {
+	      DataBufferInt out = (DataBufferInt) data;
+	      int[] in = (int[]) obj;
+	      for (int i = 0; i < numBands; i++)
+		out.getData(bankIndices[i])[offset + bandOffsets[i]] = in[i];
+	      return;
+	    }
+	  case DataBuffer.TYPE_FLOAT:
+	    {
+	      DataBufferFloat out = (DataBufferFloat) data;
+	      float[] in = (float[]) obj;
+	      for (int i = 0; i < numBands; i++)
+		out.getData(bankIndices[i])[offset + bandOffsets[i]] = in[i];
+	      return;
+	    }
+	  case DataBuffer.TYPE_DOUBLE:
+	    {
+	      DataBufferDouble out = (DataBufferDouble) data;
+	      double[] in = (double[]) obj;
+	      for (int i = 0; i < numBands; i++)
+		out.getData(bankIndices[i])[offset + bandOffsets[i]] = in[i];
+	      return;
+	    }
+	  default:
+	    throw new ClassCastException("Unsupported data type");
+	  }
+      }
+    catch (ArrayIndexOutOfBoundsException aioobe)
+      {
+	String msg = "While writing data elements" 
+      + ", x=" + x + ", y=" + y 
+      + ", width=" + width + ", height=" + height 
+      + ", scanlineStride=" + scanlineStride 
+      + ", offset=" + offset 
+      + ", data.getSize()=" + data.getSize() 
+      + ", data.getOffset()=" + data.getOffset() 
+      + ": " + aioobe;
+	throw new ArrayIndexOutOfBoundsException(msg);
+      }
+    }
+
+  /**
+   * Sets the samples for the pixel at (x, y) in the specified data buffer to
+   * the specified values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    for (int b = 0; b < numBands; b++)
+      data.setElem(bankIndices[b], bandOffsets[b] + y * scanlineStride + x,
+		   iArray[b]);
+  }
+
+  /**
+   * Sets the sample values for the pixels in the region specified by 
+   * (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on). 
+   *  
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param iArray  the pixel sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixels(int x, int y, int w, int h, int[] iArray,
+			DataBuffer data)
+  {
+    int inOffset = 0;
+    for (int hh = 0; hh < h; hh++)
+      {
+	for (int ww = 0; ww < w; ww++)
+	  {
+	    int offset = y * scanlineStride + (x + ww);
+	    for (int b = 0; b < numBands; b++)
+	      data.setElem(bankIndices[b], bandOffsets[b] + offset,
+			   iArray[inOffset++]);
+	  }
+	y++;
+      }
+  }
+
+  /**
+   * Sets the sample value for band <code>b</code> of the pixel at location
+   * <code>(x, y)</code> in the specified data buffer.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param b  the band index.
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @see #getSample(int, int, int, DataBuffer)
+   */
+  public void setSample(int x, int y, int b, int s, DataBuffer data)
+  {
+    data.setElem(bankIndices[b], bandOffsets[b] + y * scanlineStride + x, s);
+  }
+  
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the 
+   * specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public void setSample(int x, int y, int b, float s, DataBuffer data)
+  {
+    data.setElemFloat(bankIndices[b], bandOffsets[b] + y * scanlineStride + x, 
+                      s);
+  }
+  
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the 
+   * specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public void setSample(int x, int y, int b, double s, DataBuffer data)
+  {
+    data.setElemDouble(bankIndices[b], bandOffsets[b] + y * scanlineStride + x,
+                       s);
+  }
+  
+  /**
+   * Sets the sample values for one band for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param iArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setSamples(int x, int y, int w, int h, int b, int[] iArray,
+			 DataBuffer data)
+  {
+    if (x < 0 || y < 0)
+      throw new ArrayIndexOutOfBoundsException(
+          "x and y must not be less than 0.");
+    int inOffset = 0;
+
+    switch (getTransferType())
+      {
+      case DataBuffer.TYPE_BYTE:
+	{
+	  DataBufferByte out = (DataBufferByte) data;
+	  byte[] bank = out.getData(bankIndices[b]);
+	  for (int hh = 0; hh < h; hh++)
+	    {
+	      for (int ww = 0; ww < w; ww++)
+		{
+		  int offset = bandOffsets[b] + y * scanlineStride + (x + ww);
+		  bank[offset] = (byte)iArray[inOffset++];
+		}
+	      y++;
+	    }
+	  return;
+	}
+      case DataBuffer.TYPE_SHORT:
+	{
+	  DataBufferShort out = (DataBufferShort) data;
+	  short[] bank = out.getData(bankIndices[b]);
+	  for (int hh = 0; hh < h; hh++)
+	    {
+	      for (int ww = 0; ww < w; ww++)
+		{
+		  int offset = bandOffsets[b] + y * scanlineStride + (x + ww);
+		  bank[offset] = (short)iArray[inOffset++];
+		}
+	      y++;
+	    }
+	  return;
+	}
+      case DataBuffer.TYPE_USHORT:
+	{
+	  DataBufferShort out = (DataBufferShort) data;
+	  short[] bank = out.getData(bankIndices[b]);
+	  for (int hh = 0; hh < h; hh++)
+	    {
+	      for (int ww = 0; ww < w; ww++)
+		{
+		  int offset = bandOffsets[b] + y * scanlineStride + (x + ww);
+		  bank[offset] = (short)iArray[inOffset++];
+		}
+	      y++;
+	    }
+	  return;
+	}
+      case DataBuffer.TYPE_INT:
+	{
+	  DataBufferInt out = (DataBufferInt) data;
+	  int[] bank = out.getData(bankIndices[b]);
+	  for (int hh = 0; hh < h; hh++)
+	    {
+	      for (int ww = 0; ww < w; ww++)
+		{
+		  int offset = bandOffsets[b] + y * scanlineStride + (x + ww);
+		  bank[offset] = iArray[inOffset++];
+		}
+	      y++;
+	    }
+	  return;
+	}
+      case DataBuffer.TYPE_FLOAT:
+      case DataBuffer.TYPE_DOUBLE:
+	break;
+      default:
+	throw new ClassCastException("Unsupported data type");
+      }
+
+    // Default implementation probably slower for float and double
+    for (int hh = 0; hh < h; hh++)
+      {
+	for (int ww = 0; ww < w; ww++)
+	  {
+	    int offset = bandOffsets[b] + y * scanlineStride + (x + ww);
+	    data.setElem(bankIndices[b], offset, iArray[inOffset++]);
+	  }
+	y++;
+      }
+  }
+
+  /**
+   * Creates a String with some information about this SampleModel.
+   * @return A String describing this SampleModel.
+   * @see java.lang.Object#toString()
+   */
+  public String toString()
+  {
+    StringBuffer result = new StringBuffer();
+    result.append(getClass().getName());
+    result.append("[");
+    result.append("scanlineStride=").append(scanlineStride);
+    for(int i = 0; i < bitMasks.length; i+=1)
+    {
+      result.append(", mask[").append(i).append("]=0x").append(
+          Integer.toHexString(bitMasks[i]));
+    }
+    
+    result.append("]");
+    return result.toString();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/ColorConvertOp.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,537 @@
+/* ColorConvertOp.java --
+   Copyright (C) 2004, 2006  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image;
+
+import gnu.java.awt.Buffers;
+
+import java.awt.Graphics2D;
+import java.awt.Point;
+import java.awt.RenderingHints;
+import java.awt.color.ColorSpace;
+import java.awt.color.ICC_ColorSpace;
+import java.awt.color.ICC_Profile;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+
+/**
+ * ColorConvertOp is a filter for converting images or rasters between
+ * colorspaces, either through a sequence of colorspaces or just from source to 
+ * destination.
+ * 
+ * Color conversion is done on the color components without alpha.  Thus
+ * if a BufferedImage has alpha premultiplied, this is divided out before
+ * color conversion, and premultiplication applied if the destination
+ * requires it.
+ * 
+ * Color rendering and dithering hints may be applied if specified.  This is
+ * likely platform-dependent.
+ * 
+ * @author jlquinn@optonline.net
+ */
+public class ColorConvertOp implements BufferedImageOp, RasterOp
+{
+  private RenderingHints hints;
+  private ICC_Profile[] profiles = null;
+  private ColorSpace[] spaces;
+  
+
+  /**
+   * Convert a BufferedImage through a ColorSpace.
+   * 
+   * Objects created with this constructor can be used to convert
+   * BufferedImage's to a destination ColorSpace.  Attempts to convert Rasters
+   * with this constructor will result in an IllegalArgumentException when the
+   * filter(Raster, WritableRaster) method is called.  
+   * 
+   * @param cspace The target color space.
+   * @param hints Rendering hints to use in conversion, if any (may be null)
+   * @throws NullPointerException if the ColorSpace is null.
+   */
+  public ColorConvertOp(ColorSpace cspace, RenderingHints hints)
+  {
+    if (cspace == null)
+      throw new NullPointerException();
+    spaces = new ColorSpace[]{cspace};
+    this.hints = hints;
+  }
+  
+  /**
+   * Convert from a source colorspace to a destination colorspace.
+   * 
+   * This constructor takes two ColorSpace arguments as the source and
+   * destination color spaces.  It is usually used with the
+   * filter(Raster, WritableRaster) method, in which case the source colorspace 
+   * is assumed to correspond to the source Raster, and the destination 
+   * colorspace with the destination Raster.
+   * 
+   * If used with BufferedImages that do not match the source or destination 
+   * colorspaces specified here, there is an implicit conversion from the 
+   * source image to the source ColorSpace, or the destination ColorSpace to 
+   * the destination image.
+   * 
+   * @param srcCspace The source ColorSpace.
+   * @param dstCspace The destination ColorSpace.
+   * @param hints Rendering hints to use in conversion, if any (may be null).
+   * @throws NullPointerException if any ColorSpace is null.
+   */
+  public ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace,
+			RenderingHints hints)
+  {
+    if (srcCspace == null || dstCspace == null)
+      throw new NullPointerException();
+    spaces = new ColorSpace[]{srcCspace, dstCspace};
+    this.hints = hints;     
+  }
+
+  /**
+   * Convert from a source colorspace to a destinatino colorspace.
+   * 
+   * This constructor builds a ColorConvertOp from an array of ICC_Profiles.
+   * The source will be converted through the sequence of color spaces
+   * defined by the profiles.  If the sequence of profiles doesn't give a
+   * well-defined conversion, an IllegalArgumentException is thrown.
+   * 
+   * If used with BufferedImages that do not match the source or destination 
+   * colorspaces specified here, there is an implicit conversion from the 
+   * source image to the source ColorSpace, or the destination ColorSpace to 
+   * the destination image.
+   * 
+   * For Rasters, the first and last profiles must have the same number of
+   * bands as the source and destination Rasters, respectively.  If this is
+   * not the case, or there fewer than 2 profiles, an IllegalArgumentException
+   * will be thrown. 
+   * 
+   * @param profiles An array of ICC_Profile's to convert through.
+   * @param hints Rendering hints to use in conversion, if any (may be null).
+   * @throws NullPointerException if the profile array is null.
+   * @throws IllegalArgumentException if the array is not a well-defined
+   *            conversion.
+   */
+  public ColorConvertOp(ICC_Profile[] profiles, RenderingHints hints)
+  {
+    if (profiles == null)
+      throw new NullPointerException();
+    
+    this.hints = hints; 
+    this.profiles = profiles;
+    
+    // Create colorspace array with space for src and dest colorspace
+    // Note that the ICC_ColorSpace constructor will throw an
+    // IllegalArgumentException if the profile is invalid; thus we check
+    // for a "well defined conversion"
+    spaces = new ColorSpace[profiles.length];
+    for (int i = 0; i < profiles.length; i++)
+      spaces[i] = new ICC_ColorSpace(profiles[i]);
+  }
+  
+  /**
+   * Convert from source color space to destination color space.
+   * 
+   * Only valid for BufferedImage objects, this Op converts from the source
+   * image's color space to the destination image's color space.
+   * 
+   * The destination in the filter(BufferedImage, BufferedImage) method cannot 
+   * be null for this operation, and it also cannot be used with the
+   * filter(Raster, WritableRaster) method.
+   * 
+   * @param hints Rendering hints to use in conversion, if any (may be null).
+   */
+  public ColorConvertOp(RenderingHints hints)
+  {
+    this.hints = hints;
+    spaces = new ColorSpace[0];
+  }
+  
+  /**
+   * Converts the source image using the conversion path specified in the
+   * constructor.  The resulting image is stored in the destination image if one
+   * is provided; otherwise a new BufferedImage is created and returned. 
+   * 
+   * The source and destination BufferedImage (if one is supplied) must have
+   * the same dimensions.
+   *
+   * @param src The source image.
+   * @param dst The destination image.
+   * @throws IllegalArgumentException if the rasters and/or color spaces are
+   *            incompatible.
+   * @return The transformed image.
+   */
+  public final BufferedImage filter(BufferedImage src, BufferedImage dst)
+  {
+    // TODO: The plan is to create a scanline buffer for intermediate buffers.
+    // For now we just suck it up and create intermediate buffers.
+    
+    if (dst == null && spaces.length == 0)
+      throw new IllegalArgumentException("Not enough color space information "
+                                         + "to complete conversion.");
+
+    if (dst != null
+        && (src.getHeight() != dst.getHeight() || src.getWidth() != dst.getWidth()))
+      throw new IllegalArgumentException("Source and destination images have "
+                                         + "different dimensions");
+
+    // Make sure input isn't premultiplied by alpha
+    if (src.isAlphaPremultiplied())
+      {
+        BufferedImage tmp = createCompatibleDestImage(src, src.getColorModel());
+        copyimage(src, tmp);
+        tmp.coerceData(false);
+        src = tmp;
+      }
+
+    // Convert through defined intermediate conversions
+    BufferedImage tmp;
+    for (int i = 0; i < spaces.length; i++)
+      {
+        if (src.getColorModel().getColorSpace().getType() != spaces[i].getType())
+          {
+            tmp = createCompatibleDestImage(src,
+                                            createCompatibleColorModel(src,
+                                                                       spaces[i]));
+            copyimage(src, tmp);
+            src = tmp;
+          }
+      }
+
+    // No implicit conversion to destination type needed; return result from the
+    // last intermediate conversions (which was left in src)
+    if (dst == null)
+      dst = src;
+
+    // Implicit conversion to destination image's color space
+    else
+      copyimage(src, dst);
+
+    return dst;
+  }
+
+  /**
+   * Converts the source raster using the conversion path specified in the
+   * constructor.  The resulting raster is stored in the destination raster if
+   * one is provided; otherwise a new WritableRaster is created and returned.
+   * 
+   * This operation is not valid with every constructor of this class; see
+   * the constructors for details.  Further, the source raster must have the
+   * same number of bands as the source ColorSpace, and the destination raster
+   * must have the same number of bands as the destination ColorSpace.
+   * 
+   * The source and destination raster (if one is supplied) must also have the
+   * same dimensions.
+   *
+   * @param src The source raster.
+   * @param dest The destination raster.
+   * @throws IllegalArgumentException if the rasters and/or color spaces are
+   *            incompatible.
+   * @return The transformed raster.
+   */
+  public final WritableRaster filter(Raster src, WritableRaster dest)
+  {
+    // Various checks to ensure that the rasters and color spaces are compatible
+    if (spaces.length < 2)
+      throw new IllegalArgumentException("Not enough information about " +
+            "source and destination colorspaces.");
+
+    if (spaces[0].getNumComponents() != src.getNumBands()
+        || (dest != null && spaces[spaces.length - 1].getNumComponents() != dest.getNumBands()))
+      throw new IllegalArgumentException("Source or destination raster " +
+            "contains the wrong number of bands.");
+
+    if (dest != null
+        && (src.getHeight() != dest.getHeight() || src.getWidth() != dest.getWidth()))
+      throw new IllegalArgumentException("Source and destination rasters " +
+            "have different dimensions");
+
+    // Need to iterate through each color space.
+    // spaces[0] corresponds to the ColorSpace of the source raster, and
+    // spaces[spaces.length - 1] corresponds to the ColorSpace of the
+    // destination, with any number (or zero) of intermediate conversions.
+
+    for (int i = 0; i < spaces.length - 2; i++)
+      {
+        WritableRaster tmp = createCompatibleDestRaster(src, spaces[i + 1],
+                                                        false,
+                                                        src.getTransferType());
+        copyraster(src, spaces[i], tmp, spaces[i + 1]);
+        src = tmp;
+      }
+
+    // The last conversion is done outside of the loop so that we can
+    // use the dest raster supplied, instead of creating our own temp raster
+    if (dest == null)
+      dest = createCompatibleDestRaster(src, spaces[spaces.length - 1], false,
+                                        DataBuffer.TYPE_BYTE);
+    copyraster(src, spaces[spaces.length - 2], dest, spaces[spaces.length - 1]);
+
+    return dest;
+  }
+
+  /**
+   * Creates an empty BufferedImage with the size equal to the source and the
+   * correct number of bands for the conversion defined in this Op. The newly 
+   * created image is created with the specified ColorModel, or if no ColorModel
+   * is supplied, an appropriate one is chosen.
+   *
+   * @param src The source image.
+   * @param dstCM A color model for the destination image (may be null).
+   * @throws IllegalArgumentException if an appropriate colormodel cannot be
+   *            chosen with the information given.
+   * @return The new compatible destination image.
+   */
+  public BufferedImage createCompatibleDestImage(BufferedImage src,
+                         ColorModel dstCM)
+  {
+    if (dstCM == null && spaces.length == 0)
+      throw new IllegalArgumentException("Don't know the destination " +
+            "colormodel");
+
+    if (dstCM == null)
+      {
+        dstCM = createCompatibleColorModel(src, spaces[spaces.length - 1]);
+      }
+
+    return new BufferedImage(dstCM,
+                             createCompatibleDestRaster(src.getRaster(),
+                                                        dstCM.getColorSpace(),
+                                                        src.getColorModel().hasAlpha(),
+                                                        dstCM.getTransferType()),
+                             src.isAlphaPremultiplied(), null);
+  }
+  
+  /**
+   * Creates a new WritableRaster with the size equal to the source and the
+   * correct number of bands.
+   * 
+   * Note, the new Raster will always use a BYTE storage size, regardless of
+   * the color model or defined destination; this is for compatibility with
+   * the reference implementation.
+   *
+   * @param src The source Raster.
+   * @throws IllegalArgumentException if there isn't enough colorspace
+   *            information to create a compatible Raster.
+   * @return The new compatible destination raster.
+   */
+  public WritableRaster createCompatibleDestRaster(Raster src)
+  {
+    if (spaces.length < 2)
+      throw new IllegalArgumentException("Not enough destination colorspace " +
+            "information");
+
+    // Create a new raster with the last ColorSpace in the conversion
+    // chain, and with no alpha (implied)
+    return createCompatibleDestRaster(src, spaces[spaces.length-1], false,
+                                      DataBuffer.TYPE_BYTE);
+  }
+
+  /**
+   * Returns the array of ICC_Profiles used to create this Op, or null if the
+   * Op was created using ColorSpace arguments.
+   * 
+   * @return The array of ICC_Profiles, or null.
+   */
+  public final ICC_Profile[] getICC_Profiles()
+  {
+    return profiles;
+  }
+
+  /**
+   * Returns the rendering hints for this op.
+   * 
+   * @return The rendering hints for this Op, or null.
+   */
+  public final RenderingHints getRenderingHints()
+  {
+    return hints;
+  }
+
+  /**
+   * Returns the corresponding destination point for a source point.
+   * Because this is not a geometric operation, the destination and source
+   * points will be identical.
+   * 
+   * @param src The source point.
+   * @param dst The transformed destination point.
+   * @return The transformed destination point.
+   */
+  public final Point2D getPoint2D(Point2D src, Point2D dst)
+  {
+    if (dst == null)
+      return (Point2D)src.clone();
+    
+    dst.setLocation(src);
+    return dst;
+  }
+
+  /**
+   * Returns the corresponding destination boundary of a source boundary.
+   * Because this is not a geometric operation, the destination and source
+   * boundaries will be identical.
+   * 
+   * @param src The source boundary.
+   * @return The boundaries of the destination.
+   */
+  public final Rectangle2D getBounds2D(BufferedImage src)
+  {
+    return src.getRaster().getBounds();
+  }
+
+  /**
+   * Returns the corresponding destination boundary of a source boundary.
+   * Because this is not a geometric operation, the destination and source
+   * boundaries will be identical.
+   * 
+   * @param src The source boundary.
+   * @return The boundaries of the destination.
+   */
+  public final Rectangle2D getBounds2D(Raster src)
+  {
+    return src.getBounds();
+  }
+
+  /**
+   * Copy a source image to a destination image, respecting their colorspaces 
+   * and performing colorspace conversions if necessary.  
+   * 
+   * @param src The source image.
+   * @param dst The destination image.
+   */
+  private void copyimage(BufferedImage src, BufferedImage dst)
+  {
+    // This is done using Graphics2D in order to respect the rendering hints.
+    Graphics2D gg = dst.createGraphics();
+    
+    // If no hints are set there is no need to call
+    // setRenderingHints on the Graphics2D object.
+    if (hints != null)
+      gg.setRenderingHints(hints);
+    
+    gg.drawImage(src, 0, 0, null);
+    gg.dispose();
+  }
+  
+  /**
+   * Copy a source raster to a destination raster, performing a colorspace
+   * conversion between the two.  The conversion will respect the
+   * KEY_COLOR_RENDERING rendering hint if one is present.
+   * 
+   * @param src The source raster.
+   * @param scs The colorspace of the source raster.
+   * @dst The destination raster.
+   * @dcs The colorspace of the destination raster.
+   */
+  private void copyraster(Raster src, ColorSpace scs, WritableRaster dst, ColorSpace dcs)
+  {
+    float[] sbuf = new float[src.getNumBands()];
+    
+    if (hints != null
+        && hints.get(RenderingHints.KEY_COLOR_RENDERING) ==
+                 RenderingHints.VALUE_COLOR_RENDER_QUALITY)
+    {
+      // use cie for accuracy
+      for (int y = src.getMinY(); y < src.getHeight() + src.getMinY(); y++)
+        for (int x = src.getMinX(); x < src.getWidth() + src.getMinX(); x++)
+          dst.setPixel(x, y,
+		       dcs.fromCIEXYZ(scs.toCIEXYZ(src.getPixel(x, y, sbuf))));
+    }
+    else
+    {
+      // use rgb - it's probably faster
+      for (int y = src.getMinY(); y < src.getHeight() + src.getMinY(); y++)
+        for (int x = src.getMinX(); x < src.getWidth() + src.getMinX(); x++)
+          dst.setPixel(x, y,
+		       dcs.fromRGB(scs.toRGB(src.getPixel(x, y, sbuf))));
+    }
+  }
+
+  /**
+   * This method creates a color model with the same colorspace and alpha
+   * settings as the source image.  The created color model will always be a
+   * ComponentColorModel and have a BYTE transfer type.
+   * 
+   * @param img The source image.
+   * @param cs The ColorSpace to use.
+   * @return A color model compatible with the source image.
+   */ 
+  private ColorModel createCompatibleColorModel(BufferedImage img, ColorSpace cs)
+  {
+    // The choice of ComponentColorModel and DataBuffer.TYPE_BYTE is based on
+    // Mauve testing of the reference implementation.
+    return new ComponentColorModel(cs,
+                                   img.getColorModel().hasAlpha(), 
+                                   img.isAlphaPremultiplied(),
+                                   img.getColorModel().getTransparency(),
+                                   DataBuffer.TYPE_BYTE);    
+  }
+
+  /**
+   * This method creates a compatible Raster, given a source raster, colorspace,
+   * alpha value, and transfer type.
+   * 
+   * @param src The source raster.
+   * @param cs The ColorSpace to use.
+   * @param hasAlpha Whether the raster should include a component for an alpha.
+   * @param transferType The size of a single data element.
+   * @return A compatible WritableRaster. 
+   */
+  private WritableRaster createCompatibleDestRaster(Raster src, ColorSpace cs,
+                                                    boolean hasAlpha,
+                                                    int transferType)
+  {
+    // The use of a PixelInterleavedSampleModel weas determined using mauve
+    // tests, based on the reference implementation
+    
+    int numComponents = cs.getNumComponents();
+    if (hasAlpha)
+      numComponents++;
+    
+    int[] offsets = new int[numComponents];
+    for (int i = 0; i < offsets.length; i++)
+      offsets[i] = i;
+
+    DataBuffer db = Buffers.createBuffer(transferType,
+                                         src.getWidth() * src.getHeight() * numComponents,
+                                         1);
+    return new WritableRaster(new PixelInterleavedSampleModel(transferType,
+                                                              src.getWidth(),
+                                                              src.getHeight(),
+                                                              numComponents,
+                                                              numComponents * src.getWidth(),
+                                                              offsets),
+                              db, new Point(src.getMinX(), src.getMinY()));
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/ComponentSampleModel.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,755 @@
+/* Copyright (C) 2000, 2002, 2006,  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+import java.util.Arrays;
+
+/**
+ * ComponentSampleModel supports a flexible organization of pixel samples in
+ * memory, permitting pixel samples to be interleaved by band, by scanline,
+ * and by pixel.
+ *
+ * A DataBuffer for this sample model has K banks of data.  Pixels have N
+ * samples, so there are N bands in the DataBuffer.  Each band is completely
+ * contained in one bank of data, but a bank may contain more than one band.
+ * Each pixel sample is stored in a single data element.
+ *
+ * Within a bank, each band begins at an offset stored in bandOffsets.  The
+ * banks containing the band is given by bankIndices.  Within the bank, there
+ * are three dimensions - band, pixel, and scanline.  The dimension ordering
+ * is controlled by bandOffset, pixelStride, and scanlineStride, which means
+ * that any combination of interleavings is supported.
+ *
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public class ComponentSampleModel extends SampleModel
+{
+  /** The offsets to the first sample for each band. */
+  protected int[] bandOffsets;
+  
+  /** The indices of the bank used to store each band in a data buffer. */
+  protected int[] bankIndices;
+  
+  /** 
+   * The number of bands in the image.
+   * @specnote This field shadows the protected numBands in SampleModel.
+   */
+  protected int numBands;
+  
+  /** Used when creating data buffers. */
+  protected int numBanks;
+
+  /** 
+   * The number of data elements between a sample in one row and the 
+   * corresponding sample in the next row.
+   */
+  protected int scanlineStride;
+  
+  /**
+   * The number of data elements between a sample for one pixel and the 
+   * corresponding sample for the next pixel in the same row.
+   */
+  protected int pixelStride;
+
+  /**
+   * Creates a new sample model that assumes that all bands are stored in a 
+   * single bank of the {@link DataBuffer}.
+   * <p>
+   * Note that the <code>bandOffsets</code> array is copied to internal storage
+   * to prevent subsequent changes to the array from affecting this object.
+   * 
+   * @param dataType  the data type (one of {@link DataBuffer#TYPE_BYTE},
+   *   {@link DataBuffer#TYPE_USHORT}, {@link DataBuffer#TYPE_SHORT},
+   *   {@link DataBuffer#TYPE_INT}, {@link DataBuffer#TYPE_FLOAT} or 
+   *   {@link DataBuffer#TYPE_DOUBLE}).
+   * @param w  the width in pixels.
+   * @param h  the height in pixels.
+   * @param pixelStride  the number of data elements in the step from a sample
+   *   in one pixel to the corresponding sample in the next pixel.
+   * @param scanlineStride  the number of data elements in the step from a 
+   *   sample in a pixel to the corresponding sample in the pixel in the next
+   *   row.
+   * @param bandOffsets  the offset to the first element for each band, with 
+   *   the size of the array defining the number of bands (<code>null</code>
+   *   not permitted).
+   *   
+   * @throws IllegalArgumentException if <code>dataType</code> is not one of
+   *   the specified values.
+   * @throws IllegalArgumentException if <code>w</code> is less than or equal
+   *   to zero.
+   * @throws IllegalArgumentException if <code>h</code> is less than or equal 
+   *   to zero.
+   * @throws IllegalArgumentException if <code>w * h</code> exceeds
+   *   {@link Integer#MAX_VALUE}.
+   * @throws IllegalArgumentException if <code>pixelStride</code> is negative.
+   * @throws IllegalArgumentException if <code>scanlineStride</code> is less 
+   *   than or equal to zero.
+   * @throws IllegalArgumentException if <code>bandOffsets</code> has zero 
+   *   length.
+   */
+  public ComponentSampleModel(int dataType,
+                              int w, int h,
+                              int pixelStride,
+                              int scanlineStride,
+                              int[] bandOffsets)
+  {
+    this(dataType, w, h, pixelStride, scanlineStride,
+         new int[bandOffsets.length], bandOffsets);
+  }
+    
+  /**
+   * Creates a new sample model that assumes that all bands are stored in a 
+   * single bank of the {@link DataBuffer}.
+   * 
+   * @param dataType  the data type (one of {@link DataBuffer#TYPE_BYTE},
+   *   {@link DataBuffer#TYPE_USHORT}, {@link DataBuffer#TYPE_SHORT},
+   *   {@link DataBuffer#TYPE_INT}, {@link DataBuffer#TYPE_FLOAT} or 
+   *   {@link DataBuffer#TYPE_DOUBLE}).
+   * @param w  the width in pixels.
+   * @param h  the height in pixels.
+   * @param pixelStride  the number of data elements in the step from a sample
+   *   in one pixel to the corresponding sample in the next pixel.
+   * @param scanlineStride  the number of data elements in the step from a 
+   *   sample in a pixel to the corresponding sample in the pixel in the next
+   *   row.
+   * @param bankIndices  the index of the bank in which each band is stored 
+   *   (<code>null</code> not permitted).  This array is copied to internal
+   *   storage so that subsequent updates to the array do not affect the sample 
+   *   model.
+   * @param bandOffsets  the offset to the first element for each band, with 
+   *   the size of the array defining the number of bands (<code>null</code>
+   *   not permitted).  This array is copied to internal storage so that 
+   *   subsequent updates to the array do not affect the sample model.
+   *   
+   * @throws IllegalArgumentException if <code>dataType</code> is not one of
+   *   the specified values.
+   * @throws IllegalArgumentException if <code>w</code> is less than or equal
+   *   to zero.
+   * @throws IllegalArgumentException if <code>h</code> is less than or equal 
+   *   to zero.
+   * @throws IllegalArgumentException if <code>w * h</code> exceeds
+   *   {@link Integer#MAX_VALUE}.
+   * @throws IllegalArgumentException if <code>pixelStride</code> is negative.
+   * @throws IllegalArgumentException if <code>scanlineStride</code> is less 
+   *   than or equal to zero.
+   * @throws IllegalArgumentException if <code>bandOffsets</code> has zero 
+   *   length.
+   */
+  public ComponentSampleModel(int dataType,
+                              int w, int h,
+                              int pixelStride,
+                              int scanlineStride,
+                              int[] bankIndices,
+                              int[] bandOffsets)
+  {
+    super(dataType, w, h, bandOffsets.length);
+    
+    // super permits DataBuffer.TYPE_UNDEFINED but this class doesn't...
+    if (dataType == DataBuffer.TYPE_UNDEFINED)
+      throw new IllegalArgumentException("Unsupported dataType.");
+    
+    if ((pixelStride < 0) || (scanlineStride < 0) || (bandOffsets.length < 1) 
+        || (bandOffsets.length != bankIndices.length))
+      throw new IllegalArgumentException();
+    
+    this.bandOffsets = (int[]) bandOffsets.clone();
+    this.bankIndices = (int[]) bankIndices.clone();
+    this.numBands = bandOffsets.length;
+
+    this.numBanks = 0;
+    for (int b = 0; b < bankIndices.length; b++)
+      this.numBanks = Math.max(this.numBanks, bankIndices[b] + 1);
+
+    this.scanlineStride = scanlineStride;
+    this.pixelStride = pixelStride;
+
+  }             
+
+  /**
+   * Creates a new sample model that is compatible with this one, but with the
+   * specified dimensions.
+   * 
+   * @param w  the width (must be greater than zero).
+   * @param h  the height (must be greater than zero).
+   * 
+   * @return A new sample model.
+   */
+  public SampleModel createCompatibleSampleModel(int w, int h)
+  {
+    return new ComponentSampleModel(dataType, w, h, pixelStride,
+                                    scanlineStride, bankIndices,
+                                    bandOffsets);
+  }
+
+  /**
+   * Creates a new sample model that provides access to a subset of the bands
+   * that this sample model supports.
+   * 
+   * @param bands  the bands (<code>null</code> not permitted).
+   * 
+   * @return The new sample model.
+   */
+  public SampleModel createSubsetSampleModel(int[] bands)
+  {
+    int numBands = bands.length;
+    
+    int[] bankIndices = new int[numBands];
+    int[] bandOffsets = new int[numBands];
+    for (int b = 0; b < numBands; b++)
+      {
+        bankIndices[b] = this.bankIndices[bands[b]];
+        bandOffsets[b] = this.bandOffsets[bands[b]];
+      }
+
+    return new ComponentSampleModel(dataType, width, height, pixelStride,
+                                    scanlineStride, bankIndices,
+                                    bandOffsets);
+  }
+
+  /**
+   * Creates a new data buffer that is compatible with this sample model.
+   * 
+   * @return The new data buffer.
+   */
+  public DataBuffer createDataBuffer()
+  {
+    // Maybe this value should be precalculated in the constructor?
+    int highestOffset = 0;
+    for (int b = 0; b < numBands; b++)
+      highestOffset = Math.max(highestOffset, bandOffsets[b]);    
+    int size = pixelStride * (width - 1) + scanlineStride * (height - 1) 
+        + highestOffset + 1;
+
+    DataBuffer buffer = null;
+    switch (getTransferType())
+      {
+      case DataBuffer.TYPE_BYTE:
+        buffer = new DataBufferByte(size, numBanks);
+        break;
+      case DataBuffer.TYPE_SHORT:
+        buffer = new DataBufferShort(size, numBanks);
+        break;
+      case DataBuffer.TYPE_USHORT:
+        buffer = new DataBufferUShort(size, numBanks);
+        break;
+      case DataBuffer.TYPE_INT:
+        buffer = new DataBufferInt(size, numBanks);
+        break;
+      case DataBuffer.TYPE_FLOAT:
+        buffer = new DataBufferFloat(size, numBanks);
+        break;
+      case DataBuffer.TYPE_DOUBLE:
+        buffer = new DataBufferDouble(size, numBanks);
+        break;
+      }
+    return buffer;
+  }
+
+  /**
+   * Returns the offset of the sample in band 0 for the pixel at location
+   * <code>(x, y)</code>.  This offset can be used to read a sample value from
+   * a {@link DataBuffer}.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * 
+   * @return The offset.
+   * 
+   * @see #getOffset(int, int, int)
+   */
+  public int getOffset(int x, int y)
+  {
+    return getOffset(x, y, 0);
+  }
+
+  /**
+   * Returns the offset of the sample in band <code>b</code> for the pixel at
+   * location <code>(x, y)</code>.  This offset can be used to read a sample
+   * value from a {@link DataBuffer}.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param b  the band index.
+   * 
+   * @return The offset.
+   */
+  public int getOffset(int x, int y, int b)
+  {
+    return bandOffsets[b] + pixelStride * x + scanlineStride * y;
+  }
+
+  /**
+   * Returns the size in bits for each sample (one per band).  For this sample
+   * model, each band has the same sample size and this is determined by the
+   * data type for the sample model.
+   * 
+   * @return The sample sizes.
+   * 
+   * @see SampleModel#getDataType()
+   */
+  public final int[] getSampleSize()
+  {
+    int size = DataBuffer.getDataTypeSize(getDataType());
+    int[] sizes = new int[numBands];
+
+    java.util.Arrays.fill(sizes, size);
+    return sizes;
+  }
+
+  /**
+   * Returns the size in bits for the samples in the specified band.  In this
+   * class, the sample size is the same for every band and is determined from 
+   * the data type for the model.
+   * 
+   * @param band  the band index (ignored here).
+   * 
+   * @return The sample size in bits.
+   * 
+   * @see SampleModel#getDataType()
+   */
+  public final int getSampleSize(int band)
+  {
+    return DataBuffer.getDataTypeSize(getDataType());
+  }
+
+  /**
+   * Returns the indices of the bank(s) in the {@link DataBuffer} used to 
+   * store the samples for each band.  The returned array is a copy, so that
+   * altering it will not impact the sample model.
+   * 
+   * @return The bank indices.
+   */
+  public final int[] getBankIndices()
+  {
+    return (int[]) bankIndices.clone();
+  }
+
+  /**
+   * Returns the offsets to the first sample in each band.  The returned array
+   * is a copy, so that altering it will not impact the sample model.
+   * 
+   * @return The offsets.
+   */
+  public final int[] getBandOffsets()
+  {
+    return (int[]) bandOffsets.clone();
+  }
+
+  /**
+   * Returns the distance (in terms of element indices) between the sample for
+   * one pixel and the corresponding sample for the equivalent pixel in the 
+   * next row.  This is used in the calculation of the element offset for
+   * retrieving samples from a {@link DataBuffer}.
+   * 
+   * @return The distance between pixel samples in consecutive rows.
+   */
+  public final int getScanlineStride()
+  {
+    return scanlineStride;
+  }
+
+  /**
+   * Returns the distance (in terms of element indices) between the sample for 
+   * one pixel and the corresponding sample for the next pixel in a row.  This 
+   * is used in the calculation of the element offset for retrieving samples 
+   * from a {@link DataBuffer}.
+   * 
+   * @return The distance between pixel samples in the same row.
+   */
+  public final int getPixelStride()
+  {
+    return pixelStride;
+  }
+
+  /**
+   * Returns the number of data elements used to store the samples for one 
+   * pixel.  In this model, this is the same as the number of bands.
+   * 
+   * @return The number of data elements used to store the samples for one 
+   *   pixel.
+   */
+  public final int getNumDataElements()
+  {
+    return numBands;
+  }
+
+  /**
+   * Returns the samples for the pixel at location <code>(x, y)</code> in
+   * a primitive array (the array type is determined by the data type for 
+   * this model).  The <code>obj</code> argument provides an option to supply
+   * an existing array to hold the result, if this is <code>null</code> a new
+   * array will be allocated.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param obj  a primitive array that, if not <code>null</code>, will be 
+   *   used to store and return the sample values.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return An array of sample values for the specified pixel.
+   */
+  public Object getDataElements(int x, int y, Object obj, DataBuffer data)
+  {
+    int type = getTransferType();
+    int numDataEls = getNumDataElements();
+    int offset = y * scanlineStride + x * pixelStride;
+    switch (type)
+      {
+      case DataBuffer.TYPE_BYTE:
+        byte[] bData;
+        if (obj == null)
+          bData = new byte[numDataEls];
+        else
+          bData = (byte[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            bData[i] = (byte) data.getElem(bankIndices[i],
+                                           offset + bandOffsets[i]);
+          }
+        obj = bData;
+        break;
+      case DataBuffer.TYPE_SHORT:
+      case DataBuffer.TYPE_USHORT:
+        short[] sData;
+        if (obj == null)
+          sData = new short[numDataEls];
+        else
+          sData = (short[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            sData[i] = (short) data.getElem(bankIndices[i],
+                                            offset + bandOffsets[i]);
+          }
+        obj = sData;
+        break;
+      case DataBuffer.TYPE_INT:
+        int[] iData;
+        if (obj == null)
+          iData = new int[numDataEls];
+        else
+          iData = (int[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            iData[i] = data.getElem(bankIndices[i], offset + bandOffsets[i]);
+          }
+        obj = iData;
+        break;
+      case DataBuffer.TYPE_FLOAT:
+        float[] fData;
+        if (obj == null)
+          fData = new float[numDataEls];
+        else
+          fData = (float[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            fData[i] = data.getElemFloat(bankIndices[i],
+                                         offset + bandOffsets[i]);
+          }
+        obj = fData;
+        break;
+      case DataBuffer.TYPE_DOUBLE:
+        double[] dData;
+        if (obj == null)
+          dData = new double[numDataEls];
+        else
+          dData = (double[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            dData[i] = data.getElemDouble(bankIndices[i],
+                                          offset + bandOffsets[i]);
+          }
+        obj = dData;
+        break;
+      }
+    return obj;
+  }
+
+
+  /**
+   * Returns all the samples for the pixel at location <code>(x, y)</code>
+   * stored in the specified data buffer.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param iArray  an array that will be populated with the sample values and
+   *   returned as the result.  The size of this array should be equal to the 
+   *   number of bands in the model.  If the array is <code>null</code>, a new
+   *   array is created.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The samples for the specified pixel.
+   * 
+   * @see #setPixel(int, int, int[], DataBuffer)
+   */
+  public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    if (x < 0 || x >= width || y < 0 || y >= height)
+      throw new ArrayIndexOutOfBoundsException("Pixel (" + x + ", " + y 
+                                               + ") is out of bounds.");
+    int offset = pixelStride * x + scanlineStride * y;
+    if (iArray == null)
+      iArray = new int[numBands];
+    for (int b = 0; b < numBands; b++)
+      {
+        iArray[b] = data.getElem(bankIndices[b], offset + bandOffsets[b]);
+      }
+    return iArray;
+  }
+
+  /**
+   * Returns the samples for all the pixels in a rectangular region.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param w  the width.
+   * @param h  the height.
+   * @param iArray  an array that if non-<code>null</code> will be populated 
+   *   with the sample values and returned as the result.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The samples for all the pixels in the rectangle.
+   */
+  public int[] getPixels(int x, int y, int w, int h, int[] iArray,
+                         DataBuffer data)
+  {
+    int offset = pixelStride * x + scanlineStride * y;
+    if (iArray == null) 
+      iArray = new int[numBands * w * h];
+    int outOffset = 0;
+    for (y = 0; y < h; y++)
+      {
+        int lineOffset = offset;
+        for (x = 0; x < w; x++)
+          {
+            for (int b = 0; b < numBands; b++)
+              {
+                iArray[outOffset++] 
+                    = data.getElem(bankIndices[b], lineOffset+bandOffsets[b]);
+              }
+            lineOffset += pixelStride;
+          }
+        offset += scanlineStride;
+      }
+    return iArray;
+  }
+ 
+  /**
+   * Returns the sample for band <code>b</code> of the pixel at 
+   * <code>(x, y)</code> that is stored in the specified data buffer.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param b  the band index.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws ArrayIndexOutOfBoundsException if <code>(x, y)</code> is outside 
+   *     the bounds <code>[0, 0, width, height]</code>.
+   *     
+   * @see #setSample(int, int, int, int, DataBuffer)
+   */
+  public int getSample(int x, int y, int b, DataBuffer data)
+  {
+    if (x < 0 || x >= width || y < 0 || y >= height)
+      throw new ArrayIndexOutOfBoundsException("Sample (" + x + ", " + y 
+                                               + ") is out of bounds.");
+    return data.getElem(bankIndices[b], getOffset(x, y, b));
+  }
+
+  /**
+   * Sets the samples for the pixel at location <code>(x, y)</code> from the 
+   * supplied primitive array (the array type must be consistent with the data 
+   * type for this model).
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param obj  a primitive array containing the pixel's sample values.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @see #setDataElements(int, int, Object, DataBuffer)
+   */
+  public void setDataElements(int x, int y, Object obj, DataBuffer data)
+  {
+    int type = getTransferType();
+    int numDataEls = getNumDataElements();
+    int offset = y * scanlineStride + x * pixelStride;
+    switch (type)
+      {
+      case DataBuffer.TYPE_BYTE:
+        byte[] bData = (byte[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            data.setElem(bankIndices[i], offset + bandOffsets[i],
+                         ((int) bData[i]) & 0xFF);
+          }
+        break;
+      case DataBuffer.TYPE_SHORT:
+      case DataBuffer.TYPE_USHORT:
+        short[] sData = (short[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            data.setElem(bankIndices[i], offset + bandOffsets[i],
+                         ((int) sData[i]) & 0xFFFF);
+          }
+        break;
+      case DataBuffer.TYPE_INT:
+        int[] iData = (int[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            data.setElem(bankIndices[i], offset + bandOffsets[i], iData[i]);
+          }
+        break;
+      case DataBuffer.TYPE_FLOAT:
+        float[] fData = (float[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            data.setElemFloat(bankIndices[i], offset + bandOffsets[i],
+                              fData[i]);
+          }
+        break;
+      case DataBuffer.TYPE_DOUBLE:
+        double[] dData = (double[]) obj;
+        for (int i = 0; i < numDataEls; i++)
+          {
+            data.setElemDouble(bankIndices[i], offset + bandOffsets[i],
+                               dData[i]);
+          }
+        break;
+      }
+  }
+  
+  /**
+   * Sets the sample values for the pixel at location <code>(x, y)</code>
+   * stored in the specified data buffer.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param iArray  the pixel sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @see #getPixel(int, int, int[], DataBuffer)
+   */
+  public void setPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    int offset = pixelStride * x + scanlineStride * y;
+    for (int b = 0; b < numBands; b++)
+      data.setElem(bankIndices[b], offset + bandOffsets[b], iArray[b]);
+  }
+    
+  /**
+   * Sets the sample value for band <code>b</code> of the pixel at location
+   * <code>(x, y)</code> in the specified data buffer.
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * @param b  the band index.
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @see #getSample(int, int, int, DataBuffer)
+   */
+  public void setSample(int x, int y, int b, int s, DataBuffer data)
+  {
+    data.setElem(bankIndices[b], getOffset(x, y, b), s);
+  }
+  
+  /**
+   * Tests this sample model for equality with an arbitrary object.  Returns
+   * <code>true</code> if and only if:
+   * <ul>
+   * <li><code>obj</code> is not <code>null</code>;</li>
+   * <li><code>obj</code> is an instance of <code>ComponentSampleModel</code>;
+   *   </li>
+   * <li>both models have the same values for the <code>dataType</code>,
+   *   <code>width</code>, <code>height</code>, <code>pixelStride</code>,
+   *   <code>scanlineStride</code>, <code>bandOffsets</code> and
+   *   <code>bankIndices</code> fields.</li>
+   * </ul>
+   * 
+   * @param obj  the object to test (<code>null</code> permitted).
+   * 
+   * @return <code>true</code> if this sample model is equal to 
+   *   <code>obj</code>, and <code>false</code> otherwise.
+   */
+  public boolean equals(Object obj)
+  {
+    if (obj == null)
+      return false;
+    if (! (obj instanceof ComponentSampleModel))
+      return false;
+    ComponentSampleModel that = (ComponentSampleModel) obj;
+    if (this.dataType != that.dataType)
+      return false;
+    if (this.width != that.width)
+      return false;
+    if (this.height != that.height)
+      return false;
+    if (this.pixelStride != that.pixelStride)
+      return false;
+    if (this.scanlineStride != that.scanlineStride)
+      return false;
+    if (! Arrays.equals(this.bandOffsets, that.bandOffsets))
+      return false;
+    if (! Arrays.equals(this.bankIndices, that.bankIndices))
+      return false;
+    // couldn't find any difference, so...
+    return true;
+  }
+  
+  /**
+   * Returns a hash code for this sample model.
+   * 
+   * @return The hash code.
+   */
+  public int hashCode()
+  {
+    // this computation is based on the method described in Chapter 3
+    // of Joshua Bloch's Effective Java...
+    int result = 17;
+    result = 37 * result + dataType;
+    result = 37 * result + width;
+    result = 37 * result + height;
+    result = 37 * result + pixelStride;
+    result = 37 * result + scanlineStride;
+    for (int i = 0; i < bandOffsets.length; i++)
+      result = 37 * result + bandOffsets[i];
+    for (int i = 0; i < bankIndices.length; i++)
+      result = 37 * result + bankIndices[i];
+    return result;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/DataBuffer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,473 @@
+/* Copyright (C) 2000, 2002, 2005  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+import sun.java2d.StateTrackable;
+import sun.java2d.StateTrackableDelegate;
+
+/** 
+ * Class that manages arrays of data elements. A data buffer consists
+ * of one or more banks.  A bank is a continuous region of data
+ * elements.
+ *
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public abstract class DataBuffer
+{
+  /**
+   * A constant representing a data type that uses <code>byte</code> primitives
+   * as the storage unit.
+   */
+  public static final int TYPE_BYTE      =  0;
+
+  /**
+   * A constant representing a data type that uses <code>short</code> 
+   * primitives as the storage unit.
+   */
+  public static final int TYPE_USHORT    =  1;
+
+  /**
+   * A constant representing a data type that uses <code>short</code> 
+   * primitives as the storage unit.
+   */
+  public static final int TYPE_SHORT     =  2;
+
+  /**
+   * A constant representing a data type that uses <code>int</code> 
+   * primitives as the storage unit.
+   */
+  public static final int TYPE_INT       =  3;
+  
+  /**
+   * A constant representing a data type that uses <code>float</code> 
+   * primitives as the storage unit.
+   */
+  public static final int TYPE_FLOAT     =  4;
+
+  /**
+   * A constant representing a data type that uses <code>double</code> 
+   * primitives as the storage unit.
+   */
+  public static final int TYPE_DOUBLE    =  5;
+
+  /**
+   * A constant representing an undefined data type.
+   */
+  public static final int TYPE_UNDEFINED = 32;
+  
+  /** The type of the data elements stored in the data buffer.  */
+  protected int dataType;
+  
+  /** The number of banks in this buffer.  */
+  protected int banks = 1;
+  
+  /** Offset into the default (0'th) bank). */
+  protected int offset; // FIXME: Is offsets[0] always mirrored in offset?
+  
+  /** The size of the banks.  */
+  protected int size;
+  
+  /** Offset into each bank.  */
+  protected int[] offsets;
+  
+  // TODO: IcedTea: use me!
+  StateTrackableDelegate theTrackable = null;
+  
+  /**
+   * Creates a new <code>DataBuffer</code> with the specified data type and
+   * size.  The <code>dataType</code> should be one of the constants 
+   * {@link #TYPE_BYTE}, {@link #TYPE_SHORT}, {@link #TYPE_USHORT}, 
+   * {@link #TYPE_INT}, {@link #TYPE_FLOAT} and {@link #TYPE_DOUBLE}.
+   * <p>
+   * The physical (array-based) storage is allocated by a subclass.
+   * 
+   * @param dataType the data type.
+   * @param size the number of elements in the buffer.
+   */
+  protected DataBuffer(int dataType, int size)
+  {
+    this(dataType, size, 1);
+  }
+
+  /**
+   * Creates a new <code>DataBuffer</code> with the specified data type,
+   * size and number of banks.  The <code>dataType</code> should be one of 
+   * the constants {@link #TYPE_BYTE}, {@link #TYPE_SHORT}, 
+   * {@link #TYPE_USHORT}, {@link #TYPE_INT}, {@link #TYPE_FLOAT} and 
+   * {@link #TYPE_DOUBLE}.
+   * <p>
+   * The physical (array-based) storage is allocated by a subclass.
+   * 
+   * @param dataType the data type.
+   * @param size the number of elements in the buffer.
+   * @param numBanks the number of data banks.
+   */
+  protected DataBuffer(int dataType, int size, int numBanks) {
+    this(dataType, size, numBanks, 0);
+  }
+
+  /**
+   * Creates a new <code>DataBuffer</code> with the specified data type,
+   * size and number of banks.  An offset (which applies to all banks) is
+   * also specified.  The <code>dataType</code> should be one of 
+   * the constants {@link #TYPE_BYTE}, {@link #TYPE_SHORT}, 
+   * {@link #TYPE_USHORT}, {@link #TYPE_INT}, {@link #TYPE_FLOAT} and 
+   * {@link #TYPE_DOUBLE}.
+   * <p>
+   * The physical (array-based) storage is allocated by a subclass.
+   * 
+   * @param dataType the data type.
+   * @param size the number of elements in the buffer.
+   * @param numBanks the number of data banks.
+   * @param offset the offset to the first element for all banks.
+   */
+  protected DataBuffer(int dataType, int size, int numBanks, int offset) {
+    banks = numBanks;
+    this.dataType = dataType;
+    this.size = size;
+    this.offset = offset;
+
+    offsets = new int[ numBanks ];
+    for(int i = 0; i < numBanks; i++ )
+      offsets[i] = offset;
+  }
+
+  /**
+   * Creates a new <code>DataBuffer</code> with the specified data type,
+   * size and number of banks.  An offset (which applies to all banks) is
+   * also specified.  The <code>dataType</code> should be one of 
+   * the constants {@link #TYPE_BYTE}, {@link #TYPE_SHORT}, 
+   * {@link #TYPE_USHORT}, {@link #TYPE_INT}, {@link #TYPE_FLOAT} and 
+   * {@link #TYPE_DOUBLE}.
+   * <p>
+   * The physical (array-based) storage is allocated by a subclass.
+   * 
+   * @param dataType the data type.
+   * @param size the number of elements in the buffer.
+   * @param numBanks the number of data banks.
+   * @param offsets the offsets to the first element for all banks.
+   * 
+   * @throws ArrayIndexOutOfBoundsException if 
+   *         <code>numBanks != offsets.length</code>.
+   */
+  protected DataBuffer(int dataType, int size, int numBanks, int[] offsets) {
+    if (numBanks != offsets.length) 
+      throw new ArrayIndexOutOfBoundsException();
+
+    this.dataType = dataType;
+    this.size = size;
+    banks = numBanks;
+    this.offsets = offsets;
+    
+    offset = offsets[0];
+  }
+  
+  // TODO: IcedTea: implement me
+  DataBuffer(StateTrackable.State s, int i, int j)
+  {
+	  throw new RuntimeException("Not Implemented");
+  }
+  
+  // TODO: IcedTea: implement me
+  DataBuffer(StateTrackable.State s, int i, int j, int k)
+  {
+	  throw new RuntimeException("Not Implemented");
+  }
+  
+  // TODO: IcedTea: implement me
+  DataBuffer(StateTrackable.State s, int i, int j, int k, int l)
+  {
+	  throw new RuntimeException("Not Implemented");
+  }
+  
+  // TODO: IcedTea: implement me
+  DataBuffer(StateTrackable.State s, int i, int j, int k, int l[])
+  {
+	  throw new RuntimeException("Not Implemented");
+  }
+  
+  /**
+   * Returns the size (number of bits) of the specified data type. Valid types
+   * are defined by the constants {@link #TYPE_BYTE}, {@link #TYPE_SHORT}, 
+   * {@link #TYPE_USHORT}, {@link #TYPE_INT}, {@link #TYPE_FLOAT} and 
+   * {@link #TYPE_DOUBLE}.
+   * 
+   * @param dataType the data type.
+   * @return The number of bits for the specified data type.
+   * @throws IllegalArgumentException if <code>dataType < 0</code> or 
+   *         <code>dataType > TYPE_DOUBLE</code>.
+   */
+  public static int getDataTypeSize(int dataType) {
+    // Maybe this should be a lookup table instead.
+    switch (dataType)
+      {
+      case TYPE_BYTE:
+	return 8;
+      case TYPE_USHORT:
+      case TYPE_SHORT:
+	return 16;
+      case TYPE_INT:
+      case TYPE_FLOAT:
+	return 32;
+      case TYPE_DOUBLE:
+	return 64;
+      default:
+	throw new IllegalArgumentException();
+      }
+  }
+
+  /**
+   * Returns the type of the data elements in the data buffer.  Valid types
+   * are defined by the constants {@link #TYPE_BYTE}, {@link #TYPE_SHORT}, 
+   * {@link #TYPE_USHORT}, {@link #TYPE_INT}, {@link #TYPE_FLOAT} and 
+   * {@link #TYPE_DOUBLE}.
+   * 
+   * @return The type.
+   */
+  public int getDataType()
+  {
+    return dataType;
+  }
+  
+  /**
+   * Returns the size of the data buffer.
+   * 
+   * @return The size.
+   */
+  public int getSize()
+  {
+    return size;
+  }
+  
+  /**
+   * Returns the element offset for the first data bank.
+   * 
+   * @return The element offset.
+   */
+  public int getOffset()
+  {
+    return offset;
+  }
+  
+  /**
+   * Returns the offsets for all the data banks used by this 
+   * <code>DataBuffer</code>.
+   * 
+   * @return The offsets.
+   */
+  public int[] getOffsets()
+  {
+    if (offsets == null)
+    {
+      // is this necessary?
+      offsets = new int[1];
+      offsets[0] = offset;
+    }
+    return offsets;
+  }
+
+  /**
+   * Returns the number of data banks for this <code>DataBuffer</code>.
+   * @return The number of data banks.
+   */
+  public int getNumBanks()
+  {
+    return banks;
+  }
+
+  /**
+   * Returns an element from the first data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int i)
+  {
+    return getElem(0, i);
+  }
+
+  /**
+   * Returns an element from a particular data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param bank the bank index.
+   * @param i the element index.
+   * @return The element.
+   */
+  public abstract int getElem(int bank, int i);
+  
+  /**
+   * Sets an element in the first data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int i, int val)
+  {
+    setElem(0, i, val);
+  }
+
+  /**
+   * Sets an element in a particular data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param bank the data bank index.
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public abstract void setElem(int bank, int i, int val);
+  
+  /**
+   * Returns an element from the first data bank, converted to a 
+   * <code>float</code>.  The offset (specified in the constructor) is added 
+   * to <code>i</code> before accessing the underlying data array.
+   * 
+   * @param i the element index.
+   * @return The element.
+   */
+  public float getElemFloat(int i)
+  {
+    return getElem(i);
+  }
+    
+  /**
+   * Returns an element from a particular data bank, converted to a 
+   * <code>float</code>.  The offset (specified in the constructor) is 
+   * added to <code>i</code> before accessing the underlying data array.
+   * 
+   * @param bank the bank index.
+   * @param i the element index.
+   * @return The element.
+   */
+  public float getElemFloat(int bank, int i)
+  {
+    return getElem(bank, i);
+  }
+
+  /**
+   * Sets an element in the first data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array. 
+   * 
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElemFloat(int i, float val)
+  {
+    setElem(i, (int) val);
+  }
+
+  /**
+   * Sets an element in a particular data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param bank the data bank index.
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElemFloat(int bank, int i, float val)
+  {
+    setElem(bank, i, (int) val);
+  }
+
+  /**
+   * Returns an element from the first data bank, converted to a 
+   * <code>double</code>.  The offset (specified in the constructor) is added
+   * to <code>i</code> before accessing the underlying data array.
+   * 
+   * @param i the element index.
+   * @return The element.
+   */
+  public double getElemDouble(int i)
+  {
+    return getElem(i);
+  }
+    
+  /**
+   * Returns an element from a particular data bank, converted to a 
+   * <code>double</code>.  The offset (specified in the constructor) is 
+   * added to <code>i</code> before accessing the underlying data array.
+   * 
+   * @param bank the bank index.
+   * @param i the element index.
+   * @return The element.
+   */
+  public double getElemDouble(int bank, int i)
+  {
+    return getElem(bank, i);
+  }
+
+  /**
+   * Sets an element in the first data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array. 
+   * 
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElemDouble(int i, double val)
+  {
+    setElem(i, (int) val);
+  }
+
+  /**
+   * Sets an element in a particular data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param bank the data bank index.
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElemDouble(int bank, int i, double val)
+  {
+    setElem(bank, i, (int) val);
+  }
+  
+  // TODO: IcedTea: implement me!
+  static int[] toIntArray(Object o)
+  {
+	  throw new RuntimeException("Not implemented");
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/DataBufferByte.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,245 @@
+/* Copyright (C) 2000, 2002  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+/* This is one of several classes that are nearly identical. Maybe we
+   should have a central template and generate all these files. This
+   is one of the cases where templates or macros would have been
+   useful to have in Java.
+
+   This file has been created using search-replace. My only fear is
+   that these classes will grow out-of-sync as of a result of changes
+   that are not propagated to the other files. As always, mirroring
+   code is a maintenance nightmare.  */
+
+/**
+ * A {@link DataBuffer} that uses an array of <code>byte</code> primitives
+ * to represent each of its banks. 
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public final class DataBufferByte extends DataBuffer
+{
+  private byte[] data;
+  private byte[][] bankData;
+  
+  /**
+   * Creates a new data buffer with a single data bank containing the 
+   * specified number of <code>byte</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   */
+  public DataBufferByte(int size)
+  {
+    super(TYPE_BYTE, size, 1, 0);
+    bankData = new byte[1][];
+    data = new byte[size];
+    bankData[0] = data;
+  }
+
+  /**
+   * Creates a new data buffer with the specified number of data banks, 
+   * each containing the specified number of <code>byte</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   * @param numBanks the number of data banks.
+   */
+  public DataBufferByte(int size, int numBanks)
+  {
+    super(TYPE_BYTE, size, numBanks);
+    bankData = new byte[numBanks][size];
+    data = bankData[0];
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data bank.
+   * <p>
+   * Note: there is no exception when <code>dataArray</code> is 
+   * <code>null</code>, but in that case an exception will be thrown
+   * later if you attempt to access the data buffer.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   */
+  public DataBufferByte(byte[] dataArray, int size)
+  {
+    super(TYPE_BYTE, size, 1, 0);
+    bankData = new byte[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+    
+  /**
+   * Creates a new data buffer backed by the specified data bank, with
+   * the specified offset to the first element.
+   * <p>
+   * Note: there is no exception when <code>dataArray</code> is 
+   * <code>null</code>, but in that case an exception will be thrown
+   * later if you attempt to access the data buffer.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   * @param offset the offset to the first element in the array.
+   */
+  public DataBufferByte(byte[] dataArray, int size, int offset)
+  {
+    super(TYPE_BYTE, size, 1, offset);
+    bankData = new byte[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data banks.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferByte(byte[][] dataArray, int size)
+  {
+    super(TYPE_BYTE, size, dataArray.length);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data banks, with
+   * the specified offsets to the first element in each bank.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * @param offsets the offsets to the first element in each data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferByte(byte[][] dataArray, int size, int[] offsets)
+  {
+    super(TYPE_BYTE, size, dataArray.length, offsets);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+
+  /**
+   * Returns the first data bank.
+   * 
+   * @return The first data bank.
+   */
+  public byte[] getData()
+  {
+    return data;
+  }
+    
+  /**
+   * Returns a data bank.
+   * 
+   * @param bank the bank index.
+   * @return A data bank.
+   */
+  public byte[] getData(int bank) 
+  {
+    return bankData[bank];
+  }
+    
+  /**
+   * Returns the array underlying this <code>DataBuffer</code>.
+   * 
+   * @return The data banks.
+   */
+  public byte[][] getBankData()
+  {
+    return bankData;
+  }
+  
+  /**
+   * Returns an element from the first data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int i)
+  {
+    return data[i+offset] & 0xff; // get unsigned byte as int
+  }
+  
+  /**
+   * Returns an element from a particular data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param bank the bank index.
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int bank, int i)
+  {
+    // get unsigned byte as int
+    return bankData[bank][i+offsets[bank]] & 0xff;
+  }
+
+  /**
+   * Sets an element in the first data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int i, int val)
+  {
+    data[i+offset] = (byte) val;
+  }
+
+  /**
+   * Sets an element in a particular data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param bank the data bank index.
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int bank, int i, int val)
+  {
+    bankData[bank][i+offsets[bank]] = (byte) val;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/DataBufferInt.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,244 @@
+/* Copyright (C) 2000, 2002, 2005  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+/* This is one of several classes that are nearly identical. Maybe we
+   should have a central template and generate all these files. This
+   is one of the cases where templates or macros would have been
+   useful to have in Java.
+
+   This file has been created using search-replace. My only fear is
+   that these classes will grow out-of-sync as of a result of changes
+   that are not propagated to the other files. As always, mirroring
+   code is a maintenance nightmare.  */
+
+/**
+ * A {@link DataBuffer} that uses an array of <code>int</code> primitives
+ * to represent each of its banks. 
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public final class DataBufferInt extends DataBuffer
+{
+  private int[] data;
+  private int[][] bankData;
+  
+  /**
+   * Creates a new data buffer with a single data bank containing the 
+   * specified number of <code>int</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   */
+  public DataBufferInt(int size)
+  {
+    super(TYPE_INT, size, 1, 0);
+    bankData = new int[1][];
+    data = new int[size];
+    bankData[0] = data;
+  }
+
+  /**
+   * Creates a new data buffer with the specified number of data banks, 
+   * each containing the specified number of <code>int</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   * @param numBanks the number of data banks.
+   */
+  public DataBufferInt(int size, int numBanks)
+  {
+    super(TYPE_INT, size, numBanks);
+    bankData = new int[numBanks][size];
+    data = bankData[0];
+  }
+  
+  /**
+   * Creates a new data buffer backed by the specified data bank.
+   * <p>
+   * Note: there is no exception when <code>dataArray</code> is 
+   * <code>null</code>, but in that case an exception will be thrown
+   * later if you attempt to access the data buffer.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   */
+  public DataBufferInt(int[] dataArray, int size)
+  {
+    super(TYPE_INT, size, 1, 0);
+    bankData = new int[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+    
+  /**
+   * Creates a new data buffer backed by the specified data bank, with
+   * the specified offset to the first element.
+   * <p>
+   * Note: there is no exception when <code>dataArray</code> is 
+   * <code>null</code>, but in that case an exception will be thrown
+   * later if you attempt to access the data buffer.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   * @param offset the offset to the first element in the array.
+   */
+  public DataBufferInt(int[] dataArray, int size, int offset)
+  {
+    super(TYPE_INT, size, 1, offset);
+    bankData = new int[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+  
+  /**
+   * Creates a new data buffer backed by the specified data banks.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferInt(int[][] dataArray, int size)
+  {
+    super(TYPE_INT, size, dataArray.length);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+  
+  /**
+   * Creates a new data buffer backed by the specified data banks, with
+   * the specified offsets to the first element in each bank.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * @param offsets the offsets to the first element in each data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferInt(int[][] dataArray, int size, int[] offsets)
+  {
+    super(TYPE_INT, size, dataArray.length, offsets);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+
+  /**
+   * Returns the first data bank.
+   * 
+   * @return The first data bank.
+   */
+  public int[] getData()
+  {
+    return data;
+  }
+    
+  /**
+   * Returns a data bank.
+   * 
+   * @param bank the bank index.
+   * @return A data bank.
+   */
+  public int[] getData(int bank)
+  {
+    return bankData[bank];
+  }
+  
+  /**
+   * Returns the array underlying this <code>DataBuffer</code>.
+   * 
+   * @return The data banks.
+   */
+  public int[][] getBankData()
+  {
+    return bankData;
+  }
+  
+  /**
+   * Returns an element from the first data bank.  The <code>offset</code> is
+   * added to the specified index before accessing the underlying data array.
+   * 
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int i)
+  {
+    return data[i+offset];
+  }
+
+  /**
+   * Returns an element from a particular data bank.  The <code>offset</code> 
+   * is added to the specified index before accessing the underlying data 
+   * array.
+   * 
+   * @param bank the bank index.
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int bank, int i)
+  {
+    // get unsigned int as int
+    return bankData[bank][i+offsets[bank]];
+  }
+
+  /**
+   * Sets an element in the first data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int i, int val)
+  {
+    data[i+offset] = val;
+  }
+  
+  /**
+   * Sets an element in a particular data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param bank the data bank index.
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int bank, int i, int val)
+  {
+    bankData[bank][i+offsets[bank]] = val;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/DataBufferShort.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,245 @@
+/* DataBufferShort.java --
+   Copyright (C) 2004, 2005  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+/* This is one of several classes that are nearly identical. Maybe we
+   should have a central template and generate all these files. This
+   is one of the cases where templates or macros would have been
+   useful to have in Java.
+
+   This file has been created using search-replace. My only fear is
+   that these classes will grow out-of-sync as of a result of changes
+   that are not propagated to the other files. As always, mirroring
+   code is a maintenance nightmare.  */
+
+/**
+ * A {@link DataBuffer} that uses an array of <code>short</code> primitives
+ * to represent each of its banks. 
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public final class DataBufferShort extends DataBuffer
+{
+  private short[] data;
+  private short[][] bankData;
+  
+  /**
+   * Creates a new data buffer with a single data bank containing the 
+   * specified number of <code>short</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   */
+  public DataBufferShort(int size)
+  {
+    super(TYPE_SHORT, size, 1, 0);
+    bankData = new short[1][];
+    data = new short[size];
+    bankData[0] = data;
+  }
+
+  /**
+   * Creates a new data buffer with the specified number of data banks, 
+   * each containing the specified number of <code>short</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   * @param numBanks the number of data banks.
+   */
+  public DataBufferShort(int size, int numBanks)
+  {
+    super(TYPE_SHORT, size, numBanks);
+    bankData = new short[numBanks][size];
+    data = bankData[0];
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data bank.
+   * <p>
+   * Note: there is no exception when <code>dataArray</code> is 
+   * <code>null</code>, but in that case an exception will be thrown
+   * later if you attempt to access the data buffer.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   */
+  public DataBufferShort(short[] dataArray, int size)
+  {
+    super(TYPE_SHORT, size, 1, 0);
+    bankData = new short[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+    
+  /**
+   * Creates a new data buffer backed by the specified data bank, with
+   * the specified offset to the first element.
+   * <p>
+   * Note: there is no exception when <code>dataArray</code> is 
+   * <code>null</code>, but in that case an exception will be thrown
+   * later if you attempt to access the data buffer.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   * @param offset the offset to the first element in the array.
+   */
+  public DataBufferShort(short[] dataArray, int size, int offset)
+  {
+    super(TYPE_SHORT, size, 1, offset);
+    bankData = new short[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data banks.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferShort(short[][] dataArray, int size)
+  {
+    super(TYPE_SHORT, size, dataArray.length);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data banks, with
+   * the specified offsets to the first element in each bank.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * @param offsets the offsets to the first element in each data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferShort(short[][] dataArray, int size, int[] offsets)
+  {
+    super(TYPE_SHORT, size, dataArray.length, offsets);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+
+  /**
+   * Returns the first data bank.
+   * 
+   * @return The first data bank.
+   */
+  public short[] getData()
+  {
+    return data;
+  }
+    
+  /**
+   * Returns a data bank.
+   * 
+   * @param bank the bank index.
+   * @return A data bank.
+   */
+  public short[] getData(int bank)
+  {
+    return bankData[bank];
+  }
+    
+  /**
+   * Returns the array underlying this <code>DataBuffer</code>.
+   * 
+   * @return The data banks.
+   */
+  public short[][] getBankData()
+  {
+    return bankData;
+  }
+  
+  /**
+   * Returns an element from the first data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int i)
+  {
+    return data[i+offset];
+  }
+
+  /**
+   * Returns an element from a particular data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param bank the bank index.
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int bank, int i)
+  {
+    return bankData[bank][i+offsets[bank]];
+  }
+
+  /**
+   * Sets an element in the first data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int i, int val)
+  {
+    data[i+offset] = (short) val;
+  }
+
+  /**
+   * Sets an element in a particular data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param bank the data bank index.
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int bank, int i, int val)
+  {
+    bankData[bank][i+offsets[bank]] = (short) val;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/DataBufferUShort.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,246 @@
+/* DataBufferUShort.java --
+   Copyright (C) 2000, 2002, 2004, 2005 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+/* This is one of several classes that are nearly identical. Maybe we
+   should have a central template and generate all these files. This
+   is one of the cases where templates or macros would have been
+   useful to have in Java.
+
+   This file has been created using search-replace. My only fear is
+   that these classes will grow out-of-sync as of a result of changes
+   that are not propagated to the other files. As always, mirroring
+   code is a maintenance nightmare.  */
+
+/**
+ * A {@link DataBuffer} that uses an array of <code>short</code> primitives
+ * to represent each of its banks. 
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public final class DataBufferUShort extends DataBuffer
+{
+  private short[] data;
+  private short[][] bankData;
+  
+  /**
+   * Creates a new data buffer with a single data bank containing the 
+   * specified number of <code>short</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   */
+  public DataBufferUShort(int size)
+  {
+    super(TYPE_USHORT, size, 1, 0);
+    bankData = new short[1][];
+    data = new short[size];
+    bankData[0] = data;
+  }
+
+  /**
+   * Creates a new data buffer with the specified number of data banks, 
+   * each containing the specified number of <code>short</code> elements.
+   * 
+   * @param size the number of elements in the data bank.
+   * @param numBanks the number of data banks.
+   */
+  public DataBufferUShort(int size, int numBanks)
+  {
+    super(TYPE_USHORT, size, numBanks);
+    bankData = new short[numBanks][size];
+    data = bankData[0];
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data bank.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   *
+   * @throws NullPointerException if dataArray is null
+   */
+  public DataBufferUShort(short[] dataArray, int size)
+  {
+    super(TYPE_USHORT, size, 1, 0);
+    if (dataArray == null)
+      throw new NullPointerException();
+    bankData = new short[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+    
+  /**
+   * Creates a new data buffer backed by the specified data bank, with
+   * the specified offset to the first element.
+   * 
+   * @param dataArray the data bank.
+   * @param size the number of elements in the data bank.
+   * @param offset the offset to the first element in the array.
+   *
+   * @throws NullPointerException if dataArray is null
+   */
+  public DataBufferUShort(short[] dataArray, int size, int offset)
+  {
+    super(TYPE_USHORT, size, 1, offset);
+    if (dataArray == null)
+      throw new NullPointerException();
+    bankData = new short[1][];
+    data = dataArray;
+    bankData[0] = data;
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data banks.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferUShort(short[][] dataArray, int size)
+  {
+    super(TYPE_USHORT, size, dataArray.length);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+
+  /**
+   * Creates a new data buffer backed by the specified data banks, with
+   * the specified offsets to the first element in each bank.
+   * 
+   * @param dataArray the data banks.
+   * @param size the number of elements in the data bank.
+   * @param offsets the offsets to the first element in each data bank.
+   * 
+   * @throws NullPointerException if <code>dataArray</code> is 
+   *         <code>null</code>.
+   */
+  public DataBufferUShort(short[][] dataArray, int size, int[] offsets)
+  {
+    super(TYPE_USHORT, size, dataArray.length, offsets);
+    bankData = dataArray;
+    data = bankData[0];
+  }
+
+  /**
+   * Returns the first data bank.
+   * 
+   * @return The first data bank.
+   */
+  public short[] getData()
+  {
+    return data;
+  }
+    
+  /**
+   * Returns a data bank.
+   * 
+   * @param bank the bank index.
+   * @return A data bank.
+   */
+  public short[] getData(int bank)
+  {
+    return bankData[bank];
+  }
+    
+  /**
+   * Returns the array underlying this <code>DataBuffer</code>.
+   * 
+   * @return The data banks.
+   */
+  public short[][] getBankData()
+  {
+    return bankData;
+  }
+  
+  /**
+   * Returns an element from the first data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int i)
+  {
+    return data[i+offset] & 0xffff; // get unsigned short as int
+  }
+
+  /**
+   * Returns an element from a particular data bank.  The offset (specified in
+   * the constructor) is added to <code>i</code> before accessing the 
+   * underlying data array.
+   * 
+   * @param bank the bank index.
+   * @param i the element index.
+   * @return The element.
+   */
+  public int getElem(int bank, int i)
+  {
+    // get unsigned short as int
+    return bankData[bank][i+offsets[bank]] & 0xffff;
+  }
+
+  /**
+   * Sets an element in the first data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int i, int val)
+  {
+    data[i+offset] = (short) val;
+  }
+
+  /**
+   * Sets an element in a particular data bank.  The offset (specified in the
+   * constructor) is added to <code>i</code> before updating the underlying
+   * data array.
+   * 
+   * @param bank the data bank index.
+   * @param i the element index.
+   * @param val the new element value.
+   */
+  public void setElem(int bank, int i, int val)
+  {
+    bankData[bank][i+offsets[bank]] = (short) val;
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/MultiPixelPackedSampleModel.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,602 @@
+/* Copyright (C) 2004, 2006,  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+import gnu.java.awt.Buffers;
+
+/**
+ * MultiPixelPackedSampleModel provides a single band model that supports
+ * multiple pixels in a single unit.  Pixels have 2^n bits and 2^k pixels fit
+ * per data element.
+ *
+ * @author Jerry Quinn (jlquinn@optonline.net)
+ */
+public class MultiPixelPackedSampleModel extends SampleModel
+{
+  private int scanlineStride;
+  private int[] bitMasks;
+  private int[] bitOffsets;
+  private int[] sampleSize;
+  private int dataBitOffset;
+  private int elemBits;
+  private int numberOfBits;
+  private int numElems;
+
+  /**
+   * Creates a new <code>MultiPixelPackedSampleModel</code> with the specified
+   * data type, which should be one of:
+   * <ul>
+   *   <li>{@link DataBuffer#TYPE_BYTE};</li>
+   *   <li>{@link DataBuffer#TYPE_USHORT};</li>
+   *   <li>{@link DataBuffer#TYPE_INT};</li>
+   * </ul>
+   * 
+   * @param dataType  the data type.
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * @param numberOfBits  the number of bits per pixel (must be a power of 2).
+   */
+  public MultiPixelPackedSampleModel(int dataType, int w, int h,
+				     int numberOfBits)
+  {
+    this(dataType, w, h, numberOfBits, 0, 0);
+  }
+
+  /**
+   * Creates a new <code>MultiPixelPackedSampleModel</code> with the specified
+   * data type, which should be one of:
+   * <ul>
+   *   <li>{@link DataBuffer#TYPE_BYTE};</li>
+   *   <li>{@link DataBuffer#TYPE_USHORT};</li>
+   *   <li>{@link DataBuffer#TYPE_INT};</li>
+   * </ul>
+   * 
+   * @param dataType  the data type.
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * @param numberOfBits  the number of bits per pixel (must be a power of 2).
+   * @param scanlineStride  the number of data elements from a pixel on one 
+   *     row to the corresponding pixel in the next row.
+   * @param dataBitOffset  the offset to the first data bit.
+   */
+  public MultiPixelPackedSampleModel(int dataType, int w, int h,
+				     int numberOfBits, int scanlineStride,
+				     int dataBitOffset)
+  {
+    super(dataType, w, h, 1);
+
+    switch (dataType)
+      {
+      case DataBuffer.TYPE_BYTE:
+	elemBits = 8;
+	break;
+      case DataBuffer.TYPE_USHORT:
+	elemBits = 16;
+	break;
+      case DataBuffer.TYPE_INT:
+	elemBits = 32;
+	break;
+      default:
+	throw new IllegalArgumentException("MultiPixelPackedSampleModel"
+					   + " unsupported dataType");
+      }
+
+    this.dataBitOffset = dataBitOffset;
+
+    this.numberOfBits = numberOfBits;
+    if (numberOfBits > elemBits)
+      throw new RasterFormatException("MultiPixelPackedSampleModel pixel size"
+				      + " larger than dataType");
+    switch (numberOfBits)
+      {
+      case 1: case 2: case 4: case 8: case 16: case 32: break;
+      default:
+	throw new RasterFormatException("MultiPixelPackedSampleModel pixel"
+					+ " size not 2^n bits");
+      }
+    numElems = elemBits / numberOfBits;
+
+    // Compute scan line large enough for w pixels.
+    if (scanlineStride == 0)
+      scanlineStride = ((dataBitOffset + w * numberOfBits) - 1) / elemBits + 1;
+    this.scanlineStride = scanlineStride;
+
+    
+    sampleSize = new int[1];
+    sampleSize[0] = numberOfBits;
+
+    bitMasks = new int[numElems];
+    bitOffsets = new int[numElems];
+    for (int i=0; i < numElems; i++)
+      {
+	bitOffsets[numElems - i- 1] = numberOfBits * i;
+	bitMasks[numElems - i - 1] = ((1 << numberOfBits) - 1) << 
+	    bitOffsets[numElems - i - 1];
+      }
+  }
+
+  /**
+   * Creates a new <code>MultiPixelPackedSample</code> model with the same
+   * data type and bits per pixel as this model, but with the specified
+   * dimensions.
+   * 
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * 
+   * @return The new sample model.
+   */
+  public SampleModel createCompatibleSampleModel(int w, int h)
+  {
+    /* FIXME: We can avoid recalculation of bit offsets and sample
+       sizes here by passing these from the current instance to a
+       special private constructor. */
+    return new MultiPixelPackedSampleModel(dataType, w, h, numberOfBits);
+  }
+
+  /**
+   * Creates a DataBuffer for holding pixel data in the format and
+   * layout described by this SampleModel. The returned buffer will
+   * consist of one single bank.
+   * 
+   * @return A new data buffer.
+   */
+  public DataBuffer createDataBuffer()
+  {
+    int size = scanlineStride * height;
+    if (dataBitOffset > 0)
+      size += (dataBitOffset - 1) / elemBits + 1;
+    return Buffers.createBuffer(getDataType(), size);
+  }
+
+  /**
+   * Returns the number of data elements required to transfer a pixel in the
+   * get/setDataElements() methods.
+   * 
+   * @return <code>1</code>.
+   */
+  public int getNumDataElements()
+  {
+    return 1;
+  }
+
+  /**
+   * Returns an array containing the size (in bits) of the samples in each 
+   * band.  The <code>MultiPixelPackedSampleModel</code> class supports only
+   * one band, so this method returns an array with length <code>1</code>. 
+   * 
+   * @return An array containing the size (in bits) of the samples in band zero. 
+   *     
+   * @see #getSampleSize(int)
+   */
+  public int[] getSampleSize()
+  {
+    return (int[]) sampleSize.clone();
+  }
+  
+  /**
+   * Returns the size of the samples in the specified band.  Note that the
+   * <code>MultiPixelPackedSampleModel</code> supports only one band -- this
+   * method ignored the <code>band</code> argument, and always returns the size
+   * of band zero.
+   * 
+   * @param band  the band (this parameter is ignored).
+   * 
+   * @return The size of the samples in band zero.
+   * 
+   * @see #getSampleSize()
+   */
+  public int getSampleSize(int band)
+  {
+    return sampleSize[0];
+  }
+
+  /**
+   * Returns the index in the data buffer that stores the pixel at (x, y).
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * 
+   * @return The index in the data buffer that stores the pixel at (x, y).
+   * 
+   * @see #getBitOffset(int)
+   */
+  public int getOffset(int x, int y)
+  {
+    return scanlineStride * y + ((dataBitOffset + x * numberOfBits) / elemBits);
+  }
+
+  /**
+   * The bit offset (within an element in the data buffer) of the pixels with 
+   * the specified x-coordinate.
+   * 
+   * @param x  the x-coordinate.
+   * 
+   * @return The bit offset.
+   */
+  public int getBitOffset(int x)
+  {
+    return (dataBitOffset + x * numberOfBits) % elemBits;
+  }
+
+  /**
+   * Returns the offset to the first data bit.
+   * 
+   * @return The offset to the first data bit.
+   */
+  public int getDataBitOffset()
+  {
+    return dataBitOffset;
+  }
+
+  /**
+   * Returns the number of data elements from a pixel in one row to the
+   * corresponding pixel in the next row.
+   * 
+   * @return The scanline stride.
+   */
+  public int getScanlineStride()
+  {
+    return scanlineStride;
+  }
+
+  /**
+   * Returns the number of bits per pixel.
+   * 
+   * @return The number of bits per pixel.
+   */
+  public int getPixelBitStride()
+  {
+    return numberOfBits;
+  }
+  
+  /**
+   * Returns the transfer type, which is one of the following (depending on
+   * the number of bits per sample for this model):
+   * <ul>
+   *   <li>{@link DataBuffer#TYPE_BYTE};</li>
+   *   <li>{@link DataBuffer#TYPE_USHORT};</li>
+   *   <li>{@link DataBuffer#TYPE_INT};</li>
+   * </ul>
+   * 
+   * @return The transfer type.
+   */
+  public int getTransferType()
+  {
+    if (numberOfBits <= DataBuffer.getDataTypeSize(DataBuffer.TYPE_BYTE))
+      return DataBuffer.TYPE_BYTE;
+    else if (numberOfBits <= DataBuffer.getDataTypeSize(DataBuffer.TYPE_USHORT))
+      return DataBuffer.TYPE_USHORT;
+    return DataBuffer.TYPE_INT;
+  }
+
+  /**
+   * Normally this method returns a sample model for accessing a subset of
+   * bands of image data, but since <code>MultiPixelPackedSampleModel</code>
+   * only supports a single band, this overridden implementation just returns
+   * a new instance of <code>MultiPixelPackedSampleModel</code>, with the same
+   * attributes as this instance.
+   * 
+   * @param bands  the bands to include in the subset (this is ignored, except
+   *     that if it is non-<code>null</code> a check is made to ensure that the
+   *     array length is equal to <code>1</code>).
+   *     
+   * @throws RasterFormatException if <code>bands</code> is not 
+   *     <code>null</code> and <code>bands.length != 1</code>.
+   */
+  public SampleModel createSubsetSampleModel(int[] bands)
+  {
+    if (bands != null && bands.length != 1)
+      throw new RasterFormatException("MultiPixelPackedSampleModel only"
+          + " supports one band");
+    return new MultiPixelPackedSampleModel(dataType, width, height, 
+        numberOfBits, scanlineStride, dataBitOffset);
+  }
+
+  /**
+   * Extract one pixel and return in an array of transfer type.
+   *
+   * Extracts the pixel at x, y from data and stores into the 0th index of the
+   * array obj, since there is only one band.  If obj is null, a new array of
+   * getTransferType() is created.
+   *
+   * @param x The x-coordinate of the pixel rectangle to store in 
+   *     <code>obj</code>.
+   * @param y The y-coordinate of the pixel rectangle to store in 
+   *     <code>obj</code>.
+   * @param obj The primitive array to store the pixels into or null to force 
+   *     creation.
+   * @param data The DataBuffer that is the source of the pixel data.
+   * @return The primitive array containing the pixel data.
+   * @see java.awt.image.SampleModel#getDataElements(int, int, Object, 
+   *     DataBuffer)
+   */
+  public Object getDataElements(int x, int y, Object obj, DataBuffer data)
+  {
+    int pixel = getSample(x, y, 0, data);
+    switch (getTransferType())
+      {
+        case DataBuffer.TYPE_BYTE:
+          if (obj == null) 
+            obj = new byte[1];
+          ((byte[]) obj)[0] = (byte) pixel;
+          return obj;
+        case DataBuffer.TYPE_USHORT:
+          if (obj == null) 
+            obj = new short[1];
+          ((short[]) obj)[0] = (short) pixel;
+          return obj;
+        case DataBuffer.TYPE_INT:
+          if (obj == null) 
+            obj = new int[1];
+          ((int[]) obj)[0] = pixel;
+          return obj;
+        default:
+          // Seems like the only sensible thing to do.
+          throw new ClassCastException();
+      }
+  }
+
+  /**
+   * Returns an array (of length 1) containing the sample for the pixel at 
+   * (x, y) in the specified data buffer.  If <code>iArray</code> is not 
+   * <code>null</code>, it will be populated with the sample value and 
+   * returned as the result of this function (this avoids allocating a new 
+   * array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return An array containing the pixel sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    if (iArray == null) 
+      iArray = new int[1];
+    iArray[0] = getSample(x, y, 0, data);
+    return iArray;
+  }
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int getSample(int x, int y, int b, DataBuffer data)
+  {
+    int pos =
+      ((dataBitOffset + x * numberOfBits) % elemBits) / numberOfBits;
+    int offset = getOffset(x, y);
+    int samples = data.getElem(offset);
+    return (samples & bitMasks[pos]) >>> bitOffsets[pos];
+  }
+  
+  /**
+   * Set the pixel at x, y to the value in the first element of the primitive
+   * array obj.
+   *
+   * @param x The x-coordinate of the data elements in <code>obj</code>.
+   * @param y The y-coordinate of the data elements in <code>obj</code>.
+   * @param obj The primitive array containing the data elements to set.
+   * @param data The DataBuffer to store the data elements into.
+   */
+  public void setDataElements(int x, int y, Object obj, DataBuffer data)
+  {
+    int transferType = getTransferType();
+    try
+      {
+        switch (transferType)
+          {
+            case DataBuffer.TYPE_BYTE:
+              {
+                byte[] in = (byte[]) obj;
+                setSample(x, y, 0, in[0] & 0xFF, data);
+                return;
+              }
+            case DataBuffer.TYPE_USHORT:
+              {
+                short[] in = (short[]) obj;
+                setSample(x, y, 0, in[0] & 0xFFFF, data);
+                return;
+              }
+            case DataBuffer.TYPE_INT:
+              {
+                int[] in = (int[]) obj;
+                setSample(x, y, 0, in[0], data);
+                return;
+              }
+            default:
+              throw new ClassCastException("Unsupported data type");
+          }
+      }
+    catch (ArrayIndexOutOfBoundsException aioobe)
+      {
+        String msg = "While writing data elements" +
+          ", x=" + x + ", y=" + y +
+          ", width=" + width + ", height=" + height +
+          ", scanlineStride=" + scanlineStride +
+          ", offset=" + getOffset(x, y) +
+          ", data.getSize()=" + data.getSize() +
+          ", data.getOffset()=" + data.getOffset() +
+          ": " + aioobe;
+        throw new ArrayIndexOutOfBoundsException(msg);
+      }
+  }
+
+  /**
+   * Sets the sample value for the pixel at (x, y) in the specified data 
+   * buffer to the specified value. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  the sample value (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   *     
+   * @see #setSample(int, int, int, int, DataBuffer)
+   */
+  public void setPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    setSample(x, y, 0, iArray[0], data);
+  }
+
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the 
+   * specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public void setSample(int x, int y, int b, int s, DataBuffer data)
+  {
+    int bitpos =
+      ((dataBitOffset + x * numberOfBits) % elemBits) / numberOfBits;
+    int offset = getOffset(x, y);
+
+    s = s << bitOffsets[bitpos];
+    s = s & bitMasks[bitpos];
+
+    int sample = data.getElem(offset);
+    sample |= s;
+    data.setElem(offset, sample);
+  }
+  
+  /**
+   * Tests this sample model for equality with an arbitrary object.  This 
+   * method returns <code>true</code> if and only if:
+   * <ul>
+   *   <li><code>obj</code> is not <code>null</code>;
+   *   <li><code>obj</code> is an instance of 
+   *       <code>MultiPixelPackedSampleModel</code>;
+   *   <li>both models have the same:
+   *     <ul>
+   *       <li><code>dataType</code>;
+   *       <li><code>width</code>;
+   *       <li><code>height</code>;
+   *       <li><code>numberOfBits</code>;
+   *       <li><code>scanlineStride</code>;
+   *       <li><code>dataBitOffsets</code>.
+   *     </ul>
+   *   </li>
+   * </ul>
+   * 
+   * @param obj  the object (<code>null</code> permitted)
+   * 
+   * @return <code>true</code> if this model is equal to <code>obj</code>, and
+   *     <code>false</code> otherwise.
+   */
+  public boolean equals(Object obj) 
+  {
+    if (this == obj) 
+      return true;
+    if (! (obj instanceof MultiPixelPackedSampleModel)) 
+      return false;
+    MultiPixelPackedSampleModel that = (MultiPixelPackedSampleModel) obj;
+    if (this.dataType != that.dataType)
+      return false;
+    if (this.width != that.width)
+      return false;
+    if (this.height != that.height)
+      return false;
+    if (this.numberOfBits != that.numberOfBits)
+      return false;
+    if (this.scanlineStride != that.scanlineStride)
+      return false;
+    if (this.dataBitOffset != that.dataBitOffset)
+      return false;
+    return true;
+  }
+  
+  /**
+   * Returns a hash code for this <code>MultiPixelPackedSampleModel</code>.
+   * 
+   * @return A hash code.
+   */
+  public int hashCode()
+  {
+    // this hash code won't match Sun's, but that shouldn't matter...
+    int result = 193;
+    result = 37 * result + dataType;
+    result = 37 * result + width;
+    result = 37 * result + height;
+    result = 37 * result + numberOfBits;
+    result = 37 * result + scanlineStride;
+    result = 37 * result + dataBitOffset;
+    return result;
+  }
+  
+  /**
+   * Creates a String with some information about this SampleModel.
+   * @return A String describing this SampleModel.
+   * @see java.lang.Object#toString()
+   */
+  public String toString()
+  {
+    StringBuffer result = new StringBuffer();
+    result.append(getClass().getName());
+    result.append("[");
+    result.append("scanlineStride=").append(scanlineStride);
+    for(int i=0; i < bitMasks.length; i+=1)
+    {
+      result.append(", mask[").append(i).append("]=0x").append(Integer.toHexString(bitMasks[i]));
+    }
+    
+    result.append("]");
+    return result.toString();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/Raster.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,971 @@
+/* Copyright (C) 2000, 2002, 2003, 2006,  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image;
+
+import java.awt.Point;
+import java.awt.Rectangle;
+
+/**
+ * A rectangular collection of pixels composed from a {@link DataBuffer} which
+ * stores the pixel values, and a {@link SampleModel} which is used to retrieve
+ * the pixel values.
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public class Raster
+{
+  /** The sample model used to access the pixel values. */
+  protected SampleModel sampleModel;
+  
+  /** The data buffer used to store the pixel values. */
+  protected DataBuffer dataBuffer;
+  
+  /** The x-coordinate of the top left corner of the raster. */
+  protected int minX;
+  
+  /** The y-coordinate of the top left corner of the raster. */
+  protected int minY;
+  
+  /** The width of the raster. */
+  protected int width;
+  
+  /** The height of the raster. */
+  protected int height;
+  
+  protected int sampleModelTranslateX;
+  
+  protected int sampleModelTranslateY;
+  
+  /** The number of bands. */
+  protected int numBands;
+  
+  protected int numDataElements;
+  
+  /** The raster's parent. */
+  protected Raster parent;
+  
+  /**
+   * Creates a new raster.
+   * 
+   * @param sampleModel  the sample model.
+   * @param origin  the origin.
+   */
+  protected Raster(SampleModel sampleModel, Point origin)
+  {
+    this(sampleModel, sampleModel.createDataBuffer(), origin);
+  }
+  
+  /**
+   * Creates a new raster.
+   * 
+   * @param sampleModel  the sample model.
+   * @param dataBuffer  the data buffer.
+   * @param origin  the origin.
+   */
+  protected Raster(SampleModel sampleModel, DataBuffer dataBuffer,
+                   Point origin)
+  {
+    this(sampleModel, dataBuffer, new Rectangle(origin.x, origin.y,
+         sampleModel.getWidth(), sampleModel.getHeight()), origin, null);
+  }
+
+  /**
+   * Creates a new raster.
+   * 
+   * @param sampleModel  the sample model.
+   * @param dataBuffer  the data buffer.
+   * @param aRegion  the raster's bounds.
+   * @param sampleModelTranslate  the translation (<code>null</code> permitted).
+   * @param parent  the raster's parent.
+   */
+  protected Raster(SampleModel sampleModel, DataBuffer dataBuffer,
+      Rectangle aRegion, Point sampleModelTranslate, Raster parent)
+  {
+    this.sampleModel = sampleModel;
+    this.dataBuffer = dataBuffer;
+    this.minX = aRegion.x;
+    this.minY = aRegion.y;
+    this.width = aRegion.width;
+    this.height = aRegion.height;
+    
+    // If sampleModelTranslate is null, use (0,0).  Methods such as
+    // Raster.createRaster are specified to allow for a null argument.
+    if (sampleModelTranslate != null)
+    {
+      this.sampleModelTranslateX = sampleModelTranslate.x;
+      this.sampleModelTranslateY = sampleModelTranslate.y;
+    }
+
+    this.numBands = sampleModel.getNumBands();
+    this.numDataElements = sampleModel.getNumDataElements();
+    this.parent = parent;
+  }
+    
+  /**
+   * Creates an interleaved raster using the specified data type.
+   * 
+   * @param dataType  the data type.
+   * @param w  the width.
+   * @param h  the height.
+   * @param bands  the number of bands.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createInterleavedRaster(int dataType,
+      int w, int h, int bands, Point location)
+  {
+    int[] bandOffsets = new int[bands];
+    // TODO: Maybe not generate this every time.
+    for (int b = 0; b < bands; b++) 
+      bandOffsets[b] = b;
+    
+    int scanlineStride = bands * w;
+    return createInterleavedRaster(dataType, w, h, scanlineStride, bands,
+                                   bandOffsets, location);
+  }
+
+  /**
+   * Creates an interleaved raster.
+   * 
+   * @param dataType  the data type.
+   * @param w  the width.
+   * @param h  the height.
+   * @param scanlineStride  the number of data elements from a sample on one 
+   *     row to the corresponding sample on the next row.
+   * @param pixelStride  the number of elements from a sample in one pixel to
+   *     the corresponding sample in the next pixel.
+   * @param bandOffsets  the band offsets.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createInterleavedRaster(int dataType, 
+      int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets,
+      Point location)
+  {
+    SampleModel sm = new ComponentSampleModel(dataType, w, h, pixelStride,
+        scanlineStride, bandOffsets);
+    return createWritableRaster(sm, location);
+  }
+
+  /**
+   * Creates a new banded raster.
+   * 
+   * @param dataType  the data type.
+   * @param w  the width.
+   * @param h  the height.
+   * @param bands  the number of bands.
+   * @param location  
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createBandedRaster(int dataType, int w, int h, 
+      int bands, Point location)
+  {
+    SampleModel sm = new BandedSampleModel(dataType, w, h, bands);
+    return createWritableRaster(sm, location);
+  }
+
+  /**
+   * Creates a new banded raster.
+   * 
+   * @param dataType  the data type.
+   * @param w  the width.
+   * @param h  the height.
+   * @param scanlineStride  the number of data elements from a sample on one 
+   *     row to the corresponding sample on the next row.
+   * @param bankIndices  the index for each bank.
+   * @param bandOffsets  the offset for each band.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createBandedRaster(int dataType, int w, int h,
+      int scanlineStride, int[] bankIndices, int[] bandOffsets, Point location)
+  {
+    SampleModel sm = new BandedSampleModel(dataType, w, h, scanlineStride,
+                                           bankIndices, bandOffsets);
+    return createWritableRaster(sm, location);
+  }
+  
+  /**
+   * Creates a new packed raster.
+   * 
+   * @param dataType  the data type.
+   * @param w  the width.
+   * @param h  the height.
+   * @param bandMasks  the bit mask for each band.
+   * @param location 
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createPackedRaster(int dataType, int w, int h,
+      int[] bandMasks, Point location)
+  {
+    SampleModel sm = new SinglePixelPackedSampleModel(dataType, w, h,
+                                                     bandMasks);
+    return createWritableRaster(sm, location);
+  }
+
+  /**
+   * Creates a new raster.
+   * 
+   * @param dataType  the data type.
+   * @param w  the width.
+   * @param h  the height.
+   * @param bands  the number of bands.
+   * @param bitsPerBand  the number of bits per band.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createPackedRaster(int dataType,
+      int w, int h, int bands, int bitsPerBand, Point location)
+  {
+    if (bands <= 0 || (bands * bitsPerBand > getTypeBits(dataType)))
+      throw new IllegalArgumentException();
+
+    SampleModel sm;
+
+    if (bands == 1)
+      sm = new MultiPixelPackedSampleModel(dataType, w, h, bitsPerBand);
+    else
+      {
+        int[] bandMasks = new int[bands];
+        int mask = 0x1;
+        for (int bits = bitsPerBand; --bits != 0;)
+          mask = (mask << 1) | 0x1;
+        for (int i = 0; i < bands; i++)
+          {
+            bandMasks[i] = mask;
+            mask <<= bitsPerBand;
+          }
+          
+        sm = new SinglePixelPackedSampleModel(dataType, w, h, bandMasks);
+      }
+    return createWritableRaster(sm, location);
+  }
+
+  /**
+   * Creates a new interleaved raster.
+   * 
+   * @param dataBuffer  the data buffer.
+   * @param w  the width.
+   * @param h  the height.
+   * @param scanlineStride  the number of data elements from a sample on one 
+   *     row to the corresponding sample on the next row.
+   * @param pixelStride  the number of elements from a sample in one pixel to
+   *     the corresponding sample in the next pixel.
+   * @param bandOffsets  the offset for each band.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer, 
+      int w, int h, int scanlineStride, int pixelStride, int[] bandOffsets, 
+      Point location)
+  {
+    SampleModel sm = new ComponentSampleModel(dataBuffer.getDataType(),
+        w, h, scanlineStride, pixelStride, bandOffsets);
+    return createWritableRaster(sm, dataBuffer, location);
+  }
+
+  /**
+   * Creates a new banded raster.
+   * 
+   * @param dataBuffer  the data buffer.
+   * @param w  the width.
+   * @param h  the height.
+   * @param scanlineStride  the number of data elements from a sample on one 
+   *     row to the corresponding sample on the next row.
+   * @param bankIndices  the index for each bank.
+   * @param bandOffsets  the band offsets.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createBandedRaster(DataBuffer dataBuffer,
+      int w, int h, int scanlineStride, int[] bankIndices, int[] bandOffsets,
+      Point location)
+  {
+    SampleModel sm = new BandedSampleModel(dataBuffer.getDataType(),
+        w, h, scanlineStride, bankIndices, bandOffsets);
+    return createWritableRaster(sm, dataBuffer, location);
+  }
+  
+  /**
+   * Creates a new packed raster.
+   * 
+   * @param dataBuffer  the data buffer.
+   * @param w  the width.
+   * @param h  the height.
+   * @param scanlineStride  the number of data elements from a sample on one 
+   *     row to the corresponding sample on the next row.
+   * @param bandMasks  the bit mask for each band.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
+      int w, int h, int scanlineStride, int[] bandMasks, Point location)
+ {
+    SampleModel sm = new SinglePixelPackedSampleModel(dataBuffer.getDataType(),
+        w, h, scanlineStride, bandMasks);
+    return createWritableRaster(sm, dataBuffer, location);
+  }
+  
+  /**
+   * Creates a new packed raster.
+   * 
+   * @param dataBuffer  the data buffer.
+   * @param w  the width.
+   * @param h  the height.
+   * @param bitsPerPixel  the number of bits per pixel.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
+      int w, int h, int bitsPerPixel, Point location)
+  {
+    SampleModel sm = new MultiPixelPackedSampleModel(dataBuffer.getDataType(),
+        w, h, bitsPerPixel);
+    return createWritableRaster(sm, dataBuffer, location);
+  }
+    
+  /**
+   * Creates a new raster.
+   * 
+   * @param sm  the sample model.
+   * @param db  the data buffer.
+   * @param location
+   * 
+   * @return The new raster.
+   */
+  public static Raster createRaster(SampleModel sm, DataBuffer db,
+                                    Point location)
+  {
+    return new Raster(sm, db, location);
+  }
+
+  /**
+   * Creates a new writable raster.
+   * 
+   * @param sm  the sample model.
+   * @param location
+   * 
+   * @return The new writable raster.
+   */
+  public static WritableRaster createWritableRaster(SampleModel sm,
+                                                    Point location)
+  {
+    return new WritableRaster(sm, location);
+  }
+
+  /**
+   * Creates a new writable raster.
+   * 
+   * @param sm  the sample model.
+   * @param db  the data buffer.
+   * @param location 
+   * 
+   * @return The new writable raster.
+   */
+  public static WritableRaster createWritableRaster(SampleModel sm,
+      DataBuffer db, Point location)
+  {
+    return new WritableRaster(sm, db, location);
+  }
+
+  /**
+   * Returns the raster's parent.
+   * 
+   * @return The raster's parent.
+   */
+  public Raster getParent()
+  {
+    return parent;
+  }
+
+  /**
+   * Returns the x-translation.
+   * 
+   * @return The x-translation.
+   */
+  public final int getSampleModelTranslateX()
+  {
+    return sampleModelTranslateX;
+  }
+
+  /**
+   * Returns the y-translation.
+   * 
+   * @return The y-translation.
+   */
+  public final int getSampleModelTranslateY()
+  {
+    return sampleModelTranslateY;
+  }
+
+  /**
+   * Creates a new writable raster that is compatible with this raster.
+   * 
+   * @return A new writable raster.
+   */
+  public WritableRaster createCompatibleWritableRaster()
+  {
+    return new WritableRaster(getSampleModel(), new Point(minX, minY));
+  }
+
+  /**
+   * Creates a new writable raster that is compatible with this raster.
+   * 
+   * @param w  the width.
+   * @param h  the height.
+   * 
+   * @return A new writable raster.
+   */
+  public WritableRaster createCompatibleWritableRaster(int w, int h)
+  {
+    return createCompatibleWritableRaster(minX, minY, w, h);
+  }
+
+  /**
+   * Creates a new writable raster that is compatible with this raster, with
+   * the specified bounds.
+   * 
+   * @param rect  the raster bounds.
+   * 
+   * @return A new writable raster.
+   */
+  public WritableRaster createCompatibleWritableRaster(Rectangle rect)
+  {
+    return createCompatibleWritableRaster(rect.x, rect.y,
+                                          rect.width, rect.height);
+  }
+
+  /**
+   * Creates a new writable raster that is compatible with this raster, with
+   * the specified bounds.
+   * 
+   * @param x  the x-coordinate of the top-left corner of the raster.
+   * @param y  the y-coordinate of the top-left corner of the raster.
+   * @param w  the raster width.
+   * @param h  the raster height.
+   * 
+   * @return A new writable raster.
+   */
+  public WritableRaster createCompatibleWritableRaster(int x, int y,
+                                                       int w, int h)
+  {
+    SampleModel sm = getSampleModel().createCompatibleSampleModel(w, h);
+    return new WritableRaster(sm, sm.createDataBuffer(), new Point(x, y));
+  }
+
+  public Raster createTranslatedChild(int childMinX, int childMinY) {
+    int tcx = sampleModelTranslateX - minX + childMinX;
+    int tcy = sampleModelTranslateY - minY + childMinY;
+    
+    return new Raster(sampleModel, dataBuffer,
+                      new Rectangle(childMinX, childMinY, width, height),
+                      new Point(tcx, tcy), this);
+  }
+
+  public Raster createChild(int parentX, int parentY, int width,
+                            int height, int childMinX, int childMinY,
+                            int[] bandList)
+  {
+    if (parentX < minX || parentX + width > minX + this.width
+        || parentY < minY || parentY + height > minY + this.height)
+      throw new RasterFormatException("Child raster extends beyond parent");
+    
+    SampleModel sm = (bandList == null) ?
+      sampleModel :
+      sampleModel.createSubsetSampleModel(bandList);
+
+    /*
+        data origin
+       /
+      +-------------------------
+      |\. __ parent trans
+      | \`.  
+      |  \ `.    parent origin
+      |   \  `. /
+      |   /\   +-------- - -
+      |trans\ /<\-- deltaTrans
+      |child +-+-\---- - - 
+      |     /|`|  \__ parent [x, y]
+      |child | |`. \
+      |origin| :  `.\
+      |      |    / `\
+      |      :   /    +
+      | child [x, y] 
+
+      parent_xy - parent_trans = child_xy - child_trans
+
+      child_trans = parent_trans + child_xy - parent_xy
+    */
+
+    return new Raster(sm, dataBuffer,
+        new Rectangle(childMinX, childMinY, width, height),
+        new Point(sampleModelTranslateX + childMinX - parentX,
+                  sampleModelTranslateY + childMinY - parentY),
+        this);
+  }
+
+  /**
+   * Returns a new rectangle containing the bounds of this raster.
+   * 
+   * @return A new rectangle containing the bounds of this raster.
+   */
+  public Rectangle getBounds()
+  {
+    return new Rectangle(minX, minY, width, height);
+  }
+
+  /**
+   * Returns the x-coordinate of the top left corner of the raster.
+   * 
+   * @return The x-coordinate of the top left corner of the raster.
+   */
+  public final int getMinX()
+  {
+    return minX;
+  }
+
+  /**
+   * Returns the t-coordinate of the top left corner of the raster.
+   * 
+   * @return The t-coordinate of the top left corner of the raster.
+   */
+  public final int getMinY()
+  {
+    return minY;
+  }
+
+  /**
+   * Returns the width of the raster.
+   * 
+   * @return The width of the raster.
+   */
+  public final int getWidth()
+  {
+    return width;
+  }
+
+  /**
+   * Returns the height of the raster.
+   * 
+   * @return The height of the raster.
+   */
+  public final int getHeight()
+  {
+    return height;
+  }
+
+  /**
+   * Returns the number of bands for this raster.
+   * 
+   * @return The number of bands.
+   */
+  public final int getNumBands()
+  {
+    return numBands;
+  }
+    
+  public final int getNumDataElements()
+  {
+    return numDataElements;
+  }
+  
+  /**
+   * Returns the transfer type for the raster (this is determined by the 
+   * raster's sample model).
+   * 
+   * @return The transfer type.
+   */
+  public final int getTransferType()
+  {
+    return sampleModel.getTransferType();
+  }
+
+  /**
+   * Returns the data buffer that stores the pixel data for this raster.
+   * 
+   * @return The data buffer.
+   */
+  public DataBuffer getDataBuffer()
+  {
+    return dataBuffer;
+  }
+
+  /**
+   * Returns the sample model that accesses the data buffer (to extract pixel
+   * data) for this raster.
+   * 
+   * @return The sample model.
+   */
+  public SampleModel getSampleModel()
+  {
+    return sampleModel;
+  }
+
+  public Object getDataElements(int x, int y, Object outData)
+  {
+    return sampleModel.getDataElements(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, outData, dataBuffer);
+  }
+
+  public Object getDataElements(int x, int y, int w, int h, Object outData)
+  {
+    return sampleModel.getDataElements(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, outData, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples for the pixel at (x, y) in the
+   * raster.  If <code>iArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of
+   * this function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The pixel sample values.
+   */
+  public int[] getPixel(int x, int y, int[] iArray)
+  {
+    return sampleModel.getPixel(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, iArray, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples for the pixel at (x, y) in the
+   * raster.  If <code>fArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of
+   * this function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param fArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The pixel sample values.
+   */
+  public float[] getPixel(int x, int y, float[] fArray)
+  {
+    return sampleModel.getPixel(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, fArray, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples for the pixel at (x, y) in the
+   * raster.  If <code>dArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of
+   * this function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param dArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The pixel sample values.
+   */
+  public double[] getPixel(int x, int y, double[] dArray)
+  {
+    return sampleModel.getPixel(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, dArray, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples for the pixels in the region 
+   * specified by (x, y, w, h) in the raster.  The array is ordered by pixels 
+   * (that is, all the samples for the first pixel are grouped together, 
+   * followed by all the samples for the second pixel, and so on).  
+   * If <code>iArray</code> is not <code>null</code>, it will be populated 
+   * with the sample values and returned as the result of this function (this 
+   * avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The pixel sample values.
+   */
+  public int[] getPixels(int x, int y, int w, int h, int[] iArray)
+  {
+    return sampleModel.getPixels(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, iArray, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples for the pixels in the region 
+   * specified by (x, y, w, h) in the raster.  The array is ordered by pixels 
+   * (that is, all the samples for the first pixel are grouped together, 
+   * followed by all the samples for the second pixel, and so on).  
+   * If <code>fArray</code> is not <code>null</code>, it will be populated 
+   * with the sample values and returned as the result of this function (this 
+   * avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param fArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The pixel sample values.
+   */
+  public float[] getPixels(int x, int y, int w, int h, float[] fArray)
+  {
+    return sampleModel.getPixels(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, fArray, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples for the pixels in the region 
+   * specified by (x, y, w, h) in the raster.  The array is ordered by pixels 
+   * (that is, all the samples for the first pixel are grouped together, 
+   * followed by all the samples for the second pixel, and so on).  
+   * If <code>dArray</code> is not <code>null</code>, it will be populated 
+   * with the sample values and returned as the result of this function (this 
+   * avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param dArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The pixel sample values.
+   */
+  public double[] getPixels(int x, int y, int w, int h, double[] dArray)
+  {
+    return sampleModel.getPixels(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, dArray, dataBuffer);
+  }
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the raster.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * 
+   * @return The sample value.
+   */
+  public int getSample(int x, int y, int b)
+  {
+    return sampleModel.getSample(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, b, dataBuffer);
+  }
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the raster.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * 
+   * @return The sample value.
+   * 
+   * @see #getSample(int, int, int)
+   */
+  public float getSampleFloat(int x, int y, int b)
+  {
+    return sampleModel.getSampleFloat(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, b, dataBuffer);
+  }
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the raster.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * 
+   * @return The sample value.
+   * 
+   * @see #getSample(int, int, int)
+   */
+  public double getSampleDouble(int x, int y, int b)
+  {
+    return sampleModel.getSampleDouble(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, b, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples from one band for the pixels in 
+   * the region specified by (x, y, w, h) in the raster.  If 
+   * <code>iArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The sample values.
+   */
+  public int[] getSamples(int x, int y, int w, int h, int b,
+                          int[] iArray)
+  {
+    return sampleModel.getSamples(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, b, iArray, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples from one band for the pixels in 
+   * the region specified by (x, y, w, h) in the raster.  If 
+   * <code>fArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   *
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param fArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The sample values.
+   */  
+  public float[] getSamples(int x, int y, int w, int h, int b, float[] fArray)
+  {
+    return sampleModel.getSamples(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, b, fArray, dataBuffer);
+  }
+
+  /**
+   * Returns an array containing the samples from one band for the pixels in 
+   * the region specified by (x, y, w, h) in the raster.  If 
+   * <code>dArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param dArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * 
+   * @return The sample values.
+   */
+  public double[] getSamples(int x, int y, int w, int h, int b, 
+                             double[] dArray)
+  {
+    return sampleModel.getSamples(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, b, dArray, dataBuffer);
+  }
+  
+  /**
+   * Create a String representing the state of this Raster.
+   * 
+   * @return A String representing the stat of this Raster.
+   */
+  public String toString()
+  {
+    StringBuffer result = new StringBuffer();
+    
+    result.append(getClass().getName());
+    result.append("[(");
+    result.append(minX).append(",").append(minY).append("), ");
+    result.append(width).append(" x ").append(height).append(",");
+    result.append(sampleModel).append(",");
+    result.append(dataBuffer);
+    result.append("]");
+    
+    return result.toString();
+  }
+
+  /**
+   * Returns the number of bits used to represent the specified data type.  
+   * Valid types are:
+   * <ul>
+   *   <li>{@link DataBuffer#TYPE_BYTE};</li>
+   *   <li>{@link DataBuffer#TYPE_USHORT};</li>
+   *   <li>{@link DataBuffer#TYPE_SHORT};</li>
+   *   <li>{@link DataBuffer#TYPE_INT};</li>
+   *   <li>{@link DataBuffer#TYPE_FLOAT};</li>
+   *   <li>{@link DataBuffer#TYPE_DOUBLE};</li>
+   * </ul>
+   * This method returns 0 for invalid data types.
+   * 
+   * @param dataType  the data type.
+   * 
+   * @return The number of bits used to represent the specified data type.
+   */
+  private static int getTypeBits(int dataType)
+  {
+    switch (dataType)
+      {
+      case DataBuffer.TYPE_BYTE:
+        return 8;
+      case DataBuffer.TYPE_USHORT:
+      case DataBuffer.TYPE_SHORT:
+        return 16;
+      case DataBuffer.TYPE_INT:
+      case DataBuffer.TYPE_FLOAT:
+        return 32;
+      case DataBuffer.TYPE_DOUBLE:
+        return 64;
+      default:
+        return 0;
+      }
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/RenderedImage.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,70 @@
+/* RenderedImage.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image;
+
+import java.awt.Rectangle;
+import java.util.Vector;
+
+/**
+ * NEEDS DOCUMENTATION
+ */
+public interface RenderedImage
+{
+  Vector<RenderedImage> getSources();
+  Object getProperty(String name);
+  String[] getPropertyNames();
+  ColorModel getColorModel();
+  SampleModel getSampleModel();
+  int getWidth();
+  int getHeight();
+  int getMinX();
+  int getMinY();
+  int getNumXTiles();
+  int getNumYTiles();
+  int getMinTileX();
+  int getMinTileY();
+  int getTileWidth();
+  int getTileHeight();
+  int getTileGridXOffset();
+  int getTileGridYOffset();
+  Raster getTile(int x, int y);
+  Raster getData();
+  Raster getData(Rectangle r);
+  WritableRaster copyData(WritableRaster raster);
+} // interface RenderedImage
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/SampleModel.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,974 @@
+/* Copyright (C) 2000, 2001, 2002, 2005, 2006,  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+/**
+ * A <code>SampleModel</code> is used to access pixel data from a 
+ * {@link DataBuffer}.  This is used by the {@link Raster} class.
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public abstract class SampleModel
+{
+  /** Width of image described. */
+  protected int width;
+  
+  /** Height of image described. */
+  protected int height;
+  
+  /** Number of bands in the image described.  Package-private here,
+      shadowed by ComponentSampleModel. */
+  protected int numBands;
+
+  /** 
+   * The DataBuffer type that is used to store the data of the image
+   * described.
+   */
+  protected int dataType;
+
+  /**
+   * Creates a new sample model with the specified attributes.
+   * 
+   * @param dataType  the data type (one of {@link DataBuffer#TYPE_BYTE},
+   *   {@link DataBuffer#TYPE_USHORT}, {@link DataBuffer#TYPE_SHORT},
+   *   {@link DataBuffer#TYPE_INT}, {@link DataBuffer#TYPE_FLOAT}, 
+   *   {@link DataBuffer#TYPE_DOUBLE} or {@link DataBuffer#TYPE_UNDEFINED}).
+   * @param w  the width in pixels (must be greater than zero).
+   * @param h  the height in pixels (must be greater than zero).
+   * @param numBands  the number of bands (must be greater than zero).
+   * 
+   * @throws IllegalArgumentException if <code>dataType</code> is not one of 
+   *   the listed values.
+   * @throws IllegalArgumentException if <code>w</code> is less than or equal
+   *   to zero.
+   * @throws IllegalArgumentException if <code>h</code> is less than or equal 
+   *   to zero.
+   * @throws IllegalArgumentException if <code>w * h</code> is greater than
+   *   {@link Integer#MAX_VALUE}.
+   */
+  public SampleModel(int dataType, int w, int h, int numBands)
+  {
+    if (dataType != DataBuffer.TYPE_UNDEFINED)
+      if (dataType < DataBuffer.TYPE_BYTE || dataType > DataBuffer.TYPE_DOUBLE)
+        throw new IllegalArgumentException("Unrecognised 'dataType' argument.");
+    
+    if ((w <= 0) || (h <= 0)) 
+      throw new IllegalArgumentException((w <= 0 ? " width<=0" : " width is ok")
+          + (h <= 0 ? " height<=0" : " height is ok"));
+        
+    long area = (long) w * (long) h;
+    if (area > Integer.MAX_VALUE)
+      throw new IllegalArgumentException("w * h exceeds Integer.MAX_VALUE.");
+
+    if (numBands <= 0)
+      throw new IllegalArgumentException("Requires numBands > 0.");
+      
+    this.dataType = dataType;
+    this.width = w;
+    this.height = h;
+    this.numBands = numBands;  
+  }
+  
+  /**
+   * Returns the width of the pixel data accessible via this 
+   * <code>SampleModel</code>.
+   * 
+   * @return The width.
+   * 
+   * @see #getHeight()
+   */
+  public final int getWidth()
+  {
+    return width;
+  }
+
+  /**
+   * Returns the height of the pixel data accessible via this 
+   * <code>SampleModel</code>.
+   * 
+   * @return The height.
+   * 
+   * @see #getWidth()
+   */
+  public final int getHeight()
+  {
+    return height;
+  }
+
+  /**
+   * Returns the number of bands for this <code>SampleModel</code>.
+   * 
+   * @return The number of bands.
+   */
+  public final int getNumBands()
+  {
+    return numBands;
+  }
+    
+  public abstract int getNumDataElements();
+  
+  /**
+   * Returns the type of the {@link DataBuffer} that this 
+   * <code>SampleModel</code> accesses.
+   * 
+   * @return The data buffer type.
+   */
+  public final int getDataType()
+  {
+    return dataType;
+  }
+
+  public int getTransferType()
+  {
+    // FIXME: Is this a reasonable default implementation?
+    return dataType;
+  }
+
+  /**
+   * Returns an array containing the samples for the pixel at (x, y) in the
+   * specified data buffer.  If <code>iArray</code> is not <code>null</code>,
+   * it will be populated with the sample values and returned as the result of
+   * this function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    if (iArray == null) 
+      iArray = new int[numBands];
+    for (int b = 0; b < numBands; b++) 
+      iArray[b] = getSample(x, y, b, data);
+    return iArray;
+  }
+  
+  /**
+   *
+   * This method is provided as a faster alternative to getPixel(),
+   * that can be used when there is no need to decode the pixel into
+   * separate sample values.
+   *
+   * @param obj An array to return the pixel data in. If null, an
+   * array of the right type and size will be created.
+   *
+   * @return A single pixel as an array object of a primitive type,
+   * based on the transfer type. Eg. if transfer type is
+   * DataBuffer.TYPE_USHORT, then a short[] object is returned.
+   */
+  public abstract Object getDataElements(int x, int y, Object obj,
+                                         DataBuffer data);
+
+    
+  public Object getDataElements(int x, int y, int w, int h, Object obj,
+                                DataBuffer data)
+  {
+    int size = w * h;
+    int numDataElements = getNumDataElements();
+    int dataSize = numDataElements * size;
+    
+    if (obj == null)
+      {
+        switch (getTransferType())
+          {
+          case DataBuffer.TYPE_BYTE:
+            obj = new byte[dataSize];
+            break;
+          case DataBuffer.TYPE_USHORT:
+            obj = new short[dataSize];
+            break;
+          case DataBuffer.TYPE_INT:
+            obj = new int[dataSize];
+            break;
+          default:
+            // Seems like the only sensible thing to do.
+            throw new ClassCastException();
+          }
+      }
+    Object pixelData = null;
+    int outOffset = 0;
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            pixelData = getDataElements(xx, yy, pixelData, data);
+            System.arraycopy(pixelData, 0, obj, outOffset,
+                             numDataElements);
+            outOffset += numDataElements;
+          }
+      }
+    return obj;
+  }
+
+  public abstract void setDataElements(int x, int y, Object obj,
+                                       DataBuffer data);
+
+  public void setDataElements(int x, int y, int w, int h,
+                              Object obj, DataBuffer data)
+  {
+    int numDataElements = getNumDataElements();
+    
+    Object pixelData;
+    switch (getTransferType())
+      {
+      case DataBuffer.TYPE_BYTE:
+        pixelData = new byte[numDataElements];
+        break;
+      case DataBuffer.TYPE_USHORT:
+      case DataBuffer.TYPE_SHORT:
+        pixelData = new short[numDataElements];
+        break;
+      case DataBuffer.TYPE_INT:
+        pixelData = new int[numDataElements];
+        break;
+      case DataBuffer.TYPE_FLOAT:
+        pixelData = new float[numDataElements];
+        break;
+      case DataBuffer.TYPE_DOUBLE:
+        pixelData = new double[numDataElements];
+        break;
+      default:
+        // The RI silently igores invalid types.
+        pixelData = null;
+      }
+
+    int inOffset = 0;
+    if (pixelData != null)
+      {
+        for (int yy=y; yy<(y+h); yy++)
+          {
+            for (int xx=x; xx<(x+w); xx++)
+              {
+                System.arraycopy(obj, inOffset, pixelData, 0, numDataElements);
+                setDataElements(xx, yy, pixelData, data);
+                inOffset += numDataElements;
+              }
+          }
+      }
+  }
+
+  /**
+   * Returns an array containing the samples for the pixel at (x, y) in the
+   * specified data buffer.  If <code>fArray</code> is not <code>null</code>,
+   * it will be populated with the sample values and returned as the result of
+   * this function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param fArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public float[] getPixel(int x, int y, float[] fArray, DataBuffer data)
+  {
+    if (fArray == null) 
+      fArray = new float[numBands];
+    
+    for (int b = 0; b < numBands; b++)
+      {
+        fArray[b] = getSampleFloat(x, y, b, data);
+      }
+    return fArray;
+  }
+
+  /**
+   * Returns an array containing the samples for the pixel at (x, y) in the
+   * specified data buffer.  If <code>dArray</code> is not <code>null</code>,
+   * it will be populated with the sample values and returned as the result of
+   * this function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param dArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public double[] getPixel(int x, int y, double[] dArray, DataBuffer data) {
+    if (dArray == null) 
+      dArray = new double[numBands];
+    for (int b = 0; b < numBands; b++)
+      {
+        dArray[b] = getSampleDouble(x, y, b, data);
+      }
+    return dArray;
+  }
+
+  /**
+   * Returns an array containing the samples for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on).  If <code>iArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int[] getPixels(int x, int y, int w, int h, int[] iArray,
+                         DataBuffer data)
+  {
+    int size = w * h;
+    int outOffset = 0;
+    int[] pixel = null;
+    if (iArray == null) 
+      iArray = new int[w * h * numBands];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            pixel = getPixel(xx, yy, pixel, data);
+            System.arraycopy(pixel, 0, iArray, outOffset, numBands);
+            outOffset += numBands;
+          }
+      }
+    return iArray;
+  }
+
+  /**
+   * Returns an array containing the samples for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on).  If <code>fArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param fArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public float[] getPixels(int x, int y, int w, int h, float[] fArray,
+                           DataBuffer data)
+  {
+    int size = w * h;
+    int outOffset = 0;
+    float[] pixel = null;
+    if (fArray == null) fArray = new float[w * h * numBands];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            pixel = getPixel(xx, yy, pixel, data);
+            System.arraycopy(pixel, 0, fArray, outOffset, numBands);
+            outOffset += numBands;
+          }
+      }
+    return fArray;
+  }
+    
+  /**
+   * Returns an array containing the samples for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on).  If <code>dArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param dArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public double[] getPixels(int x, int y, int w, int h, double[] dArray,
+                            DataBuffer data)
+  {
+    int size = w * h;
+    int outOffset = 0;
+    double[] pixel = null;
+    if (dArray == null) 
+      dArray = new double[w * h * numBands];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            pixel = getPixel(xx, yy, pixel, data);
+            System.arraycopy(pixel, 0, dArray, outOffset, numBands);
+            outOffset += numBands;
+          }
+      }
+    return dArray;
+  }
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public abstract int getSample(int x, int y, int b, DataBuffer data);
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   * 
+   * @see #getSample(int, int, int, DataBuffer)
+   */
+  public float getSampleFloat(int x, int y, int b, DataBuffer data)
+  {
+    return getSample(x, y, b, data);
+  }
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   * 
+   * @see #getSample(int, int, int, DataBuffer)
+   */
+  public double getSampleDouble(int x, int y, int b, DataBuffer data)
+  {
+    return getSampleFloat(x, y, b, data);
+  }
+
+  /**
+   * Returns an array containing the samples from one band for the pixels in 
+   * the region specified by (x, y, w, h) in the specified data buffer.  If 
+   * <code>iArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int[] getSamples(int x, int y, int w, int h, int b,
+                          int[] iArray, DataBuffer data)
+  {
+    int size = w * h;
+    int outOffset = 0;
+    if (iArray == null) 
+      iArray = new int[size];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            iArray[outOffset++] = getSample(xx, yy, b, data);
+          }
+      }
+    return iArray;
+  }
+
+  /**
+   * Returns an array containing the samples from one band for the pixels in 
+   * the region specified by (x, y, w, h) in the specified data buffer.  If 
+   * <code>fArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param fArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public float[] getSamples(int x, int y, int w, int h, int b,
+                            float[] fArray, DataBuffer data)
+  {
+    int size = w * h;
+    int outOffset = 0;
+    if (fArray == null) 
+      fArray = new float[size];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            fArray[outOffset++] = getSampleFloat(xx, yy, b, data);
+          }
+      }
+    return fArray;
+  }
+
+  /**
+   * Returns an array containing the samples from one band for the pixels in 
+   * the region specified by (x, y, w, h) in the specified data buffer.  If 
+   * <code>dArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param dArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public double[] getSamples(int x, int y, int w, int h, int b,
+                             double[] dArray, DataBuffer data)
+  {
+    int size = w * h;
+    int outOffset = 0;
+    if (dArray == null) 
+      dArray = new double[size];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            dArray[outOffset++] = getSampleDouble(xx, yy, b, data);
+          }
+      }
+    return dArray;
+  }
+  
+  /**
+   * Sets the samples for the pixel at (x, y) in the specified data buffer to
+   * the specified values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    for (int b = 0; b < numBands; b++) 
+      setSample(x, y, b, iArray[b], data);
+  }
+
+  /**
+   * Sets the samples for the pixel at (x, y) in the specified data buffer to
+   * the specified values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param fArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>fArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, float[] fArray, DataBuffer data)
+  {
+    for (int b = 0; b < numBands; b++) 
+      setSample(x, y, b, fArray[b], data);
+  }
+
+  /**
+   * Sets the samples for the pixel at (x, y) in the specified data buffer to
+   * the specified values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param dArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>dArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, double[] dArray, DataBuffer data)
+  {
+    for (int b = 0; b < numBands; b++) 
+      setSample(x, y, b, dArray[b], data);
+  }
+
+  /**
+   * Sets the sample values for the pixels in the region specified by 
+   * (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on). 
+   *  
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param iArray  the pixel sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixels(int x, int y, int w, int h, int[] iArray,
+                        DataBuffer data)
+  {
+    int inOffset = 0;
+    int[] pixel = new int[numBands];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            System.arraycopy(iArray, inOffset, pixel, 0, numBands);
+            setPixel(xx, yy, pixel, data);
+            inOffset += numBands;
+          }
+      }
+  }
+
+  /**
+   * Sets the sample values for the pixels in the region specified by 
+   * (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on). 
+   *  
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param fArray  the pixel sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>fArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixels(int x, int y, int w, int h, float[] fArray,
+                        DataBuffer data)
+  {
+    int inOffset = 0;
+    float[] pixel = new float[numBands];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            System.arraycopy(fArray, inOffset, pixel, 0, numBands);
+            setPixel(xx, yy, pixel, data);
+            inOffset += numBands;
+          }
+      }
+  }
+
+  /**
+   * Sets the sample values for the pixels in the region specified by 
+   * (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on). 
+   *  
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param dArray  the pixel sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>dArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixels(int x, int y, int w, int h, double[] dArray,
+                        DataBuffer data)
+  {
+    int inOffset = 0;
+    double[] pixel = new double[numBands];
+    for (int yy = y; yy < (y + h); yy++)
+      {
+        for (int xx = x; xx < (x + w); xx++)
+          {
+            System.arraycopy(dArray, inOffset, pixel, 0, numBands);
+            setPixel(xx, yy, pixel, data);
+            inOffset += numBands;
+          }
+      }
+  }
+
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the 
+   * specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public abstract void setSample(int x, int y, int b, int s,
+                                 DataBuffer data);
+
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the 
+   * specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public void setSample(int x, int y, int b, float s,
+                        DataBuffer data)
+  {
+    setSample(x, y, b, (int) s, data);
+  }
+
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the 
+   * specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public void setSample(int x, int y, int b, double s,
+                        DataBuffer data)
+  {
+    setSample(x, y, b, (float) s, data);
+  }
+
+  /**
+   * Sets the sample values for one band for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param iArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setSamples(int x, int y, int w, int h, int b,
+                         int[] iArray, DataBuffer data)
+  {
+    int size = w * h;
+    int inOffset = 0;
+    for (int yy = y; yy < (y + h); yy++)
+      for (int xx = x; xx < (x + w); xx++)
+        setSample(xx, yy, b, iArray[inOffset++], data);
+  }
+
+  /**
+   * Sets the sample values for one band for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param fArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setSamples(int x, int y, int w, int h, int b,
+                         float[] fArray, DataBuffer data)
+  {
+    int size = w * h;
+    int inOffset = 0;
+    for (int yy = y; yy < (y + h); yy++)
+      for (int xx = x; xx < (x + w); xx++)
+        setSample(xx, yy, b, fArray[inOffset++], data);
+
+  }
+
+  /**
+   * Sets the sample values for one band for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param dArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setSamples(int x, int y, int w, int h, int b,
+                         double[] dArray, DataBuffer data) {
+    int size = w * h;
+    int inOffset = 0;
+    for (int yy = y; yy < (y + h); yy++)
+      for (int xx = x; xx < (x + w); xx++)
+        setSample(xx, yy, b, dArray[inOffset++], data);
+  }
+
+  /**
+   * Creates a new <code>SampleModel</code> that is compatible with this
+   * model and has the specified width and height.
+   * 
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * 
+   * @return The new sample model.
+   */
+  public abstract SampleModel createCompatibleSampleModel(int w, int h);
+
+  /**
+   * Return a SampleModel with a subset of the bands in this model.
+   * 
+   * Selects bands.length bands from this sample model.  The bands chosen
+   * are specified in the indices of bands[].  This also permits permuting
+   * the bands as well as taking a subset.  Thus, giving an array with
+   * 1, 2, 3, ..., numbands, will give an identical sample model.
+   * 
+   * @param bands Array with band indices to include.
+   * @return A new sample model
+   */
+  public abstract SampleModel createSubsetSampleModel(int[] bands);
+
+  /**
+   * Creates a new {@link DataBuffer} of the correct type and size for this 
+   * <code>SampleModel</code>.
+   * 
+   * @return The data buffer.
+   */
+  public abstract DataBuffer createDataBuffer();
+
+  /**
+   * Returns an array containing the size (in bits) for each band accessed by
+   * the <code>SampleModel</code>.
+   * 
+   * @return An array.
+   * 
+   * @see #getSampleSize(int)
+   */
+  public abstract int[] getSampleSize();
+
+  /**
+   * Returns the size (in bits) of the samples for the specified band.
+   * 
+   * @param band  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   *     
+   * @return The sample size (in bits).
+   */
+  public abstract int getSampleSize(int band);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/SinglePixelPackedSampleModel.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,585 @@
+/* Copyright (C) 2000, 2002, 2003, 2004, 2006,  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package java.awt.image;
+
+import java.util.Arrays;
+
+import gnu.java.awt.BitMaskExtent;
+
+/**
+ * A <code>SampleModel</code> used when all samples are stored in a single
+ * data element in the {@link DataBuffer}, and each data element contains 
+ * samples for one pixel only.
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public class SinglePixelPackedSampleModel extends SampleModel
+{
+  private int scanlineStride;
+  private int[] bitMasks;
+  private int[] bitOffsets;
+  private int[] sampleSize;
+  
+  /**
+   * Creates a new <code>SinglePixelPackedSampleModel</code>.
+   * 
+   * @param dataType  the data buffer type.
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * @param bitMasks  an array containing the bit mask used to extract the
+   *     sample value for each band.
+   */
+  public SinglePixelPackedSampleModel(int dataType, int w, int h,
+				      int[] bitMasks)
+  {
+    this(dataType, w, h, w, bitMasks);
+  }
+
+  /**
+   * Creates a new <code>SinglePixelPackedSampleModel</code>.
+   * 
+   * @param dataType  the data buffer type.
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * @param scanlineStride  the number of data elements between a pixel on one
+   *     row and the corresponding pixel on the next row.
+   * @param bitMasks  an array containing the bit mask used to extract the
+   *     sample value for each band.
+   */
+  public SinglePixelPackedSampleModel(int dataType, int w, int h,
+				      int scanlineStride, int[] bitMasks)
+  {
+    super(dataType, w, h, bitMasks.length);
+
+    switch (dataType)
+      {
+      case DataBuffer.TYPE_BYTE:
+      case DataBuffer.TYPE_USHORT:
+      case DataBuffer.TYPE_INT:
+	break;
+      default:
+        throw new IllegalArgumentException(
+            "SinglePixelPackedSampleModel unsupported dataType");
+      }
+    
+    this.scanlineStride = scanlineStride;
+    this.bitMasks = bitMasks;
+    
+    bitOffsets = new int[numBands];
+    sampleSize = new int[numBands];
+    
+    BitMaskExtent extent = new BitMaskExtent();
+    for (int b = 0; b < numBands; b++)
+      {
+        // the mask is an unsigned integer
+        long mask = bitMasks[b] & 0xFFFFFFFFL;
+        extent.setMask(mask);
+        sampleSize[b] = extent.bitWidth;
+        bitOffsets[b] = extent.leastSignificantBit;
+      }
+  }
+
+  /**
+   * Returns the number of data elements.
+   * 
+   * @return <code>1</code>.
+   */
+  public int getNumDataElements()
+  {
+    return 1;
+  }
+
+  /**
+   * Creates a new <code>SampleModel</code> that is compatible with this
+   * model and has the specified width and height.
+   * 
+   * @param w  the width (in pixels).
+   * @param h  the height (in pixels).
+   * 
+   * @return The new sample model.
+   */
+  public SampleModel createCompatibleSampleModel(int w, int h)
+  {
+    /* FIXME: We can avoid recalculation of bit offsets and sample
+       sizes here by passing these from the current instance to a
+       special private constructor. */
+    return new SinglePixelPackedSampleModel(dataType, w, h, bitMasks);
+  }
+
+
+  /**
+   * Creates a DataBuffer for holding pixel data in the format and
+   * layout described by this SampleModel. The returned buffer will
+   * consist of one single bank.
+   * 
+   * @return The data buffer.
+   */
+  public DataBuffer createDataBuffer()
+  {
+    // We can save (scanlineStride - width) pixels at the very end of
+    // the buffer. The Sun reference implementation (J2SE 1.3.1 and
+    // 1.4.1_01) seems to do this; tested with Mauve test code.
+    int size = scanlineStride * (height - 1) + width;
+
+    DataBuffer buffer = null;
+    switch (getTransferType())
+      {
+      case DataBuffer.TYPE_BYTE:
+        buffer = new DataBufferByte(size);
+        break;
+      case DataBuffer.TYPE_USHORT:
+        buffer = new DataBufferUShort(size);
+        break;
+      case DataBuffer.TYPE_INT:
+        buffer = new DataBufferInt(size);
+        break;
+      }
+    return buffer;
+  }
+
+  /**
+   * Returns an array containing the size (in bits) for each band accessed by
+   * the <code>SampleModel</code>.
+   * 
+   * @return An array.
+   * 
+   * @see #getSampleSize(int)
+   */
+  public int[] getSampleSize()
+  {
+    return (int[]) sampleSize.clone();
+  }
+  
+  /**
+   * Returns the size (in bits) of the samples for the specified band.
+   * 
+   * @param band  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   *     
+   * @return The sample size (in bits).
+   */
+  public int getSampleSize(int band)
+  {
+    return sampleSize[band];
+  }
+
+  /**
+   * Returns the index in the data buffer that stores the pixel at (x, y).
+   * 
+   * @param x  the x-coordinate.
+   * @param y  the y-coordinate.
+   * 
+   * @return The index in the data buffer that stores the pixel at (x, y).
+   */
+  public int getOffset(int x, int y)
+  {
+    return scanlineStride*y + x;
+  }
+
+  public int[] getBitOffsets()
+  {
+    return bitOffsets;
+  }
+
+  public int[] getBitMasks()
+  {
+    return bitMasks;
+  }
+
+  /**
+   * Returns the number of data elements from a pixel in one row to the
+   * corresponding pixel in the next row.
+   * 
+   * @return The scanline stride.
+   */
+  public int getScanlineStride()
+  {
+    return scanlineStride;
+  }
+
+  /**
+   * Creates a new <code>SinglePixelPackedSampleModel</code> that accesses
+   * the specified subset of bands.
+   * 
+   * @param bands  an array containing band indices (<code>null</code> not
+   *     permitted).
+   * 
+   * @return A new sample model.
+   * 
+   * @throws NullPointerException if <code>bands</code> is <code>null</code>.
+   * @throws RasterFormatException if <code>bands.length</code> is greater
+   *     than the number of bands in this model.
+   */
+  public SampleModel createSubsetSampleModel(int[] bands)
+  {
+    if (bands.length > numBands)
+      throw new RasterFormatException("Too many bands.");
+    
+    int numBands = bands.length;
+    
+    int[] bitMasks = new int[numBands];
+
+    for (int b = 0; b < numBands; b++)
+      bitMasks[b] = this.bitMasks[bands[b]];
+
+    return new SinglePixelPackedSampleModel(dataType, width, height,
+					    scanlineStride, bitMasks);
+  }
+
+  public Object getDataElements(int x, int y, Object obj,
+				DataBuffer data)
+  {
+    int type = getTransferType();
+    Object ret = null;
+    switch (type)
+      {
+      case DataBuffer.TYPE_BYTE:
+        {
+          byte[] in = (byte[]) obj;
+          if (in == null)
+            in = new byte[1];
+          in[0] = (byte) data.getElem(x + y * scanlineStride);
+          ret = in;
+        }
+        break;
+      case DataBuffer.TYPE_USHORT:
+        {
+          short[] in = (short[]) obj;
+          if (in == null)
+            in = new short[1];
+          in[0] = (short) data.getElem(x + y * scanlineStride);
+          ret = in;
+        }
+        break;
+      case DataBuffer.TYPE_INT:
+        {
+          int[] in = (int[]) obj;
+          if (in == null)
+            in = new int[1];
+          in[0] = data.getElem(x + y * scanlineStride);
+          ret = in;
+        }
+        break;
+      }
+    return ret;
+  }
+  
+  /**
+   * Returns an array containing the samples for the pixel at (x, y) in the
+   * specified data buffer.  If <code>iArray</code> is not <code>null</code>,
+   * it will be populated with the sample values and returned as the result of
+   * this function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    int offset = scanlineStride*y + x;
+    if (iArray == null) iArray = new int[numBands];
+    int samples = data.getElem(offset);
+
+    for (int b = 0; b < numBands; b++)
+      iArray[b] = (samples & bitMasks[b]) >>> bitOffsets[b];
+	
+    return iArray;
+  }
+
+  /**
+   * Returns an array containing the samples for the pixels in the region 
+   * specified by (x, y, w, h) in the specified data buffer.  The array is
+   * ordered by pixels (that is, all the samples for the first pixel are 
+   * grouped together, followed by all the samples for the second pixel, and so
+   * on).  If <code>iArray</code> is not <code>null</code>, it will be 
+   * populated with the sample values and returned as the result of this 
+   * function (this avoids allocating a new array instance).
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param iArray  an array to populate with the sample values and return as 
+   *     the result (if <code>null</code>, a new array will be allocated).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The pixel sample values.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int[] getPixels(int x, int y, int w, int h, int[] iArray,
+			 DataBuffer data)
+  {
+    int offset = scanlineStride*y + x;
+    if (iArray == null) iArray = new int[numBands*w*h];
+    int outOffset = 0;
+    for (y = 0; y < h; y++)
+      {
+	int lineOffset = offset;
+	for (x = 0; x < w; x++)
+	  {
+	    int samples = data.getElem(lineOffset++);
+	    for (int b = 0; b < numBands; b++)
+	      iArray[outOffset++] = (samples & bitMasks[b]) >>> bitOffsets[b];
+	  }
+	offset += scanlineStride;
+      }
+    return iArray;	
+  }
+
+  /**
+   * Returns the sample value for the pixel at (x, y) in the specified data 
+   * buffer.
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @return The sample value.
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public int getSample(int x, int y, int b, DataBuffer data)
+  {
+    int offset = scanlineStride*y + x;
+    int samples = data.getElem(offset);
+    return (samples & bitMasks[b]) >>> bitOffsets[b];
+  }
+  
+  public void setDataElements(int x, int y, Object obj, DataBuffer data)
+  {
+    int transferType = getTransferType();
+    switch (transferType)
+      {
+      case DataBuffer.TYPE_BYTE:
+        {
+          byte[] in = (byte[]) obj;
+          data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xff);
+        }
+        break;
+      case DataBuffer.TYPE_USHORT:
+        {
+          short[] in = (short[]) obj;
+          data.setElem(y * scanlineStride + x, ((int) in[0]) & 0xffff);
+        }
+        break;
+      case DataBuffer.TYPE_INT:
+        {
+          int[] in = (int[]) obj;
+          data.setElem(y * scanlineStride + x, in[0]);
+          break;
+        }
+      }
+  }
+
+  /**
+   * Sets the samples for the pixel at (x, y) in the specified data buffer to
+   * the specified values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  the sample values (<code>null</code> not permitted).
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if either <code>iArray</code> or 
+   *     <code>data</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, int[] iArray, DataBuffer data)
+  {
+    int offset = scanlineStride*y + x;
+    
+    int samples = 0;
+    for (int b = 0; b < numBands; b++)
+      samples |= (iArray[b] << bitOffsets[b]) & bitMasks[b];
+
+    data.setElem(offset, samples);
+  }
+
+  /**
+   * This method implements a more efficient way to set pixels than the default
+   * implementation of the super class. It copies the pixel components directly
+   * from the input array instead of creating a intermediate buffer.
+   * @param x The x-coordinate of the pixel rectangle in <code>obj</code>.
+   * @param y The y-coordinate of the pixel rectangle in <code>obj</code>.
+   * @param w The width of the pixel rectangle in <code>obj</code>.
+   * @param h The height of the pixel rectangle in <code>obj</code>.
+   * @param iArray The primitive array containing the pixels to set.
+   * @param data The DataBuffer to store the pixels into.
+   * @see java.awt.image.SampleModel#setPixels(int, int, int, int, int[], 
+   *     java.awt.image.DataBuffer)
+   */
+  public void setPixels(int x, int y, int w, int h, int[] iArray,
+						DataBuffer data)
+  {
+    int inOffset = 0;
+    for (int yy=y; yy<(y+h); yy++)
+     {
+      int offset = scanlineStride*yy + x;
+      for (int xx=x; xx<(x+w); xx++)
+       { 
+        int samples = 0;
+        for (int b = 0; b < numBands; b++)
+          samples |= (iArray[inOffset+b] << bitOffsets[b]) & bitMasks[b];
+        data.setElem(0, offset, samples);
+        inOffset += numBands;
+        offset += 1;
+      }
+    }
+  }
+  
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the 
+   * specified data buffer. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   * @param data  the data buffer (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>data</code> is <code>null</code>.
+   */
+  public void setSample(int x, int y, int b, int s, DataBuffer data)
+  {
+    int offset = scanlineStride*y + x;
+    int samples = data.getElem(offset);
+    int bitMask = bitMasks[b];
+    samples &= ~bitMask;
+    samples |= (s << bitOffsets[b]) & bitMask;
+    data.setElem(offset, samples);
+  }
+  
+  /**
+   * Tests this sample model for equality with an arbitrary object.  This 
+   * method returns <code>true</code> if and only if:
+   * <ul>
+   *   <li><code>obj</code> is not <code>null</code>;
+   *   <li><code>obj</code> is an instance of 
+   *       <code>SinglePixelPackedSampleModel</code>;
+   *   <li>both models have the same:
+   *     <ul>
+   *       <li><code>dataType</code>;
+   *       <li><code>width</code>;
+   *       <li><code>height</code>;
+   *       <li><code>numBands</code>;
+   *       <li><code>scanlineStride</code>;
+   *       <li><code>bitMasks</code>;
+   *       <li><code>bitOffsets</code>.
+   *     </ul>
+   *   </li>
+   * </ul>
+   * 
+   * @param obj  the object (<code>null</code> permitted)
+   * 
+   * @return <code>true</code> if this model is equal to <code>obj</code>, and
+   *     <code>false</code> otherwise.
+   */
+  public boolean equals(Object obj) 
+  {
+    if (this == obj) 
+      return true;
+    if (! (obj instanceof SinglePixelPackedSampleModel)) 
+      return false;
+    SinglePixelPackedSampleModel that = (SinglePixelPackedSampleModel) obj;
+    if (this.dataType != that.dataType)
+      return false;
+    if (this.width != that.width)
+      return false;
+    if (this.height != that.height)
+      return false;
+    if (this.numBands != that.numBands)
+      return false;
+    if (this.scanlineStride != that.scanlineStride)
+      return false;
+    if (!Arrays.equals(this.bitMasks, that.bitMasks))
+      return false;
+    if (!Arrays.equals(this.bitOffsets, that.bitOffsets)) 
+      return false;
+    return true;
+  }
+  
+  /**
+   * Returns a hash code for this <code>SinglePixelPackedSampleModel</code>.
+   * 
+   * @return A hash code.
+   */
+  public int hashCode()
+  {
+    // this hash code won't match Sun's, but that shouldn't matter...
+    int result = 193;
+    result = 37 * result + dataType;
+    result = 37 * result + width;
+    result = 37 * result + height;
+    result = 37 * result + numBands;
+    result = 37 * result + scanlineStride;
+    for (int i = 0; i < bitMasks.length; i++)
+      result = 37 * result + bitMasks[i];
+    for (int i = 0; i < bitOffsets.length; i++)
+      result = 37 * result + bitOffsets[i];
+    return result;
+  }
+  
+  /**
+   * Creates a String with some information about this SampleModel.
+   * @return A String describing this SampleModel.
+   * @see java.lang.Object#toString()
+   */
+  public String toString()
+  {
+    StringBuffer result = new StringBuffer();
+    result.append(getClass().getName());
+    result.append("[");
+    result.append("scanlineStride=").append(scanlineStride);
+    for(int i = 0; i < bitMasks.length; i+=1)
+    {
+      result.append(", mask[").append(i).append("]=0x").append(
+          Integer.toHexString(bitMasks[i]));
+    }
+    
+    result.append("]");
+    return result.toString();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/WritableRaster.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,451 @@
+/* Copyright (C) 2000, 2002, 2003, 2006,  Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image;
+
+import java.awt.Point;
+import java.awt.Rectangle;
+
+/**
+ * A raster with methods to support updating pixel values.
+ * 
+ * @author Rolf W. Rasmussen (rolfwr@ii.uib.no)
+ */
+public class WritableRaster extends Raster
+{
+  /**
+   * Creates a new <code>WritableRaster</code>.
+   * 
+   * @param sampleModel  the sample model.
+   * @param origin  the origin.
+   */
+  protected WritableRaster(SampleModel sampleModel, Point origin) 
+  {
+    this(sampleModel, sampleModel.createDataBuffer(), origin);
+  }
+  
+  /**
+   * Creates a new <code>WritableRaster</code> instance.
+   * 
+   * @param sampleModel  the sample model.
+   * @param dataBuffer  the data buffer.
+   * @param origin  the origin.
+   */
+  protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, 
+                           Point origin)
+  {
+    this(sampleModel, dataBuffer,
+         new Rectangle(origin != null ? origin.x : 0,
+                       origin != null ? origin.y : 0,
+                       sampleModel.getWidth(), sampleModel.getHeight()),
+         origin, null);
+  }
+
+  /**
+   * Creates a new <code>WritableRaster</code> instance.
+   * 
+   * @param sampleModel  the sample model.
+   * @param dataBuffer  the data buffer.
+   * @param aRegion  the raster's bounds.
+   * @param sampleModelTranslate  the translation.
+   * @param parent  the parent.
+   */
+  protected WritableRaster(SampleModel sampleModel, 
+                           DataBuffer dataBuffer,
+                           Rectangle aRegion,
+                           Point sampleModelTranslate,
+                           WritableRaster parent)
+  {
+    super(sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent);
+  }
+
+  /**
+   * Returns the raster's parent, cast as a {@link WritableRaster}.
+   * 
+   * @return The raster's parent.
+   */
+  public WritableRaster getWritableParent()
+  {
+    return (WritableRaster) getParent();
+  }
+  
+  /**
+   * @param childMinX
+   * @param childMinY
+   * @return
+   */
+  public WritableRaster createWritableTranslatedChild(int childMinX,
+                                                      int childMinY)
+  {
+    // This mirrors the code from the super class
+    int tcx = sampleModelTranslateX - minX + childMinX;
+    int tcy = sampleModelTranslateY - minY + childMinY;
+    
+    return new WritableRaster(sampleModel, dataBuffer,
+        new Rectangle(childMinX, childMinY, width, height), 
+        new Point(tcx, tcy), this);
+  }
+
+  /**
+   * 
+   * @param parentX
+   * @param parentY
+   * @param w
+   * @param h
+   * @param childMinX
+   * @param childMinY
+   * @param bandList
+   * @return
+   */
+  public WritableRaster createWritableChild(int parentX, int parentY,
+      int w, int h, int childMinX, int childMinY, int[] bandList)
+  {
+    // This mirrors the code from the super class
+    
+    if (parentX < minX || parentX + w > minX + width
+        || parentY < minY || parentY + h > minY + height)
+      throw new RasterFormatException("Child raster extends beyond parent");
+    
+    SampleModel sm = (bandList == null) ?
+      sampleModel :
+      sampleModel.createSubsetSampleModel(bandList);
+    
+    return new WritableRaster(sm, dataBuffer,
+        new Rectangle(childMinX, childMinY, w, h),
+        new Point(sampleModelTranslateX + childMinX - parentX,
+                  sampleModelTranslateY + childMinY - parentY),
+        this);
+  }
+  
+  public Raster createChild(int parentX, int parentY, int width,
+                            int height, int childMinX, int childMinY,
+                            int[] bandList)
+  {
+    if (parentX < minX || parentX + width > minX + this.width
+        || parentY < minY || parentY + height > minY + this.height)
+      throw new RasterFormatException("Child raster extends beyond parent");
+    
+    SampleModel sm = (bandList == null) ?
+      sampleModel :
+      sampleModel.createSubsetSampleModel(bandList);
+
+    return new WritableRaster(sm, dataBuffer,
+        new Rectangle(childMinX, childMinY, width, height),
+        new Point(sampleModelTranslateX + childMinX - parentX,
+                  sampleModelTranslateY + childMinY - parentY),
+        this);
+  }
+
+  public void setDataElements(int x, int y, Object inData)
+  {
+    sampleModel.setDataElements(x - sampleModelTranslateX, 
+        y - sampleModelTranslateY, inData, dataBuffer);
+  }
+
+  public void setDataElements(int x, int y, Raster inRaster)
+  {
+    Object dataElements = getDataElements(0, 0, inRaster.getWidth(),
+        inRaster.getHeight(), null);
+    setDataElements(x, y, dataElements);
+  }
+
+  public void setDataElements(int x, int y, int w, int h, Object inData)
+  {
+    sampleModel.setDataElements(x - sampleModelTranslateX,
+        y - sampleModelTranslateY, w, h, inData, dataBuffer);
+  }
+
+  /**
+   * 
+   * @param srcRaster
+   */
+  public void setRect(Raster srcRaster)
+  {
+    setRect(0, 0, srcRaster);
+  }
+
+  /**
+   * 
+   * @param dx
+   * @param dy
+   * @param srcRaster
+   */
+  public void setRect(int dx, int dy, Raster srcRaster) 
+  {
+    Rectangle targetUnclipped = new Rectangle(srcRaster.getMinX() + dx,
+        srcRaster.getMinY() + dy, srcRaster.getWidth(), srcRaster.getHeight());
+        
+    Rectangle target = getBounds().intersection(targetUnclipped);
+
+    if (target.isEmpty()) return;
+    
+    int sx = target.x - dx;
+    int sy = target.y - dy;
+    
+    // FIXME: Do tests on rasters and use get/set data instead.
+    
+    /* The JDK documentation seems to imply this implementation.
+       (the trucation of higher bits), but an implementation using
+       get/setDataElements would be more efficient. None of the
+       implementations would do anything sensible when the sample
+       models don't match.
+       
+       But this is probably not the place to consider such
+       optimizations.*/
+
+    int[] pixels = srcRaster.getPixels(sx, sy, target.width, target.height,
+                                       (int[]) null);
+
+    setPixels(target.x, target.y, target.width, target.height, pixels);
+  }
+
+  /**
+   * Sets the samples for the pixel at (x, y) in the raster to the specified 
+   * values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param iArray  the sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>iArray</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, int[] iArray)
+  {
+    sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                         iArray, dataBuffer);
+  }
+
+  /**
+   * Sets the samples for the pixel at (x, y) in the raster to the specified 
+   * values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param fArray  the sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>fArray</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, float[] fArray)
+  {
+    sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                         fArray, dataBuffer);
+  }
+
+  /**
+   * Sets the samples for the pixel at (x, y) in the raster to the specified 
+   * values. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param dArray  the sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>dArray</code> is <code>null</code>.
+   */
+  public void setPixel(int x, int y, double[] dArray)
+  {
+    sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                         dArray, dataBuffer);
+  }
+
+  /**
+   * Sets the sample values for the pixels in the region specified by 
+   * (x, y, w, h) in the raster.  The array is ordered by pixels (that is, all 
+   * the samples for the first pixel are grouped together, followed by all the 
+   * samples for the second pixel, and so on). 
+   *  
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param iArray  the pixel sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>iArray</code> is <code>null</code>.
+   */
+  public void setPixels(int x, int y, int w, int h, int[] iArray)
+  {
+    sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                          w, h, iArray, dataBuffer);
+  }
+
+  /**
+   * Sets the sample values for the pixels in the region specified by 
+   * (x, y, w, h) in the raster.  The array is ordered by pixels (that is, all 
+   * the samples for the first pixel are grouped together, followed by all the 
+   * samples for the second pixel, and so on). 
+   *  
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param fArray  the pixel sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>fArray</code> is <code>null</code>.
+   */
+  public void setPixels(int x, int y, int w, int h, float[] fArray)
+  {
+    sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                          w, h, fArray, dataBuffer);
+  }
+
+  /**
+   * Sets the sample values for the pixels in the region specified by 
+   * (x, y, w, h) in the raster.  The array is ordered by pixels (that is, all 
+   * the samples for the first pixel are grouped together, followed by all the 
+   * samples for the second pixel, and so on). 
+   *  
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param dArray  the pixel sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>dArray</code> is <code>null</code>.
+   */
+  public void setPixels(int x, int y, int w, int h, double[] dArray)
+  {
+    sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                          w, h, dArray, dataBuffer);
+  }
+
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the raster. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   */
+  public void setSample(int x, int y, int b, int s)
+  {
+    sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                          b, s, dataBuffer);
+  }
+
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the raster. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   */
+  public void setSample(int x, int y, int b, float s)
+  {
+    sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                          b, s, dataBuffer);
+  }
+
+  /**
+   * Sets the sample value for a band for the pixel at (x, y) in the raster. 
+   * 
+   * @param x  the x-coordinate of the pixel.
+   * @param y  the y-coordinate of the pixel.
+   * @param b  the band (in the range <code>0</code> to 
+   *     <code>getNumBands() - 1</code>).
+   * @param s  the sample value.
+   */
+  public void setSample(int x, int y, int b, double s)
+  {
+    sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                          b, s, dataBuffer);
+  }
+
+  /**
+   * Sets the sample values for one band for the pixels in the region 
+   * specified by (x, y, w, h) in the raster. 
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param iArray  the sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>iArray</code> is <code>null</code>.
+   */
+  public void setSamples(int x, int y, int w, int h, int b,
+                         int[] iArray)
+  {
+    sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                           w, h, b, iArray, dataBuffer);
+  }
+
+  /**
+   * Sets the sample values for one band for the pixels in the region 
+   * specified by (x, y, w, h) in the raster. 
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param fArray  the sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>fArray</code> is <code>null</code>.
+   */
+  public void setSamples(int x, int y, int w, int h, int b,
+                         float[] fArray)
+  {
+    sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                           w, h, b, fArray, dataBuffer);
+  }
+
+  /**
+   * Sets the sample values for one band for the pixels in the region 
+   * specified by (x, y, w, h) in the raster. 
+   * 
+   * @param x  the x-coordinate of the top-left pixel.
+   * @param y  the y-coordinate of the top-left pixel.
+   * @param w  the width of the region of pixels.
+   * @param h  the height of the region of pixels.
+   * @param b  the band (in the range <code>0</code> to 
+   *     </code>getNumBands() - 1</code>).
+   * @param dArray  the sample values (<code>null</code> not permitted).
+   * 
+   * @throws NullPointerException if <code>dArray</code> is <code>null</code>.
+   */
+  public void setSamples(int x, int y, int w, int h, int b,
+                         double[] dArray)
+  {
+    sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY,
+                           w, h, b, dArray, dataBuffer);
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/WritableRenderedImage.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+/* WritableRenderedImage.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image;
+
+import java.awt.Point;
+
+/**
+ * NEEDS DOCUMENTATION
+ */
+public interface WritableRenderedImage extends RenderedImage
+{
+  void addTileObserver(TileObserver to);
+  void removeTileObserver(TileObserver to);
+  WritableRaster getWritableTile(int x, int y);
+  void releaseWritableTile(int x, int y);
+  boolean isTileWritable(int x, int y);
+  Point[] getWritableTileIndices();
+  boolean hasTileWriters();
+  void setData(Raster r);
+} // interface WritableRenderedImage
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/renderable/ContextualRenderedImageFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+/* ContextualRenderedImageFactory.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image.renderable;
+
+import java.awt.geom.Rectangle2D;
+import java.awt.image.RenderedImage;
+
+/**
+ * STUBBED
+ */
+public interface ContextualRenderedImageFactory extends RenderedImageFactory
+{
+  RenderContext mapRenderContext(int i, RenderContext context,
+                                 ParameterBlock block, RenderableImage image);
+  RenderedImage create(RenderContext context, ParameterBlock block);
+  Rectangle2D getBounds2D(ParameterBlock block);
+  Object getProperty(ParameterBlock block, String name);
+  String[] getPropertyNames();
+  boolean isDynamic();
+} // interface ContextualRenderedImageFactory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/renderable/RenderContext.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,141 @@
+/* RenderContext.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image.renderable;
+
+import java.awt.RenderingHints;
+import java.awt.Shape;
+import java.awt.geom.AffineTransform;
+
+public class RenderContext implements Cloneable
+{
+  private AffineTransform xform;
+  private Shape aoi;
+  private RenderingHints hints;
+
+  public RenderContext(AffineTransform xform, Shape aoi, RenderingHints hints)
+  {
+    this.xform = xform;
+    this.aoi = aoi;
+    this.hints = hints;
+  }
+
+  public RenderContext(AffineTransform xform)
+  {
+    this(xform, null, null);
+  }
+
+  public RenderContext(AffineTransform xform, RenderingHints hints)
+  {
+    this(xform, null, hints);
+  }
+
+  public RenderContext(AffineTransform xform, Shape aoi)
+  {
+    this(xform, aoi, null);
+  }
+
+  public RenderingHints getRenderingHints()
+  {
+    return hints;
+  }
+
+  public void setRenderingHints(RenderingHints hints)
+  {
+    this.hints = hints;
+  }
+
+  public void setTransform(AffineTransform xform)
+  {
+    this.xform = xform;
+  }
+
+  public void preConcatenateTransform(AffineTransform pre)
+  {
+    preConcetenateTransform (pre);
+  }
+
+  /** @deprecated */
+  public void preConcetenateTransform(AffineTransform pre)
+  {
+    xform.preConcatenate (pre);
+  }
+
+  public void concatenateTransform(AffineTransform post)
+  {
+    concetenateTransform (post);
+  }
+
+  /** @deprecated */
+  public void concetenateTransform(AffineTransform post)
+  {
+    xform.concatenate (post);
+  }
+
+  public AffineTransform getTransform()
+  {
+    return xform;
+  }
+
+  public void setAreaOfInterest(Shape aoi)
+  {
+    this.aoi = aoi;
+  }
+
+  public Shape getAreaOfInterest()
+  {
+    return aoi;
+  }
+
+  public Object clone()
+  {
+    try
+      {
+        RenderContext copy = (RenderContext) super.clone();
+        if (xform != null)
+          copy.xform = (AffineTransform) xform.clone();
+        if (hints != null)
+          copy.hints = (RenderingHints) hints.clone();
+        return copy;
+      }
+    catch (CloneNotSupportedException e)
+      {
+        throw (Error) new InternalError().initCause(e); // impossible
+      }
+  }
+} // class RenderContext
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/renderable/RenderableImage.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,62 @@
+/* RenderableImage.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image.renderable;
+
+import java.awt.RenderingHints;
+import java.awt.image.RenderedImage;
+import java.util.Vector;
+
+public interface RenderableImage
+{
+  String HINTS_OBSERVED = "HINTS_OBSERVED";
+  
+  Vector<RenderableImage> getSources();
+  Object getProperty(String name);
+  String[] getPropertyNames();
+  boolean isDynamic();
+  float getWidth();
+  float getHeight();
+  float getMinX();
+  float getMinY();
+  RenderedImage createScaledRendering(int w, int h, RenderingHints hints);
+  RenderedImage createDefaultRendering();
+  RenderedImage createRendering(RenderContext context);
+
+} // interface RenderableImage
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/renderable/RenderableImageOp.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,157 @@
+/* RenderableImageOp.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image.renderable;
+
+import java.awt.RenderingHints;
+import java.awt.geom.AffineTransform;
+import java.awt.image.RenderedImage;
+import java.util.Vector;
+
+public class RenderableImageOp implements RenderableImage
+{
+  private final ContextualRenderedImageFactory crif;
+  private ParameterBlock block;
+
+  public RenderableImageOp(ContextualRenderedImageFactory crif,
+                           ParameterBlock block)
+  {
+    this.crif = crif;
+    this.block = (ParameterBlock) block.clone();
+  }
+
+  public Vector<RenderableImage> getSources()
+  {
+    if (block.sources == null)
+      return null;
+    int size = block.sources.size();
+    Vector v = new Vector();
+    for (int i = 0; i < size; i++)
+      {
+        Object o = block.sources.get(i);
+        if (o instanceof RenderableImage)
+          v.add(o);
+      }
+    return v;
+  }
+
+  public Object getProperty(String name)
+  {
+    return crif.getProperty(block, name);
+  }
+
+  public String[] getPropertyNames()
+  {
+    return crif.getPropertyNames();
+  }
+
+  public boolean isDynamic()
+  {
+    return crif.isDynamic();
+  }
+
+  public float getWidth()
+  {
+    return (float) crif.getBounds2D(block).getWidth();
+  }
+
+  public float getHeight()
+  {
+    return (float) crif.getBounds2D(block).getHeight();
+  }
+
+  public float getMinX()
+  {
+    return (float) crif.getBounds2D(block).getX();
+  }
+
+  public float getMinY()
+  {
+    return (float) crif.getBounds2D(block).getY();
+  }
+
+  public ParameterBlock setParameterBlock(ParameterBlock block)
+  {
+    ParameterBlock result = this.block;
+    this.block = (ParameterBlock) block.clone();
+    return result;
+  }
+
+  public ParameterBlock getParameterBlock()
+  {
+    return block;
+  }
+
+  public RenderedImage createScaledRendering(int w, int h,
+                                             RenderingHints hints)
+  {
+    if (w == 0)
+      if (h == 0)
+        throw new IllegalArgumentException();
+      else
+        w = Math.round(h * getWidth() / getHeight());
+    if (h == 0)
+      h = Math.round(w * getHeight() / getWidth());
+    AffineTransform xform = AffineTransform.getScaleInstance(w * getWidth(),
+                                                             h * getHeight());
+    return createRendering(new RenderContext(xform, hints));
+  }
+
+  public RenderedImage createDefaultRendering()
+  {
+    return createRendering(new RenderContext(new AffineTransform()));
+  }
+
+  public RenderedImage createRendering(RenderContext context)
+  {
+    ParameterBlock copy = (ParameterBlock) block.clone();
+    int i = block.sources.size();
+    while (--i >= 0)
+      {
+        Object o = block.sources.get(i);
+        if (o instanceof RenderableImage)
+          {
+            RenderableImage ri = (RenderableImage) o;
+            RenderContext rc = crif.mapRenderContext(i, context, block, ri);
+            copy.sources.set(i, ri.createRendering(rc));
+          }
+      }
+    // Now copy.sources should be only RenderedImages.
+    return crif.create(context, copy);
+  }
+} // class RenderableImageOp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/renderable/RenderableImageProducer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,166 @@
+/* RenderableImageProducer.java -- 
+   Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image.renderable;
+
+import java.awt.image.ColorModel;
+import java.awt.image.DataBuffer;
+import java.awt.image.ImageConsumer;
+import java.awt.image.ImageProducer;
+import java.awt.image.Raster;
+import java.awt.image.RenderedImage;
+import java.awt.image.SampleModel;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+public class RenderableImageProducer implements ImageProducer, Runnable
+{
+  private RenderableImage image;
+  private RenderContext context;
+  private ArrayList consumers = new ArrayList();
+
+  public RenderableImageProducer(RenderableImage image, RenderContext context)
+  {
+    this.image = image;
+    this.context = context;
+  }
+
+  public void setRenderContext(RenderContext context)
+  {
+    this.context = context;
+  }
+
+  public void addConsumer(ImageConsumer consumer)
+  {
+    synchronized (consumers)
+      {
+        if (! consumers.contains(consumer))
+          consumers.add(consumer);
+      }
+  }
+
+  public boolean isConsumer(ImageConsumer consumer)
+  {
+    synchronized (consumers)
+      {
+        return consumers.contains(consumer);
+      }
+  }
+
+  public void removeConsumer(ImageConsumer consumer)
+  {
+    synchronized (consumers)
+      {
+        consumers.remove(consumer);
+      }
+  }
+
+  public void startProduction(ImageConsumer consumer)
+  {
+    addConsumer(consumer);
+    Thread t = new Thread(this, "RenderableImageProducerWorker");
+    t.start();
+  }
+
+  public void requestTopDownLeftRightResend(ImageConsumer consumer)
+  {
+    // Do nothing.  The contract says we can ignore this call, so we do.
+  }
+
+  public void run()
+  {
+    // This isn't ideal but it avoids fail-fast problems.
+    // Alternatively, we could clone 'consumers' here.
+    synchronized (consumers)
+      {
+        RenderedImage newImage;
+        if (context == null)
+          newImage = image.createDefaultRendering();
+        else
+          newImage = image.createRendering(context);
+        Raster newData = newImage.getData();
+        ColorModel colorModel = newImage.getColorModel();
+        if (colorModel == null)
+          colorModel = ColorModel.getRGBdefault();
+        SampleModel sampleModel = newData.getSampleModel();
+        DataBuffer dataBuffer = newData.getDataBuffer();
+        int width = newData.getWidth();
+        int height = newData.getHeight();
+
+        // Initialize the consumers.
+        Iterator it = consumers.iterator();
+        while (it.hasNext())
+          {
+            ImageConsumer target = (ImageConsumer) it.next();
+            target.setHints(ImageConsumer.COMPLETESCANLINES
+                            | ImageConsumer.SINGLEFRAME
+                            | ImageConsumer.SINGLEPASS
+                            | ImageConsumer.TOPDOWNLEFTRIGHT);
+            target.setDimensions(width, height);
+          }
+
+        // Work in scan-line order.
+        int[] newLine = new int[width];
+        int[] bands = new int[sampleModel.getNumBands()];
+        for (int y = 0; y < height; ++y)
+          {
+            for (int x = 0; x < width; ++x)
+              {
+                sampleModel.getPixel(x, y, bands, dataBuffer);
+                newLine[x] = colorModel.getDataElement(bands, 0);
+              }
+
+            // Tell the consumers about the new scan line.
+            it = consumers.iterator();
+            while (it.hasNext())
+              {
+                ImageConsumer target = (ImageConsumer) it.next();
+                target.setPixels(0, y, width, 1, colorModel, newLine, 0, width);
+              }
+          }
+
+        // Tell the consumers that we're done.
+        it = consumers.iterator();
+        while (it.hasNext())
+          {
+            ImageConsumer target = (ImageConsumer) it.next();
+            target.imageComplete(ImageConsumer.STATICIMAGEDONE);
+          }
+      }
+  }
+} // class RenderableImageProducer
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/java/awt/image/renderable/RenderedImageFactory.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,47 @@
+/* RenderedImageFactory.java -- 
+   Copyright (C) 2002 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package java.awt.image.renderable;
+
+import java.awt.RenderingHints;
+import java.awt.image.RenderedImage;
+
+public interface RenderedImageFactory
+{
+  RenderedImage create(ParameterBlock block, RenderingHints hints);
+} // interface RenderedImageFactory
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/javax/script/Synchronizer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,49 @@
+/* Synchronizer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package javax.script;
+
+import com.sun.script.javascript.Function;
+
+public class Synchronizer {
+
+	public Synchronizer(Function function) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/javax/script/Wrapper.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,48 @@
+/* Wrapper.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package javax.script;
+
+public class Wrapper {
+
+	public Object unwrap() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/dc/path/FastPathProducer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,56 @@
+/* FastPathProducer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.dc.path;
+
+import sun.java2d.pipe.ShapeSpanIterator;
+
+public class FastPathProducer {
+
+	public void sendTo(ShapeSpanIterator iterator) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void sendTo(PathConsumer adapter) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/dc/path/PathConsumer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,60 @@
+/* PathConsumer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.dc.path;
+
+public interface PathConsumer {
+
+	void beginPath();
+
+	void beginSubpath(float mx, float my);
+
+	void appendLine(float f, float g);
+
+	void appendQuadratic(float f, float g, float h, float i);
+
+	void appendCubic(float f, float g, float h, float i, float j, float k);
+
+	void closedSubpath();
+
+	void endPath() throws PathException;
+
+	void dispose();
+
+	PathConsumer getConsumer();
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/dc/path/PathException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+/* PathException.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.dc.path;
+
+public class PathException extends Exception {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/dc/pr/PRException.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,42 @@
+/* PRException.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.dc.pr;
+
+public class PRException extends Exception {
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/dc/pr/PathDasher.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,115 @@
+/* PathDasher.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.dc.pr;
+
+import sun.dc.path.PathConsumer;
+
+public class PathDasher implements PathConsumer {
+
+	public PathDasher(PathStroker stroker) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public void setDash(float[] dash, float dash_phase) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setDashT4(Object object) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void dispose() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendCubic(float f, float g, float h, float i, float j, float k) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendLine(float f, float g) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendQuadratic(float f, float g, float h, float i) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void beginPath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void beginSubpath(float mx, float my) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void closedSubpath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void endPath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public PathConsumer getConsumer() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/dc/pr/PathStroker.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,133 @@
+/* PathStroker.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.dc.pr;
+
+import sun.dc.path.PathConsumer;
+
+public class PathStroker implements PathConsumer {
+
+	public PathStroker(PathConsumer consumer) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated constructor stub
+	}
+
+	public void setPenDiameter(float width) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setPenT4(Object object) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setCaps(int i) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setCorners(int i, float miterlimit) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void dispose() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendCubic(float f, float g, float h, float i, float j, float k) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendLine(float f, float g) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendQuadratic(float f, float g, float h, float i) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void beginPath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void beginSubpath(float mx, float my) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void closedSubpath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void endPath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setPenFitting(float penUnits, int minPenUnits) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public PathConsumer getConsumer() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/dc/pr/Rasterizer.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,180 @@
+/* Rasterizer.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.dc.pr;
+
+public class Rasterizer {
+
+	public static final int BUTT = 0;
+	public static final int ROUND = 0;
+	public static final int SQUARE = 0;
+	public static final int MITER = 0;
+	public static final int BEVEL = 0;
+	public static final int TILE_IS_GENERAL = 0;
+	public static final String STROKE = null;
+	public static final String EOFILL = null;
+	public static final String NZFILL = null;
+	public static int TILE_SIZE;
+	public static int TILE_IS_ALL_0;
+	
+	public void getAlphaBox(int[] abox) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setOutputArea(int i, int j, int k, int l) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public int getTileState() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+
+	}
+
+	public void nextTile() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void reset() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void writeAlpha(byte[] alpha, int xstride, int ystride, int offset) throws InterruptedException {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setPenDiameter(float minPenSizeAA) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setUsage(String stroke2) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setPenT4(float[] matrix) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setPenFitting(float penUnits, int minPenUnitsAA) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setCaps(int i) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setCorners(int i, float miterLimit) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setDash(float[] dashes, float dashPhase) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void setDashT4(float[] matrix) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void beginPath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void beginSubpath(float mx, float my) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendLine(float f, float g) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendQuadratic(float f, float g, float h, float i) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void appendCubic(float f, float g, float h, float i, float j, float k) {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void closedSubpath() {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void endPath() throws PRException {
+		throw new RuntimeException("Not implemented.");
+		// TODO Auto-generated method stub
+		
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rt/sun/org/mozilla/internal/NativeJavaArray.java	Thu Jun 07 13:53:29 2007 +0000
@@ -0,0 +1,47 @@
+/* NativeJavaArray.java -- stub file.
+   Copyright (C) 2007 Red Hat, Inc.
+
+This file is part of IcedTea.
+
+IcedTea is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published by
+the Free Software Foundation, version 2.
+
+IcedTea 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 for more details.
+
+You should have received a copy of the GNU General Public License
+along with IcedTea; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version.
+*/
+
+package sun.org.mozilla.javascript.internal;
+
+public class NativeJavaArray
+{
+	public Object unwrap()
+	{
+		throw new RuntimeException("Not implemented.");
+	}
+
+}