diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/Activator.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/Activator.java
index 1184908..29ad3b1 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/Activator.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/Activator.java
@@ -24,10 +24,9 @@
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.upnp.UPnPDevice;
 
-/**
- * @author Francesco Furfari
- */
-
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 public class Activator implements BundleActivator {
 
 	static BundleContext context;
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/EventSource.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/EventSource.java
index 3a21d23..c64b5e4 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/EventSource.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/EventSource.java
@@ -18,9 +18,9 @@
 package org.apache.felix.upnp.sample.tv;
 
 import java.beans.PropertyChangeListener;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public interface EventSource {
 	void addPropertyChangeListener(PropertyChangeListener listener);
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java
index 61f9ec0..524bea9 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/GetPowerAction.java
@@ -22,9 +22,9 @@
 
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPStateVariable;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class GetPowerAction implements UPnPAction {
 
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java
index ce37959..12d6abe 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerService.java
@@ -22,9 +22,9 @@
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPService;
 import org.osgi.service.upnp.UPnPStateVariable;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class PowerService implements UPnPService {
 	final private String SERVICE_ID = "urn:schemas-upnp-org:serviceId:power:1";
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
index dfd5b2d..97db353 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/PowerStateVariable.java
@@ -17,9 +17,9 @@
 
 package org.apache.felix.upnp.sample.tv;
 import java.beans.PropertyChangeEvent;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class PowerStateVariable implements UPnPStateVariableDescriptor {
 	
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java
index 430fbf3..202b60d 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/ResultStateVariable.java
@@ -17,9 +17,9 @@
 
 package org.apache.felix.upnp.sample.tv;
 import org.osgi.service.upnp.UPnPStateVariable;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class ResultStateVariable implements UPnPStateVariable{
 	
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java
index 944516f..797d28d 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/SetPowerAction.java
@@ -22,9 +22,9 @@
 
 import org.osgi.service.upnp.UPnPAction;
 import org.osgi.service.upnp.UPnPStateVariable;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class SetPowerAction implements UPnPAction {
 
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
index 557e237..926e48c 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvDevice.java
@@ -32,9 +32,9 @@
 import org.osgi.service.upnp.UPnPEventListener;
 import org.osgi.service.upnp.UPnPIcon;
 import org.osgi.service.upnp.UPnPService;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class TvDevice implements UPnPDevice,UPnPEventListener,ServiceListener  {
 	
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
index 758a659..db226b9 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvFrame.java
@@ -26,9 +26,9 @@
 import javax.swing.JFrame;
 
 import org.osgi.framework.BundleException;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class TvFrame extends JFrame implements Runnable 
 {
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java
index 22de04d..b22b0fc 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvIcon.java
@@ -20,9 +20,9 @@
 import java.io.InputStream;
 
 import org.osgi.service.upnp.UPnPIcon;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class TvIcon implements UPnPIcon {
 
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java
index 0787f69..75c1413 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/TvPane.java
@@ -27,9 +27,9 @@
 
 import javax.imageio.ImageIO;
 import javax.swing.JPanel;
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class TvPane extends JPanel  // MouseListener
 {
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPEventNotifier.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPEventNotifier.java
index 398d67b..45a46c1 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPEventNotifier.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPEventNotifier.java
@@ -35,9 +35,9 @@
 import org.osgi.service.upnp.UPnPService;
 import org.osgi.service.upnp.UPnPStateVariable;
 
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class UPnPEventNotifier implements PropertyChangeListener,ServiceListener {
 	BundleContext context;
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPStateVariableDescriptor.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPStateVariableDescriptor.java
index b08d4bc..4dc430f 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPStateVariableDescriptor.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPStateVariableDescriptor.java
@@ -19,10 +19,9 @@
 
 import org.osgi.service.upnp.UPnPStateVariable;
 
-/**
- * UPnPStateVariableDescriptor.java 22-gen-2005
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 public interface UPnPStateVariableDescriptor extends UPnPStateVariable {
     Object getValue();
 
diff --git a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPSubscriber.java b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPSubscriber.java
index 34f5313..720613b 100644
--- a/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPSubscriber.java
+++ b/org.apache.felix.upnp.sample.tv/src/main/java/org/apache/felix/upnp/sample/tv/UPnPSubscriber.java
@@ -26,9 +26,9 @@
 import org.osgi.service.upnp.UPnPEventListener;
 import org.osgi.service.upnp.UPnPService;
 
-/**
- * @author Francesco Furfari
- */
+/* 
+* @author <a href="mailto:felix-dev@incubator.apache.org">Felix Project Team</a>
+*/
 
 public class UPnPSubscriber {
 	ServiceRegistration registration = null;
