diff --git a/configadmin/src/main/java/org/apache/felix/cm/file/FilePersistenceManager.java b/configadmin/src/main/java/org/apache/felix/cm/file/FilePersistenceManager.java
index ffef4d0..1a9874c 100644
--- a/configadmin/src/main/java/org/apache/felix/cm/file/FilePersistenceManager.java
+++ b/configadmin/src/main/java/org/apache/felix/cm/file/FilePersistenceManager.java
@@ -81,7 +81,7 @@
  * <b>Mulithreading Issues</b>
  * <p>
  * In a multithreaded environment the {@link #store(String, Dictionary)} and
- * {@link #load(File)} methods may be called at the the quasi-same time for the
+ * {@link #load(String)} methods may be called at the the quasi-same time for the
  * same configuration PID. It may no happen, that the store method starts
  * writing the file and the load method might at the same time read from the
  * file currently being written and thus loading corrupt data (if data is
@@ -94,7 +94,7 @@
  * with file extension <code>.tmp</code>. When done, the file is renamed to
  * actual configuration file name as implied by the PID. This last step of
  * renaming the file is synchronized on the FilePersistenceManager instance.</li>
- * <li>The {@link #load(File)} method is completeley synchronized on the
+ * <li>The {@link #load(String)} method is completeley synchronized on the
  * FilePersistenceManager instance such that the {@link #store} method might
  * inadvertantly try to replace the file while it is being read.</li>
  * <li>Finally the <code>Iterator</code> returned by {@link #getDictionaries()}
diff --git a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationAdapter.java b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationAdapter.java
index 263a6e4..58768ac 100644
--- a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationAdapter.java
+++ b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationAdapter.java
@@ -84,7 +84,7 @@
 
     /**
      * @param bundleLocation
-     * @see org.apache.felix.cm.impl.ConfigurationImpl#setBundleLocation(java.lang.String)
+     * @see org.apache.felix.cm.impl.ConfigurationImpl#setStaticBundleLocation(String)
      */
     public void setBundleLocation( String bundleLocation )
     {
diff --git a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java
index 0199e47..51c3074 100644
--- a/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java
+++ b/configadmin/src/main/java/org/apache/felix/cm/impl/ConfigurationImpl.java
@@ -319,7 +319,7 @@
      *
      * @param deepCopy
      *            <code>true</code> if a deep copy is to be returned.
-     * @return
+     * @return the configuration properties
      */
     public Dictionary getProperties( boolean deepCopy )
     {
diff --git a/configadmin/src/main/java/org/apache/felix/cm/impl/helper/BaseTracker.java b/configadmin/src/main/java/org/apache/felix/cm/impl/helper/BaseTracker.java
index 290c08d..5e7c38c 100644
--- a/configadmin/src/main/java/org/apache/felix/cm/impl/helper/BaseTracker.java
+++ b/configadmin/src/main/java/org/apache/felix/cm/impl/helper/BaseTracker.java
@@ -173,8 +173,8 @@
      * @param configurationMap The PID to configuration map for PIDs
      *      used by the service to update
      *
-     * @see {@link ManagedServiceTracker#provideConfiguration(ServiceReference, TargetedPID, TargetedPID, Dictionary, long)}
-     * @see {@link ManagedServiceFactoryTracker#provideConfiguration(ServiceReference, TargetedPID, TargetedPID, Dictionary, long)}
+     * @see ManagedServiceTracker#provideConfiguration(ServiceReference, TargetedPID, TargetedPID, Dictionary, long, ConfigurationMap)
+     * @see ManagedServiceFactoryTracker#provideConfiguration(ServiceReference, TargetedPID, TargetedPID, Dictionary, long, ConfigurationMap)
      */
     public abstract void provideConfiguration( ServiceReference<S> service, TargetedPID configPid,
         TargetedPID factoryPid, Dictionary<String, ?> properties, long revision,
