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 ccd84ee..73c2905 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: 791585 $
+ * @version $Revision$
  */
 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 40aaf4d..3fac60c 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: 896324 $
+ * @version $Revision$
  */
 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 6752927..d34398c 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: 792499 $
+ * @version $Revision$
  */
 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 586868e..1e93394 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: 791585 $
+ * @version $Revision$
  */
 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 6790949..2f5c659 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: 792499 $
+ * @version $Revision$
  */
 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 81b4592..30e1127 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: 792499 $
+ * @version $Revision$
  */
 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 ff57dcc..fa3f822 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: 791585 $
+ * @version $Revision$
  */
 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 c3207cc..ecf2775 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: 896324 $
+ * @version $Revision$
  */
 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 285475c..64b43c1 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: 791585 $
+ * @version $Revision$
  */
 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 3db9f62..b7f2bbe 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: 792499 $
+ * @version $Revision$
  */
 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 e69ee43..8982fa6 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: 792499 $
+ * @version $Revision$
  */
 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 7d1071f..94b0e3e 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: 896324 $
+ * @version $Revision$
  */
 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 f82e8ca..ff6669c 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: 896324 $
+ * @version $Revision$
  */
 
 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 f04af16..474b030 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: 792499 $
+ * @version $Revision$
  */
 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 5a98167..0a68b0b 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: 792499 $
+ * @version $Revision$
  */
 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 1e7cce3..c50008b 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: 896324 $
+ * @version $Revision$
  */
 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 ccd9d81..586625e 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: 792499 $
+ * @version $Revision$
  */
 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 c4bc66b..70e003b 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: 792499 $
+ * @version $Revision$
  */
 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 aba2abe..30cd611 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: 896324 $
+ * @version $Revision$
  */
 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 11d6d63..5045eea 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: 792499 $
+ * @version $Revision$
  */
 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 42e47a6..e013ec7 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: 792499 $
+ * @version $Revision$
  */
 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 cf41bb9..ed431c5 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: 792499 $
+ * @version $Revision$
  */
 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 552cf4a..43722e1 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: 792499 $
+ * @version $Revision$
  */
 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 e6cc5f1..2e48063 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: 792499 $
+ * @version $Revision$
  */
 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 2c04d3d..90d5dbb 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: 792499 $
+ * @version $Revision$
  */
 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 d241ee2..28cc06a 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: 792499 $
+ * @version $Revision$
  */
 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 df1836c..9a5f1ab 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: 792499 $
+ * @version $Revision$
  */
 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 560c968..7f91938 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: 792499 $
+ * @version $Revision$
  */
 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 f526e1b..087e82d 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: 896324 $
+ * @version $Revision$
  */
 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 39df2d1..a587dd8 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: 792499 $
+ * @version $Revision$
  */
 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 f132682..4566eb6 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 ce02c9c..e58beac 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 575742a..397c16b 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 2407d30..9b84836 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: 820286 $, $Date: 2009-09-30 15:45:55 +0100 (Wed, 30 Sep 2009) $
+ * @version $Rev$, $Date$
  */
 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 33ddd23..b97f678 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 c81003f..f9d2879 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: 896324 $
+    * $Revision$
     *
     * 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 fcc8ae0..760da79 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 468251f..d7c7b53 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: 922829 $, $Date: 2010-03-14 12:34:19 +0000 (Sun, 14 Mar 2010) $
+ * @version $Rev$, $Date$
  */
 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 c98fdd1..f39b501 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 0da59f5..74a617c 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 b0ef5bb..994f46d 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: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
+ * @version $Rev$, $Date$
  */
 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 95c5cf3..5eb6d06 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: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
+ * @version $Rev$, $Date$
  */
 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 0349b04..e1ef730 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: 978873 $, $Date: 2010-07-24 14:42:04 +0100 (Sat, 24 Jul 2010) $
+ * @version $Rev$, $Date$
  */
 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 3049c7f..c15f883 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: 978875 $, $Date: 2010-07-24 14:45:05 +0100 (Sat, 24 Jul 2010) $
+ * @version $Rev$, $Date$
  */
 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 bf8af63..c1b2e09 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: 921845 $, $Date: 2010-03-11 13:45:28 +0000 (Thu, 11 Mar 2010) $
+ * @version $Rev$, $Date$
  */
 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 53b703e..eb4720a 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: 982158 $, $Date: 2010-08-04 09:32:15 +0100 (Wed, 04 Aug 2010) $
+ * @version $Rev$, $Date$
  */
 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 2fea1e5..9254918 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: 982158 $, $Date: 2010-08-04 09:32:15 +0100 (Wed, 04 Aug 2010) $
+ * @version $Rev$, $Date$
  */
 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 159adf5..87a9a33 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: 982158 $, $Date: 2010-08-04 09:32:15 +0100 (Wed, 04 Aug 2010) $
+ * @version $Rev$, $Date$
  */
 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 97d12a1..4838dab 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: 979454 $, $Date: 2010-07-26 22:38:25 +0100 (Mon, 26 Jul 2010) $
+ * @version $Rev$, $Date$
  */
 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 b198766..ec7aa8c 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 fc4ecda..86913b9 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: 985150 $, $Date: 2010-08-13 11:20:09 +0100 (Fri, 13 Aug 2010) $
+ * @version $Rev$, $Date$
  */
 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 20d3ac0..5a1f271 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: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
+ * @version $Rev$, $Date$
  */
 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 7ab386c..ab9298d 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: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
+ * @version $Rev$, $Date$
  */
 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 aa1a7e2..e414f01 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 public interface SatisfiableRecipe extends Recipe {
 
     /**
      * A listener that will be notified when the constraint satisfaction changes.
      *
-     * @version $Rev: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+     * @version $Rev$, $Date$
      */
     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 fd571e3..ba1995f 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: 990095 $, $Date: 2010-08-27 11:56:22 +0100 (Fri, 27 Aug 2010) $
+ * @version $Rev$, $Date$
  */
 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 6afeb86..64575db 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: 820271 $ $Date: 2009-09-30 14:58:29 +0100 (Wed, 30 Sep 2009) $
+ * @version $Rev$ $Date$
  */
 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 e5033b3..984a0d6 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: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$ $Date$
  */
 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 6cef8ca..462a04b 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: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$ $Date$
  */
 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 b7614d8..c90d0bd 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: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$ $Date$
  */
 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 de93641..d8915e2 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: 896324 $ $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$ $Date$
  */
 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 a7e924d..1a34e67 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: 820286 $, $Date: 2009-09-30 15:45:55 +0100 (Wed, 30 Sep 2009) $
+ * @version $Rev$, $Date$
  */
 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 f64c7de..64662e7 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: 916935 $, $Date: 2010-02-27 10:05:06 +0000 (Sat, 27 Feb 2010) $
+ * @version $Rev$, $Date$
  */
 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 6bf3387..5408891 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: 924332 $, $Date: 2010-03-17 15:31:29 +0000 (Wed, 17 Mar 2010) $
+ * @version $Rev$, $Date$
  */
 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 65db3aa..1236a11 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 d53f726..a30898b 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 cc1f472..21db027 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 9d5b7be..c871577 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: 910448 $, $Date: 2010-02-16 09:50:18 +0000 (Tue, 16 Feb 2010) $
+ * @version $Rev$, $Date$
  */
 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 3653a52..a96bbf7 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 701301d..8b4c610 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 5049f50..6469c2b 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 7caf862..1e5f2db 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 90ed3e9..5728077 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 d7a3ec6..4ee6de3 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 47a21b2..5a57718 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 47dd065..5d201a1 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 4d87f75..508f20f 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 1d944d4..4277dba 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 0c1c389..c1c96d0 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 5821831..8bc494e 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 1013481..bf2001a 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 eb8bbeb..5804124 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: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
+ * @version $Rev$, $Date$
  */
 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 f8d78a5..198f29a 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 c77fe0e..77c33ce 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: 922829 $, $Date: 2010-03-14 12:34:19 +0000 (Sun, 14 Mar 2010) $
+ * @version $Rev$, $Date$
  */
 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 9c50b9a..6298775 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: 964701 $, $Date: 2010-07-16 08:23:10 +0100 (Fri, 16 Jul 2010) $
+ * @version $Rev$, $Date$
  */
 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 f9c4fae..c687de6 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 732d231..39459d2 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: 910448 $, $Date: 2010-02-16 09:50:18 +0000 (Tue, 16 Feb 2010) $
+ * @version $Rev$, $Date$
  */
 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 9cacf93..4825335 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 9750fc3..3c00ac2 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 c3dc1de..857e87a 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 4915cb6..053b22b 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 ceeb22d..b6ea8d7 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 a6ca2cd..a8b7474 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 34d3f25..32a252d 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: 822644 $, $Date: 2009-10-07 11:23:35 +0100 (Wed, 07 Oct 2009) $
+ * @version $Rev$, $Date$
  */
 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 93894ce..dc03898 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 42c6d3a..555648b 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 90aa7a1..4a6151e 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 22c6fd0..b12fb65 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 184efbd..eca36b5 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 17500bd..070d3af 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 6ba59e7..863f9a3 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 643e34e..2e52ff1 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 a37c0cd..f34e453 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: 950985 $, $Date: 2010-06-03 14:19:22 +0100 (Thu, 03 Jun 2010) $
+ * @version $Rev$, $Date$
  */
 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 7abade3..d1e7f6b 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 53744dc..5a4f741 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: 954428 $, $Date: 2010-06-14 13:32:07 +0100 (Mon, 14 Jun 2010) $
+ * @version $Rev$, $Date$
  */
 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 3f5f2d8..f5c8be3 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: 896324 $, $Date: 2010-01-06 06:05:04 +0000 (Wed, 06 Jan 2010) $
+ * @version $Rev$, $Date$
  */
 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 7667044..0dfc708 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: 820286 $, $Date: 2009-09-30 15:45:55 +0100 (Wed, 30 Sep 2009) $
+ * @version $Rev$, $Date$
  */
 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 abb5bce..644e798 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: 820636 $ $Date: 2009-10-01 13:55:42 +0100 (Thu, 01 Oct 2009) $
+ * @version $Rev$ $Date$
  */
 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 cd447bc..96a0d73 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: 990095 $, $Date: 2010-08-27 11:56:22 +0100 (Fri, 27 Aug 2010) $
+ * @version $Rev$, $Date$
  */
 public class ReflectionUtils {
 
