Updated our source to the official/final OSGi 4.0.1 source.


git-svn-id: https://svn.apache.org/repos/asf/incubator/felix/trunk@465395 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/org.osgi.compendium/pom.xml b/org.osgi.compendium/pom.xml
index e508363..10eb4d8 100644
--- a/org.osgi.compendium/pom.xml
+++ b/org.osgi.compendium/pom.xml
@@ -21,14 +21,12 @@
       <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
-<!--
     <dependency>
-      <groupId>javax.microedition</groupId>
-      <artifactId>javax.microedition</artifactId>
-      <version>1.0.4</version>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.osgi.foundation</artifactId>
+      <version>${pom.version}</version>
       <scope>provided</scope>
     </dependency>
--->
   </dependencies>
   <build>
     <plugins>
@@ -47,7 +45,7 @@
             <bundleCopyright>Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.</bundleCopyright>
             <bundleCategory>osgi</bundleCategory>
             <bundleDocUrl>http://www.osgi.org/</bundleDocUrl>
-            <exportPackage>org.osgi.service.cm ;specification-version="1.2",org.osgi.service.component ;specification-version="1.0",org.osgi.service.device ;specification-version="1.1",org.osgi.service.event ;specification-version="1.0.1",org.osgi.service.http ;specification-version="1.2",org.osgi.service.io ;specification-version="1.0",org.osgi.service.log ;specification-version="1.3",org.osgi.service.metatype ;specification-version="1.1",org.osgi.service.prefs ;specification-version="1.1",org.osgi.service.provisioning ;specification-version="1.1",org.osgi.service.upnp ;specification-version="1.1",org.osgi.service.useradmin ;specification-version="1.1",org.osgi.service.wireadmin ;specification-version="1.0",org.osgi.util.measurement ;specification-version="1.0",org.osgi.util.position ;specification-version="1.0",org.osgi.util.tracker ;specification-version="1.3.1",org.osgi.util.xml ;specification-version="1.0"</exportPackage>
+            <exportPackage>org.osgi.service.cm ;specification-version="1.2",org.osgi.service.component ;specification-version="1.0",org.osgi.service.device ;specification-version="1.1",org.osgi.service.event ;specification-version="1.1",org.osgi.service.http ;specification-version="1.2",org.osgi.service.io ;specification-version="1.0",org.osgi.service.log ;specification-version="1.3",org.osgi.service.metatype ;specification-version="1.1",org.osgi.service.prefs ;specification-version="1.1",org.osgi.service.provisioning ;specification-version="1.1",org.osgi.service.upnp ;specification-version="1.1",org.osgi.service.useradmin ;specification-version="1.1",org.osgi.service.wireadmin ;specification-version="1.0",org.osgi.util.measurement ;specification-version="1.0",org.osgi.util.position ;specification-version="1.0",org.osgi.util.tracker ;specification-version="1.3.2",org.osgi.util.xml ;specification-version="1.0"</exportPackage>
             <dynamicImportPackage>*</dynamicImportPackage>
           </osgiManifest>
         </configuration>
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/Configuration.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/Configuration.java
index a4d54cd..af6d739 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/Configuration.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/Configuration.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/Configuration.java,v 1.16 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/Configuration.java,v 1.17 2006/06/16 16:31:28 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -60,7 +60,7 @@
  * Managed Service Factory and a Managed Service. When it is important to
  * differentiate between these two the term "factory configuration" is used.
  * 
- * @version $Revision: 1.16 $
+ * @version $Revision: 1.17 $
  */
 public interface Configuration {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationAdmin.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationAdmin.java
index f0f7836..0d8c6a8 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationAdmin.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationAdmin.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationAdmin.java,v 1.14 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationAdmin.java,v 1.16 2006/07/11 00:54:03 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -58,7 +58,7 @@
  * When the ConfigurationAdmin detects the registration of a Managed Service, it
  * checks its persistent storage for a configuration object whose PID matches
  * the PID registration property (<code>service.pid</code>) of the Managed
- * Service. If found, it calls {@link ManagedService#updated}method with the
+ * Service. If found, it calls {@link ManagedService#updated} method with the
  * new properties. The implementation of a Configuration Admin service must run
  * these call-backs asynchronously to allow proper synchronization.
  * 
@@ -98,9 +98,9 @@
  * bundle". This is a loose way of referring to the bundle which obtained the
  * Configuration Admin service from the service registry. Implementations of
  * <code>ConfigurationAdmin</code> must use a
- * {@link org.osgi.framework.ServiceFactory}to support this concept.
+ * {@link org.osgi.framework.ServiceFactory} to support this concept.
  * 
- * @version $Revision: 1.14 $
+ * @version $Revision: 1.16 $
  */
 public interface ConfigurationAdmin {
 	/**
@@ -125,7 +125,7 @@
 	 * 
 	 * The properties of the new <code>Configuration</code> object are
 	 * <code>null</code> until the first time that its
-	 * {@link Configuration#update(Dictionary)}method is called.
+	 * {@link Configuration#update(Dictionary)} method is called.
 	 * 
 	 * <p>
 	 * It is not required that the <code>factoryPid</code> maps to a
@@ -147,7 +147,7 @@
 	 * 
 	 * The properties of the new <code>Configuration</code> object are
 	 * <code>null</code> until the first time that its
-	 * {@link Configuration#update(Dictionary)}method is called.
+	 * {@link Configuration#update(Dictionary)} method is called.
 	 * 
 	 * <p>
 	 * It is not required that the <code>factoryPid</code> maps to a
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationEvent.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationEvent.java
index 28ef9e4..3e1b776 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationEvent.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationEvent.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationEvent.java,v 1.8 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationEvent.java,v 1.9 2006/06/16 16:31:28 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -46,7 +46,7 @@
  * 
  * @see ConfigurationListener
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
  * @since 1.2
  */
 public class ConfigurationEvent {
@@ -164,4 +164,4 @@
 	public ServiceReference getReference() {
 		return reference;
 	}
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationException.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationException.java
index 6d41dce..dbbf216 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationException.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationException.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationException.java,v 1.11 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationException.java,v 1.13 2006/07/11 13:15:52 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,18 +21,18 @@
  * An <code>Exception</code> class to inform the Configuration Admin service
  * of problems with configuration data.
  * 
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.13 $
  */
 public class ConfigurationException extends Exception {
 	static final long	serialVersionUID	= -1690090413441769377L;
 
-	private String		property;
-	private String		reason;
+	private final String		property;
+	private final String		reason;
 
 	/**
 	 * Nested exception.
 	 */
-	private Throwable	cause;
+	private final Throwable	cause;
 
 	/**
 	 * Create a <code>ConfigurationException</code> object.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationListener.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationListener.java
index f7fb6a6..a171f90 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationListener.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationListener.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationListener.java,v 1.9 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationListener.java,v 1.10 2006/06/16 16:31:28 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,7 +37,7 @@
  * require <code>ServicePermission[ConfigurationListener,REGISTER]</code> to
  * register a <code>ConfigurationListener</code> service.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
  * @since 1.2
  */
 public interface ConfigurationListener {
@@ -47,4 +47,4 @@
 	 * @param event The <code>ConfigurationEvent</code>.
 	 */
 	public void configurationEvent(ConfigurationEvent event);
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPermission.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPermission.java
index dc0c6ec..f4901b8 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPermission.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPermission.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationPermission.java,v 1.20 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationPermission.java,v 1.22 2006/07/08 00:42:00 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@
  * 
  * This permission has only a single action: CONFIGURE.
  * 
- * @version $Revision: 1.20 $
+ * @version $Revision: 1.22 $
  * @since 1.2
  */
 
@@ -193,8 +193,9 @@
 	 */
 
 	public Enumeration elements() {
+		final boolean nonEmpty = hasElement;
 		return new Enumeration() {
-			private boolean	more	= hasElement;
+			private boolean	more = nonEmpty;
 
 			public boolean hasMoreElements() {
 				return more;
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPlugin.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPlugin.java
index 089e626..d3206f8 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPlugin.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ConfigurationPlugin.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationPlugin.java,v 1.10 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ConfigurationPlugin.java,v 1.11 2006/06/16 16:31:28 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -76,7 +76,7 @@
  * Omitting the <code>cm.target</code> registration property means that the
  * plugin is called for all configuration updates.
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
  */
 public interface ConfigurationPlugin {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedService.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedService.java
index b5ccce4..d4e30a2 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ManagedService.java,v 1.11 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ManagedService.java,v 1.12 2006/06/16 16:31:28 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -107,7 +107,7 @@
  * registration properties. This will allow the Configuration Admin service to
  * set properties on services which can then be used by other applications.
  * 
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.12 $
  */
 public interface ManagedService {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedServiceFactory.java b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedServiceFactory.java
index 001ddd8..838df68 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedServiceFactory.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/ManagedServiceFactory.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ManagedServiceFactory.java,v 1.10 2006/03/14 01:21:09 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/ManagedServiceFactory.java,v 1.12 2006/07/11 00:54:03 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -94,7 +94,7 @@
  *   
  * </pre>
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.12 $
  */
 public interface ManagedServiceFactory {
 	/**
@@ -126,7 +126,7 @@
 	 * <p>
 	 * When the implementation of updated detects any kind of error in the
 	 * configuration properties, it should create a new
-	 * {@link ConfigurationException}which describes the problem.
+	 * {@link ConfigurationException} which describes the problem.
 	 * 
 	 * <p>
 	 * The Configuration Admin service must call this method asynchronously.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/cm/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/cm/package.html
index 3f65348..e772cb9 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/cm/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/cm/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/package.html,v 1.2 2004/12/01 19:01:11 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.cm/src/org/osgi/service/cm/package.html,v 1.3 2006/07/12 21:07:02 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Configuration Admin service Package. Specification Version 1.2
+<p>Configuration Admin Package Version 1.2.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentConstants.java b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentConstants.java
index be30ac0..34b0388 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentConstants.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentConstants.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentConstants.java,v 1.13 2006/03/14 01:20:50 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentConstants.java,v 1.14 2006/06/16 16:31:26 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
 /**
  * Defines standard names for Service Component constants.
  * 
- * @version $Revision: 1.13 $
+ * @version $Revision: 1.14 $
  */
 public interface ComponentConstants {
 	/**
@@ -68,4 +68,4 @@
 	 * property must be <code>String</code>.
 	 */
 	public final static String	REFERENCE_TARGET_SUFFIX	= ".target";
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentContext.java b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentContext.java
index af4aab9..c763293 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentContext.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentContext.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentContext.java,v 1.19 2006/03/14 01:20:50 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentContext.java,v 1.20 2006/06/16 16:31:26 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -59,7 +59,7 @@
  * the method. If the method is found, if it is declared protected or public,
  * the method will be called. Otherwise, the method will not be called.
  * 
- * @version $Revision: 1.19 $
+ * @version $Revision: 1.20 $
  */
 public interface ComponentContext {
 	/**
@@ -195,4 +195,4 @@
 	 */
 	public ServiceReference getServiceReference();
 
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentException.java b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentException.java
index 4679d31..be539a9 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentException.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentException.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentException.java,v 1.11 2006/03/14 01:20:50 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentException.java,v 1.13 2006/07/11 13:15:56 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,14 +21,14 @@
 /**
  * Unchecked exception which may be thrown by the Service Component Runtime.
  * 
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.13 $
  */
 public class ComponentException extends RuntimeException {
 	static final long	serialVersionUID	= -7438212656298726924L;
 	/**
 	 * Nested exception.
 	 */
-	private Throwable	cause;
+	private final Throwable	cause;
 
 	/**
 	 * Construct a new ComponentException with the specified message and cause.
@@ -84,4 +84,4 @@
 	public Throwable initCause(Throwable cause) {
 		throw new IllegalStateException();
 	}
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentFactory.java b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentFactory.java
index 26dd697..8dc522a 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentFactory.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentFactory.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentFactory.java,v 1.17 2006/03/14 01:20:50 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentFactory.java,v 1.19 2006/06/16 16:31:26 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,14 +27,15 @@
  * created and activated rather than automatically creating and activating
  * component configuration as necessary.
  * 
- * @version $Revision: 1.17 $
+ * @version $Revision: 1.19 $
  */
 public interface ComponentFactory {
 	/**
 	 * Create and activate a new component configuration. Additional properties
 	 * may be provided for the component configuration.
 	 * 
-	 * @param properties Additional properties for the component configuration.
+	 * @param properties Additional properties for the component configuration
+	 *        or <code>null</code> if there are no additional properties.
 	 * @return A <code>ComponentInstance</code> object encapsulating the
 	 *         component instance of the component configuration. The component
 	 *         configuration has been activated and, if the component specifies
@@ -44,4 +45,4 @@
 	 *         activate the component configuration.
 	 */
 	public ComponentInstance newInstance(Dictionary properties);
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentInstance.java b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentInstance.java
index d55cb60..9f2d9f5 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentInstance.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/component/ComponentInstance.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentInstance.java,v 1.12 2006/03/14 01:20:50 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/ComponentInstance.java,v 1.13 2006/06/16 16:31:26 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2004, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@
  * ComponentInstances are never reused. A new ComponentInstance object will be
  * created when the component configuration is activated again.
  * 
- * @version $Revision: 1.12 $
+ * @version $Revision: 1.13 $
  */
 public interface ComponentInstance {
 	/**
@@ -44,4 +44,4 @@
 	 *         configuration has been deactivated.
 	 */
 	public Object getInstance();
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/component/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/component/package.html
index 9f0de40..8189666 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/component/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/component/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/package.html,v 1.2 2004/12/01 19:01:25 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.component/src/org/osgi/service/component/package.html,v 1.3 2006/07/12 21:07:00 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Service Component Package. Specification Version 1.0.
+<p>Service Component Package Version 1.0.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/device/Constants.java b/org.osgi.compendium/src/main/java/org/osgi/service/device/Constants.java
index 309a602..6c108dd 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/device/Constants.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/device/Constants.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Constants.java,v 1.7 2006/03/14 01:20:43 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Constants.java,v 1.9 2006/07/11 00:54:08 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,13 +19,13 @@
 
 /**
  * This interface defines standard names for property keys associated with
- * {@link Device}and {@link Driver}services.
+ * {@link Device} and {@link Driver} services.
  * 
  * <p>
  * The values associated with these keys are of type <code>java.lang.String</code>,
  * unless otherwise stated.
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.9 $
  * @since 1.1
  * @see Device
  * @see Driver
@@ -41,7 +41,7 @@
 	 * 
 	 * <ul>
 	 * <li>It must be independent of the location from where it is obtained.
-	 * <li>It must be independent of the {@link DriverLocator}service that
+	 * <li>It must be independent of the {@link DriverLocator} service that
 	 * downloaded it.
 	 * <li>It must be unique.
 	 * <li>It must be different for different revisions of the same driver.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/device/Device.java b/org.osgi.compendium/src/main/java/org/osgi/service/device/Device.java
index 3b70045..80e7d3f 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/device/Device.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/device/Device.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Device.java,v 1.8 2006/03/14 01:20:43 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Device.java,v 1.10 2006/07/11 00:54:08 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@
  * 
  * <p>
  * A service must implement this interface or use the
- * {@link Constants#DEVICE_CATEGORY}registration property to indicate that it
+ * {@link Constants#DEVICE_CATEGORY} registration property to indicate that it
  * is a device. Any services implementing this interface or registered with the
  * <code>DEVICE_CATEGORY</code> property will be discovered by the device manager.
  * 
@@ -31,18 +31,18 @@
  * Device services implementing this interface give the device manager the
  * opportunity to indicate to the device that no drivers were found that could
  * (further) refine it. In this case, the device manager calls the
- * {@link #noDriverFound}method on the <code>Device</code> object.
+ * {@link #noDriverFound} method on the <code>Device</code> object.
  * 
  * <p>
  * Specialized device implementations will extend this interface by adding
  * methods appropriate to their device category to it.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  * @see Driver
  */
 public interface Device {
 	/**
-	 * Return value from {@link Driver#match}indicating that the driver cannot
+	 * Return value from {@link Driver#match} indicating that the driver cannot
 	 * refine the device presented to it by the device manager.
 	 * 
 	 * The value is zero.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/device/Driver.java b/org.osgi.compendium/src/main/java/org/osgi/service/device/Driver.java
index e6a5dcd..9d19a6a 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/device/Driver.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/device/Driver.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Driver.java,v 1.9 2006/03/14 01:20:43 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Driver.java,v 1.11 2006/07/11 00:54:08 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,12 +22,12 @@
 /**
  * A <code>Driver</code> service object must be registered by each Driver bundle
  * wishing to attach to Device services provided by other drivers. For each
- * newly discovered {@link Device}object, the device manager enters a bidding
- * phase. The <code>Driver</code> object whose {@link #match}method bids the
+ * newly discovered {@link Device} object, the device manager enters a bidding
+ * phase. The <code>Driver</code> object whose {@link #match} method bids the
  * highest for a particular <code>Device</code> object will be instructed by the
  * device manager to attach to the <code>Device</code> object.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.11 $
  * @see Device
  * @see DriverLocator
  */
@@ -37,7 +37,7 @@
 	 * 
 	 * The Device service is represented by the given {@link ServiceReference}
 	 * and returns a value indicating how well this driver can support the given
-	 * Device service, or {@link Device#MATCH_NONE}if it cannot support the
+	 * Device service, or {@link Device#MATCH_NONE} if it cannot support the
 	 * given Device service at all.
 	 * 
 	 * <p>
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverLocator.java b/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverLocator.java
index 7815ec7..ec1a3d9 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverLocator.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverLocator.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/DriverLocator.java,v 1.8 2006/03/14 01:20:43 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/DriverLocator.java,v 1.10 2006/07/12 21:22:12 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,9 +17,9 @@
  */
 package org.osgi.service.device;
 
-import java.util.Dictionary;
-import java.io.InputStream;
 import java.io.IOException;
+import java.io.InputStream;
+import java.util.Dictionary;
 
 /**
  * A Driver Locator service can find and load device driver bundles given a
@@ -30,7 +30,7 @@
  * providers and encapsulate all provider-specific details related to the
  * location and acquisition of driver bundles.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  * @see Driver
  */
 public interface DriverLocator {
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverSelector.java b/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverSelector.java
index e6429af..dcda453 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverSelector.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/device/DriverSelector.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/DriverSelector.java,v 1.8 2006/03/14 01:20:43 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/DriverSelector.java,v 1.9 2006/06/16 16:31:29 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@
  * service, or if it returns an invalid result, or throws an <code>Exception</code>,
  * the device manager uses the default selection strategy.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
  * @since 1.1
  */
 public interface DriverSelector {
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/device/Match.java b/org.osgi.compendium/src/main/java/org/osgi/service/device/Match.java
index 4c0cfcd..e666cda 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/device/Match.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/device/Match.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Match.java,v 1.8 2006/03/14 01:20:43 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Match.java,v 1.9 2006/06/16 16:31:29 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@
  * Instances of <code>Match</code> are used in the {@link DriverSelector#select}
  * method to identify Driver services matching a Device service.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
  * @since 1.1
  * @see DriverSelector
  */
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/device/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/device/package.html
index 74e11d4..58c60a7 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/device/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/device/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/package.html,v 1.2 2004/12/01 19:01:15 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/package.html,v 1.3 2006/07/12 21:07:05 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Device Access Package. Specification Version 1.1.
+<p>Device Access Package Version 1.1.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/event/Event.java b/org.osgi.compendium/src/main/java/org/osgi/service/event/Event.java
index 202e16a..b0df6ee 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/event/Event.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/event/Event.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/Event.java,v 1.6 2006/03/14 01:21:30 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/Event.java,v 1.8 2006/07/12 13:17:04 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@
  * <code>Event</code> objects are delivered to <code>EventHandler</code>
  * services which subsrcibe to the topic of the event.
  * 
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.8 $
  */
 public class Event {
 	/**
@@ -174,8 +174,7 @@
 		}
 	}
 
-	private static final String	alphaGrammar	= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; //$NON-NLS-1$
-	private static final String	tokenGrammar	= alphaGrammar + "0123456789_"; //$NON-NLS-1$
+	private static final String	tokenAlphabet	= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-"; //$NON-NLS-1$
 
 	/**
 	 * Validate a token.
@@ -184,16 +183,13 @@
 	 */
 	private void validateToken(String token) {
 		int length = token.length();
-		if (length < 1) {
+		if (length < 1) {	// token must contain at least one character
 			throw new IllegalArgumentException("invalid topic"); //$NON-NLS-1$
 		}
-		if (alphaGrammar.indexOf(token.charAt(0)) == -1) { //$NON-NLS-1$
-			throw new IllegalArgumentException("invalid topic"); //$NON-NLS-1$
-		}
-		for (int i = 1; i < length; i++) {
-			if (tokenGrammar.indexOf(token.charAt(i)) == -1) { //$NON-NLS-1$
+		for (int i = 0; i < length; i++) { // each character in the token must be from the token alphabet
+			if (tokenAlphabet.indexOf(token.charAt(i)) == -1) { //$NON-NLS-1$
 				throw new IllegalArgumentException("invalid topic"); //$NON-NLS-1$
 			}
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/event/EventAdmin.java b/org.osgi.compendium/src/main/java/org/osgi/service/event/EventAdmin.java
index 01d00e4..1683e7b 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/event/EventAdmin.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/event/EventAdmin.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/EventAdmin.java,v 1.5 2006/03/14 01:21:30 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/EventAdmin.java,v 1.6 2006/06/16 16:31:48 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,7 +22,7 @@
  * The Event Admin service. Bundles wishing to publish events must obtain the
  * Event Admin service and call one of the event delivery methods.
  * 
- * @version $Revision: 1.5 $
+ * @version $Revision: 1.6 $
  */
 public interface EventAdmin {
 	/**
@@ -50,4 +50,4 @@
 	 *            specified in the event.
 	 */
 	void sendEvent(Event event);
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/event/EventConstants.java b/org.osgi.compendium/src/main/java/org/osgi/service/event/EventConstants.java
index 2481e0a..e6768d0 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/event/EventConstants.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/event/EventConstants.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/EventConstants.java,v 1.12 2006/03/14 01:21:30 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/EventConstants.java,v 1.14 2006/07/12 21:06:18 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@
  * 
  * Defines standard names for <code>EventHandler</code> properties.
  * 
- * @version $Revision: 1.12 $
+ * @version $Revision: 1.14 $
  */
 public interface EventConstants {
 
@@ -35,14 +35,14 @@
 	 * <p>
 	 * Event handlers SHOULD be registered with this property. The value of the
 	 * property is an array of strings that describe the topics in which the
-	 * handler is interested. An asterisk ('*') may be used as a
-	 * trailing wildcard. Event Handlers which do not have a value for this property
-	 * must not receive events. More precisely, the value of each entry in the
-	 * array must conform to the following grammar:
+	 * handler is interested. An asterisk ('*') may be used as a trailing
+	 * wildcard. Event Handlers which do not have a value for this property must
+	 * not receive events. More precisely, the value of each entry in the array
+	 * must conform to the following grammar:
 	 * 
 	 * <pre>
-	 *          topic-description := '*' | topic ( '/*' )?
-	 *          topic := token ( '/' token )*
+	 *            topic-description := '*' | topic ( '/*' )?
+	 *            topic := token ( '/' token )*
 	 * </pre>
 	 * 
 	 * @see Event
@@ -63,8 +63,8 @@
 	 * must also match the filter for the event to be delivered to the event
 	 * handler.
 	 * <p>
-	 * If the filter syntax is invalid, then the Event Handler must be ignored and a 
-	 * warning should be logged.
+	 * If the filter syntax is invalid, then the Event Handler must be ignored
+	 * and a warning should be logged.
 	 * 
 	 * @see Event
 	 * @see org.osgi.framework.Filter
@@ -82,6 +82,20 @@
 	public static final String	BUNDLE_SYMBOLICNAME	= "bundle.symbolicName";
 
 	/**
+	 * The Bundle id of the bundle relevant to the event.
+	 * 
+	 * @since 1.1
+	 */
+	public static final String	BUNDLE_ID			= "bundle.id";
+
+	/**
+	 * The Bundle object of the bundle relevant to the event.
+	 * 
+	 * @since 1.1
+	 */
+	public static final String	BUNDLE				= "bundle";
+
+	/**
 	 * The actual event object. Used when rebroadcasting an event that was sent
 	 * via some other event mechanism.
 	 */
@@ -94,15 +108,10 @@
 
 	/**
 	 * Must be equal to the name of the Exception class.
+	 * 
+	 * @since 1.1
 	 */
 	public static final String	EXCEPTION_CLASS		= "exception.class";
-	
-	/**
-	 * This constant was released with an incorrect spelling. It has been
-	 * replaced by {@link #EXCEPTION_CLASS}
-	 * @deprecated As of 1.0.1, replaced by EXCEPTION_CLASS
-	 */
-	public static final String	EXECPTION_CLASS		= "exception.class";
 
 	/**
 	 * Must be equal to exception.getMessage()
@@ -121,7 +130,7 @@
 	public static final String	SERVICE				= "service";
 
 	/**
-	 * A service’s id.
+	 * A service's id.
 	 */
 	public static final String	SERVICE_ID			= Constants.SERVICE_ID;
 
@@ -133,7 +142,7 @@
 
 	/**
 	 * 
-	 * A service’s persistent identity.
+	 * A service's persistent identity.
 	 */
 	public static final String	SERVICE_PID			= Constants.SERVICE_PID;
 
@@ -144,4 +153,11 @@
 	 */
 	public static final String	TIMESTAMP			= "timestamp";
 
+	/**
+	 * This constant was released with an incorrect spelling. It has been
+	 * replaced by {@link #EXCEPTION_CLASS}
+	 * 
+	 * @deprecated As of 1.1, replaced by EXCEPTION_CLASS
+	 */
+	public static final String	EXECPTION_CLASS		= "exception.class";
 }
\ No newline at end of file
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/event/EventHandler.java b/org.osgi.compendium/src/main/java/org/osgi/service/event/EventHandler.java
index a964f1b..8073796 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/event/EventHandler.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/event/EventHandler.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/EventHandler.java,v 1.8 2006/03/14 01:21:30 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/EventHandler.java,v 1.10 2006/07/11 16:43:59 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -42,7 +42,7 @@
  * ht.put(EVENT_TOPIC, topics);
  * context.registerService(EventHandler.class.getName(), this, ht);
  * </pre>
- * Event Handler services can also be registered with an @link EventConstants#EVENT_FILTER}
+ * Event Handler services can also be registered with an {@link EventConstants#EVENT_FILTER}
  * service propery to further filter the events. If the syntax of this filter is invalid,
  * then the Event Handler must be ignored by the Event Admin service. The Event Admin
  * service should log a warning.
@@ -55,7 +55,7 @@
  * 
  * @see Event
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  */
 public interface EventHandler {
 	/**
@@ -64,4 +64,4 @@
 	 * @param event The event that occurred.
 	 */
 	void handleEvent(Event event);
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/event/TopicPermission.java b/org.osgi.compendium/src/main/java/org/osgi/service/event/TopicPermission.java
index 334d80d..89591b6 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/event/TopicPermission.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/event/TopicPermission.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/TopicPermission.java,v 1.10 2006/03/14 01:21:30 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/TopicPermission.java,v 1.11 2006/06/16 16:31:48 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -40,7 +40,7 @@
  * <code>TopicPermission</code> has two actions: <code>publish</code> and
  * <code>subscribe</code>.
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
  */
 public final class TopicPermission extends Permission {
 	static final long			serialVersionUID	= -5855563886961618300L;
@@ -503,4 +503,4 @@
 	public Enumeration elements() {
 		return permissions.elements();
 	}
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/event/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/event/package.html
index f22b7e5..ac36fcf 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/event/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/event/package.html
@@ -1,10 +1,10 @@
-<!-- $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/package.html,v 1.6 2005/11/01 18:55:09 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.event/src/org/osgi/service/event/package.html,v 1.8 2006/07/12 21:07:18 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Event Admin Specification Version 1.0.1.
+<p>Event Admin Package Version 1.1.
 <p>Bundles wishing to use this package must list the package
 in the <TT>Import-Package</TT> header of the bundle's manifest.
 For example:
 <pre>
-Import-Package: org.osgi.service.event; version=1.0.1
+Import-Package: org.osgi.service.event; version=1.1
 </pre>
 </BODY>
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/event/packageinfo b/org.osgi.compendium/src/main/java/org/osgi/service/event/packageinfo
index b3d1f97..3987f9c 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/event/packageinfo
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/event/packageinfo
@@ -1 +1 @@
-version 1.0.1
+version 1.1
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpContext.java b/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpContext.java
index d5a0eb5..abeb95b 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpContext.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpContext.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/HttpContext.java,v 1.9 2006/03/14 01:20:39 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/HttpContext.java,v 1.12 2006/07/12 21:22:13 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@
 
 import java.io.IOException;
 import java.net.URL;
+
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -36,7 +37,7 @@
  * <p>
  * This interface is implemented by users of the <code>HttpService</code>.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.12 $
  */
 public interface HttpContext {
 	/**
@@ -99,15 +100,15 @@
 	 * 
 	 * <p>
 	 * If the specified request has been authenticated, this method must set the
-	 * {@link #AUTHENTICATION_TYPE}request attribute to the type of
-	 * authentication used, and the {@link #REMOTE_USER}request attribute to
+	 * {@link #AUTHENTICATION_TYPE} request attribute to the type of
+	 * authentication used, and the {@link #REMOTE_USER} request attribute to
 	 * the remote user (request attributes are set using the
 	 * <code>setAttribute</code> method on the request). If this method does not
 	 * perform any authentication, it must not set these attributes.
 	 * 
 	 * <p>
 	 * If the authenticated user is also authorized to access certain resources,
-	 * this method must set the {@link #AUTHORIZATION}request attribute to the
+	 * this method must set the {@link #AUTHORIZATION} request attribute to the
 	 * <code>Authorization</code> object obtained from the
 	 * <code>org.osgi.service.useradmin.UserAdmin</code> service.
 	 * 
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpService.java b/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpService.java
index 95acce9..2047328 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/http/HttpService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/HttpService.java,v 1.10 2006/03/14 01:20:39 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/HttpService.java,v 1.13 2006/07/12 21:22:13 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,16 +17,17 @@
  */
 package org.osgi.service.http;
 
+import java.util.Dictionary;
+
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
-import java.util.Dictionary;
 
 /**
  * The Http Service allows other bundles in the OSGi environment to dynamically
  * register resources and servlets into the URI namespace of Http Service. A
  * bundle may later unregister its resources or servlets.
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.13 $
  * @see HttpContext
  */
 public interface HttpService {
@@ -132,11 +133,11 @@
 	 * returning.
 	 * <p>
 	 * If the bundle which performed the registration is stopped or otherwise
-	 * "unget"s the Http Service without calling {@link #unregister}then Http
+	 * "unget"s the Http Service without calling {@link #unregister} then Http
 	 * Service must automatically unregister the registration. However, if the
 	 * registration was for a servlet, the <code>destroy</code> method of the
 	 * servlet will not be called in this case since the bundle may be stopped.
-	 * {@link #unregister}must be explicitly called to cause the
+	 * {@link #unregister} must be explicitly called to cause the
 	 * <code>destroy</code> method of the servlet to be called. This can be done
 	 * in the <code>BundleActivator.stop</code> method of the
 	 * bundle registering the servlet.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/http/NamespaceException.java b/org.osgi.compendium/src/main/java/org/osgi/service/http/NamespaceException.java
index c8e7889..478d2ea 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/http/NamespaceException.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/http/NamespaceException.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/NamespaceException.java,v 1.9 2006/03/14 01:20:39 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/NamespaceException.java,v 1.11 2006/07/11 13:15:56 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -22,14 +22,14 @@
  * to register a servlet or resources into the URI namespace of the Http
  * Service. This exception indicates that the requested alias already is in use.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.11 $
  */
 public class NamespaceException extends Exception {
     static final long serialVersionUID = 7235606031147877747L;
 	/**
 	 * Nested exception.
 	 */
-	private Throwable	cause;
+	private final Throwable	cause;
 
 	/**
 	 * Construct a <code>NamespaceException</code> object with a detail message.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/http/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/http/package.html
index 79dfae9..73e6583 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/http/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/http/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/package.html,v 1.3 2004/12/09 19:44:20 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.http/src/org/osgi/service/http/package.html,v 1.4 2006/07/12 21:07:18 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Http Service Package. Specification Version 1.2.
+<p>Http Service Package Version 1.2.
 <p>Bundles wishing to use this package must list the package
 in the <TT>Import-Package</TT> header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectionFactory.java b/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectionFactory.java
index 7df56e4..03f812e 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectionFactory.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectionFactory.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.io/src/org/osgi/service/io/ConnectionFactory.java,v 1.6 2006/03/14 01:20:44 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.io/src/org/osgi/service/io/ConnectionFactory.java,v 1.9 2006/07/12 21:22:12 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,8 +17,9 @@
  */
 package org.osgi.service.io;
 
-//import javax.microedition.io.*;
-import java.io.*;
+import java.io.IOException;
+
+import javax.microedition.io.Connection;
 
 /**
  * A Connection Factory service is called by the implementation of the Connector
@@ -29,11 +30,11 @@
  * of the Connector Service will examine the specified name for a scheme. The
  * Connector Service will then look for a Connection Factory service which is
  * registered with the service property <code>IO_SCHEME</code> which matches the
- * scheme. The {@link #createConnection}method of the selected Connection
+ * scheme. The {@link #createConnection} method of the selected Connection
  * Factory will then be called to create the actual <code>Connection</code>
  * object.
  * 
- * @version $Revision: 1.6 $
+ * @version $Revision: 1.9 $
  */
 public interface ConnectionFactory {
 	/**
@@ -56,6 +57,6 @@
 	 * @throws IOException If a <code>javax.microedition.io.Connection</code>
 	 *         object can not not be created.
 	 */
-	public /*Connection*/ Object createConnection(String name, int mode, boolean timeouts)
+	public Connection createConnection(String name, int mode, boolean timeouts)
 			throws IOException;
 }
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectorService.java b/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectorService.java
index cd498d7..45d1f87 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectorService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/io/ConnectorService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.io/src/org/osgi/service/io/ConnectorService.java,v 1.7 2006/03/14 01:20:44 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.io/src/org/osgi/service/io/ConnectorService.java,v 1.9 2006/07/12 21:22:12 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,7 +18,9 @@
 package org.osgi.service.io;
 
 import java.io.*;
-//import javax.microedition.io.*;
+
+import javax.microedition.io.Connection;
+import javax.microedition.io.Connector;
 
 /**
  * The Connector Service should be called to create and open
@@ -40,7 +42,7 @@
  * first, is called. This is the same algorithm used by
  * <code>BundleContext.getServiceReference</code>.
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.9 $
  */
 public interface ConnectorService {
 	/**
@@ -48,19 +50,19 @@
 	 * 
 	 * @see "javax.microedition.io.Connector.READ"
 	 */
-	public static final int	READ		= /* Connector.READ */ 1;
+	public static final int	READ		= Connector.READ;
 	/**
 	 * Write access mode.
 	 * 
 	 * @see "javax.microedition.io.Connector.WRITE"
 	 */
-	public static final int	WRITE		= /* Connector.WRITE */ 2;
+	public static final int	WRITE		= Connector.WRITE;
 	/**
 	 * Read/Write access mode.
 	 * 
 	 * @see "javax.microedition.io.Connector.READ_WRITE"
 	 */
-	public static final int	READ_WRITE	= /* Connector.READ_WRITE */ 3;
+	public static final int	READ_WRITE	= Connector.READ_WRITE;
 
 	/**
 	 * Create and open a <code>Connection</code> object for the specified name.
@@ -73,7 +75,7 @@
 	 * @throws IOException If some other kind of I/O error occurs.
 	 * @see "javax.microedition.io.Connector.open(String name)"
 	 */
-	public /* Connection */ Object open(String name) throws IOException;
+	public Connection open(String name) throws IOException;
 
 	/**
 	 * Create and open a <code>Connection</code> object for the specified name and
@@ -88,7 +90,7 @@
 	 * @throws IOException If some other kind of I/O error occurs.
 	 * @see "javax.microedition.io.Connector.open(String name, int mode)"
 	 */
-	public /* Connection */ Object open(String name, int mode) throws IOException;
+	public Connection open(String name, int mode) throws IOException;
 
 	/**
 	 * Create and open a <code>Connection</code> object for the specified name,
@@ -105,7 +107,7 @@
 	 * @throws IOException If some other kind of I/O error occurs.
 	 * @see "<code>javax.microedition.io.Connector.open</code>"
 	 */
-	public /* Connection */ Object open(String name, int mode, boolean timeouts)
+	public Connection open(String name, int mode, boolean timeouts)
 			throws IOException;
 
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/io/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/io/package.html
index 19c6ce5..4d4adc4 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/io/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/io/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.io/src/org/osgi/service/io/package.html,v 1.2 2004/12/01 19:01:26 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.io/src/org/osgi/service/io/package.html,v 1.3 2006/07/12 21:07:06 hargrave Exp $ -->
 <BODY>
-<P>The OSGi IO Connector Specification Version 1.0.
+<p>IO Connector Package Version 1.0.
 <p>Bundles wishing to use this package must list the package
 in the <TT>Import-Package</TT> header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogEntry.java b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogEntry.java
index db200eb..12e6c8d 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogEntry.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogEntry.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogEntry.java,v 1.8 2006/03/14 01:21:24 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogEntry.java,v 1.9 2006/06/16 16:31:49 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@
  * <code>LogReaderService.getLog</code> method or by registering a
  * <code>LogListener</code> object.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
  * @see LogReaderService#getLog
  * @see LogListener
  */
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogListener.java b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogListener.java
index d611a4c..3731c28 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogListener.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogListener.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogListener.java,v 1.8 2006/03/14 01:21:24 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogListener.java,v 1.9 2006/06/16 16:31:49 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@
  * unregistered by calling the <code>LogReaderService.removeLogListener</code>
  * method.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
  * @see LogReaderService
  * @see LogEntry
  * @see LogReaderService#addLogListener(LogListener)
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogReaderService.java b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogReaderService.java
index 4e2e1db..4176ebc 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogReaderService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogReaderService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogReaderService.java,v 1.9 2006/03/14 01:21:24 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogReaderService.java,v 1.10 2006/06/16 16:31:49 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,7 +31,7 @@
  * method can be called which will return an <code>Enumeration</code> of all
  * <code>LogEntry</code> objects in the log.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
  * @see LogEntry
  * @see LogListener
  * @see LogListener#logged(LogEntry)
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogService.java b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogService.java
index ee263ef..4858c58 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/log/LogService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/log/LogService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogService.java,v 1.8 2006/03/14 01:21:24 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/LogService.java,v 1.9 2006/06/16 16:31:49 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@
  * <li>{@link #LOG_DEBUG}
  * </ol>
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
  */
 public interface LogService {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/log/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/log/package.html
index dd1932b..ebbd7b0 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/log/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/log/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/package.html,v 1.3 2005/08/10 01:43:20 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.log/src/org/osgi/service/log/package.html,v 1.4 2006/07/12 21:07:15 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Log Service Package. Specification Version 1.3.
+<p>Log Service Package Version 1.3.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/AttributeDefinition.java b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/AttributeDefinition.java
index 27ed253..3f3f053 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/AttributeDefinition.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/AttributeDefinition.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/AttributeDefinition.java,v 1.11 2006/03/14 01:20:46 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/AttributeDefinition.java,v 1.13 2006/06/16 16:31:23 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -24,7 +24,7 @@
  * An <code>AttributeDefinition</code> object defines a description of the data
  * type of a property/attribute.
  * 
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.13 $
  */
 public interface AttributeDefinition {
 	/**
@@ -99,7 +99,7 @@
 	 * <code>Vector</code> with <code>BigInteger</code> or <code>BigInteger[]</code>
 	 * objects, depending on the <code>getCardinality()</code> value.
 	 * 
-	 * @deprecated Since 1.1
+	 * @deprecated As of 1.1.
 	 */
 	public static final int	BIGINTEGER	= 9;
 	/**
@@ -109,7 +109,7 @@
 	 * <code>Vector</code> with <code>BigDecimal</code> or <code>BigDecimal[]</code>
 	 * objects depending on <code>getCardinality()</code>.
 	 * 
-	 * @deprecated Since 1.1
+	 * @deprecated As of 1.1.
 	 */
 	public static final int	BIGDECIMAL	= 10;
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeInformation.java b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeInformation.java
index 95a8a8a..ce544e3 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeInformation.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeInformation.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/MetaTypeInformation.java,v 1.7 2006/03/14 01:20:46 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/MetaTypeInformation.java,v 1.8 2006/06/16 16:31:23 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@
  * A MetaType Information object is created by the MetaTypeService to return
  * meta type information for a specific bundle.
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
  * @since 1.1
  */
 public interface MetaTypeInformation extends MetaTypeProvider {
@@ -49,4 +49,4 @@
 	 * @return Bundle for which this object provides meta type information.
 	 */
 	public Bundle getBundle();
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeProvider.java b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeProvider.java
index ef114b5..a21f617 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeProvider.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeProvider.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/MetaTypeProvider.java,v 1.10 2006/03/14 01:20:46 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/MetaTypeProvider.java,v 1.11 2006/06/16 16:31:23 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,7 +20,7 @@
 /**
  * Provides access to metatypes.
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
  */
 public interface MetaTypeProvider {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeService.java b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeService.java
index 4fe4a03..ea1b1b2 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/MetaTypeService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/MetaTypeService.java,v 1.9 2006/03/14 01:20:46 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/MetaTypeService.java,v 1.10 2006/06/16 16:31:23 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@
  * retrieve meta type information for bundles which contain a meta type
  * documents or which provide their own <code>MetaTypeProvider</code> objects.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
  * @since 1.1
  */
 public interface MetaTypeService {
@@ -50,4 +50,4 @@
 	 * entry in the meta type documents directory.
 	 */
 	public final static String	METATYPE_DOCUMENTS_LOCATION	= "OSGI-INF/metatype";
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/ObjectClassDefinition.java b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/ObjectClassDefinition.java
index 09c4459..754b636 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/ObjectClassDefinition.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/ObjectClassDefinition.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/ObjectClassDefinition.java,v 1.10 2006/03/14 01:20:46 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/ObjectClassDefinition.java,v 1.11 2006/06/16 16:31:23 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@
 /**
  * Description for the data type information of an objectclass.
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
  */
 public interface ObjectClassDefinition {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/package.html
index b723698..967270c 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/metatype/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/metatype/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/package.html,v 1.4 2004/12/01 19:01:48 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.metatype/src/org/osgi/service/metatype/package.html,v 1.5 2006/07/12 21:07:16 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Metatype Package. Specification Version 1.1.
+<p>Metatype Package Version 1.1.
 <p>Bundles wishing to use this package must list the package
 in the <TT>Import-Package</TT> header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/BackingStoreException.java b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/BackingStoreException.java
index 64e6a2a..7a182d7 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/BackingStoreException.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/BackingStoreException.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.10 2006/03/14 01:21:15 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.12 2006/07/11 13:15:55 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,14 +21,14 @@
  * Thrown to indicate that a preferences operation could not complete because of
  * a failure in the backing store, or a failure to contact the backing store.
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.12 $
  */
 public class BackingStoreException extends Exception {
     static final long serialVersionUID = -1415637364122829574L;
 	/**
 	 * Nested exception.
 	 */
-	private Throwable	cause;
+	private final Throwable	cause;
 
 	/**
 	 * Constructs a <code>BackingStoreException</code> with the specified detail
@@ -38,6 +38,7 @@
 	 */
 	public BackingStoreException(String s) {
 		super(s);
+		this.cause = null;
 	}
 	
 	/**
@@ -79,4 +80,4 @@
 		throw new IllegalStateException();
 	}
 
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/Preferences.java b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/Preferences.java
index 3917469..c3a6cd0 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/Preferences.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/Preferences.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.9 2006/03/14 01:21:15 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.11 2006/07/11 00:54:04 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -110,7 +110,7 @@
  * preference data.
  * 
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.11 $
  */
 public interface Preferences {
 	/**
@@ -121,7 +121,7 @@
 	 * @throws NullPointerException if <code>key</code> or <code>value</code> is
 	 *         <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 */
 	public void put(String key, String value);
 
@@ -137,7 +137,7 @@
 	 * @return the value associated with <code>key</code>, or <code>def</code> if
 	 *         no value is associated with <code>key</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>. (A
 	 *         <code>null</code> default <i>is </i> permitted.)
 	 */
@@ -150,7 +150,7 @@
 	 * @param key key whose mapping is to be removed from this node.
 	 * @see #get(String,String)
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 */
 	public void remove(String key);
 
@@ -162,7 +162,7 @@
 	 *         to a failure in the backing store, or inability to communicate
 	 *         with it.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #remove(String)
 	 */
 	public void clear() throws BackingStoreException;
@@ -172,7 +172,7 @@
 	 * <code>int</code> value with the specified <code>key</code> in this node. The
 	 * associated string is the one that would be returned if the <code>int</code>
 	 * value were passed to <code>Integer.toString(int)</code>. This method is
-	 * intended for use in conjunction with {@link #getInt}method.
+	 * intended for use in conjunction with {@link #getInt} method.
 	 * 
 	 * <p>
 	 * Implementor's note: it is <i>not </i> necessary that the property value
@@ -188,7 +188,7 @@
 	 *        <code>key</code>.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #getInt(String,int)
 	 */
 	public void putInt(String key, int value);
@@ -202,7 +202,7 @@
 	 * is inaccessible, or if <code>Integer.parseInt(String)</code> would throw a
 	 * <code>NumberFormatException</code> if the associated <code>value</code> were
 	 * passed. This method is intended for use in conjunction with the
-	 * {@link #putInt}method.
+	 * {@link #putInt} method.
 	 * 
 	 * @param key key whose associated value is to be returned as an
 	 *        <code>int</code>.
@@ -216,7 +216,7 @@
 	 *         be interpreted as an <code>int</code> type.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #putInt(String,int)
 	 * @see #get(String,String)
 	 */
@@ -245,7 +245,7 @@
 	 *        <code>key</code>.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #getLong(String,long)
 	 */
 	public void putLong(String key, long value);
@@ -259,7 +259,7 @@
 	 * is inaccessible, or if <code>Long.parseLong(String)</code> would throw a
 	 * <code>NumberFormatException</code> if the associated <code>value</code> were
 	 * passed. This method is intended for use in conjunction with the
-	 * {@link #putLong}method.
+	 * {@link #putLong} method.
 	 * 
 	 * @param key <code>key</code> whose associated value is to be returned as a
 	 *        <code>long</code> value.
@@ -273,7 +273,7 @@
 	 *         be interpreted as a <code>long</code> type.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #putLong(String,long)
 	 * @see #get(String,String)
 	 */
@@ -284,7 +284,7 @@
 	 * <code>boolean</code> value with the specified key in this node. The
 	 * associated string is "true" if the value is <code>true</code>, and "false"
 	 * if it is <code>false</code>. This method is intended for use in
-	 * conjunction with the {@link #getBoolean}method.
+	 * conjunction with the {@link #getBoolean} method.
 	 * 
 	 * <p>
 	 * Implementor's note: it is <i>not </i> necessary that the value be
@@ -301,7 +301,7 @@
 	 *        <code>key</code>.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #getBoolean(String,boolean)
 	 * @see #get(String,String)
 	 */
@@ -313,7 +313,7 @@
 	 * strings are "true", which represents <code>true</code>, and "false", which
 	 * represents <code>false</code>. Case is ignored, so, for example, "TRUE"
 	 * and "False" are also valid. This method is intended for use in
-	 * conjunction with the {@link #putBoolean}method.
+	 * conjunction with the {@link #putBoolean} method.
 	 * 
 	 * <p>
 	 * Returns the specified default if there is no value associated with the
@@ -332,7 +332,7 @@
 	 *         be interpreted as a <code>boolean</code>.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #get(String,String)
 	 * @see #putBoolean(String,boolean)
 	 */
@@ -344,7 +344,7 @@
 	 * The associated <code>String</code> object is the one that would be returned
 	 * if the <code>float</code> value were passed to
 	 * <code>Float.toString(float)</code>. This method is intended for use in
-	 * conjunction with the {@link #getFloat}method.
+	 * conjunction with the {@link #getFloat} method.
 	 * 
 	 * <p>
 	 * Implementor's note: it is <i>not </i> necessary that the value be
@@ -360,7 +360,7 @@
 	 *        <code>key</code>.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #getFloat(String,float)
 	 */
 	public void putFloat(String key, float value);
@@ -387,7 +387,7 @@
 	 *         associated value does not exist or cannot be interpreted as a
 	 *         <code>float</code> type.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @see #putFloat(String,float)
 	 * @see #get(String,String)
@@ -400,7 +400,7 @@
 	 * The associated <code>String</code> object is the one that would be returned
 	 * if the <code>double</code> value were passed to
 	 * <code>Double.toString(double)</code>. This method is intended for use in
-	 * conjunction with the {@link #getDouble}method
+	 * conjunction with the {@link #getDouble} method
 	 * 
 	 * <p>
 	 * Implementor's note: it is <i>not </i> necessary that the value be
@@ -417,7 +417,7 @@
 	 *        <code>key</code>.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #getDouble(String,double)
 	 */
 	public void putDouble(String key, double value);
@@ -431,7 +431,7 @@
 	 * is inaccessible, or if <code>Double.parseDouble(String)</code> would throw
 	 * a <code>NumberFormatException</code> if the associated value were passed.
 	 * This method is intended for use in conjunction with the
-	 * {@link #putDouble}method.
+	 * {@link #putDouble} method.
 	 * 
 	 * @param key <code>key</code> whose associated value is to be returned as a
 	 *        <code>double</code> value.
@@ -444,7 +444,7 @@
 	 *         <code>def</code> if the associated value does not exist or cannot
 	 *         be interpreted as a <code>double</code> type.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the the {@link #removeNode()}method.
+	 *         removed with the the {@link #removeNode()} method.
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>.
 	 * @see #putDouble(String,double)
 	 * @see #get(String,String)
@@ -460,7 +460,7 @@
 	 * with one minor change: the string will consist solely of characters from
 	 * the <i>Base64 Alphabet </i>; it will not contain any newline characters.
 	 * This method is intended for use in conjunction with the
-	 * {@link #getByteArray}method.
+	 * {@link #getByteArray} method.
 	 * 
 	 * <p>
 	 * Implementor's note: it is <i>not </i> necessary that the value be
@@ -478,7 +478,7 @@
 	 * @throws NullPointerException if <code>key</code> or <code>value</code> is
 	 *         <code>null</code>.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #getByteArray(String,byte[])
 	 * @see #get(String,String)
 	 */
@@ -492,7 +492,7 @@
 	 * Section 6.8, with one minor change: the string must consist solely of
 	 * characters from the <i>Base64 Alphabet </i>; no newline characters or
 	 * extraneous characters are permitted. This method is intended for use in
-	 * conjunction with the {@link #putByteArray}method.
+	 * conjunction with the {@link #putByteArray} method.
 	 * 
 	 * <p>
 	 * Returns the specified default if there is no value associated with the
@@ -512,7 +512,7 @@
 	 * @throws NullPointerException if <code>key</code> is <code>null</code>. (A
 	 *         <code>null</code> value for <code>def</code> <i>is </i> permitted.)
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #get(String,String)
 	 * @see #putByteArray(String,byte[])
 	 */
@@ -528,7 +528,7 @@
 	 *         to a failure in the backing store, or inability to communicate
 	 *         with it.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 */
 	public String[] keys() throws BackingStoreException;
 
@@ -541,7 +541,7 @@
 	 *         to a failure in the backing store, or inability to communicate
 	 *         with it.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 */
 	public String[] childrenNames() throws BackingStoreException;
 
@@ -550,7 +550,7 @@
 	 * 
 	 * @return the parent of this node.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 */
 	public Preferences parent();
 
@@ -574,7 +574,7 @@
 	 * @return the specified <code>Preferences</code> object.
 	 * @throws IllegalArgumentException if the path name is invalid.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @throws NullPointerException if path name is <code>null</code>.
 	 * @see #flush()
 	 */
@@ -590,7 +590,7 @@
 	 * 
 	 * <p>
 	 * If this node (or an ancestor) has already been removed with the
-	 * {@link #removeNode()}method, it <i>is </i> legal to invoke this method,
+	 * {@link #removeNode()} method, it <i>is </i> legal to invoke this method,
 	 * but only with the pathname <code>""</code>; the invocation will return
 	 * <code>false</code>. Thus, the idiom <code>p.nodeExists("")</code> may be
 	 * used to test whether <code>p</code> has been removed.
@@ -602,7 +602,7 @@
 	 *         to a failure in the backing store, or inability to communicate
 	 *         with it.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method and
+	 *         removed with the {@link #removeNode()} method and
 	 *         <code>pathname</code> is not the empty string (<code>""</code>).
 	 * @throws IllegalArgumentException if the path name is invalid (i.e., it
 	 *         contains multiple consecutive slash characters, or ends with a
@@ -625,7 +625,7 @@
 	 * method is called on the parent of this node.
 	 * 
 	 * @throws IllegalStateException if this node (or an ancestor) has already
-	 *         been removed with the {@link #removeNode()}method.
+	 *         been removed with the {@link #removeNode()} method.
 	 * @throws BackingStoreException if this operation cannot be completed due
 	 *         to a failure in the backing store, or inability to communicate
 	 *         with it.
@@ -679,7 +679,7 @@
 	 *         to a failure in the backing store, or inability to communicate
 	 *         with it.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #sync()
 	 */
 	public void flush() throws BackingStoreException;
@@ -695,8 +695,8 @@
 	 *         to a failure in the backing store, or inability to communicate
 	 *         with it.
 	 * @throws IllegalStateException if this node (or an ancestor) has been
-	 *         removed with the {@link #removeNode()}method.
+	 *         removed with the {@link #removeNode()} method.
 	 * @see #flush()
 	 */
 	public void sync() throws BackingStoreException;
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/PreferencesService.java b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/PreferencesService.java
index 7f28b3a..19c1e34 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/PreferencesService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/PreferencesService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.9 2006/03/14 01:21:15 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.10 2006/06/16 16:31:30 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/package.html
index 38e8d80..ce6746a 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/prefs/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/prefs/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/package.html,v 1.3 2004/12/03 19:30:27 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/package.html,v 1.4 2006/07/12 21:06:58 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Preferences Service Package. Specification Version 1.1.
+<p>Preferences Service Package Version 1.1.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/ProvisioningService.java b/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/ProvisioningService.java
index 0678357..00ec9e0 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/ProvisioningService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/ProvisioningService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.provisioning/src/org/osgi/service/provisioning/ProvisioningService.java,v 1.9 2006/03/14 01:21:04 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.provisioning/src/org/osgi/service/provisioning/ProvisioningService.java,v 1.11 2006/07/12 21:21:31 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,9 +17,9 @@
  */
 package org.osgi.service.provisioning;
 
+import java.io.IOException;
 import java.util.Dictionary;
 import java.util.zip.ZipInputStream;
-import java.io.IOException;
 
 /**
  * Service for managing the initial provisioning information.
@@ -58,7 +58,7 @@
  * the provisioning information, so care must be taken not to leak the
  * Provisioning Dictionary received from <code>getInformation</code> method.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.11 $
  */
 public interface ProvisioningService {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/package.html
index d1ed341..c04a871 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/provisioning/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.provisioning/src/org/osgi/service/provisioning/package.html,v 1.3 2005/08/10 02:16:40 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.provisioning/src/org/osgi/service/provisioning/package.html,v 1.4 2006/07/12 21:07:07 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Provisioning Service Package. Specification Version 1.1.
+<p>Provisioning Package Version 1.1.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPAction.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPAction.java
index 764f2a2..2d16666 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPAction.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPAction.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPAction.java,v 1.9 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPAction.java,v 1.10 2006/06/16 16:31:46 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPDevice.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPDevice.java
index b41c242..72f017b 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPDevice.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPDevice.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPDevice.java,v 1.8 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPDevice.java,v 1.9 2006/06/16 16:31:46 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPEventListener.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPEventListener.java
index fb4d893..4c1641c 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPEventListener.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPEventListener.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPEventListener.java,v 1.7 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPEventListener.java,v 1.8 2006/06/16 16:31:46 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPException.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPException.java
index c594801..61dc481 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPException.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPException.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPException.java,v 1.11 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPException.java,v 1.14 2006/07/12 21:21:34 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,6 @@
  */
 package org.osgi.service.upnp;
 
-import java.lang.Exception;
 
 /**
  * There are several defined error situations describing UPnP problems while a
@@ -58,7 +57,7 @@
 	 * Key for an error information that is an int type variable and that is
 	 * used to identify occured errors.
 	 */
-	private int				errorCode;
+	private final int				errorCode;
 
 	/**
 	 * This constructor creates a UPnPException on the specified error code and
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPIcon.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPIcon.java
index 835d8b9..36a3db7 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPIcon.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPIcon.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPIcon.java,v 1.10 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPIcon.java,v 1.12 2006/07/12 21:21:34 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,8 +17,8 @@
  */
 package org.osgi.service.upnp;
 
-import java.io.InputStream;
 import java.io.IOException;
+import java.io.InputStream;
 
 /**
  * A UPnP icon representation.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPLocalStateVariable.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPLocalStateVariable.java
index 7ab6fa3..bdc0b8a 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPLocalStateVariable.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPLocalStateVariable.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPLocalStateVariable.java,v 1.11 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPLocalStateVariable.java,v 1.12 2006/06/16 16:31:46 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPService.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPService.java
index 6b0406c..4eafb32 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPService.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPService.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPService.java,v 1.7 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPService.java,v 1.8 2006/06/16 16:31:46 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPStateVariable.java b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPStateVariable.java
index 9d34ed8..c758c88 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPStateVariable.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/UPnPStateVariable.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPStateVariable.java,v 1.7 2006/03/14 01:21:11 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/UPnPStateVariable.java,v 1.8 2006/06/16 16:31:46 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/package.html
index 2c5c268..c6e9bcb 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/upnp/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/upnp/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/package.html,v 1.3 2004/12/09 20:04:20 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.upnp/src/org/osgi/service/upnp/package.html,v 1.4 2006/07/12 21:06:55 hargrave Exp $ -->
 <BODY>
-<P>The OSGi UPnP API Package. Specification Version 1.1.
+<p>UPnP Package Version 1.1.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Authorization.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Authorization.java
index 6e780ad..08f0205 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Authorization.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Authorization.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/Authorization.java,v 1.7 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/Authorization.java,v 1.9 2006/07/11 00:54:01 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@
  * the required role, by calling its <code>hasRole</code> method.
  * <p>
  * Authorization contexts are instantiated by calling the
- * {@link UserAdmin#getAuthorization}method.
+ * {@link UserAdmin#getAuthorization} method.
  * 
  * <p>
  * <i>Trusting Authorization objects </i>
@@ -60,14 +60,14 @@
  * <code>Authorization</code> object), the service explicitly checks that the
  * calling bundle has permission to make the call.
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.9 $
  */
 public interface Authorization {
 	/**
-	 * Gets the name of the {@link User}that this <code>Authorization</code>
+	 * Gets the name of the {@link User} that this <code>Authorization</code>
 	 * context was created for.
 	 * 
-	 * @return The name of the {@link User}object that this
+	 * @return The name of the {@link User} object that this
 	 *         <code>Authorization</code> context was created for, or
 	 *         <code>null</code> if no user was specified when this
 	 *         <code>Authorization</code> context was created.
@@ -82,7 +82,7 @@
 	 * Bundles must define globally unique role names that are associated with
 	 * the privilege of accessing restricted resources or operations. Operators
 	 * will grant users access to these resources, by creating a {@link Group}
-	 * object for each role and adding {@link User}objects to it.
+	 * object for each role and adding {@link User} objects to it.
 	 * 
 	 * @param name The name of the role to check for.
 	 * 
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Group.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Group.java
index 2687354..92671ca 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Group.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Group.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/Group.java,v 1.7 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/Group.java,v 1.8 2006/06/16 16:31:41 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -87,7 +87,7 @@
  *  
  * </pre>
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
  */
 public interface Group extends User {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Role.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Role.java
index 147fd5c..72b021b 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Role.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/Role.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/Role.java,v 1.8 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/Role.java,v 1.10 2006/07/11 00:54:01 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@
  * classes: a name, a type, and a set of properties.
  * <p>
  * Properties represent public information about the <code>Role</code> object that
- * can be read by anyone. Specific {@link UserAdminPermission}objects are
+ * can be read by anyone. Specific {@link UserAdminPermission} objects are
  * required to change a <code>Role</code> object's properties.
  * <p>
  * <code>Role</code> object properties are <code>Dictionary</code> objects. Changes
@@ -47,7 +47,7 @@
  * <code>UserAdminPermission</code> in the same way that properties for other
  * <code>Role</code> objects are.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  */
 public interface Role {
 	/**
@@ -64,14 +64,14 @@
 	 */
 	public static final int		ROLE		= 0;
 	/**
-	 * The type of a {@link User}role.
+	 * The type of a {@link User} role.
 	 * 
 	 * <p>
 	 * The value of <code>USER</code> is 1.
 	 */
 	public static final int		USER		= 1;
 	/**
-	 * The type of a {@link Group}role.
+	 * The type of a {@link Group} role.
 	 * 
 	 * <p>
 	 * The value of <code>GROUP</code> is 2.
@@ -97,7 +97,7 @@
 	 * <code>Role</code> object. Any changes to the returned <code>Dictionary</code>
 	 * will change the properties of this <code>Role</code> object. This will
 	 * cause a <code>UserAdminEvent</code> object of type
-	 * {@link UserAdminEvent#ROLE_CHANGED}to be broadcast to any
+	 * {@link UserAdminEvent#ROLE_CHANGED} to be broadcast to any
 	 * <code>UserAdminListener</code> objects.
 	 * 
 	 * <p>
@@ -108,7 +108,7 @@
 	 * 
 	 * <p>
 	 * In order to add, change, or remove a property in the returned
-	 * <code>Dictionary</code>, a {@link UserAdminPermission}named after the
+	 * <code>Dictionary</code>, a {@link UserAdminPermission} named after the
 	 * property name (or a prefix of it) with action <code>changeProperty</code>
 	 * is required.
 	 * 
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/User.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/User.java
index b321388..9baa0b3 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/User.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/User.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/User.java,v 1.7 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/User.java,v 1.9 2006/07/11 00:54:01 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,14 +32,14 @@
  * User Admin services.
  * <p>
  * A <code>User</code> object may have credentials (and properties, inherited from
- * the {@link Role}class) associated with it. Specific
- * {@link UserAdminPermission}objects are required to read or change a
+ * the {@link Role} class) associated with it. Specific
+ * {@link UserAdminPermission} objects are required to read or change a
  * <code>User</code> object's credentials.
  * <p>
  * Credentials are <code>Dictionary</code> objects and have semantics that are
  * similar to the properties in the <code>Role</code> class.
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.9 $
  */
 public interface User extends Role {
 	/**
@@ -47,7 +47,7 @@
 	 * object. Any changes to the returned <code>Dictionary</code> object will
 	 * change the credentials of this <code>User</code> object. This will cause a
 	 * <code>UserAdminEvent</code> object of type
-	 * {@link UserAdminEvent#ROLE_CHANGED}to be broadcast to any
+	 * {@link UserAdminEvent#ROLE_CHANGED} to be broadcast to any
 	 * <code>UserAdminListeners</code> objects.
 	 * 
 	 * <p>
@@ -58,11 +58,11 @@
 	 * 
 	 * <p>
 	 * In order to retrieve a credential from the returned <code>Dictionary</code>
-	 * object, a {@link UserAdminPermission}named after the credential name (or
+	 * object, a {@link UserAdminPermission} named after the credential name (or
 	 * a prefix of it) with action <code>getCredential</code> is required.
 	 * <p>
 	 * In order to add or remove a credential from the returned
-	 * <code>Dictionary</code> object, a {@link UserAdminPermission}named after
+	 * <code>Dictionary</code> object, a {@link UserAdminPermission} named after
 	 * the credential name (or a prefix of it) with action
 	 * <code>changeCredential</code> is required.
 	 * 
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdmin.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdmin.java
index 14ccbbf..49248bc 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdmin.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdmin.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdmin.java,v 1.9 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdmin.java,v 1.12 2006/07/12 21:21:33 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,7 @@
  */
 package org.osgi.service.useradmin;
 
-import org.osgi.framework.*;
+import org.osgi.framework.InvalidSyntaxException;
 
 /**
  * This interface is used to manage a database of named <code>Role</code> objects,
@@ -34,18 +34,18 @@
  * Every role has a name and a type.
  * 
  * <p>
- * A {@link User}object can be configured with credentials (e.g., a password)
+ * A {@link User} object can be configured with credentials (e.g., a password)
  * and properties (e.g., a street address, phone number, etc.).
  * <p>
- * A {@link Group}object represents an aggregation of {@link User}and
- * {@link Group}objects. In other words, the members of a <code>Group</code>
+ * A {@link Group} object represents an aggregation of {@link User} and
+ * {@link Group} objects. In other words, the members of a <code>Group</code>
  * object are roles themselves.
  * <p>
  * Every User Admin service manages and maintains its own namespace of
  * <code>Role</code> objects, in which each <code>Role</code> object has a unique
  * name.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.12 $
  */
 public interface UserAdmin {
 	/**
@@ -54,12 +54,12 @@
 	 * 
 	 * <p>
 	 * If a <code>Role</code> object was created, a <code>UserAdminEvent</code>
-	 * object of type {@link UserAdminEvent#ROLE_CREATED}is broadcast to any
+	 * object of type {@link UserAdminEvent#ROLE_CREATED} is broadcast to any
 	 * <code>UserAdminListener</code> object.
 	 * 
 	 * @param name The <code>name</code> of the <code>Role</code> object to create.
 	 * @param type The type of the <code>Role</code> object to create. Must be
-	 *        either a {@link Role#USER}type or {@link Role#GROUP}type.
+	 *        either a {@link Role#USER} type or {@link Role#GROUP} type.
 	 * 
 	 * @return The newly created <code>Role</code> object, or <code>null</code> if a
 	 *         role with the given name already exists.
@@ -78,7 +78,7 @@
 	 * 
 	 * <p>
 	 * If the <code>Role</code> object was removed, a <code>UserAdminEvent</code>
-	 * object of type {@link UserAdminEvent#ROLE_REMOVED}is broadcast to any
+	 * object of type {@link UserAdminEvent#ROLE_REMOVED} is broadcast to any
 	 * <code>UserAdminListener</code> object.
 	 * 
 	 * @param name The name of the <code>Role</code> object to remove.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminEvent.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminEvent.java
index e66fc09..0cb16a7 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminEvent.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminEvent.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdminEvent.java,v 1.7 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdminEvent.java,v 1.9 2006/07/11 00:54:01 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,14 +28,14 @@
  * 
  * <p>
  * A type code is used to identify the event. The following event types are
- * defined: {@link #ROLE_CREATED}type, {@link #ROLE_CHANGED}type, and
- * {@link #ROLE_REMOVED}type. Additional event types may be defined in the
+ * defined: {@link #ROLE_CREATED} type, {@link #ROLE_CHANGED} type, and
+ * {@link #ROLE_REMOVED} type. Additional event types may be defined in the
  * future.
  * 
  * @see UserAdmin
  * @see UserAdminListener
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.9 $
  */
 public class UserAdminEvent {
 	private ServiceReference	ref;
@@ -93,8 +93,8 @@
 	 * Returns the type of this event.
 	 * 
 	 * <p>
-	 * The type values are {@link #ROLE_CREATED}type, {@link #ROLE_CHANGED}
-	 * type, and {@link #ROLE_REMOVED}type.
+	 * The type values are {@link #ROLE_CREATED} type, {@link #ROLE_CHANGED}
+	 * type, and {@link #ROLE_REMOVED} type.
 	 * 
 	 * @return The event type.
 	 */
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminListener.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminListener.java
index 06f79b8..d0ab85e 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminListener.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminListener.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdminListener.java,v 1.7 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdminListener.java,v 1.8 2006/06/16 16:31:41 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@
  * @see UserAdmin
  * @see UserAdminEvent
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
  */
 public interface UserAdminListener {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminPermission.java b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminPermission.java
index 49b9e12..a281a13 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminPermission.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/UserAdminPermission.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdminPermission.java,v 1.10 2006/03/14 01:20:47 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/UserAdminPermission.java,v 1.13 2006/07/12 21:21:33 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,20 +18,18 @@
 package org.osgi.service.useradmin;
 
 import java.io.IOException;
-import java.util.Hashtable;
+import java.security.*;
 import java.util.Enumeration;
-import java.security.Permission;
-import java.security.BasicPermission;
-import java.security.PermissionCollection;
+import java.util.Hashtable;
 
 /**
- * Permission to configure and access the {@link Role}objects managed by a User
+ * Permission to configure and access the {@link Role} objects managed by a User
  * Admin service.
  * 
  * <p>
  * This class represents access to the <code>Role</code> objects managed by a User
  * Admin service and their properties and credentials (in the case of
- * {@link User}objects).
+ * {@link User} objects).
  * <p>
  * The permission name is the name (or name prefix) of a property or credential.
  * The naming convention follows the hierarchical property naming convention.
@@ -116,7 +114,7 @@
  * validate any password credentials (for authentication purposes), but the
  * bundle is not allowed to change any properties or credentials.
  * 
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.13 $
  */
 public final class UserAdminPermission extends BasicPermission {
     static final long serialVersionUID = -1179971692401603789L;
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/package.html
index 8c92abd..917fbc0 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/useradmin/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/package.html,v 1.3 2005/08/11 03:07:42 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.useradmin/src/org/osgi/service/useradmin/package.html,v 1.4 2006/07/12 21:07:08 hargrave Exp $ -->
 <BODY>
-<P>The OSGi User Admin service Package. Specification Version 1.1.
+<p>User Admin Package Version 1.1.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/BasicEnvelope.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/BasicEnvelope.java
index df076ca..8d7aada 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/BasicEnvelope.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/BasicEnvelope.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/BasicEnvelope.java,v 1.8 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/BasicEnvelope.java,v 1.9 2006/06/16 16:31:43 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
  * <code>BasicEnvelope</code> is an implementation of the {@link Envelope}
  * interface
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.9 $
  */
 public class BasicEnvelope implements Envelope {
 	Object	value;
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Consumer.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Consumer.java
index 238041a..5da384c 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Consumer.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Consumer.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Consumer.java,v 1.8 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Consumer.java,v 1.10 2006/07/11 00:54:10 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,27 +19,27 @@
 
 /**
  * Data Consumer, a service that can receive udpated values from
- * {@link Producer}services.
+ * {@link Producer} services.
  * 
  * <p>
  * Service objects registered under the <code>Consumer</code> interface are
  * expected to consume values from a Producer service via a <code>Wire</code>
  * object. A Consumer service may poll the Producer service by calling the
- * {@link Wire#poll}method. The Consumer service will also receive an updated
- * value when called at it's {@link #updated}method. The Producer service
+ * {@link Wire#poll} method. The Consumer service will also receive an updated
+ * value when called at it's {@link #updated} method. The Producer service
  * should have coerced the value to be an instance of one of the types specified
- * by the {@link Wire#getFlavors}method, or one of their subclasses.
+ * by the {@link Wire#getFlavors} method, or one of their subclasses.
  * 
  * <p>
  * Consumer service objects must register with a <code>service.pid</code> and a
- * {@link WireConstants#WIREADMIN_CONSUMER_FLAVORS}property. It is recommended
+ * {@link WireConstants#WIREADMIN_CONSUMER_FLAVORS} property. It is recommended
  * that Consumer service objects also register with a
  * <code>service.description</code> property.
  * 
  * <p>
  * If an <code>Exception</code> is thrown by any of the <code>Consumer</code>
  * methods, a <code>WireAdminEvent</code> of type
- * {@link WireAdminEvent#CONSUMER_EXCEPTION}is broadcast by the Wire Admin
+ * {@link WireAdminEvent#CONSUMER_EXCEPTION} is broadcast by the Wire Admin
  * service.
  * 
  * <p>
@@ -53,7 +53,7 @@
  * different types of objects from the Producer service. The Consumer service
  * should have <code>WirePermission</code> for each of these scope names.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  */
 public interface Consumer {
 	/**
@@ -63,7 +63,7 @@
 	 * <p>
 	 * Note: This method may be called by a <code>Wire</code> object prior to this
 	 * object being notified that it is connected to that <code>Wire</code> object
-	 * (via the {@link #producersConnected}method).
+	 * (via the {@link #producersConnected} method).
 	 * <p>
 	 * When the Consumer service can receive <code>Envelope</code> objects, it
 	 * must have registered all scope names together with the service object,
@@ -75,7 +75,7 @@
 	 * @param wire The <code>Wire</code> object which is delivering the updated
 	 *        value.
 	 * @param value The updated value. The value should be an instance of one of
-	 *        the types specified by the {@link Wire#getFlavors}method.
+	 *        the types specified by the {@link Wire#getFlavors} method.
 	 */
 	public void updated(Wire wire, Object value);
 
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Envelope.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Envelope.java
index c3f6605..bf3d61a 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Envelope.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Envelope.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Envelope.java,v 1.7 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Envelope.java,v 1.8 2006/06/16 16:31:43 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -45,7 +45,7 @@
  * @see WirePermission
  * @see BasicEnvelope
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
  */
 public interface Envelope {
 	/**
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Producer.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Producer.java
index e50bbbd..3657a7a 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Producer.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Producer.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Producer.java,v 1.8 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Producer.java,v 1.10 2006/07/11 00:54:10 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,7 +19,7 @@
 
 /**
  * Data Producer, a service that can generate values to be used by
- * {@link Consumer}services.
+ * {@link Consumer} services.
  * 
  * <p>
  * Service objects registered under the Producer interface are expected to
@@ -33,7 +33,7 @@
  * When the data represented by the Producer object changes, this object should
  * send the updated value by calling the <code>update</code> method on each of
  * <code>Wire</code> objects passed in the most recent call to this object's
- * {@link #consumersConnected}method. These <code>Wire</code> objects will pass
+ * {@link #consumersConnected} method. These <code>Wire</code> objects will pass
  * the value on to the associated <code>Consumer</code> service object.
  * 
  * <p>
@@ -42,10 +42,10 @@
  * 
  * <p>
  * Producer service objects must register with a <code>service.pid</code> and a
- * {@link WireConstants#WIREADMIN_PRODUCER_FLAVORS}property. It is recommended
+ * {@link WireConstants#WIREADMIN_PRODUCER_FLAVORS} property. It is recommended
  * that a Producer service object also registers with a
  * <code>service.description</code> property. Producer service objects must
- * register with a {@link WireConstants#WIREADMIN_PRODUCER_FILTERS}property if
+ * register with a {@link WireConstants#WIREADMIN_PRODUCER_FILTERS} property if
  * the Producer service will be performing filtering instead of the
  * <code>Wire</code> object.
  * 
@@ -66,7 +66,7 @@
  * different types of objects (composite) to the Consumer service. The Producer
  * service should have <code>WirePermission</code> for each of these scope names.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  */
 public interface Producer {
 	/**
@@ -83,7 +83,7 @@
 	 * <p>
 	 * Note: This method may be called by a <code>Wire</code> object prior to this
 	 * object being notified that it is connected to that <code>Wire</code> object
-	 * (via the {@link #consumersConnected}method).
+	 * (via the {@link #consumersConnected} method).
 	 * <p>
 	 * If the Producer service returns an <code>Envelope</code> object that has an
 	 * unpermitted scope name, then the Wire object must ignore (or remove) the
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Wire.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Wire.java
index 7a1c278..b972a35 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Wire.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/Wire.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Wire.java,v 1.8 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/Wire.java,v 1.10 2006/07/11 00:54:10 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,8 +28,8 @@
  * <code>service.pid</code> values. The Producer and Consumer services may
  * communicate with each other via <code>Wire</code> objects that connect them.
  * The Producer service may send updated values to the Consumer service by
- * calling the {@link #update}method. The Consumer service may request an
- * updated value from the Producer service by calling the {@link #poll}method.
+ * calling the {@link #update} method. The Consumer service may request an
+ * updated value from the Producer service by calling the {@link #poll} method.
  * 
  * <p>
  * A Producer service and a Consumer service may be connected through multiple
@@ -55,7 +55,7 @@
  * is used in communication. The semantics of the names depend on the Producer
  * service and must not be interpreted by the Wire Admin service.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  */
 public interface Wire {
 	/**
@@ -92,7 +92,7 @@
 	 * deleted.
 	 * <p>
 	 * A <code>WireAdminEvent</code> of type
-	 * {@link WireAdminEvent#WIRE_DISCONNECTED}must be broadcast by the Wire
+	 * {@link WireAdminEvent#WIRE_DISCONNECTED} must be broadcast by the Wire
 	 * Admin service when the <code>Wire</code> becomes disconnected.
 	 * 
 	 * @return <code>true</code> if both the Producer and Consumer for this
@@ -108,7 +108,7 @@
 	 * 
 	 * <p>
 	 * The list is the value of the
-	 * {@link WireConstants#WIREADMIN_CONSUMER_FLAVORS}service property of the
+	 * {@link WireConstants#WIREADMIN_CONSUMER_FLAVORS} service property of the
 	 * Consumer service object connected to this object. If no such property was
 	 * registered or the type of the property value is not <code>Class[]</code>,
 	 * this method must return <code>null</code>.
@@ -116,7 +116,7 @@
 	 * @return An array containing the list of classes understood by the
 	 *         Consumer service or <code>null</code> if the <code>Wire</code> is not
 	 *         connected, or the consumer did not register a
-	 *         {@link WireConstants#WIREADMIN_CONSUMER_FLAVORS}property or the
+	 *         {@link WireConstants#WIREADMIN_CONSUMER_FLAVORS} property or the
 	 *         value of the property is not of type <code>Class[]</code>.
 	 */
 	public Class[] getFlavors();
@@ -129,7 +129,7 @@
 	 * service connected to this <code>Wire</code> object of an updated value.
 	 * <p>
 	 * If the properties of this <code>Wire</code> object contain a
-	 * {@link WireConstants#WIREADMIN_FILTER}property, then filtering is
+	 * {@link WireConstants#WIREADMIN_FILTER} property, then filtering is
 	 * performed. If the Producer service connected to this <code>Wire</code>
 	 * object was registered with the service property
 	 * {@link WireConstants#WIREADMIN_PRODUCER_FILTERS}, the Producer service
@@ -139,7 +139,7 @@
 	 * <p>
 	 * If no filtering is done, or the filter indicates the updated value should
 	 * be delivered to the Consumer service, then this <code>Wire</code> object
-	 * must call the {@link Consumer#updated}method with the updated value. If
+	 * must call the {@link Consumer#updated} method with the updated value. If
 	 * this <code>Wire</code> object is not connected, then the Consumer service
 	 * must not be called and the value is ignored.
 	 * <p>
@@ -196,7 +196,7 @@
 	 * 
 	 * <p>
 	 * The returned value is the most recent, valid value passed to the
-	 * {@link #update}method or returned by the {@link #poll}method of this
+	 * {@link #update} method or returned by the {@link #poll} method of this
 	 * object. If filtering is performed by this <code>Wire</code> object, this
 	 * methods returns the last value provided by the Producer service. This
 	 * value may be an <code>Envelope[]</code> when the Producer service uses
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdmin.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdmin.java
index 7752937..98a32b9 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdmin.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdmin.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireAdmin.java,v 1.8 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireAdmin.java,v 1.11 2006/07/12 21:22:14 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@
 package org.osgi.service.wireadmin;
 
 import java.util.Dictionary;
+
 import org.osgi.framework.InvalidSyntaxException;
 
 /**
@@ -37,7 +38,7 @@
  * <code>ServicePermission[WireAdmin,GET]</code> to get the Wire Admin service to
  * create, modify, find, and delete <code>Wire</code> objects.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.11 $
  */
 public interface WireAdmin {
 	/**
@@ -51,7 +52,7 @@
 	 * The <code>Wire</code> configuration data must be persistently stored. All
 	 * <code>Wire</code> connections are reestablished when the <code>WireAdmin</code>
 	 * service is registered. A <code>Wire</code> can be permanently removed by
-	 * using the {@link #deleteWire}method.
+	 * using the {@link #deleteWire} method.
 	 * 
 	 * <p>
 	 * The <code>Wire</code> object's properties must have case insensitive
@@ -62,13 +63,13 @@
 	 * The <code>WireAdmin</code> service must automatically add the following
 	 * <code>Wire</code> properties:
 	 * <ul>
-	 * <li>{@link WireConstants#WIREADMIN_PID}set to the value of the
+	 * <li>{@link WireConstants#WIREADMIN_PID} set to the value of the
 	 * <code>Wire</code> object's persistent identity (PID). This value is
 	 * generated by the Wire Admin service when a <code>Wire</code> object is
 	 * created.</li>
-	 * <li>{@link WireConstants#WIREADMIN_PRODUCER_PID}set to the value of
+	 * <li>{@link WireConstants#WIREADMIN_PRODUCER_PID} set to the value of
 	 * Producer service's PID.</li>
-	 * <li>{@link WireConstants#WIREADMIN_CONSUMER_PID}set to the value of
+	 * <li>{@link WireConstants#WIREADMIN_CONSUMER_PID} set to the value of
 	 * Consumer service's PID.</li>
 	 * </ul>
 	 * If the <code>properties</code> argument already contains any of these keys,
@@ -77,7 +78,7 @@
 	 * 
 	 * <p>
 	 * The Wire Admin service must broadcast a <code>WireAdminEvent</code> of type
-	 * {@link WireAdminEvent#WIRE_CREATED}after the new <code>Wire</code> object
+	 * {@link WireAdminEvent#WIRE_CREATED} after the new <code>Wire</code> object
 	 * becomes available from {@link #getWires}.
 	 * 
 	 * @param producerPID The <code>service.pid</code> of the Producer service to
@@ -103,12 +104,12 @@
 	 * The <code>Wire</code> object representing a connection between a Producer
 	 * service and a Consumer service must be removed. The persistently stored
 	 * configuration data for the <code>Wire</code> object must destroyed. The
-	 * <code>Wire</code> object's method {@link Wire#isValid}will return
+	 * <code>Wire</code> object's method {@link Wire#isValid} will return
 	 * <code>false</code> after it is deleted.
 	 * 
 	 * <p>
 	 * The Wire Admin service must broadcast a <code>WireAdminEvent</code> of type
-	 * {@link WireAdminEvent#WIRE_DELETED}after the <code>Wire</code> object
+	 * {@link WireAdminEvent#WIRE_DELETED} after the <code>Wire</code> object
 	 * becomes invalid.
 	 * 
 	 * @param wire The <code>Wire</code> object which is to be deleted.
@@ -121,12 +122,12 @@
 	 * The persistently stored configuration data for the <code>Wire</code> object
 	 * is updated with the new properties and then the Consumer and Producer
 	 * services will be called at the respective
-	 * {@link Consumer#producersConnected}and
-	 * {@link Producer#consumersConnected}methods.
+	 * {@link Consumer#producersConnected} and
+	 * {@link Producer#consumersConnected} methods.
 	 * 
 	 * <p>
 	 * The Wire Admin service must broadcast a <code>WireAdminEvent</code> of type
-	 * {@link WireAdminEvent#WIRE_UPDATED}after the updated properties are
+	 * {@link WireAdminEvent#WIRE_UPDATED} after the updated properties are
 	 * available from the <code>Wire</code> object.
 	 * 
 	 * @param wire The <code>Wire</code> object which is to be updated.
@@ -153,7 +154,7 @@
 	 * <p>
 	 * The filter matches against the <code>Wire</code> object's properties
 	 * including {@link WireConstants#WIREADMIN_PRODUCER_PID},
-	 * {@link WireConstants#WIREADMIN_CONSUMER_PID}and
+	 * {@link WireConstants#WIREADMIN_CONSUMER_PID} and
 	 * {@link WireConstants#WIREADMIN_PID}.
 	 * 
 	 * @param filter Filter string to select <code>Wire</code> objects or
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminEvent.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminEvent.java
index e3981bb..e2f3084 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminEvent.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminEvent.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireAdminEvent.java,v 1.7 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireAdminEvent.java,v 1.9 2006/07/11 00:54:10 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,8 +27,8 @@
  * <code>WireAdminListener</code> service objects which specify an interest in the
  * <code>WireAdminEvent</code> type. Events must be delivered in chronological
  * order with respect to each listener. For example, a <code>WireAdminEvent</code>
- * of type {@link #WIRE_CONNECTED}must be delivered before a
- * <code>WireAdminEvent</code> of type {@link #WIRE_DISCONNECTED}for a particular
+ * of type {@link #WIRE_CONNECTED} must be delivered before a
+ * <code>WireAdminEvent</code> of type {@link #WIRE_DISCONNECTED} for a particular
  * <code>Wire</code> object.
  * 
  * <p>
@@ -56,7 +56,7 @@
  * 
  * @see WireAdminListener
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.9 $
  */
 public class WireAdminEvent {
 	/**
@@ -108,8 +108,8 @@
 	 * This <code>WireAdminEvent</code> type that indicates that a new
 	 * <code>Wire</code> object has been created.
 	 * 
-	 * An event is broadcast when {@link WireAdmin#createWire}is called. The
-	 * {@link WireAdminEvent#getWire}method will return the <code>Wire</code>
+	 * An event is broadcast when {@link WireAdmin#createWire} is called. The
+	 * {@link WireAdminEvent#getWire} method will return the <code>Wire</code>
 	 * object that has just been created.
 	 * 
 	 * <p>
@@ -123,8 +123,8 @@
 	 * This <code>WireAdminEvent</code> type that indicates that an existing
 	 * <code>Wire</code> object has been updated with new properties.
 	 * 
-	 * An event is broadcast when {@link WireAdmin#updateWire}is called with a
-	 * valid wire. The {@link WireAdminEvent#getWire}method will return the
+	 * An event is broadcast when {@link WireAdmin#updateWire} is called with a
+	 * valid wire. The {@link WireAdminEvent#getWire} method will return the
 	 * <code>Wire</code> object that has just been updated.
 	 * 
 	 * <p>
@@ -138,8 +138,8 @@
 	 * This <code>WireAdminEvent</code> type that indicates that an existing wire
 	 * has been deleted.
 	 * 
-	 * An event is broadcast when {@link WireAdmin#deleteWire}is called with a
-	 * valid wire. {@link WireAdminEvent#getWire}will return the <code>Wire</code>
+	 * An event is broadcast when {@link WireAdmin#deleteWire} is called with a
+	 * valid wire. {@link WireAdminEvent#getWire} will return the <code>Wire</code>
 	 * object that has just been deleted.
 	 * 
 	 * <p>
@@ -152,7 +152,7 @@
 	 * 
 	 * The Consumer object and the Producer object that are associated with the
 	 * <code>Wire</code> object have both been registered and the <code>Wire</code>
-	 * object is connected. See {@link Wire#isConnected}for a description of
+	 * object is connected. See {@link Wire#isConnected} for a description of
 	 * the connected state. This event may come before the
 	 * <code>producersConnected</code> and <code>consumersConnected</code> method
 	 * have returned or called to allow synchronous delivery of the events. Both
@@ -169,7 +169,7 @@
 	 * <code>Wire</code> object has become disconnected.
 	 * 
 	 * The Consumer object or/and Producer object is/are unregistered breaking
-	 * the connection between the two. See {@link Wire#isConnected}for a
+	 * the connection between the two. See {@link Wire#isConnected} for a
 	 * description of the connected state.
 	 * 
 	 * <p>
@@ -181,10 +181,10 @@
 	 * transferred over the <code>Wire</code> object.
 	 * 
 	 * This event is sent after the Consumer service has been notified by
-	 * calling the {@link Consumer#updated}method or the Consumer service
-	 * requested a new value with the {@link Wire#poll}method. This is an
+	 * calling the {@link Consumer#updated} method or the Consumer service
+	 * requested a new value with the {@link Wire#poll} method. This is an
 	 * advisory event meaning that when this event is received, another update
-	 * may already have occurred and this the {@link Wire#getLastValue}method
+	 * may already have occurred and this the {@link Wire#getLastValue} method
 	 * returns a newer value then the value that was communicated for this
 	 * event.
 	 * 
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminListener.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminListener.java
index 2824715..9e7b04d 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminListener.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireAdminListener.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireAdminListener.java,v 1.8 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireAdminListener.java,v 1.10 2006/07/11 00:54:10 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@
  * 
  * <p>
  * <code>WireAdminListener</code> objects must be registered with a service
- * property {@link WireConstants#WIREADMIN_EVENTS}whose value is a bitwise OR
+ * property {@link WireConstants#WIREADMIN_EVENTS} whose value is a bitwise OR
  * of all the event types the listener is interested in receiving.
  * <p>
  * For example:
@@ -58,7 +58,7 @@
  * 
  * @see WireAdminEvent
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  */
 public interface WireAdminListener {
 	/**
@@ -66,7 +66,7 @@
 	 * 
 	 * The event object will be of an event type specified in this
 	 * <code>WireAdminListener</code> service's
-	 * {@link WireConstants#WIREADMIN_EVENTS}service property.
+	 * {@link WireConstants#WIREADMIN_EVENTS} service property.
 	 * 
 	 * @param event The <code>WireAdminEvent</code> object.
 	 */
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireConstants.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireConstants.java
index 80f6f0e..5190b9b 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireConstants.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WireConstants.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireConstants.java,v 1.8 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WireConstants.java,v 1.10 2006/07/11 00:54:10 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
  * Defines standard names for <code>Wire</code> properties, wire filter
  * attributes, Consumer and Producer service properties.
  * 
- * @version $Revision: 1.8 $
+ * @version $Revision: 1.10 $
  */
 public interface WireConstants {
 	/**
@@ -31,7 +31,7 @@
 	 * <p>
 	 * Each <code>Wire</code> object has a PID to allow unique and persistent
 	 * identification of a specific <code>Wire</code> object. The PID must be
-	 * generated by the {@link WireAdmin}service when the <code>Wire</code>
+	 * generated by the {@link WireAdmin} service when the <code>Wire</code>
 	 * object is created.
 	 * 
 	 * <p>
@@ -126,7 +126,7 @@
 	 * of the updated data value.
 	 * <p>
 	 * If the Producer service was registered with the
-	 * {@link #WIREADMIN_PRODUCER_FILTERS}service property indicating that the
+	 * {@link #WIREADMIN_PRODUCER_FILTERS} service property indicating that the
 	 * Producer service will perform the data filtering then the <code>Wire</code>
 	 * object will not perform data filtering. Otherwise, the <code>Wire</code>
 	 * object must perform basic filtering. Basic filtering includes supporting
@@ -181,7 +181,7 @@
 	 * Service Registration property (named <code>wireadmin.producer.filters</code>).
 	 * A <code>Producer</code> service registered with this property indicates to
 	 * the Wire Admin service that the Producer service implements at least the
-	 * filtering as described for the {@link #WIREADMIN_FILTER}property. If the
+	 * filtering as described for the {@link #WIREADMIN_FILTER} property. If the
 	 * Producer service is not registered with this property, the <code>Wire</code>
 	 * object must perform the basic filtering as described in
 	 * {@link #WIREADMIN_FILTER}.
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WirePermission.java b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WirePermission.java
index 671a9a3..b161002 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WirePermission.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/WirePermission.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WirePermission.java,v 1.11 2006/03/14 01:20:55 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/WirePermission.java,v 1.13 2006/07/12 21:22:14 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,11 +18,9 @@
 package org.osgi.service.wireadmin;
 
 import java.io.IOException;
-import java.util.Hashtable;
+import java.security.*;
 import java.util.Enumeration;
-import java.security.Permission;
-import java.security.BasicPermission;
-import java.security.PermissionCollection;
+import java.util.Hashtable;
 
 /**
  * Permission for the scope of a <code>Wire</code> object. When a
@@ -37,7 +35,7 @@
  * scope names starting with the string "Door". The last period is required due
  * to the implementations of the <code>BasicPermission</code> class.
  * 
- * @version $Revision: 1.11 $
+ * @version $Revision: 1.13 $
  */
 final public class WirePermission extends BasicPermission {
     static final long serialVersionUID = -5583709391516569321L;
diff --git a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/package.html b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/package.html
index 083087c..490c0b5 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/service/wireadmin/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/package.html,v 1.2 2004/12/01 19:01:21 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.service.wireadmin/src/org/osgi/service/wireadmin/package.html,v 1.3 2006/07/12 21:07:06 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Wire Admin service Package. Specification Version 1.0.
+<p>Wire Admin Package Version 1.0.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Measurement.java b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Measurement.java
index 5870fdf..0b6cc70 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Measurement.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Measurement.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/Measurement.java,v 1.12 2006/03/14 01:19:37 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/Measurement.java,v 1.14 2006/07/11 00:54:06 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@
  * incompatible way. E.g., when a speed (m/s) is added to a distance (m). The
  * measurement class will correctly track changes in unit during multiplication
  * and division, always coercing the result to the most simple form. See
- * {@link Unit}for more information on the supported units.
+ * {@link Unit} for more information on the supported units.
  * 
  * <p>
  * Errors in the measurement class are absolute errors. Measurement errors
@@ -46,7 +46,7 @@
  * Note: This class has a natural ordering that is inconsistent with equals. See
  * {@link #compareTo}.
  * 
- * @version $Revision: 1.12 $
+ * @version $Revision: 1.14 $
  */
 public class Measurement implements Comparable {
 	/* package private so it can be accessed by Unit */
@@ -102,7 +102,7 @@
 
 	/**
 	 * Create a new <code>Measurement</code> object with an error of 0.0, a unit
-	 * of {@link Unit#unity}and a time of zero.
+	 * of {@link Unit#unity} and a time of zero.
 	 * 
 	 * @param value The value of the <code>Measurement</code>.
 	 */
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/State.java b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/State.java
index df8385d..77ce395 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/State.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/State.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/State.java,v 1.7 2006/03/14 01:19:37 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/State.java,v 1.8 2006/06/16 16:31:34 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -27,7 +27,7 @@
  * <p>
  * A <code>State</code> object is immutable so that it may be easily shared.
  * 
- * @version $Revision: 1.7 $
+ * @version $Revision: 1.8 $
  */
 public class State {
 	final int		value;
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Unit.java b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Unit.java
index b744e21..e53bb25 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Unit.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/Unit.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/Unit.java,v 1.14 2006/03/14 01:19:37 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/Unit.java,v 1.15 2006/06/16 16:31:34 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@
  * +63. Any operation which produces an exponent outside of this range will
  * result in a <code>Unit</code> object with undefined exponents.
  * 
- * @version $Revision: 1.14 $
+ * @version $Revision: 1.15 $
  */
 /*
  * This local class maintains the information about units. It can calculate new
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/package.html b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/package.html
index b3b7f3f..61a8f9f 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/measurement/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/measurement/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/package.html,v 1.4 2005/05/27 01:25:29 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.util.measurement/src/org/osgi/util/measurement/package.html,v 1.5 2006/07/12 21:07:19 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Measurement Package. Specification Version 1.0.
+<p>Measurement Package Version 1.0.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/position/Position.java b/org.osgi.compendium/src/main/java/org/osgi/util/position/Position.java
index 1190cf5..cf9e1ca 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/position/Position.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/position/Position.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.util.position/src/org/osgi/util/position/Position.java,v 1.7 2006/03/14 01:20:44 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.util.position/src/org/osgi/util/position/Position.java,v 1.9 2006/07/12 21:21:35 hargrave Exp $
  *
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,7 +17,8 @@
  */
 package org.osgi.util.position;
 
-import org.osgi.util.measurement.*;
+import org.osgi.util.measurement.Measurement;
+import org.osgi.util.measurement.Unit;
 
 /**
  * Position represents a geographic location, based on the WGS84 System (World
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/position/package.html b/org.osgi.compendium/src/main/java/org/osgi/util/position/package.html
index c73c3d4..03fb769 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/position/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/position/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.util.position/src/org/osgi/util/position/package.html,v 1.2 2004/12/01 19:00:53 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.util.position/src/org/osgi/util/position/package.html,v 1.3 2006/07/12 21:06:57 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Position Package. Specification Version 1.0.
+<p>Position Package Version 1.0.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java
index 8ded728..253b9f6 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTracker.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTracker.java,v 1.18 2006/03/14 01:20:01 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTracker.java,v 1.21 2006/07/12 21:05:17 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,14 +41,13 @@
  * <code>getServices</code> methods can be called to get the service objects
  * for the tracked service.
  * 
- * @version $Revision: 1.18 $
+ * @version $Revision: 1.21 $
  */
 public class ServiceTracker implements ServiceTrackerCustomizer {
 	/* set this to true to compile in debug messages */
 	static final boolean				DEBUG			= false;
 	/**
-	 * Bundle context this <code>ServiceTracker</code> object is tracking
-	 * against.
+	 * Bundle context against which this <code>ServiceTracker</code> object is tracking.
 	 */
 	protected final BundleContext		context;
 	/**
@@ -971,6 +970,9 @@
 					System.out
 							.println("ServiceTracker.Tracked.track[modified]: " + reference); //$NON-NLS-1$
 				}
+				synchronized (this) {
+					modified(); /* increment modification count */
+				}
 				/* Call customizer outside of synchronized region */
 				customizer.modifiedService(reference, object);
 				/*
@@ -1136,4 +1138,4 @@
 			super();
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java
index cbf7d8e..c6f9e20 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/ServiceTrackerCustomizer.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java,v 1.9 2006/03/14 01:20:01 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java,v 1.10 2006/06/16 16:31:13 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2000, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -40,7 +40,7 @@
  * <code>ServiceRegistration.unregister</code>) a service while being
  * synchronized on any object.
  * 
- * @version $Revision: 1.9 $
+ * @version $Revision: 1.10 $
  */
 public interface ServiceTrackerCustomizer {
 	/**
@@ -89,4 +89,4 @@
 	 */
 	public void removedService(ServiceReference reference,
 			Object service);
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/package.html b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/package.html
index 2052965..f75e8c7 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/package.html
@@ -1,6 +1,6 @@
-<!-- $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/package.html,v 1.3 2005/01/25 05:57:17 hargrave Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.util.tracker/src/org/osgi/util/tracker/package.html,v 1.4 2006/07/12 21:07:10 hargrave Exp $ -->
 <BODY>
-<P>The OSGi Service Tracker Package. Specification Version 1.3.
+<p>Service Tracker Package Version 1.3.
 <p>Bundles wishing to use this package must list the package
 in the Import-Package header of the bundle's manifest.
 For example:
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/packageinfo b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/packageinfo
index 6435862..350557e 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/tracker/packageinfo
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/tracker/packageinfo
@@ -1 +1 @@
-version 1.3.1
+version 1.3.2
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java b/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java
index c7a0287..77ba538 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/xml/XMLParserActivator.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /cvshome/build/org.osgi.util.xml/src/org/osgi/util/xml/XMLParserActivator.java,v 1.8 2006/03/14 01:21:37 hargrave Exp $
+ * $Header: /cvshome/build/org.osgi.util.xml/src/org/osgi/util/xml/XMLParserActivator.java,v 1.10 2006/06/21 17:41:20 hargrave Exp $
  * 
- * Copyright (c) OSGi Alliance (2002, 2005). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2006). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -300,13 +300,12 @@
 	 * @param properties - the properties object for the service
 	 */
 	public void setSAXProperties(SAXParserFactory factory, Hashtable properties) {
-		SAXParser parser = null;
 		// check if this parser can be configured to validate
 		boolean validating = true;
 		factory.setValidating(true);
 		factory.setNamespaceAware(false);
 		try {
-			parser = factory.newSAXParser();
+			factory.newSAXParser();
 		}
 		catch (Exception pce_val) {
 			validating = false;
@@ -316,7 +315,7 @@
 		factory.setValidating(false);
 		factory.setNamespaceAware(true);
 		try {
-			parser = factory.newSAXParser();
+			factory.newSAXParser();
 		}
 		catch (Exception pce_nsa) {
 			namespaceaware = false;
@@ -409,13 +408,12 @@
 	 * @param props - Hashtable of service properties.
 	 */
 	public void setDOMProperties(DocumentBuilderFactory factory, Hashtable props) {
-		DocumentBuilder parser = null;
 		// check if this parser can be configured to validate
 		boolean validating = true;
 		factory.setValidating(true);
 		factory.setNamespaceAware(false);
 		try {
-			parser = factory.newDocumentBuilder();
+			factory.newDocumentBuilder();
 		}
 		catch (Exception pce_val) {
 			validating = false;
@@ -425,7 +423,7 @@
 		factory.setValidating(false);
 		factory.setNamespaceAware(true);
 		try {
-			parser = factory.newDocumentBuilder();
+			factory.newDocumentBuilder();
 		}
 		catch (Exception pce_nsa) {
 			namespaceaware = false;
@@ -529,4 +527,4 @@
 	public void ungetService(Bundle bundle, ServiceRegistration registration,
 			Object service) {
 	}
-}
\ No newline at end of file
+}
diff --git a/org.osgi.compendium/src/main/java/org/osgi/util/xml/package.html b/org.osgi.compendium/src/main/java/org/osgi/util/xml/package.html
index 765c81a..45e61bb 100644
--- a/org.osgi.compendium/src/main/java/org/osgi/util/xml/package.html
+++ b/org.osgi.compendium/src/main/java/org/osgi/util/xml/package.html
@@ -1,4 +1,10 @@
-<!-- $Header: /cvshome/build/org.osgi.util.xml/src/org/osgi/util/xml/package.html,v 1.1 2004/07/02 09:34:46 pkriens Exp $ -->
+<!-- $Header: /cvshome/build/org.osgi.util.xml/src/org/osgi/util/xml/package.html,v 1.2 2006/07/12 21:06:59 hargrave Exp $ -->
 <BODY>
-<P>The OSGi XML Parser service Package. Specification Version 1.0.
+<p>XML Parser Package Version 1.0.
+<p>Bundles wishing to use this package must list the package
+in the Import-Package header of the bundle's manifest.
+For example:
+<pre>
+Import-Package: org.osgi.util.xml; version=1.0
+</pre>
 </BODY>