diff --git a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/Sequencer.java b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/Sequencer.java
index 41ace74..5c95c5c 100644
--- a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/Sequencer.java
+++ b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/Sequencer.java
@@ -1,5 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
+ * required by applicable law or agreed to in writing, software distributed under the License is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.felix.dm.test.annotation;
 
+/**
+ * This service is actually injected by the AnnotationTest testcase, and just wrap the Ensure class.
+ */
 public interface Sequencer
 {
     void next(int step);
diff --git a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceConsumer.java b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceConsumer.java
index 1a883a8..122c97b 100644
--- a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceConsumer.java
+++ b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceConsumer.java
@@ -1,7 +1,16 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
+ * required by applicable law or agreed to in writing, software distributed under the License is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.felix.dm.test.annotation;
 
-import org.apache.felix.dm.annotation.api.Destroy;
-import org.apache.felix.dm.annotation.api.Init;
 import org.apache.felix.dm.annotation.api.Service;
 import org.apache.felix.dm.annotation.api.ServiceDependency;
 import org.apache.felix.dm.annotation.api.Start;
diff --git a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceInterface.java b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceInterface.java
index d8d5ff2..73128c7 100644
--- a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceInterface.java
+++ b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceInterface.java
@@ -1,3 +1,14 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
+ * required by applicable law or agreed to in writing, software distributed under the License is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.felix.dm.test.annotation;
 
 public interface ServiceInterface {
diff --git a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider.java b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider.java
index 6099bf9..11cb104 100644
--- a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider.java
+++ b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider.java
@@ -1,7 +1,16 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
+ * required by applicable law or agreed to in writing, software distributed under the License is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.felix.dm.test.annotation;
 
-import org.apache.felix.dm.annotation.api.Destroy;
-import org.apache.felix.dm.annotation.api.Init;
 import org.apache.felix.dm.annotation.api.Service;
 import org.apache.felix.dm.annotation.api.ServiceDependency;
 import org.apache.felix.dm.annotation.api.Start;
diff --git a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider2.java b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider2.java
index 05837f1..68e8c71 100644
--- a/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider2.java
+++ b/dependencymanager/test/annotation/src/main/java/org/apache/felix/dm/test/annotation/ServiceProvider2.java
@@ -1,3 +1,14 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
+ * required by applicable law or agreed to in writing, software distributed under the License is
+ * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.felix.dm.test.annotation;
 
 import org.apache.felix.dm.annotation.api.Composition;
