diff --git a/ipojo/manipulator/annotations/pom.xml b/ipojo/manipulator/annotations/pom.xml
index c572f86..0e9a5a6 100644
--- a/ipojo/manipulator/annotations/pom.xml
+++ b/ipojo/manipulator/annotations/pom.xml
@@ -17,35 +17,35 @@
   under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../../pom/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
-    <name>Apache Felix iPOJO Annotations</name>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
+  <name>Apache Felix iPOJO Annotations</name>
 
-    <description>
-        iPOJO Annotation pack. contained annotations are used to define iPOJO component type.
-    </description>
-    <url>
-        http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/how-to-use-ipojo-annotations.html
-    </url>
+  <description>
+    iPOJO Annotation pack. contained annotations are used to define iPOJO component type.
+  </description>
+  <url>
+    http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-gettingstarted/how-to-use-ipojo-annotations.html
+  </url>
 
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/manipulator/bnd-ipojo-plugin/pom.xml b/ipojo/manipulator/bnd-ipojo-plugin/pom.xml
index eca5c1d..e5606af 100644
--- a/ipojo/manipulator/bnd-ipojo-plugin/pom.xml
+++ b/ipojo/manipulator/bnd-ipojo-plugin/pom.xml
@@ -18,76 +18,76 @@
   ~ under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../../pom/pom.xml</relativePath>
-    </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../../pom/pom.xml</relativePath>
+  </parent>
 
-    <artifactId>bnd-ipojo-plugin</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
-    <name>Apache Felix iPOJO Bnd Plugin</name>
+  <artifactId>bnd-ipojo-plugin</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
+  <name>Apache Felix iPOJO Bnd Plugin</name>
 
-    <dependencies>
-        <dependency>
-            <groupId>biz.aQute.bnd</groupId>
-            <artifactId>bndlib</artifactId>
-            <version>2.1.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.8.5</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>biz.aQute.bnd</groupId>
+      <artifactId>bndlib</artifactId>
+      <version>2.1.0</version>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-all</artifactId>
+      <version>1.8.5</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
 
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <!-- check src only (except remote resources additions) -->
-                    <includes>
-                        <include>src/**</include>
-                    </includes>
-                    <excludes>
-                        <exclude>src/main/appended-resources/**</exclude>
-                        <exclude>**/*.MF</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <!-- check src only (except remote resources additions) -->
+          <includes>
+            <include>src/**</include>
+          </includes>
+          <excludes>
+            <exclude>src/main/appended-resources/**</exclude>
+            <exclude>**/*.MF</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
\ No newline at end of file
diff --git a/ipojo/manipulator/ipojo-ant-task/pom.xml b/ipojo/manipulator/ipojo-ant-task/pom.xml
index 7c6e63a..cd1c85f 100644
--- a/ipojo/manipulator/ipojo-ant-task/pom.xml
+++ b/ipojo/manipulator/ipojo-ant-task/pom.xml
@@ -17,139 +17,139 @@
   under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.apache.felix.ipojo.ant</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
+  <packaging>bundle</packaging>
+  <name>Apache Felix iPOJO Ant Task</name>
+
+  <description>
+    Ant task to package iPOJO-powered bundles.
+  </description>
+
+  <properties>
+    <ipojo.import.packages>[1.11.0,2.0.0)</ipojo.import.packages>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>1.4.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <version>2.9.1</version>
+    </dependency>
+    <dependency>
+      <groupId>ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>1.6.5</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-cli</groupId>
+      <artifactId>commons-cli</artifactId>
+      <version>1.2</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
         <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../../pom/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>org.apache.felix.ipojo.ant</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-    <name>Apache Felix iPOJO Ant Task</name>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>2.3.7</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-Name>iPOJO Ant Task</Bundle-Name>
+            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+            <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
+            <Bundle-Description>iPOJO Ant Task</Bundle-Description>
+            <Bundle-DocURL>
+              http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-ant-task.html
+            </Bundle-DocURL>
+            <Private-Package>
+              org.apache.felix.ipojo.metadata,
+              org.apache.felix.ipojo.manipulator*,
+              org.apache.felix.ipojo.xml.parser,
+              org.apache.felix.ipojo.manipulation*,
+              org.apache.felix.ipojo.annotations*,
+              org.objectweb.asm.util;-split-package:=merge-first,
+              org.objectweb.asm;-split-package:=merge-first,
+              org.objectweb.asm.commons;-split-package:=merge-first,
+              org.objectweb.asm.tree;-split-package:=merge-first,
+              org.apache.xerces.parsers, org.apache.xerces.xni*,
+              org.apache.xerces.impl*, org.apache.xerces.util.*,
+              org.apache.xerces.dom.*, org.apache.xerces.dom3.*,
+              <!-- commons-cli  -->
+              org.apache.commons.cli
+            </Private-Package>
+            <Export-Package>org.apache.felix.ipojo.task</Export-Package>
+            <Main-Class>org.apache.felix.ipojo.task.IPojoc</Main-Class>
+          </instructions>
+          <obrRepository>NONE</obrRepository>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.10</version>
+        <configuration>
+          <enableRulesSummary>false</enableRulesSummary>
+          <violationSeverity>warning</violationSeverity>
+          <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
 
-    <description>
-        Ant task to package iPOJO-powered bundles.
-    </description>
-
-    <properties>
-        <ipojo.import.packages>[1.11.0,2.0.0)</ipojo.import.packages>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.metadata</artifactId>
-            <version>1.4.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>xerces</groupId>
-            <artifactId>xercesImpl</artifactId>
-            <version>2.9.1</version>
-        </dependency>
-        <dependency>
-            <groupId>ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>1.6.5</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-cli</groupId>
-            <artifactId>commons-cli</artifactId>
-            <version>1.2</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-Name>iPOJO Ant Task</Bundle-Name>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
-                        <Bundle-Description>iPOJO Ant Task</Bundle-Description>
-                        <Bundle-DocURL>
-                            http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-ant-task.html
-                        </Bundle-DocURL>
-                        <Private-Package>
-                            org.apache.felix.ipojo.metadata,
-                            org.apache.felix.ipojo.manipulator*,
-                            org.apache.felix.ipojo.xml.parser,
-                            org.apache.felix.ipojo.manipulation*,
-                            org.apache.felix.ipojo.annotations*,
-                            org.objectweb.asm.util;-split-package:=merge-first,
-                            org.objectweb.asm;-split-package:=merge-first,
-                            org.objectweb.asm.commons;-split-package:=merge-first,
-                            org.objectweb.asm.tree;-split-package:=merge-first,
-                            org.apache.xerces.parsers, org.apache.xerces.xni*,
-                            org.apache.xerces.impl*, org.apache.xerces.util.*,
-                            org.apache.xerces.dom.*, org.apache.xerces.dom3.*,
-                            <!-- commons-cli  -->
-                            org.apache.commons.cli
-                        </Private-Package>
-                        <Export-Package>org.apache.felix.ipojo.task</Export-Package>
-                        <Main-Class>org.apache.felix.ipojo.task.IPojoc</Main-Class>
-                    </instructions>
-                    <obrRepository>NONE</obrRepository>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.10</version>
-                <configuration>
-                    <enableRulesSummary>false</enableRulesSummary>
-                    <violationSeverity>warning</violationSeverity>
-                    <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <!-- check src only (except remote resources additions) -->
-                    <includes>
-                        <include>src/**</include>
-                    </includes>
-                    <excludes>
-                        <exclude>src/main/appended-resources/**</exclude>
-                        <exclude>src/main/resources/META-INF/services/org.apache.felix.ipojo.manipulator.spi.Module
-                        </exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <!-- check src only (except remote resources additions) -->
+          <includes>
+            <include>src/**</include>
+          </includes>
+          <excludes>
+            <exclude>src/main/appended-resources/**</exclude>
+            <exclude>src/main/resources/META-INF/services/org.apache.felix.ipojo.manipulator.spi.Module
+            </exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/manipulator/manipulator-it/ipojo-manipulator-creation-test/pom.xml b/ipojo/manipulator/manipulator-it/ipojo-manipulator-creation-test/pom.xml
index c68822a7..8194063 100644
--- a/ipojo/manipulator/manipulator-it/ipojo-manipulator-creation-test/pom.xml
+++ b/ipojo/manipulator/manipulator-it/ipojo-manipulator-creation-test/pom.xml
@@ -20,14 +20,14 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
-        <version>1.11.3-SNAPSHOT</version>
-    </parent>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
+    <version>1.11.3-SNAPSHOT</version>
+  </parent>
 
-    <modelVersion>4.0.0</modelVersion>
+  <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>ipojo-manipulator-creation-test</artifactId>
-    <name>Apache Felix iPOJO Manipulator ~ Creation IT</name>
+  <artifactId>ipojo-manipulator-creation-test</artifactId>
+  <name>Apache Felix iPOJO Manipulator ~ Creation IT</name>
 </project>
\ No newline at end of file
diff --git a/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-metadata-test/pom.xml b/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-metadata-test/pom.xml
index 58fc1f5..4ae8eec 100644
--- a/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-metadata-test/pom.xml
+++ b/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-metadata-test/pom.xml
@@ -20,16 +20,16 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
-        <version>1.11.3-SNAPSHOT</version>
-    </parent>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
+    <version>1.11.3-SNAPSHOT</version>
+  </parent>
 
-    <modelVersion>4.0.0</modelVersion>
+  <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>ipojo-manipulator-manipulation-metadata-test</artifactId>
+  <artifactId>ipojo-manipulator-manipulation-metadata-test</artifactId>
 
-    <name>Apache Felix iPOJO Manipulator ~ Metadata IT</name>
-    
+  <name>Apache Felix iPOJO Manipulator ~ Metadata IT</name>
+
 </project>
\ No newline at end of file
diff --git a/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-test/pom.xml b/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-test/pom.xml
index a37fdd6..1bcd1db 100644
--- a/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-test/pom.xml
+++ b/ipojo/manipulator/manipulator-it/ipojo-manipulator-manipulation-test/pom.xml
@@ -20,16 +20,16 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
-        <version>1.11.3-SNAPSHOT</version>
-    </parent>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
+    <version>1.11.3-SNAPSHOT</version>
+  </parent>
 
-    <modelVersion>4.0.0</modelVersion>
+  <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>ipojo-manipulator-manipulation-test</artifactId>
+  <artifactId>ipojo-manipulator-manipulation-test</artifactId>
 
-    <name>Apache Felix iPOJO Manipulator ~ Manipulation IT</name>
-    
+  <name>Apache Felix iPOJO Manipulator ~ Manipulation IT</name>
+
 </project>
\ No newline at end of file
diff --git a/ipojo/manipulator/manipulator-it/online-manipulator-it/pom.xml b/ipojo/manipulator/manipulator-it/online-manipulator-it/pom.xml
index 30ef546..a36d3c0 100644
--- a/ipojo/manipulator/manipulator-it/online-manipulator-it/pom.xml
+++ b/ipojo/manipulator/manipulator-it/online-manipulator-it/pom.xml
@@ -20,16 +20,16 @@
 
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
-        <version>1.11.3-SNAPSHOT</version>
-    </parent>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
+    <version>1.11.3-SNAPSHOT</version>
+  </parent>
 
-    <modelVersion>4.0.0</modelVersion>
+  <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>ipojo-online-manipulator-test</artifactId>
+  <artifactId>ipojo-online-manipulator-test</artifactId>
 
-    <name>Apache Felix iPOJO Manipulator ~ Online IT</name>
+  <name>Apache Felix iPOJO Manipulator ~ Online IT</name>
 
 </project>
\ No newline at end of file
diff --git a/ipojo/manipulator/manipulator-it/pom.xml b/ipojo/manipulator/manipulator-it/pom.xml
index d0b6fd2..e4e8bfa 100644
--- a/ipojo/manipulator/manipulator-it/pom.xml
+++ b/ipojo/manipulator/manipulator-it/pom.xml
@@ -17,403 +17,403 @@
   under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../../pom/pom.xml</relativePath>
-    </parent>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../../pom/pom.xml</relativePath>
+  </parent>
 
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
-    <name>Apache Felix iPOJO Manipulator ~ Integration Tests</name>
-    <packaging>pom</packaging>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.apache.felix.ipojo.manipulator.manipulator-it</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
+  <name>Apache Felix iPOJO Manipulator ~ Integration Tests</name>
+  <packaging>pom</packaging>
 
-    <properties>
-        <!-- Tests are enabled only when the 'test' profile is activated  -->
-        <skipTestExecution>true</skipTestExecution>
+  <properties>
+    <!-- Tests are enabled only when the 'test' profile is activated  -->
+    <skipTestExecution>true</skipTestExecution>
 
-        <exam.version>3.0.1</exam.version>
-        <url.version>1.5.1</url.version>
+    <exam.version>3.0.1</exam.version>
+    <url.version>1.5.1</url.version>
 
-        <felix.version>4.2.0</felix.version>
-        <equinox.version>3.9.0.v20130529-1710</equinox.version>
-        <knoperflerfish.version>6.0.2</knoperflerfish.version>
-    </properties>
+    <felix.version>4.2.0</felix.version>
+    <equinox.version>3.9.0.v20130529-1710</equinox.version>
+    <knoperflerfish.version>6.0.2</knoperflerfish.version>
+  </properties>
 
-    <modules>
-        <module>ipojo-manipulator-manipulation-test</module>
-        <module>ipojo-manipulator-creation-test</module>
-        <module>ipojo-manipulator-manipulation-metadata-test</module>
-        <module>online-manipulator-it</module>
-    </modules>
+  <modules>
+    <module>ipojo-manipulator-manipulation-test</module>
+    <module>ipojo-manipulator-creation-test</module>
+    <module>ipojo-manipulator-manipulation-metadata-test</module>
+    <module>online-manipulator-it</module>
+  </modules>
 
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.5.1</version>
-                <configuration>
-                    <source>1.6</source>
-                    <target>1.6</target>
-                </configuration>
-            </plugin>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>2.5.1</version>
+        <configuration>
+          <source>1.6</source>
+          <target>1.6</target>
+        </configuration>
+      </plugin>
 
-            <plugin>
-                <groupId>org.apache.servicemix.tooling</groupId>
-                <artifactId>depends-maven-plugin</artifactId>
-                <version>1.2</version>
-                <executions>
-                    <execution>
-                        <id>generate-config</id>
-                        <goals>
-                            <goal>generate-depends-file</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
+      <plugin>
+        <groupId>org.apache.servicemix.tooling</groupId>
+        <artifactId>depends-maven-plugin</artifactId>
+        <version>1.2</version>
+        <executions>
+          <execution>
+            <id>generate-config</id>
+            <goals>
+              <goal>generate-depends-file</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
 
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <!-- check src only (except remote resources additions) -->
-                    <includes>
-                        <include>src/**</include>
-                    </includes>
-                    <excludes>
-                        <exclude>src/main/appended-resources/**</exclude>
-                        <exclude>**/*.iml</exclude>
-                        <exclude>src/it/**/target/**</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <!-- check src only (except remote resources additions) -->
+          <includes>
+            <include>src/**</include>
+          </includes>
+          <excludes>
+            <exclude>src/main/appended-resources/**</exclude>
+            <exclude>**/*.iml</exclude>
+            <exclude>src/it/**/target/**</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
 
-            <plugin>
-                <artifactId>maven-deploy-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-            </plugin>
+      <plugin>
+        <artifactId>maven-deploy-plugin</artifactId>
+        <version>2.4</version>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.15</version>
-                <configuration>
-                    <skipTests>${skipTestExecution}</skipTests>
-                    <systemPropertyVariables>
-                        <!-- TIME_FACTOR can be set from the command line with -DTIME_FACTOR=9-->
-                        <TIME_FACTOR>${TIME_FACTOR}</TIME_FACTOR>
-                        <!-- Defined by the profiles -->
-                        <pax.exam.framework>${pax.exam.framework}</pax.exam.framework>
-                    </systemPropertyVariables>
-                </configuration>
-            </plugin>
-        </plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.15</version>
+        <configuration>
+          <skipTests>${skipTestExecution}</skipTests>
+          <systemPropertyVariables>
+            <!-- TIME_FACTOR can be set from the command line with -DTIME_FACTOR=9-->
+            <TIME_FACTOR>${TIME_FACTOR}</TIME_FACTOR>
+            <!-- Defined by the profiles -->
+            <pax.exam.framework>${pax.exam.framework}</pax.exam.framework>
+          </systemPropertyVariables>
+        </configuration>
+      </plugin>
+    </plugins>
 
-    </build>
+  </build>
 
-    <dependencies>
+  <dependencies>
+    <dependency>
+      <groupId>org.ops4j.pax.exam</groupId>
+      <artifactId>pax-exam-container-native</artifactId>
+      <version>${exam.version}</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.ops4j.pax.exam</groupId>
+      <artifactId>pax-exam-junit4</artifactId>
+      <version>${exam.version}</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.ops4j.pax.exam</groupId>
+      <artifactId>pax-exam-link-mvn</artifactId>
+      <version>${exam.version}</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.ops4j.pax.url</groupId>
+      <artifactId>pax-url-aether</artifactId>
+      <version>${url.version}</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-core</artifactId>
+      <version>0.9.6</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+      <version>0.9.6</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.9</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-all</artifactId>
+      <version>1.9.5</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.ops4j.pax.tinybundles</groupId>
+      <artifactId>tinybundles</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+
+    <!-- The tiny bundle extension must be before the manipulator version
+    to use the right version of the manipulator -->
+    <dependency>
+      <groupId>org.ow2.chameleon.testing</groupId>
+      <artifactId>tinybundles-ipojo</artifactId>
+      <version>0.3.0</version>
+      <scope>test</scope>
+    </dependency>
+
+    <!-- Define the tested version -->
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo</artifactId>
+      <!-- To update before the release -->
+
+      <!--
+      if you are using a release version, be aware that this may introduce test failures as you should
+      update this version to the same version as the manipulator
+      -->
+      <!--<version>1.11.1</version>-->
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator.online</artifactId>
+      <version>${project.version}</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.apache.felix.ipojo</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <!-- End of tested version -->
+
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.configadmin</artifactId>
+      <version>1.6.0</version>
+      <scope>test</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.4</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.ow2.chameleon.testing</groupId>
+      <artifactId>osgi-helpers</artifactId>
+      <version>0.6.1</version>
+      <scope>test</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.log</artifactId>
+      <version>1.0.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+    <dependency>
+      <groupId>org.ops4j.pax.url</groupId>
+      <artifactId>pax-url-wrap</artifactId>
+      <version>1.5.2</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.easytesting</groupId>
+      <artifactId>fest-assert</artifactId>
+      <version>1.4</version>
+    </dependency>
+  </dependencies>
+
+  <profiles>
+    <profile>
+      <id>default</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+      </activation>
+      <properties>
+        <pax.exam.framework>none</pax.exam.framework>
+      </properties>
+      <dependencies>
         <dependency>
-            <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-container-native</artifactId>
-            <version>${exam.version}</version>
-            <scope>test</scope>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+          <version>4.3.0</version>
         </dependency>
-
         <dependency>
-            <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-junit4</artifactId>
-            <version>${exam.version}</version>
-            <scope>test</scope>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+          <version>4.3.1</version>
         </dependency>
-
+      </dependencies>
+    </profile>
+    <profile>
+      <id>knopflerfish</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+        <property>
+          <name>pax.exam.framework</name>
+          <value>knopflerfish</value>
+        </property>
+      </activation>
+      <properties>
+        <pax.exam.framework>knopflerfish</pax.exam.framework>
+      </properties>
+      <repositories>
+        <repository>
+          <id>knopflerfish-releases</id>
+          <url>http://www.knopflerfish.org/maven2</url>
+        </repository>
+      </repositories>
+      <dependencies>
         <dependency>
-            <groupId>org.ops4j.pax.exam</groupId>
-            <artifactId>pax-exam-link-mvn</artifactId>
-            <version>${exam.version}</version>
-            <scope>test</scope>
+          <groupId>org.knopflerfish</groupId>
+          <artifactId>framework</artifactId>
+          <version>${knoperflerfish.version}</version>
+          <scope>test</scope>
         </dependency>
-
         <dependency>
-            <groupId>org.ops4j.pax.url</groupId>
-            <artifactId>pax-url-aether</artifactId>
-            <version>${url.version}</version>
-            <scope>test</scope>
+          <!-- must be after KF -->
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+          <version>4.3.1</version>
         </dependency>
+      </dependencies>
+    </profile>
 
+    <profile>
+      <id>equinox</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+        <property>
+          <name>pax.exam.framework</name>
+          <value>equinox</value>
+        </property>
+      </activation>
+      <properties>
+        <pax.exam.framework>equinox</pax.exam.framework>
+      </properties>
+      <dependencies>
         <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-core</artifactId>
-            <version>0.9.6</version>
-            <scope>test</scope>
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.compendium</artifactId>
+          <version>4.3.0</version>
         </dependency>
-
         <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-            <version>0.9.6</version>
-            <scope>test</scope>
+          <groupId>org.eclipse.tycho</groupId>
+          <artifactId>org.eclipse.osgi</artifactId>
+          <version>${equinox.version}</version>
+          <scope>test</scope>
         </dependency>
-
         <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.9</version>
-            <scope>test</scope>
+          <!-- must be after equinox -->
+          <groupId>org.osgi</groupId>
+          <artifactId>org.osgi.core</artifactId>
+          <version>4.3.1</version>
         </dependency>
+      </dependencies>
+    </profile>
 
+    <profile>
+      <id>felix</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+        <property>
+          <name>pax.exam.framework</name>
+          <value>felix</value>
+        </property>
+      </activation>
+      <properties>
+        <pax.exam.framework>felix</pax.exam.framework>
+      </properties>
+      <dependencies>
         <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.9.5</version>
+          <groupId>org.apache.felix</groupId>
+          <artifactId>org.apache.felix.framework</artifactId>
+          <version>${felix.version}</version>
         </dependency>
+      </dependencies>
+    </profile>
 
-        <dependency>
-            <groupId>org.ops4j.pax.tinybundles</groupId>
-            <artifactId>tinybundles</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-
-        <!-- The tiny bundle extension must be before the manipulator version
-        to use the right version of the manipulator -->
-        <dependency>
-            <groupId>org.ow2.chameleon.testing</groupId>
-            <artifactId>tinybundles-ipojo</artifactId>
-            <version>0.3.0</version>
-            <scope>test</scope>
-        </dependency>
-
-        <!-- Define the tested version -->
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo</artifactId>
-            <!-- To update before the release -->
-
-            <!--
-            if you are using a release version, be aware that this may introduce test failures as you should
-            update this version to the same version as the manipulator
-            -->
-            <!--<version>1.11.1</version>-->
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.compendium</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.manipulator.online</artifactId>
-            <version>${project.version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.core</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.compendium</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.apache.felix</groupId>
-                    <artifactId>org.apache.felix.ipojo</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <!-- End of tested version -->
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.configadmin</artifactId>
-            <version>1.6.0</version>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>2.4</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.ow2.chameleon.testing</groupId>
-            <artifactId>osgi-helpers</artifactId>
-            <version>0.6.1</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.log</artifactId>
-            <version>1.0.1</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.core</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.ops4j.pax.url</groupId>
-            <artifactId>pax-url-wrap</artifactId>
-            <version>1.5.2</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.easytesting</groupId>
-            <artifactId>fest-assert</artifactId>
-            <version>1.4</version>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-        <profile>
-            <id>default</id>
-            <activation>
-                <activeByDefault>true</activeByDefault>
-            </activation>
-            <properties>
-                <pax.exam.framework>none</pax.exam.framework>
-            </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.compendium</artifactId>
-                    <version>4.3.0</version>
-                </dependency>
-                <dependency>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.core</artifactId>
-                    <version>4.3.1</version>
-                </dependency>
-            </dependencies>
-        </profile>
-        <profile>
-            <id>knopflerfish</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-                <property>
-                    <name>pax.exam.framework</name>
-                    <value>knopflerfish</value>
-                </property>
-            </activation>
-            <properties>
-                <pax.exam.framework>knopflerfish</pax.exam.framework>
-            </properties>
-            <repositories>
-                <repository>
-                    <id>knopflerfish-releases</id>
-                    <url>http://www.knopflerfish.org/maven2</url>
-                </repository>
-            </repositories>
-            <dependencies>
-                <dependency>
-                    <groupId>org.knopflerfish</groupId>
-                    <artifactId>framework</artifactId>
-                    <version>${knoperflerfish.version}</version>
-                    <scope>test</scope>
-                </dependency>
-                <dependency>
-                    <!-- must be after KF -->
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.core</artifactId>
-                    <version>4.3.1</version>
-                </dependency>
-            </dependencies>
-        </profile>
-
-        <profile>
-            <id>equinox</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-                <property>
-                    <name>pax.exam.framework</name>
-                    <value>equinox</value>
-                </property>
-            </activation>
-            <properties>
-                <pax.exam.framework>equinox</pax.exam.framework>
-            </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.compendium</artifactId>
-                    <version>4.3.0</version>
-                </dependency>
-                <dependency>
-                    <groupId>org.eclipse.tycho</groupId>
-                    <artifactId>org.eclipse.osgi</artifactId>
-                    <version>${equinox.version}</version>
-                    <scope>test</scope>
-                </dependency>
-                <dependency>
-                    <!-- must be after equinox -->
-                    <groupId>org.osgi</groupId>
-                    <artifactId>org.osgi.core</artifactId>
-                    <version>4.3.1</version>
-                </dependency>
-            </dependencies>
-        </profile>
-
-        <profile>
-            <id>felix</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-                <property>
-                    <name>pax.exam.framework</name>
-                    <value>felix</value>
-                </property>
-            </activation>
-            <properties>
-                <pax.exam.framework>felix</pax.exam.framework>
-            </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.apache.felix</groupId>
-                    <artifactId>org.apache.felix.framework</artifactId>
-                    <version>${felix.version}</version>
-                </dependency>
-            </dependencies>
-        </profile>
-
-        <profile>
-            <id>test</id>
-            <properties>
-                <skipTestExecution>false</skipTestExecution>
-            </properties>
-        </profile>
-    </profiles>
+    <profile>
+      <id>test</id>
+      <properties>
+        <skipTestExecution>false</skipTestExecution>
+      </properties>
+    </profile>
+  </profiles>
 </project>
diff --git a/ipojo/manipulator/manipulator/pom.xml b/ipojo/manipulator/manipulator/pom.xml
index f82a95a..4c3fbfa 100644
--- a/ipojo/manipulator/manipulator/pom.xml
+++ b/ipojo/manipulator/manipulator/pom.xml
@@ -17,141 +17,141 @@
   ~ under the License.
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
+  <name>Apache Felix iPOJO Manipulator</name>
+
+  <description>
+    iPOJO bytecode manipulator. This manipulator is used to instrument java classes in order to be managed by iPOJO.
+  </description>
+
+  <properties>
+    <ipojo.import.packages>[1.11.2,2.0.0)</ipojo.import.packages>
+  </properties>
+
+  <dependencies>
+    <dependency>
+      <groupId>asm</groupId>
+      <artifactId>asm-all</artifactId>
+      <version>3.3.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>1.6.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-all</artifactId>
+      <version>1.9.5</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>4.2.0</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>2.4</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.easytesting</groupId>
+      <artifactId>fest-assert</artifactId>
+      <version>1.4</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
         <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../../pom/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>bundle</packaging>
-    <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
-    <name>Apache Felix iPOJO Manipulator</name>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>2.3.7</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-Name>iPOJO Manipulator</Bundle-Name>
+            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+            <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
+            <Bundle-Description>iPOJO Manipulator</Bundle-Description>
+            <Export-Package>org.apache.felix.ipojo.manipulator.*
+            </Export-Package>
+            <Private-Package>org.apache.felix.ipojo.manipulation,
+              org.apache.felix.ipojo.xml.parser, org.objectweb.asm,
+              org.objectweb.asm.commons, org.objectweb.asm.tree
+            </Private-Package>
+          </instructions>
+          <obrRepository>NONE</obrRepository>
+        </configuration>
+      </plugin>
 
-    <description>
-        iPOJO bytecode manipulator. This manipulator is used to instrument java classes in order to be managed by iPOJO.
-    </description>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.10</version>
+        <configuration>
+          <enableRulesSummary>false</enableRulesSummary>
+          <violationSeverity>warning</violationSeverity>
+          <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
+        </configuration>
+      </plugin>
 
-    <properties>
-            <ipojo.import.packages>[1.11.2,2.0.0)</ipojo.import.packages>
-    </properties>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
 
-    <dependencies>
-        <dependency>
-            <groupId>asm</groupId>
-            <artifactId>asm-all</artifactId>
-            <version>3.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.metadata</artifactId>
-            <version>1.6.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-      <dependency>
-          <groupId>org.mockito</groupId>
-          <artifactId>mockito-all</artifactId>
-          <version>1.9.5</version>
-          <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>org.osgi</groupId>
-          <artifactId>org.osgi.core</artifactId>
-          <version>4.2.0</version>
-          <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>commons-io</groupId>
-          <artifactId>commons-io</artifactId>
-          <version>2.4</version>
-          <scope>test</scope>
-      </dependency>
-      <dependency>
-          <groupId>org.easytesting</groupId>
-          <artifactId>fest-assert</artifactId>
-          <version>1.4</version>
-          <scope>test</scope>
-      </dependency>
-    </dependencies>
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-Name>iPOJO Manipulator</Bundle-Name>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
-                        <Bundle-Description>iPOJO Manipulator</Bundle-Description>
-                        <Export-Package>org.apache.felix.ipojo.manipulator.*
-                        </Export-Package>
-                        <Private-Package>org.apache.felix.ipojo.manipulation,
-                            org.apache.felix.ipojo.xml.parser, org.objectweb.asm,
-                            org.objectweb.asm.commons, org.objectweb.asm.tree
-                        </Private-Package>
-                    </instructions>
-                    <obrRepository>NONE</obrRepository>
-                </configuration>
-            </plugin>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <!-- check src only (except remote resources additions) -->
+          <includes>
+            <include>src/**</include>
+          </includes>
+          <excludes>
+            <exclude>src/main/appended-resources/**</exclude>
+            <exclude>src/main/resources/META-INF/services/org.apache.felix.ipojo.manipulator.spi.Module</exclude>
+            <exclude>src/test/resources/MANIFEST.MF</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.10</version>
-                <configuration>
-                    <enableRulesSummary>false</enableRulesSummary>
-                    <violationSeverity>warning</violationSeverity>
-                    <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <!-- check src only (except remote resources additions) -->
-                    <includes>
-                        <include>src/**</include>
-                    </includes>
-                    <excludes>
-                        <exclude>src/main/appended-resources/**</exclude>
-                        <exclude>src/main/resources/META-INF/services/org.apache.felix.ipojo.manipulator.spi.Module</exclude>
-                        <exclude>src/test/resources/MANIFEST.MF</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-
-        </plugins>
-    </build>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/manipulator/maven-ipojo-plugin/pom.xml b/ipojo/manipulator/maven-ipojo-plugin/pom.xml
index f15f47f..4e7efa6 100644
--- a/ipojo/manipulator/maven-ipojo-plugin/pom.xml
+++ b/ipojo/manipulator/maven-ipojo-plugin/pom.xml
@@ -17,135 +17,135 @@
   under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../../pom/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>maven-ipojo-plugin</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
-    <name>Apache Felix iPOJO Maven Plugin</name>
-    <packaging>maven-plugin</packaging>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>maven-ipojo-plugin</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
+  <name>Apache Felix iPOJO Maven Plugin</name>
+  <packaging>maven-plugin</packaging>
 
-    <description>
-        Maven Plugin to package iPOJO-powered bundles.
-    </description>
-    <url>
-        http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html
-    </url>
+  <description>
+    Maven Plugin to package iPOJO-powered bundles.
+  </description>
+  <url>
+    http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-maven-plug-in.html
+  </url>
 
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-            <version>2.0.4</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-archiver</artifactId>
-            <version>2.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.plexus</groupId>
-            <artifactId>plexus-utils</artifactId>
-            <version>2.0.5</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-project</artifactId>
-            <version>2.0.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-artifact</artifactId>
-            <version>2.0.4</version>
-        </dependency>
-        <dependency>
-            <groupId>xerces</groupId>
-            <artifactId>xercesImpl</artifactId>
-            <version>2.9.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.metadata</artifactId>
-            <version>1.4.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-    <build>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0.4</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-archiver</artifactId>
+      <version>2.4.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>2.0.5</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+      <version>2.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <version>2.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <version>2.9.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+      <version>1.4.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  </dependencies>
+  <build>
 
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.10</version>
+        <configuration>
+          <enableRulesSummary>false</enableRulesSummary>
+          <violationSeverity>warning</violationSeverity>
+          <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <source>1.5</source>
+          <target>1.5</target>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <!-- check src only (except remote resources additions) -->
+          <includes>
+            <include>src/**</include>
+          </includes>
+          <excludes>
+            <exclude>src/main/appended-resources/**</exclude>
+            <!-- exclude the archetype -->
+            <exclude>src/main/resources/archetype-resources/**</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <profiles>
+    <profile>
+      <id>release</id>
+      <build>
         <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.10</version>
-                <configuration>
-                    <enableRulesSummary>false</enableRulesSummary>
-                    <violationSeverity>warning</violationSeverity>
-                    <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <!-- check src only (except remote resources additions) -->
-                    <includes>
-                        <include>src/**</include>
-                    </includes>
-                    <excludes>
-                        <exclude>src/main/appended-resources/**</exclude>
-                        <!-- exclude the archetype -->
-                        <exclude>src/main/resources/archetype-resources/**</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>attach-javadocs</id>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
         </plugins>
-    </build>
-
-    <profiles>
-        <profile>
-            <id>release</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-javadoc-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>attach-javadocs</id>
-                                <goals>
-                                    <goal>jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
+      </build>
+    </profile>
+  </profiles>
 </project>
diff --git a/ipojo/manipulator/online-manipulator/pom.xml b/ipojo/manipulator/online-manipulator/pom.xml
index a64dfeb..59c4c76 100644
--- a/ipojo/manipulator/online-manipulator/pom.xml
+++ b/ipojo/manipulator/online-manipulator/pom.xml
@@ -17,170 +17,170 @@
   under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../../pom/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <packaging>bundle</packaging>
-    <name>Apache Felix iPOJO - Online Manipulator</name>
-    <artifactId>org.apache.felix.ipojo.manipulator.online</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <packaging>bundle</packaging>
+  <name>Apache Felix iPOJO - Online Manipulator</name>
+  <artifactId>org.apache.felix.ipojo.manipulator.online</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
 
-    <description>
-        iPOJO online manipulator allowing install time manipulation of iPOJO bundle.
-    </description>
-    <url>
-        http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/apache-felix-ipojo-online-manipulator.html
-    </url>
+  <description>
+    iPOJO online manipulator allowing install time manipulation of iPOJO bundle.
+  </description>
+  <url>
+    http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/apache-felix-ipojo-online-manipulator.html
+  </url>
 
-    <properties>
-        <ipojo.import.packages>[1.11.0,2.0.0)</ipojo.import.packages>
-        <ipojo.manipulator.version>${project.version}</ipojo.manipulator.version>
-    </properties>
+  <properties>
+    <ipojo.import.packages>[1.11.0,2.0.0)</ipojo.import.packages>
+    <ipojo.manipulator.version>${project.version}</ipojo.manipulator.version>
+  </properties>
 
+  <dependencies>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.core</artifactId>
+      <version>4.3.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.osgi</groupId>
+      <artifactId>org.osgi.compendium</artifactId>
+      <version>4.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.metadata</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.felix</groupId>
+      <artifactId>org.apache.felix.ipojo.annotations</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>asm</groupId>
+      <artifactId>asm-all</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-all</artifactId>
+      <version>1.9.5</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+                                     Only style
+  <dependencyManagement>
     <dependencies>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>4.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.compendium</artifactId>
-            <version>4.0.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.metadata</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.manipulator</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.ipojo.annotations</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>asm</groupId>
-            <artifactId>asm-all</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.9.5</version>
-            <scope>test</scope>
-        </dependency>
+      <dependency>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>ipojo-manipulator-bom</artifactId>
+        <version>${project.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
     </dependencies>
+  </dependencyManagement>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>ipojo-manipulator-bom</artifactId>
-                <version>${project.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.0</version>
-                <configuration>
-                    <target>1.5</target>
-                    <source>1.5</source>
-                    <testTarget>1.5</testTarget>
-                    <testSource>1.5</testSource>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.7</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                        <Private-Package>org.apache.felix.ipojo.online.manipulator</Private-Package>
-                        <Bundle-DocURL>
-                            http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/apache-felix-ipojo-online-manipulator.html
-                        </Bundle-DocURL>
-                        <Export-Package>
-                            org.apache.felix.ipojo.manipulation*; version="${ipojo.manipulator.version}",
-                            org.apache.felix.ipojo.xml.parser; version="${ipojo.manipulator.version}",
-                            org.apache.felix.ipojo.manipulator*; version="${ipojo.manipulator.version}",
-                            org.apache.felix.ipojo.annotations*; version="${ipojo.manipulator.version}",
-                        </Export-Package>
-                        <Private-Package>
-                            org.objectweb.asm,
-                            org.objectweb.asm.commons,
-                            org.objectweb.asm.signature,
-                            org.objectweb.asm.tree,
-                            org.apache.felix.ipojo.online.manipulator
-                        </Private-Package>
-                        <Import-Package>!sun.io, org.osgi.framework;version=1.3, *
-                        </Import-Package>
-                    </instructions>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-ipojo-plugin</artifactId>
-                <version>${project.version}</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>ipojo-bundle</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.10</version>
-                <configuration>
-                    <enableRulesSummary>false</enableRulesSummary>
-                    <violationSeverity>warning</violationSeverity>
-                    <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.rat</groupId>
-                <artifactId>apache-rat-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <!-- check src only (except remote resources additions) -->
-                    <includes>
-                        <include>src/**</include>
-                    </includes>
-                    <excludes>
-                        <exclude>src/main/appended-resources/**</exclude>
-                        <exclude>src/main/resources/META-INF/**</exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
+  <build>
+    <resources>
+      <resource>
+        <directory>src/main/resources</directory>
+        <filtering>true</filtering>
+      </resource>
+    </resources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <version>3.0</version>
+        <configuration>
+          <target>1.5</target>
+          <source>1.5</source>
+          <testTarget>1.5</testTarget>
+          <testSource>1.5</testSource>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>2.3.7</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+            <Private-Package>org.apache.felix.ipojo.online.manipulator</Private-Package>
+            <Bundle-DocURL>
+              http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/apache-felix-ipojo-online-manipulator.html
+            </Bundle-DocURL>
+            <Export-Package>
+              org.apache.felix.ipojo.manipulation*; version="${ipojo.manipulator.version}",
+              org.apache.felix.ipojo.xml.parser; version="${ipojo.manipulator.version}",
+              org.apache.felix.ipojo.manipulator*; version="${ipojo.manipulator.version}",
+              org.apache.felix.ipojo.annotations*; version="${ipojo.manipulator.version}",
+            </Export-Package>
+            <Private-Package>
+              org.objectweb.asm,
+              org.objectweb.asm.commons,
+              org.objectweb.asm.signature,
+              org.objectweb.asm.tree,
+              org.apache.felix.ipojo.online.manipulator
+            </Private-Package>
+            <Import-Package>!sun.io, org.osgi.framework;version=1.3, *
+            </Import-Package>
+          </instructions>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-ipojo-plugin</artifactId>
+        <version>${project.version}</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>ipojo-bundle</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.10</version>
+        <configuration>
+          <enableRulesSummary>false</enableRulesSummary>
+          <violationSeverity>warning</violationSeverity>
+          <configLocation>http://felix.apache.org/ipojo/dev/checkstyle_ipojo.xml</configLocation>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <!-- check src only (except remote resources additions) -->
+          <includes>
+            <include>src/**</include>
+          </includes>
+          <excludes>
+            <exclude>src/main/appended-resources/**</exclude>
+            <exclude>src/main/resources/META-INF/**</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/ipojo/manipulator/pom.xml b/ipojo/manipulator/pom.xml
index 0a11416..a7b6481 100644
--- a/ipojo/manipulator/pom.xml
+++ b/ipojo/manipulator/pom.xml
@@ -17,38 +17,38 @@
   under the License.
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>felix-parent</artifactId>
-        <version>2.1</version>
-        <relativePath>../../pom/pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>org.apache.felix.ipojo.manipulator-project</artifactId>
-    <version>1.11.3-SNAPSHOT</version>
-    <name>Apache Felix iPOJO Manipulator Project</name>
-    <packaging>pom</packaging>
+  <parent>
+    <groupId>org.apache.felix</groupId>
+    <artifactId>felix-parent</artifactId>
+    <version>2.1</version>
+    <relativePath>../../pom/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.apache.felix.ipojo.manipulator-project</artifactId>
+  <version>1.11.3-SNAPSHOT</version>
+  <name>Apache Felix iPOJO Manipulator Project</name>
+  <packaging>pom</packaging>
 
-    <description>
-        The iPOJO Manipulator project contains the iPOJO packaging process and
-        several front-ends for Ant, Maven and BND.
-    </description>
+  <description>
+    The iPOJO Manipulator project contains the iPOJO packaging process and
+    several front-ends for Ant, Maven and BND.
+  </description>
 
-    <modules>
-        <module>manipulator-bom</module>
-        <module>annotations</module>
-        <module>manipulator</module>
-        <module>manipulator-it</module>
-        <module>ipojo-ant-task</module>
-        <module>maven-ipojo-plugin</module>
-        <module>bnd-ipojo-plugin</module>
-        <module>online-manipulator</module>
-    </modules>
+  <modules>
+    <module>manipulator-bom</module>
+    <module>annotations</module>
+    <module>manipulator</module>
+    <module>manipulator-it</module>
+    <module>ipojo-ant-task</module>
+    <module>maven-ipojo-plugin</module>
+    <module>bnd-ipojo-plugin</module>
+    <module>online-manipulator</module>
+  </modules>
 
-    <scm>
-        <connection>scm:svn:http://svn.apache.org/repos/asf/felix/trunk/ipojo/manipulator</connection>
-        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/ipojo/manipulator</developerConnection>
-        <url>http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator</url>
-    </scm>
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/felix/trunk/ipojo/manipulator</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/ipojo/manipulator</developerConnection>
+    <url>http://svn.apache.org/viewvc/felix/trunk/ipojo/manipulator</url>
+  </scm>
 
 </project>
