diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java
index 73c2905..ccd84ee 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintContainer.java
@@ -39,7 +39,7 @@
  * registered as a service and its managed components can be queried.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 791585 $
  */
 public interface BlueprintContainer {
 	/**
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java
index 3fac60c..40aaf4d 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintEvent.java
@@ -59,7 +59,7 @@
  * @see BlueprintListener
  * @see EventConstants
  * @Immutable
- * @version $Revision$
+ * @version $Revision: 896324 $
  */
 public class BlueprintEvent {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java
index d34398c..6752927 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/BlueprintListener.java
@@ -37,7 +37,7 @@
  * 
  * @see BlueprintEvent
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface BlueprintListener {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java
index 1e93394..586868e 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ComponentDefinitionException.java
@@ -21,7 +21,7 @@
  * This exception is thrown when a configuration-related error occurs during
  * creation of a Blueprint Container.
  * 
- * @version $Revision$
+ * @version $Revision: 791585 $
  */
 public class ComponentDefinitionException extends RuntimeException {
 	private static final long	serialVersionUID	= 1L;
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java
index 2f5c659..6790949 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/Converter.java
@@ -19,7 +19,7 @@
  * Type converter to convert an object to a target type.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface Converter {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java
index 30e1127..81b4592 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/EventConstants.java
@@ -51,7 +51,7 @@
  * </ul>
  * 
  * @Immutable
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public class EventConstants {
 	private EventConstants() {
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java
index fa3f822..ff57dcc 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/NoSuchComponentException.java
@@ -23,7 +23,7 @@
  * instance or lookup Component Metadata using a component id that does not
  * exist in the Blueprint Container.
  * 
- * @version $Revision$
+ * @version $Revision: 791585 $
  */
 public class NoSuchComponentException extends RuntimeException {
 	private static final long	serialVersionUID	= 1L;
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java
index ecf2775..c3207cc 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ReifiedType.java
@@ -41,7 +41,7 @@
  * optional type parameters as Reified Types.
  * 
  * @Immutable
- * @version $Revision$
+ * @version $Revision: 896324 $
  */
 public class ReifiedType {
 	private final static ReifiedType	OBJECT	= new ReifiedType(Object.class);
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java
index 64b43c1..285475c 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/container/ServiceUnavailableException.java
@@ -23,7 +23,7 @@
  * This exception is thrown when an invocation is made on a service reference
  * and a backing service is not available.
  * 
- * @version $Revision$
+ * @version $Revision: 791585 $
  */
 public class ServiceUnavailableException extends ServiceException {
 	private static final long	serialVersionUID	= 1L;
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java
index b7f2bbe..3db9f62 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanArgument.java
@@ -22,7 +22,7 @@
  * This is specified by the <code>argument</code> elements of a bean.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface BeanArgument {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java
index 8982fa6..e69ee43 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanMetadata.java
@@ -24,7 +24,7 @@
  * This is specified by the <code>bean</code> element.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface BeanMetadata extends Target, ComponentMetadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java
index 94b0e3e..7d1071f 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/BeanProperty.java
@@ -23,7 +23,7 @@
  * are defined according to the Java Beans conventions.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 896324 $
  */
 public interface BeanProperty {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java
index ff6669c..f82e8ca 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/CollectionMetadata.java
@@ -23,7 +23,7 @@
  * collection to a specific type.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 896324 $
  */
 
 public interface CollectionMetadata extends NonNullMetadata {
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java
index 474b030..f04af16 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ComponentMetadata.java
@@ -23,7 +23,7 @@
  * {@link ServiceReferenceMetadata}.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface ComponentMetadata extends NonNullMetadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java
index 0a68b0b..5a98167 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/IdRefMetadata.java
@@ -21,7 +21,7 @@
  * refers. No implicit dependency is created.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface IdRefMetadata extends NonNullMetadata {
 	/**
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java
index c50008b..1e7cce3 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapEntry.java
@@ -23,7 +23,7 @@
  * {@link ServiceMetadata}.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 896324 $
  */
 public interface MapEntry {
 	/**
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java
index 586625e..ccd9d81 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/MapMetadata.java
@@ -24,7 +24,7 @@
  * This is specified by the <code>map</code> element.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface MapMetadata extends NonNullMetadata {
 	/**
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java
index 70e003b..c4bc66b 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Metadata.java
@@ -19,7 +19,7 @@
  * Top level Metadata type. All Metdata types extends this base type.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface Metadata {
 	// marker interface
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java
index 30cd611..aba2abe 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NonNullMetadata.java
@@ -24,7 +24,7 @@
  * <code>null</code>.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 896324 $
  */
 public interface NonNullMetadata extends Metadata {
 	// marker interface
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java
index 5045eea..11d6d63 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/NullMetadata.java
@@ -20,7 +20,7 @@
  * element.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface NullMetadata extends Metadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java
index e013ec7..42e47a6 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/PropsMetadata.java
@@ -28,7 +28,7 @@
  * This is specified by the <code>props</code> element.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface PropsMetadata extends NonNullMetadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java
index ed431c5..cf41bb9 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RefMetadata.java
@@ -20,7 +20,7 @@
  * Container.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface RefMetadata extends Target, NonNullMetadata {
 	/**
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java
index 43722e1..552cf4a 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java
@@ -22,7 +22,7 @@
  * This is specified by the <code>reference-list</code> element.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface ReferenceListMetadata extends ServiceReferenceMetadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java
index 2e48063..e6cc5f1 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceListener.java
@@ -20,7 +20,7 @@
  * events for a service reference.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface ReferenceListener {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java
index 90d5dbb..2c04d3d 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ReferenceMetadata.java
@@ -23,7 +23,7 @@
  * This is specified by the <code>reference</code> element.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface ReferenceMetadata extends Target, ServiceReferenceMetadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java
index 28cc06a..d241ee2 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/RegistrationListener.java
@@ -24,7 +24,7 @@
  * when the registration listener is actuated.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface RegistrationListener {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java
index 9a5f1ab..df1836c 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceMetadata.java
@@ -26,7 +26,7 @@
  * This is specified by the <code>service</code> element.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface ServiceMetadata extends ComponentMetadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java
index 7f91938..560c968 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java
@@ -22,7 +22,7 @@
  * {@link ReferenceListMetadata} and {@link ReferenceMetadata}.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface ServiceReferenceMetadata extends ComponentMetadata {
 
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Target.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Target.java
index 087e82d..f526e1b 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Target.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/Target.java
@@ -25,7 +25,7 @@
  * @see ReferenceMetadata
  * @see RefMetadata
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 896324 $
  */
 public interface Target extends NonNullMetadata {
 	// marker interface
diff --git a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java
index a587dd8..39df2d1 100644
--- a/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java
+++ b/blueprint-api/src/main/java/org/osgi/service/blueprint/reflect/ValueMetadata.java
@@ -20,7 +20,7 @@
  * if necessary before injecting.
  * 
  * @ThreadSafe
- * @version $Revision$
+ * @version $Revision: 792499 $
  */
 public interface ValueMetadata extends NonNullMetadata {
 	/**
diff --git a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java
index 4566eb6..f132682 100644
--- a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java
+++ b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedProperties.java
@@ -48,7 +48,7 @@
 /**
  * TODO
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class CmManagedProperties implements ManagedObject, BeanProcessor {
 
diff --git a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java
index e58beac..ce02c9c 100644
--- a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java
+++ b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmManagedServiceFactory.java
@@ -51,7 +51,7 @@
  * TODO: if we need to make those exported services tied to their references as for other <service/> elements
  * TODO: it becomes a problem as currently we would have to create a specific recipe or something like that
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class CmManagedServiceFactory {
 
diff --git a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java
index 397c16b..575742a 100644
--- a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java
+++ b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmNamespaceHandler.java
@@ -74,7 +74,7 @@
  * @see CmProperties
  * @see CmPropertyPlaceholder
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class CmNamespaceHandler implements NamespaceHandler {
 
diff --git a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmProperties.java b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmProperties.java
index 9b84836..2407d30 100644
--- a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmProperties.java
+++ b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmProperties.java
@@ -34,7 +34,7 @@
 import org.slf4j.LoggerFactory;
 
 /**
- * @version $Rev$, $Date$
+ * @version $Rev: 820286 $, $Date: 2009-09-30 15:45:55 +0100 (Wed, 30 Sep 2009) $
  */
 public class CmProperties implements ManagedObject, ServiceProcessor {
 
diff --git a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java
index b97f678..33ddd23 100644
--- a/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java
+++ b/blueprint-cm/src/main/java/org/apache/aries/blueprint/compendium/cm/CmPropertyPlaceholder.java
@@ -34,7 +34,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class CmPropertyPlaceholder extends PropertyPlaceholder {
 
diff --git a/blueprint-cm/src/main/resources/org/apache/aries/blueprint/compendium/cm/blueprint-cm.xsd b/blueprint-cm/src/main/resources/org/apache/aries/blueprint/compendium/cm/blueprint-cm.xsd
index f9d2879..c81003f 100644
--- a/blueprint-cm/src/main/resources/org/apache/aries/blueprint/compendium/cm/blueprint-cm.xsd
+++ b/blueprint-cm/src/main/resources/org/apache/aries/blueprint/compendium/cm/blueprint-cm.xsd
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <!--
     /*
-    * $Revision$
+    * $Revision: 896324 $
     *
     * Copyright (c) OSGi Alliance (2008, 2009). All Rights Reserved.
     *
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/BeanProcessor.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/BeanProcessor.java
index 760da79..fcc8ae0 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/BeanProcessor.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/BeanProcessor.java
@@ -29,7 +29,7 @@
  *    &lt;bp:bean ext:role="processor" ...&gt;
  * </pre>
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface BeanProcessor extends Processor {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ComponentDefinitionRegistryProcessor.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ComponentDefinitionRegistryProcessor.java
index d7c7b53..468251f 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ComponentDefinitionRegistryProcessor.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ComponentDefinitionRegistryProcessor.java
@@ -35,7 +35,7 @@
  * Note: a processor that replaces existing component definitions with new ones should take care to copy
  * interceptors defined against the old component definition if appropriate
  * 
- * @version $Rev$, $Date$
+ * @version $Rev: 922829 $, $Date: 2010-03-14 12:34:19 +0000 (Sun, 14 Mar 2010) $
  */
 public interface ComponentDefinitionRegistryProcessor {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedBlueprintContainer.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedBlueprintContainer.java
index f39b501..c98fdd1 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedBlueprintContainer.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedBlueprintContainer.java
@@ -33,7 +33,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface ExtendedBlueprintContainer extends BlueprintContainer {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedReferenceListMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedReferenceListMetadata.java
index 74a617c..0da59f5 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedReferenceListMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedReferenceListMetadata.java
@@ -21,7 +21,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface ExtendedReferenceListMetadata extends ReferenceListMetadata, ExtendedServiceReferenceMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedServiceReferenceMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedServiceReferenceMetadata.java
index 994f46d..b0ef5bb 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedServiceReferenceMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ExtendedServiceReferenceMetadata.java
@@ -21,7 +21,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
  */
 public interface ExtendedServiceReferenceMetadata extends ServiceReferenceMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
index 5eb6d06..95c5cf3 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AbstractServiceReferenceRecipe.java
@@ -71,7 +71,7 @@
  *
  * TODO: it is allowed to have no interface defined at all, which should result in an empty proxy
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
  */
 public abstract class AbstractServiceReferenceRecipe extends AbstractRecipe implements ServiceListener, SatisfiableRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java
index e1ef730..0349b04 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/AggregateConverter.java
@@ -60,7 +60,7 @@
  * Each {@link org.osgi.service.blueprint.container.BlueprintContainer} has its own AggregateConverter
  * used to register converters defined by the related blueprint bundle.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 978873 $, $Date: 2010-07-24 14:42:04 +0100 (Sat, 24 Jul 2010) $
  */
 public class AggregateConverter implements Converter {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BeanRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BeanRecipe.java
index c15f883..3049c7f 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BeanRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BeanRecipe.java
@@ -52,7 +52,7 @@
 /**
  * A <code>Recipe</code> to create POJOs.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 978875 $, $Date: 2010-07-24 14:45:05 +0100 (Sat, 24 Jul 2010) $
  */
 public class BeanRecipe extends AbstractRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
index c1b2e09..bf8af63 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintContainerImpl.java
@@ -94,7 +94,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 921845 $, $Date: 2010-03-11 13:45:28 +0000 (Thu, 11 Mar 2010) $
  */
 public class BlueprintContainerImpl implements ExtendedBlueprintContainer, NamespaceHandlerRegistry.Listener, Runnable, SatisfiableRecipe.SatisfactionListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintEventDispatcher.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintEventDispatcher.java
index eb4720a..53b703e 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintEventDispatcher.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintEventDispatcher.java
@@ -54,7 +54,7 @@
  * The delivery of {@link BlueprintEvent}s is complicated.  The blueprint extender and its containers use this class to
  * deliver {@link BlueprintEvent}s.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 982158 $, $Date: 2010-08-04 09:32:15 +0100 (Wed, 04 Aug 2010) $
  */
 class BlueprintEventDispatcher implements BlueprintListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java
index 9254918..2fea1e5 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/BlueprintExtender.java
@@ -58,7 +58,7 @@
 /**
  * This is the blueprint extender that listens to blueprint bundles.  
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 982158 $, $Date: 2010-08-04 09:32:15 +0100 (Wed, 04 Aug 2010) $
  */
 public class BlueprintExtender implements BundleActivator, SynchronousBundleListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/NamespaceHandlerRegistry.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/NamespaceHandlerRegistry.java
index 87a9a33..159adf5 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/NamespaceHandlerRegistry.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/NamespaceHandlerRegistry.java
@@ -31,7 +31,7 @@
 /**
  * Registry of NamespaceHandler.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 982158 $, $Date: 2010-08-04 09:32:15 +0100 (Wed, 04 Aug 2010) $
  */
 public interface NamespaceHandlerRegistry {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/Parser.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/Parser.java
index 4838dab..97d12a1 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/Parser.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/Parser.java
@@ -90,7 +90,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 979454 $, $Date: 2010-07-26 22:38:25 +0100 (Mon, 26 Jul 2010) $
  */
 public class Parser {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ParserContextImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ParserContextImpl.java
index ec7aa8c..b198766 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ParserContextImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ParserContextImpl.java
@@ -31,7 +31,7 @@
  * 
  * This class is supposed to be short lived and only used for calling a given namespace handler.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class ParserContextImpl implements ParserContext {    
     private final Parser parser;
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/RecipeBuilder.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/RecipeBuilder.java
index 86913b9..fc4ecda 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/RecipeBuilder.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/RecipeBuilder.java
@@ -66,7 +66,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 985150 $, $Date: 2010-08-13 11:20:09 +0100 (Fri, 13 Aug 2010) $
  */
 public class RecipeBuilder {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java
index 5a1f271..20d3ac0 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceListRecipe.java
@@ -39,7 +39,7 @@
 /**
  * A recipe to create a managed collection of service references
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
  */
 public class ReferenceListRecipe extends AbstractServiceReferenceRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
index ab9298d..7ab386c 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ReferenceRecipe.java
@@ -47,7 +47,7 @@
  * TODO: looks there is a potential problem if the service is unregistered between a call
  *        to ServiceDispatcher#loadObject() and when the actual invocation finish
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
  */
 public class ReferenceRecipe extends AbstractServiceReferenceRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/SatisfiableRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/SatisfiableRecipe.java
index e414f01..aa1a7e2 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/SatisfiableRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/SatisfiableRecipe.java
@@ -26,14 +26,14 @@
  * If the state of the object changes, registered SatisfactionListener objects
  * will be notified of the change.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface SatisfiableRecipe extends Recipe {
 
     /**
      * A listener that will be notified when the constraint satisfaction changes.
      *
-     * @version $Rev$, $Date$
+     * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
      */
     public interface SatisfactionListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
index ba1995f..fd571e3 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
@@ -51,7 +51,7 @@
 /**
  * A <code>Recipe</code> to export services into the OSGi registry.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 990095 $, $Date: 2010-08-27 11:56:22 +0100 (Fri, 27 Aug 2010) $
  */
 public class ServiceRecipe extends AbstractRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ArrayRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ArrayRecipe.java
index 64575db..6afeb86 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ArrayRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ArrayRecipe.java
@@ -24,7 +24,7 @@
 import org.osgi.service.blueprint.container.ReifiedType;
 
 /**
- * @version $Rev$ $Date$
+ * @version $Rev: 820271 $ $Date: 2009-09-30 14:58:29 +0100 (Wed, 30 Sep 2009) $
  */
 public class ArrayRecipe extends AbstractRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/CollectionRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/CollectionRecipe.java
index 984a0d6..e5033b3 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/CollectionRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/CollectionRecipe.java
@@ -30,7 +30,7 @@
 import org.osgi.service.blueprint.container.ComponentDefinitionException;
 
 /**
- * @version $Rev$ $Date$
+ * @version $Rev: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class CollectionRecipe extends AbstractRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/MapRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/MapRecipe.java
index 462a04b..6cef8ca 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/MapRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/MapRecipe.java
@@ -33,7 +33,7 @@
 import org.osgi.service.blueprint.container.ComponentDefinitionException;
 
 /**
- * @version $Rev$ $Date$
+ * @version $Rev: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class MapRecipe extends AbstractRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/PassThroughRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/PassThroughRecipe.java
index c90d0bd..b7614d8 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/PassThroughRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/PassThroughRecipe.java
@@ -22,7 +22,7 @@
 import org.osgi.service.blueprint.container.ComponentDefinitionException;
 
 /**
- * @version $Rev$ $Date$
+ * @version $Rev: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class PassThroughRecipe extends AbstractRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/Recipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/Recipe.java
index d8915e2..de93641 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/Recipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/Recipe.java
@@ -23,7 +23,7 @@
 /**
  * The <code>Recipe</code> interface abstracts the creation of objects
  *
- * @version $Rev$ $Date$
+ * @version $Rev: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface Recipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ValueRecipe.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ValueRecipe.java
index 1a34e67..a7e924d 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ValueRecipe.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/di/ValueRecipe.java
@@ -30,7 +30,7 @@
  * We need to keep the reference to the ValueMetadata so that we can lazily retrieve
  * the value, allowing for placeholders or such to be used at the last moment.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 820286 $, $Date: 2009-09-30 15:45:55 +0100 (Wed, 30 Sep 2009) $
  */
 public class ValueRecipe extends AbstractRecipe {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/AbstractPropertyPlaceholder.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/AbstractPropertyPlaceholder.java
index 64662e7..f64c7de 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/AbstractPropertyPlaceholder.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/AbstractPropertyPlaceholder.java
@@ -56,7 +56,7 @@
 /**
  * Abstract class for property placeholders.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 916935 $, $Date: 2010-02-27 10:05:06 +0000 (Sat, 27 Feb 2010) $
  */
 public abstract class AbstractPropertyPlaceholder implements ComponentDefinitionRegistryProcessor {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/ExtNamespaceHandler.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/ExtNamespaceHandler.java
index 5408891..6bf3387 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/ExtNamespaceHandler.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/ExtNamespaceHandler.java
@@ -59,7 +59,7 @@
 /**
  * A namespace handler for Aries blueprint extensions
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 924332 $, $Date: 2010-03-17 15:31:29 +0000 (Wed, 17 Mar 2010) $
  */
 public class ExtNamespaceHandler implements org.apache.aries.blueprint.NamespaceHandler {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PlaceholdersUtils.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PlaceholdersUtils.java
index 1236a11..65db3aa 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PlaceholdersUtils.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PlaceholdersUtils.java
@@ -30,7 +30,7 @@
 /**
  * Utility for placeholders parsing / validation
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class PlaceholdersUtils {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PropertyPlaceholder.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PropertyPlaceholder.java
index a30898b..d53f726 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PropertyPlaceholder.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/ext/PropertyPlaceholder.java
@@ -31,7 +31,7 @@
 /**
  * Property placeholder that looks for properties in the System properties.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class PropertyPlaceholder extends AbstractPropertyPlaceholder {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanArgument.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanArgument.java
index 21db027..cc1f472 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanArgument.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanArgument.java
@@ -24,7 +24,7 @@
 /**
  * A mutable version of the <code>BeanArgument</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableBeanArgument extends BeanArgument {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanMetadata.java
index c871577..9d5b7be 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanMetadata.java
@@ -27,7 +27,7 @@
 /**
  * A mutable version of the <code>BeanMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 910448 $, $Date: 2010-02-16 09:50:18 +0000 (Tue, 16 Feb 2010) $
  */
 public interface MutableBeanMetadata extends ExtendedBeanMetadata, MutableComponentMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanProperty.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanProperty.java
index a96bbf7..3653a52 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanProperty.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableBeanProperty.java
@@ -24,7 +24,7 @@
 /**
  * A mutable version of the <code>BeanProperty</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableBeanProperty extends BeanProperty {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableCollectionMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableCollectionMetadata.java
index 8b4c610..701301d 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableCollectionMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableCollectionMetadata.java
@@ -24,7 +24,7 @@
 /**
  * A mutable version of the <code>CollectionMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableCollectionMetadata extends CollectionMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableComponentMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableComponentMetadata.java
index 6469c2b..5049f50 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableComponentMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableComponentMetadata.java
@@ -25,7 +25,7 @@
 /**
  * A mutable version of the <code>ComponentMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableComponentMetadata extends ComponentMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableIdRefMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableIdRefMetadata.java
index 1e5f2db..7caf862 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableIdRefMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableIdRefMetadata.java
@@ -23,7 +23,7 @@
 /**
  * A mutable version of the <code>IdRefMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableIdRefMetadata extends IdRefMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapEntry.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapEntry.java
index 5728077..90ed3e9 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapEntry.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapEntry.java
@@ -25,7 +25,7 @@
 /**
  * A mutable version of the <code>MapEntry</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableMapEntry extends MapEntry {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapMetadata.java
index 4ee6de3..d7a3ec6 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableMapMetadata.java
@@ -26,7 +26,7 @@
 /**
  * A mutable version of the <code>MapMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableMapMetadata extends MapMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutablePropsMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutablePropsMetadata.java
index 5a57718..47a21b2 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutablePropsMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutablePropsMetadata.java
@@ -26,7 +26,7 @@
 /**
  * A mutable version of the <code>PropsMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutablePropsMetadata extends PropsMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRefMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRefMetadata.java
index 5d201a1..47dd065 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRefMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRefMetadata.java
@@ -23,7 +23,7 @@
 /**
  * A mutable version of the <code>RefMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableRefMetadata extends RefMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListMetadata.java
index 508f20f..4d87f75 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListMetadata.java
@@ -23,7 +23,7 @@
 /**
  * A mutable version of the <code>RefCollectionMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableReferenceListMetadata extends ExtendedReferenceListMetadata, MutableServiceReferenceMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListener.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListener.java
index 4277dba..1d944d4 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListener.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceListener.java
@@ -24,7 +24,7 @@
 /**
  * A mutable version of the <code>Listener</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableReferenceListener extends ReferenceListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceMetadata.java
index c1c96d0..0c1c389 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableReferenceMetadata.java
@@ -23,7 +23,7 @@
 /**
  * A mutable version of the <code>ReferenceMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableReferenceMetadata extends ReferenceMetadata, MutableServiceReferenceMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRegistrationListener.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRegistrationListener.java
index 8bc494e..5821831 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRegistrationListener.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableRegistrationListener.java
@@ -24,7 +24,7 @@
 /**
  * A mutable version of the <code>RegistrationListener</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableRegistrationListener extends RegistrationListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceMetadata.java
index bf2001a..1013481 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceMetadata.java
@@ -28,7 +28,7 @@
 /**
  * A mutable version of the <code>ServiceMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableServiceMetadata extends ServiceMetadata, MutableComponentMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceReferenceMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceReferenceMetadata.java
index 5804124..eb8bbeb 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceReferenceMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableServiceReferenceMetadata.java
@@ -25,7 +25,7 @@
 /**
  * A mutable version of the <code>ServiceReferenceMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
  */
 public interface MutableServiceReferenceMetadata extends ExtendedServiceReferenceMetadata, MutableComponentMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableValueMetadata.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableValueMetadata.java
index 198f29a..f8d78a5 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableValueMetadata.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/mutable/MutableValueMetadata.java
@@ -23,7 +23,7 @@
 /**
  * A mutable version of the <code>ValueMetadata</code> that allows modifications.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public interface MutableValueMetadata extends ValueMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/ComponentDefinitionRegistryImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/ComponentDefinitionRegistryImpl.java
index 77c33ce..c77fe0e 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/ComponentDefinitionRegistryImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/ComponentDefinitionRegistryImpl.java
@@ -41,7 +41,7 @@
  * This implementation uses concurrent lists and maps to store components and converters metadata
  * to allow its use by concurrent threads. 
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 922829 $, $Date: 2010-03-14 12:34:19 +0000 (Sun, 14 Mar 2010) $
  */
 public class ComponentDefinitionRegistryImpl implements ComponentDefinitionRegistry {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
index 6298775..9c50b9a 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/namespace/NamespaceHandlerRegistryImpl.java
@@ -60,7 +60,7 @@
  * This registry will track NamespaceHandler objects in the OSGi registry and make
  * them available, calling listeners when handlers are registered or unregistered.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 964701 $, $Date: 2010-07-16 08:23:10 +0100 (Fri, 16 Jul 2010) $
  */
 public class NamespaceHandlerRegistryImpl implements NamespaceHandlerRegistry, ServiceTrackerCustomizer {
     
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanArgumentImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanArgumentImpl.java
index c687de6..f9c4fae 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanArgumentImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanArgumentImpl.java
@@ -25,7 +25,7 @@
 /**
  * Implementation of BeanArgument
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class BeanArgumentImpl implements MutableBeanArgument {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanMetadataImpl.java
index 39459d2..732d231 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanMetadataImpl.java
@@ -33,7 +33,7 @@
 /**
  * Implementation of BeanMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 910448 $, $Date: 2010-02-16 09:50:18 +0000 (Tue, 16 Feb 2010) $
  */
 public class BeanMetadataImpl extends ComponentMetadataImpl implements MutableBeanMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanPropertyImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanPropertyImpl.java
index 4825335..9cacf93 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanPropertyImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/BeanPropertyImpl.java
@@ -25,7 +25,7 @@
 /**
  * Implementation of BeanProperty
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class BeanPropertyImpl implements MutableBeanProperty {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/CollectionMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/CollectionMetadataImpl.java
index 3c00ac2..9750fc3 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/CollectionMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/CollectionMetadataImpl.java
@@ -29,7 +29,7 @@
 /**
  * Implementation of CollectionMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class CollectionMetadataImpl implements MutableCollectionMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ComponentMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ComponentMetadataImpl.java
index 857e87a..c3dc1de 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ComponentMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ComponentMetadataImpl.java
@@ -28,7 +28,7 @@
 /**
  * Implementation of ComponentMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class ComponentMetadataImpl implements MutableComponentMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/IdRefMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/IdRefMetadataImpl.java
index 053b22b..4915cb6 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/IdRefMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/IdRefMetadataImpl.java
@@ -24,7 +24,7 @@
 /**
  * Implementation of IdRefMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class IdRefMetadataImpl implements MutableIdRefMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapEntryImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapEntryImpl.java
index b6ea8d7..ceeb22d 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapEntryImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapEntryImpl.java
@@ -26,7 +26,7 @@
 /**
  * Implementation of MapEntry
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class MapEntryImpl implements MutableMapEntry {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapMetadataImpl.java
index a8b7474..a6ca2cd 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MapMetadataImpl.java
@@ -31,7 +31,7 @@
 /**
  * Implementation of MapMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class MapMetadataImpl implements MutableMapMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MetadataUtil.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MetadataUtil.java
index 32a252d..34d3f25 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MetadataUtil.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/MetadataUtil.java
@@ -45,7 +45,7 @@
  * A utility class that handles cloning various polymorphic
  * bits of metadata into concrete class implementations.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 822644 $, $Date: 2009-10-07 11:23:35 +0100 (Wed, 07 Oct 2009) $
  */
 public class MetadataUtil {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PassThroughMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PassThroughMetadataImpl.java
index dc03898..93894ce 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PassThroughMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PassThroughMetadataImpl.java
@@ -24,7 +24,7 @@
 /**
  * A metadata for environment managers.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class PassThroughMetadataImpl extends ComponentMetadataImpl implements MutablePassThroughMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PropsMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PropsMetadataImpl.java
index 555648b..42c6d3a 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PropsMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/PropsMetadataImpl.java
@@ -31,7 +31,7 @@
 /**
  * Implementation of PropsMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class PropsMetadataImpl implements MutablePropsMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RefMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RefMetadataImpl.java
index 4a6151e..90aa7a1 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RefMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RefMetadataImpl.java
@@ -24,7 +24,7 @@
 /**
  * Implementation of RefMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class RefMetadataImpl implements MutableRefMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListMetadataImpl.java
index b12fb65..22c6fd0 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListMetadataImpl.java
@@ -24,7 +24,7 @@
 /**
  * Implementation of RefCollectionMetadata 
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class ReferenceListMetadataImpl extends ServiceReferenceMetadataImpl implements MutableReferenceListMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListenerImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListenerImpl.java
index eca36b5..184efbd 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListenerImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceListenerImpl.java
@@ -25,7 +25,7 @@
 /**
  * Implementation of Listener
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class ReferenceListenerImpl implements MutableReferenceListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceMetadataImpl.java
index 070d3af..17500bd 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ReferenceMetadataImpl.java
@@ -24,7 +24,7 @@
 /**
  * Implementation of ReferenceMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class ReferenceMetadataImpl extends ServiceReferenceMetadataImpl implements MutableReferenceMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RegistrationListenerImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RegistrationListenerImpl.java
index 863f9a3..6ba59e7 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RegistrationListenerImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/RegistrationListenerImpl.java
@@ -25,7 +25,7 @@
 /**
  * Implementation of RegistrationListener.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class RegistrationListenerImpl implements MutableRegistrationListener {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceMetadataImpl.java
index 2e52ff1..643e34e 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceMetadataImpl.java
@@ -34,7 +34,7 @@
 /**
  * Implementation of ServiceMetadata
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class ServiceMetadataImpl extends ComponentMetadataImpl implements MutableServiceMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceReferenceMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceReferenceMetadataImpl.java
index f34e453..a37c0cd 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceReferenceMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ServiceReferenceMetadataImpl.java
@@ -30,7 +30,7 @@
 /**
  * Implementation of ServiceReferenceMetadata 
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
  */
 public abstract class ServiceReferenceMetadataImpl extends ComponentMetadataImpl implements MutableServiceReferenceMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ValueMetadataImpl.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ValueMetadataImpl.java
index d1e7f6b..7abade3 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ValueMetadataImpl.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/reflect/ValueMetadataImpl.java
@@ -24,7 +24,7 @@
 /**
  * Implementation of ValueMetadata 
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class ValueMetadataImpl implements MutableValueMetadata {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/BundleDelegatingClassLoader.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/BundleDelegatingClassLoader.java
index 5a4f741..53744dc 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/BundleDelegatingClassLoader.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/BundleDelegatingClassLoader.java
@@ -33,7 +33,7 @@
 /**
  * A ClassLoader delegating to a given OSGi bundle.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 954428 $, $Date: 2010-06-14 13:32:07 +0100 (Mon, 14 Jun 2010) $
  */
 public class BundleDelegatingClassLoader extends ClassLoader {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/DynamicCollection.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/DynamicCollection.java
index f5c8be3..3f5f2d8 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/DynamicCollection.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/DynamicCollection.java
@@ -33,7 +33,7 @@
  * synchronization lock, so the performance in heavy concurrency load is far from optimal.
  * If such a use is needed, a CopyOnWriteArrayList may be more suited.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
  */
 public class DynamicCollection<E> extends AbstractCollection<E> {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/HeaderParser.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/HeaderParser.java
index 0dfc708..7667044 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/HeaderParser.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/HeaderParser.java
@@ -26,7 +26,7 @@
 /**
  * Utility class to parse a standard OSGi header with paths.
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 820286 $, $Date: 2009-09-30 15:45:55 +0100 (Wed, 30 Sep 2009) $
  */
 public class HeaderParser  {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/JavaUtils.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/JavaUtils.java
index 644e798..abb5bce 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/JavaUtils.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/JavaUtils.java
@@ -26,7 +26,7 @@
 import org.osgi.framework.Version;
 
 /**
- * @version $Rev$ $Date$
+ * @version $Rev: 820636 $ $Date: 2009-10-01 13:55:42 +0100 (Thu, 01 Oct 2009) $
  */
 public final class JavaUtils {
 
diff --git a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/ReflectionUtils.java b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/ReflectionUtils.java
index 96a0d73..cd447bc 100644
--- a/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/ReflectionUtils.java
+++ b/blueprint-core/src/main/java/org/apache/aries/blueprint/utils/ReflectionUtils.java
@@ -46,7 +46,7 @@
 /**
  * TODO: javadoc
  *
- * @version $Rev$, $Date$
+ * @version $Rev: 990095 $, $Date: 2010-08-27 11:56:22 +0100 (Fri, 27 Aug 2010) $
  */
 public class ReflectionUtils {
 
